@charset "UTF-8";
@font-face {
  font-family: 'notosansjp';
  font-weight: 400;
  src: url(../font/NotoSansJP-Regular.ttf) format("truetype");
}
@font-face {
  font-family: 'notosansjp';
  font-weight: 500;
  src: url(../font/NotoSansJP-Medium.ttf) format("truetype");
}
@font-face {
  font-family: 'notosansjp';
  font-weight: 600;
  src: url(../font/NotoSansJP-Bold.ttf) format("truetype");
}
@font-face {
  font-family: 'notoserifjp';
  font-weight: 400;
  src: url(../font/NotoSerifJP-Regular.ttf) format("truetype");
}
@font-face {
  font-family: 'notoserifjp';
  font-weight: 500;
  src: url(../font/NotoSerifJP-Medium.ttf) format("truetype");
}
@font-face {
  font-family: 'notoserifjp';
  font-weight: 600;
  src: url(../font/NotoSerifJP-Bold.ttf) format("truetype");
}
@font-face {
  font-family: 'sofia';
  font-weight: 600;
  src: url(../font/SofiaSansCondensed-SemiBold.ttf) format("truetype");
}
body.color-black .header .header-logo img {
  filter: invert(1);
}
body.color-black .header .header-container {
  opacity: 0.8;
  background: #FFF;
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.12);
  backdrop-filter: blur(5px);
}
body.color-black .header .faq-link {
  color: #222;
}
body.color-black .header .header-btn {
  background: #113A62;
  color: #fff;
}

.header {
  position: fixed;
  z-index: 100;
  width: 100%;
  background: transparent;
  padding: 20px 0;
  top: 0;
  left: 0;
}
.header .header-inner {
  display: flex;
  justify-content: space-between;
  max-width: 1400px;
  width: 100%;
  margin: 0 auto;
}
.header .header-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 280px;
  border-radius: 60px;
  padding: 8px 25px;
}
.header .faq-link {
  color: #fff;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-weight: 700;
  line-height: 140%;
  letter-spacing: 0.56px;
}
.header .header-btn {
  display: flex;
  width: 120px;
  height: 40px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  border-radius: 40px;
  background: #fff;
  color: #113A62;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-weight: 700;
  line-height: 140%;
  letter-spacing: 0.64px;
}
@media screen and (max-width: 768px) {
  .header .header-inner {
    padding: 0 16px;
  }
  .header .header-logo {
    width: 121px;
    height: 44px;
  }
  .header .header-container {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  /* SP用ハンバーガーメニュー */
  #humberger {
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    position: fixed;
    top: 25px;
    right: 16px;
    box-sizing: initial;
    cursor: pointer;
    z-index: 10000;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #FFF;
    box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.2);
  }

  .icon-bar {
    display: block;
    width: 24px;
    height: 2px;
    box-sizing: initial;
    background: #000;
    transition: all 400ms cubic-bezier(1, 0, 0, 1);
    transition-timing-function: cubic-bezier(1, 0, 0, 1);
  }

  /* ドロワー開放時のスタイル */
  body.drawer-opened #humberger {
    border: none;
    background: none;
  }
  body.drawer-opened #humberger .icon-bar:nth-child(1) {
    transform: translate(0, 4px) rotate(225deg);
  }
  body.drawer-opened #humberger .icon-bar:nth-child(2) {
    display: none;
  }
  body.drawer-opened #humberger .icon-bar:nth-child(3) {
    transform: translate(0, -4px) rotate(-225deg);
  }
  body.drawer-opened #overlay {
    z-index: 20001;
    opacity: 0.8;
    right: -240px;
  }

  #drawernav {
    display: none;
    position: fixed;
    top: 0;
    z-index: 9999;
    overflow-y: auto;
    width: 100%;
    height: 100%;
    background: #fff;
    color: #000;
  }

  #humbergermenu-logo {
    display: block;
    position: fixed;
    width: 100%;
    height: 50px;
    background: #FFF;
    z-index: 50000;
  }
  #humbergermenu-logo a {
    position: relative;
    top: 11px;
    left: 15px;
    cursor: pointer;
  }
  #humbergermenu-logo a img {
    width: 85px;
    height: 28px;
  }

  .headermenu-logo {
    padding: 18px 0 0 16px;
    margin-bottom: 18px;
  }
  .headermenu-logo img {
    width: 121px;
    height: 44px;
    flex-shrink: 0;
    aspect-ratio: 11/4;
    filter: brightness(0);
  }

  .hmenu .navi {
    padding-top: 56px;
    margin-top: 68px;
  }
  .hmenu .navi .nav-list {
    position: relative;
    width: 284px;
    padding-left: 40px;
    margin: 0 auto;
  }
  .hmenu .navi .nav-list:after {
    position: absolute;
    content: "";
    width: 2px;
    height: 342px;
    background: linear-gradient(#E74B56 1.85%, #42A9A6 72.24%);
    top: 0;
    left: 0;
  }
  .hmenu .navi .nav-list .nav-item {
    margin-bottom: 32px;
  }
  .hmenu .navi .nav-list .nav-item:first-of-type {
    width: 150px;
  }
  .hmenu .navi .nav-list .nav-item:nth-of-type(2) {
    width: 210px;
  }
  .hmenu .navi .nav-list .nav-item:nth-of-type(3) {
    width: 104px;
  }
  .hmenu .navi .nav-list .nav-item:nth-of-type(4) {
    width: 143px;
  }
  .hmenu .navi .nav-list .nav-item:nth-of-type(5) {
    width: 82px;
  }
  .hmenu .navi .nav-list .nav-item:nth-of-type(6) {
    width: 160px;
  }
  .hmenu .navi .nav-list .nav-item:nth-of-type(7) {
    width: 120px;
  }
  .hmenu .footer-container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 44px;
    margin-bottom: 40px;
  }
  .hmenu .footer-container a {
    position: relative;
    color: var(--text, #222);
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP";
    font-size: 14px;
    font-weight: 500;
    line-height: 180%;
    letter-spacing: 0.56px;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: none;
    text-decoration-thickness: 3%;
    text-underline-offset: 18%;
    text-underline-position: from-font;
    transition: .3s;
  }
  .hmenu .footer-container a:hover {
    text-decoration: none;
    opacity: 1;
  }
  .hmenu .footer-container a::after {
    position: absolute;
    content: "";
    background: url(../img/footer_icon.svg) no-repeat center/contain;
    width: 11px;
    height: 11px;
    top: 8px;
    right: -14px;
  }
  .hmenu .cv-btn {
    margin-bottom: 24px;
  }
  .hmenu .footer-txt {
    color: #222;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: Roboto;
    font-size: 11px;
    font-style: normal;
    font-weight: 400;
    line-height: 180%;
    letter-spacing: 0.44px;
  }
}
.kv .kv-bg {
  background: url(../img/kv_bg.jpg) no-repeat center/cover;
  padding: 120px 0 80px;
}
.kv .kv-inner {
  position: relative;
  max-width: 1200px;
  width: 100%;
  padding-left: 40px;
  margin: 0 auto 33px;
}
.kv .kv-inner::after {
  position: absolute;
  content: "";
  width: 738px;
  height: 478px;
  aspect-ratio: 88/57;
  background: url(../img/kv_img01.png) no-repeat center/contain;
  bottom: 0;
  left: 553px;
}
.kv .kv-ttl {
  position: relative;
  width: 650px;
  margin-bottom: 16px;
}
.kv .kv-txt {
  color: #222;
  font-size: 18px;
  font-weight: 600;
  line-height: 110%;
  margin-bottom: 24px;
}
.kv .deco {
  color: #9F040B;
  font-size: 18px;
  font-weight: 600;
  line-height: 120%;
}
.kv .large {
  color: #9F040B;
  font-family: "Sofia Sans";
  font-size: 26px;
  font-weight: 700;
  line-height: 120%;
}
.kv .kv-btn {
  display: flex;
  width: 280px;
  height: 72px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: -6px;
  border-radius: 40px;
  background: #113A62;
  box-shadow: 2px 4px 8px 0 rgba(0, 0, 0, 0.25);
  color: var(--white, #FFF);
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 0.56px;
  transition: .3s;
}
.kv .kv-btn:hover {
  background: #9f040b;
  opacity: 1;
}
.kv .kv-btn .large {
  color: #FFF;
  text-align: center;
  font-size: 24px;
  font-weight: 700;
  line-height: 160%;
  letter-spacing: 0.96px;
}
@media screen and (max-width: 768px) {
  .kv .kv-bg {
    background: url(../img/kv_bg_sp.png) no-repeat center/cover;
    padding: 80px 0 40px;
  }
  .kv .kv-inner {
    max-width: 350px;
    width: 100%;
    padding: 0;
    margin: 0 auto;
  }
  .kv .kv-inner::after {
    display: none;
  }
  .kv .kv-ttl {
    max-width: 100%;
    width: 100%;
  }
  .kv .kv-txt {
    color: #222;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-weight: 700;
    line-height: 160%;
    letter-spacing: 0.64px;
    margin-bottom: 0;
  }
  .kv .kv-txt .large {
    color: #9F040B;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-weight: 700;
    line-height: 160%;
    letter-spacing: 0.64px;
  }
  .kv .kv-img01 {
    position: relative;
    top: -40px;
  }
  .kv .kv-btn {
    display: flex;
    width: 280px;
    height: 64px;
    padding-bottom: 4px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: -4px;
    color: #FFF;
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 14px;
    font-weight: 500;
    line-height: 160%;
    letter-spacing: 0.56px;
    margin: 0 auto;
  }
  .kv .kv-btn .large {
    color: #fff;
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 20px;
    font-weight: 700;
    line-height: 160%;
    letter-spacing: 0.8px;
  }
}

.contents .contents-bg {
  background: #EDF0F3;
  padding: 80px 0;
}
.contents .contents-bg::after {
  display: none;
}
.contents .contents-inner {
  max-width: 1200px;
  width: 100%;
  padding: 0 40px;
  margin: 0 auto;
}
.contents .problems .problems-inner {
  display: flex;
  gap: 166px;
  padding-bottom: 40px;
}
.contents .problems .sofia {
  position: relative;
}
.contents .problems .sofia::after {
  position: absolute;
  left: -450px;
  top: 50%;
  content: "";
  width: 442.001px;
  height: 2px;
  background: linear-gradient(90deg, #E74B56 21.28%, #42A9A6 91.67%);
  translate: 0 -50%;
}
.contents .problems .problems-ttl {
  width: 408px;
  height: 32px;
  margin-bottom: 24px;
}
.contents .problems .problems-list {
  display: flex;
  flex-direction: column;
  gap: 19px;
}
.contents .problems .problems-item {
  position: relative;
  color: #222;
  font-family: "Noto Sans JP";
  font-size: 20px;
  font-weight: 400;
  line-height: 160%;
  padding-left: 59px;
}
.contents .problems .problems-item::after {
  position: absolute;
  content: "";
  width: 43px;
  height: 38px;
  background: url(../img/problems_icon01.svg) no-repeat center/contain;
  top: 50%;
  left: 0;
  translate: 0 -50%;
}
.contents .problems .problems-img {
  width: 359px;
}
.contents .whynot .whynot-inner {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  gap: 162px;
  padding-bottom: 40px;
}
.contents .whynot .sofia {
  position: relative;
}
.contents .whynot .sofia::after {
  content: "";
  width: 840px;
  height: 2px;
  position: absolute;
  right: -470px;
  top: 50%;
  translate: 0 -50%;
  background: linear-gradient(90deg, #42A9A6 1.85%, #E74B56 72.24%);
}
.contents .whynot .whynot-ttl {
  width: 360px;
  margin-bottom: 24px;
}
.contents .whynot .whynot-img {
  width: 391px;
  height: 320px;
}
.contents .whynot .whynot-txt {
  width: 532px;
  color: #222;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0.64px;
}
.contents .whynot .whynot-txt .deco {
  color: #42a9a6;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-weight: 600;
  line-height: 160%;
  letter-spacing: 0.64px;
}
.contents .ourinsights .ourinsights-inner {
  display: flex;
  align-items: center;
  gap: 118px;
}
.contents .ourinsights .sofia {
  position: relative;
}
.contents .ourinsights .sofia::after {
  position: absolute;
  left: -450px;
  top: 50%;
  content: "";
  width: 442.001px;
  height: 2px;
  background: linear-gradient(90deg, #E74B56 21.28%, #42A9A6 91.67%);
  translate: 0 -50%;
}
.contents .ourinsights .ourinsights-ttl {
  width: 428px;
  margin-bottom: 24px;
}
.contents .ourinsights .ourinsights-txt {
  color: #222;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0.64px;
}
.contents .ourinsights .ourinsights-img {
  width: 485.225px;
  height: 143px;
}
@media screen and (max-width: 768px) {
  .contents .contents-bg {
    position: relative;
    padding: 80px 0 56px;
    overflow: hidden;
  }
  .contents .contents-bg::after {
    display: block;
    position: absolute;
    content: "";
    width: 2px;
    height: 64px;
    left: 50%;
    bottom: -66px;
    background: linear-gradient(#E74B56 1.85%, #42A9A6 72.24%);
    translate: 0 -50%;
  }
  .contents .problems .problems-inner {
    flex-direction: column;
    gap: 32px;
    max-width: 348px;
    padding: 0 0 40px;
  }
  .contents .problems .sofia {
    text-align: center;
  }
  .contents .problems .sofia::after {
    left: -370px;
  }
  .contents .problems .problems-ttl {
    width: 210px;
    height: auto;
    margin: 0 auto 24px;
  }
  .contents .problems .problems-item {
    color: #222;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-weight: 400;
    line-height: 160%;
  }
  .contents .problems .problems-item::after {
    width: 40px;
    height: 35px;
    aspect-ratio: 8/7;
  }
  .contents .problems .problems-img {
    width: 227px;
    margin: 0 auto;
  }
  .contents .whynot .whynot-inner {
    flex-direction: column;
    gap: 32px;
  }
  .contents .whynot .sofia {
    text-align: center;
  }
  .contents .whynot .sofia::after {
    right: -760px;
  }
  .contents .whynot .whynot-ttl {
    width: 310px;
    margin: 0 auto 24px;
  }
  .contents .whynot .whynot-txt {
    max-width: 350px;
    width: 100%;
    color: #222;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-weight: 400;
    line-height: 160%;
    letter-spacing: 0.64px;
  }
  .contents .whynot .whynot-img {
    width: 294px;
    height: 240px;
  }
  .contents .ourinsights .ourinsights-inner {
    flex-direction: column;
    gap: 16px;
  }
  .contents .ourinsights .sofia {
    text-align: center;
  }
  .contents .ourinsights .sofia::after {
    left: -390px;
  }
  .contents .ourinsights .ourinsights-ttl {
    width: 260px;
    margin: 0 auto 24px;
  }
  .contents .ourinsights .ourinsights-txt {
    max-width: 350px;
    width: 100%;
    color: #222;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-weight: 400;
    line-height: 160%;
    letter-spacing: 0.64px;
  }
  .contents .ourinsights .ourinsights-img {
    max-width: 348px;
    width: 100%;
    height: auto;
  }
}

.about .about-inner {
  max-width: 1180px;
  width: 100%;
  padding: 80px 0;
  margin: 0 auto;
}
.about .sofia {
  position: relative;
  text-align: center;
}
.about .sofia::after {
  content: "";
  width: 2px;
  height: 120px;
  position: absolute;
  left: 50%;
  top: -72px;
  background: linear-gradient(#E74B56 1.85%, #42A9A6 72.24%);
  translate: 0 -50%;
}
.about .about-ttl {
  max-width: 412px;
  margin: 0 auto 24px;
}
.about .about-txt {
  color: #222;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0.64px;
  margin-bottom: 16px;
}
.about .about-txtimg {
  max-width: 332px;
  width: 100%;
  margin: 0 auto 56px;
}
.about .about-container {
  position: relative;
  width: fit-content;
  padding-left: 136px;
  top: -10px;
  margin-bottom: 32px;
}
.about .about-container .txt-container {
  position: relative;
  z-index: 1;
}
.about .about-container .container-lead {
  color: #222;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0.64px;
  margin-bottom: 4px;
}
.about .about-container .container-txtimg {
  max-width: 496px;
  margin-bottom: 16px;
}
.about .about-container .container-txt {
  color: #222;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0.64px;
}
.about .about-container .container-img {
  position: absolute;
  width: 322px;
  bottom: 0;
  right: -370px;
}
@media screen and (max-width: 768px) {
  .about .about-inner {
    max-width: 100%;
    padding: 40px 4%;
    overflow-x: hidden;
  }
  .about .sofia::after {
    height: 64px;
    top: -35px;
  }
  .about .about-ttl {
    max-width: 316px;
  }
  .about .about-txt {
    color: var(--text, #222);
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-weight: 400;
    line-height: 160%;
    letter-spacing: 0.64px;
    text-align: left;
  }
  .about .about-txtimg {
    max-width: 194px;
    margin-bottom: 32px;
  }
  .about .about-img01 {
    position: relative;
    margin-bottom: 8px;
  }
  .about .about-img01 .container-img {
    position: absolute;
    width: 172px;
    height: 128px;
    aspect-ratio: 43/32;
    bottom: 8px;
    right: -44px;
  }
  .about .about-container {
    padding: 0;
    top: 0;
  }
  .about .about-container .container-lead {
    color: #222;
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-weight: 400;
    line-height: 160%;
    letter-spacing: 0.64px;
  }
  .about .about-container .container-txtimg {
    max-width: 290px;
    margin: 0 auto 16px;
  }
  .about .about-container .container-txt {
    color: #222;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-weight: 400;
    line-height: 160%;
    letter-spacing: 0.64px;
  }
}

.choose .choose-bg {
  background: #EDF0F3;
  padding: 80px 0;
}
.choose .sofia {
  position: relative;
  text-align: center;
}
.choose .sofia::after {
  content: "";
  width: 2px;
  height: 120px;
  position: absolute;
  left: 50%;
  top: -72px;
  background: linear-gradient(#E74B56 1.85%, #42A9A6 72.24%);
  translate: 0 -50%;
}
.choose .choose-ttl {
  max-width: 460px;
  width: 100%;
  margin: 0 auto 25px;
}
.choose .choose-sub {
  color: #333;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0.64px;
  margin-bottom: 78px;
}
.choose .choose-list {
  display: flex;
  justify-content: center;
  margin-bottom: 48px;
}
.choose .choose-item {
  max-width: 320px;
  width: 100%;
}
.choose .choose-item:first-of-type .item-head {
  background: #fff;
}
.choose .choose-item:first-of-type .item-head::before {
  position: absolute;
  content: "";
  width: 460px;
  height: 112px;
  top: 0;
  left: -400px;
  background: linear-gradient(90deg, #EDF0F3 62.45%, #FFF 102.76%);
}
.choose .choose-item:first-of-type .item-head::after {
  border-color: transparent transparent transparent #fff;
}
.choose .choose-item:first-of-type .item-head img {
  width: 110px;
}
.choose .choose-item:nth-of-type(2) .item-head {
  background: #A6E8E3;
}
.choose .choose-item:nth-of-type(2) .item-head::after {
  border-color: transparent transparent transparent #A6E8E3;
}
.choose .choose-item:nth-of-type(2) .item-head img {
  width: 190px;
}
.choose .choose-item:nth-of-type(3) .item-head {
  background: #42A9A6;
}
.choose .choose-item:nth-of-type(3) .item-head::after {
  border-color: transparent transparent transparent #42A9A6;
}
.choose .choose-item:nth-of-type(3) .item-head img {
  width: 148px;
}
.choose .item-head {
  position: relative;
  display: flex;
  justify-content: center;
  max-width: 320px;
  width: 100%;
  height: 112px;
  margin-bottom: 16px;
}
.choose .item-head::after {
  position: absolute;
  z-index: 1;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 56px 0px 56px 48px;
  top: 0;
  right: -48px;
}
.choose .item-head img {
  position: absolute;
  top: -24px;
}
.choose .item-foot {
  max-width: 264px;
  width: 100%;
  color: #222;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0.56px;
  margin: 0 auto;
}
.choose .choose-lowerimg {
  max-width: 488px;
  width: 100%;
  margin: 0 auto 10px;
}
.choose .choose-lower {
  color: #222;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0.64px;
  text-align: center;
  margin-bottom: 16px;
}
.choose .lower-container {
  width: 928px;
  border: 1px solid #42A9A6;
  margin: 0 auto;
}
.choose .container-ttl {
  display: flex;
  padding: 7px 0;
  flex-direction: column;
  align-items: center;
  align-self: stretch;
  background: #42A9A6;
  color: #FFF;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0.64px;
  text-align: center;
}
.choose .lower-container .lower-list {
  display: flex;
}
.choose .lower-container .lower-item {
  display: flex;
  padding: 8px 24px 16px 24px;
  flex-direction: column;
  align-items: center;
  align-self: stretch;
  grid-row: span 1;
  grid-column: span 1;
  justify-self: stretch;
  width: 462px;
  background: #fff;
}
.choose .lower-container .lower-item:first-of-type {
  border-right: 1px solid #42A9A6;
}
.choose .lower-container .item-top {
  color: #222;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-weight: 700;
  line-height: 160%;
  letter-spacing: 0.64px;
  text-align: center;
}
.choose .lower-container .item-top .deco {
  color: #42A9A6;
  text-align: center;
  font-family: "Sofia Sans Condensed";
  font-size: 28px;
  font-weight: 700;
  line-height: 160%;
  letter-spacing: 1.12px;
}
.choose .lower-container .item-txt {
  color: #222;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0.64px;
}
@media screen and (max-width: 768px) {
  .choose .choose-bg {
    padding: 40px 0;
  }
  .choose .sofia::after {
    height: 64px;
    top: -35px;
  }
  .choose .choose-ttl {
    max-width: 298px;
  }
  .choose .choose-sub {
    color: #333;
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-weight: 400;
    line-height: 160%;
    letter-spacing: 0.64px;
    margin-bottom: 0;
  }
  .choose .choose_img01 {
    max-width: 364px;
    width: 100%;
    margin: 0 auto;
  }
  .choose .choose-lowerimg {
    max-width: 320px;
    margin-bottom: 16px;
  }
  .choose .choose-lower {
    color: #222;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-weight: 400;
    line-height: 160%;
    letter-spacing: 0.64px;
    text-align-last: left;
    max-width: 350px;
    width: 100%;
    margin: 0 auto 16px;
  }
  .choose .container-ttl {
    color: #FFF;
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-weight: 400;
    line-height: 160%;
    letter-spacing: 0.64px;
  }
  .choose .lower-container {
    max-width: 350px;
    width: 100%;
    margin: 0 auto;
  }
  .choose .lower-container .lower-list {
    flex-direction: column;
  }
  .choose .lower-container .lower-item {
    width: 100%;
    padding: 8px 14px 16px;
  }
  .choose .lower-container .lower-item:first-of-type {
    border-right: transparent;
    border-bottom: 1px solid #42A9A6;
  }
  .choose .lower-container .item-top {
    color: #222;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-weight: 700;
    line-height: 160%;
    letter-spacing: 0.64px;
  }
  .choose .lower-container .item-top .deco {
    color: #42A9A6;
    text-align: center;
    font-family: "Sofia Sans Condensed";
    font-size: 28px;
    font-weight: 700;
    line-height: 160%;
    letter-spacing: 1.12px;
  }
  .choose .lower-container .item-txt {
    color: #222;
    font-family: "Noto Sans JP";
    font-size: 14px;
    font-weight: 400;
    line-height: 160%;
    letter-spacing: 0.56px;
  }
}

.features .features-bg {
  position: relative;
  background: #EDF0F3;
  padding: 80px 0;
}
.features .features-bg::after {
  position: absolute;
  content: "";
  width: 360px;
  height: 650px;
  background: url(../img/features_arrow.svg) no-repeat center/contain;
  top: 19px;
  left: 50%;
  translate: -50% 0;
}
.features .features-inner {
  position: relative;
  z-index: 1;
  max-width: 1180px;
  width: 100%;
  margin: 0 auto;
}
.features .sofia {
  position: relative;
  text-align: center;
}
.features .sofia::after {
  content: "";
  width: 2px;
  height: 120px;
  position: absolute;
  left: 50%;
  top: -72px;
  background: linear-gradient(#E74B56 1.85%, #42A9A6 72.24%);
  translate: 0 -50%;
}
.features .features-ttl {
  max-width: 626px;
  width: 100%;
  margin: 0 auto 24px;
}
.features .features-sub {
  color: #222;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0.64px;
  margin-bottom: 56px;
}
.features .features-container {
  display: flex;
  justify-content: flex-end;
  position: relative;
  padding-right: 30px;
}
.features .features-container .container-img {
  position: absolute;
  width: 501px;
  top: -37px;
  left: 10px;
}
.features .features-container .txt-container {
  display: flex;
  flex-direction: column;
  gap: 32px;
  width: 570px;
}
.features .features-container .container-item {
  display: flex;
  align-items: center;
  gap: 24px;
}
.features .features-container .container-item img {
  width: 28px;
}
.features .features-container .container-item .item-txt {
  color: #222;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0.64px;
}
.features .features-container .container-item + .item-img {
  width: 432px;
  padding-top: 2px;
  padding-left: 10px;
}
@media screen and (max-width: 768px) {
  .features .features-bg {
    padding: 40px 0 15px;
  }
  .features .features-bg::after {
    height: 910px;
    background: url(../img/features_arrow_sp.svg) no-repeat center/contain;
    top: 105px;
  }
  .features .sofia::after {
    height: 64px;
    top: -35px;
  }
  .features .features-ttl {
    max-width: 332px;
  }
  .features .features-sub {
    color: #222;
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-weight: 400;
    line-height: 160%;
    letter-spacing: 0.64px;
    margin-bottom: 24px;
  }
  .features .features-container {
    flex-direction: column-reverse;
    padding: 0;
  }
  .features .features-container .container-img {
    position: relative;
    width: 100%;
    top: -40px;
    left: 0;
  }
  .features .features-container .txt-container {
    max-width: 350px;
    width: 100%;
    margin: 0 auto;
  }
  .features .features-container .container-item + .item-img {
    position: relative;
    max-width: 250px;
    width: 100%;
    padding: 0;
    margin: 0 auto;
  }
}

.started .started-inner {
  position: relative;
  max-width: 1120px;
  width: 100%;
  padding: 80px 0;
  margin: 0 auto;
}
.started .started-inner::after {
  position: absolute;
  content: "";
  width: 491px;
  height: 678px;
  background: url(../img/left_img01.webp) no-repeat center/contain;
  left: -345px;
  top: -282px;
}
.started .sofia {
  text-align: center;
}
.started .started-ttl {
  width: 128px;
  margin: 0 auto 24px;
}
.started .started-txt {
  color: #333;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0.64px;
  margin-bottom: 24px;
}
.started .started-container {
  max-width: 930px;
  width: 100%;
  padding: 48px 64px;
  background: #FDF1EB;
  margin: 0 auto;
}
.started .container-inner {
  display: flex;
  justify-content: space-between;
  margin-bottom: 16px;
}
.started .container-img {
  width: 200px;
}
.started .container-txtbox .box-sub {
  color: #222;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-weight: 500;
  line-height: 130%;
  letter-spacing: 0.56px;
  margin-bottom: 4px;
}
.started .container-txtbox .box-ttl {
  width: 388px;
  padding: 2px 0;
  margin-bottom: 24px;
}
.started .container-txtbox .box-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.started .container-txtbox .box-item .item-ttl {
  position: relative;
  color: #222;
  font-family: "Noto Sans JP";
  font-size: 20px;
  font-weight: 700;
  line-height: 160%;
  letter-spacing: 0.8px;
  padding-left: 18px;
}
.started .container-txtbox .box-item .item-ttl::after {
  position: absolute;
  content: "";
  width: 12px;
  height: 12px;
  aspect-ratio: 1/1;
  background: #42A9A6;
  top: 10px;
  left: 0;
}
.started .container-txtbox .box-item .item-txt {
  color: var(--text, #222);
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0.64px;
}
.started .container-txtbox .box-item .item-txt .small {
  color: var(--text, #222);
  font-family: "Noto Sans JP";
  font-size: 12px;
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0.48px;
}
.started .cv_txt {
  color: #113A62;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-weight: 600;
  line-height: 120%;
  letter-spacing: 0.56px;
  margin-bottom: 16px;
}
.started .started-btn {
  display: flex;
  width: 280px;
  height: 72px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: -6px;
  border-radius: 40px;
  background: #113A62;
  box-shadow: 2px 4px 8px 0 rgba(0, 0, 0, 0.25);
  color: #FFF;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 0.56px;
  margin: 0 auto;
}
.started .started-btn .large {
  color: #FFF;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 24px;
  font-weight: 700;
  line-height: 160%;
  letter-spacing: 0.96px;
}
@media screen and (max-width: 768px) {
  .started .started-inner {
    max-width: 100%;
    width: 100%;
  }
  .started .started-inner::after {
    display: none;
  }
  .started .started-ttl {
    width: 112px;
  }
  .started .started-txt {
    color: #333;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-weight: 400;
    line-height: 160%;
    letter-spacing: 0.64px;
    text-align-last: left;
  }
  .started .started-container {
    padding: 24px 24px 32px;
  }
  .started .container-inner {
    position: relative;
    display: block;
    margin-bottom: 24px;
  }
  .started .container-img {
    position: absolute;
    width: 105px;
    height: 148px;
    aspect-ratio: 83/117;
    top: 0;
    left: 0;
    box-shadow: -2px 4px 6px 0 rgba(0, 0, 0, 0.25);
  }
  .started .container-txtbox .box-sub {
    width: 180px;
    padding-top: 27px;
    margin-left: auto;
  }
  .started .container-txtbox .box-ttl {
    width: 180px;
    padding: 0;
    margin-left: auto;
  }
  .started .container-txtbox .service-txt {
    color: #222;
    font-family: "Noto Sans JP";
    font-size: 12px;
    font-weight: 400;
    line-height: 160%;
    letter-spacing: 0.48px;
    width: 180px;
    margin-left: auto;
    margin-bottom: 24px;
  }
  .started .container-txtbox .box-item .item-ttl {
    color: #222;
    font-family: "Noto Sans JP";
    font-size: 18px;
    font-weight: 700;
    line-height: 160%;
    letter-spacing: 0.72px;
  }
  .started .container-txtbox .box-item .item-txt {
    color: #222;
    font-family: "Noto Sans JP";
    font-size: 14px;
    font-weight: 400;
    line-height: 160%;
    letter-spacing: 0.56px;
    padding-left: 18px;
  }
  .started .container-txtbox .box-item .item-txt .small {
    color: #222;
    font-family: "Noto Sans JP";
    font-size: 12px;
    font-weight: 400;
    line-height: 160%;
    letter-spacing: 0.48px;
  }
  .started .cv_txt {
    color: #113A62;
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 14px;
    font-weight: 600;
    line-height: 120%;
    letter-spacing: 0.56px;
  }
  .started .started-btn {
    display: flex;
    width: 280px;
    height: 64px;
    padding-bottom: 4px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: -4px;
    color: #FFF;
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 14px;
    font-weight: 500;
    line-height: 160%;
    letter-spacing: 0.56px;
  }
  .started .started-btn .large {
    color: #FFF;
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 20px;
    font-weight: 700;
    line-height: 160%;
    letter-spacing: 0.8px;
  }
}

.plans .plans-inner {
  position: relative;
  width: 930px;
  padding: 40px 0 80px;
  margin: 0 auto;
}
.plans .plans-inner::after {
  position: absolute;
  content: "";
  width: 418.589px;
  height: 585.258px;
  background: url(../img/right_img01.webp) no-repeat center/contain;
  right: -387.74px;
  top: -322px;
}
.plans .sofia {
  text-align: center;
}
.plans .plans-ttl {
  width: 164px;
  margin: 0 auto 24px;
}
.plans .plan-sub {
  color: #333;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0.64px;
  margin-bottom: 32px;
}
.plans .plans-list {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 32px;
}
.plans .plans-item:first-of-type {
  height: 492px;
}
.plans .plans-item:first-of-type > div {
  display: flex;
  align-items: center;
  width: 50px;
  background: #EDF0F3;
  padding: 24px 16px;
  margin-bottom: 2px;
}
.plans .plans-item:first-of-type > div img {
  width: 20px;
}
.plans .plans-item:first-of-type > div:first-of-type {
  height: 230px;
}
.plans .plans-item:first-of-type > div:nth-of-type(2), .plans .plans-item:first-of-type > div:last-of-type {
  height: 130px;
}
.plans .plans-item:first-of-type > div:last-of-type {
  margin-bottom: 0;
}
.plans .plans-item:nth-of-type(2) {
  width: 292px;
  background: linear-gradient(180deg, #42A9A6 -10.79%, #E5936C 44.07%, #BD293B 100%);
  padding: 40px 16px 16px;
}
.plans .plans-item:nth-of-type(2) .item-top {
  width: fit-content;
  margin: 0 auto;
}
.plans .plans-item:nth-of-type(2) .item-top img {
  width: 218px;
}
.plans .plans-item:nth-of-type(2) .top-txt {
  color: #FFF;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.64px;
  margin-bottom: 28px;
}
.plans .plans-item:nth-of-type(2) .item-mid,
.plans .plans-item:nth-of-type(2) .item-low {
  display: flex;
  height: 128px;
  padding: 8px 0 8px 20px;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 8px;
  align-self: stretch;
  background: #fff;
}
.plans .plans-item:nth-of-type(2) .item-mid {
  margin-bottom: 2px;
}
.plans .plans-item:nth-of-type(2) .item-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.plans .plans-item:nth-of-type(2) .item {
  position: relative;
  color: #333;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-weight: 400;
  line-height: 140%;
  padding-left: 13px;
}
.plans .plans-item:nth-of-type(2) .item::after {
  position: absolute;
  content: "";
  width: 6px;
  height: 6px;
  aspect-ratio: 1/1;
  background: #9F040B;
  border-radius: 50%;
  top: 7px;
  left: 0;
}
.plans .plans-item:nth-of-type(n+3) {
  background: #EDF0F3;
  height: 492px;
  padding: 24px 16px 16px;
  margin-right: 4px;
}
.plans .plans-item:nth-of-type(n+3) .item-top {
  width: 242px;
  margin: 0 auto 2px;
}
.plans .plans-item:nth-of-type(n+3) .top-txt {
  color: #222;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.64px;
  margin-bottom: 28px;
}
.plans .plans-item:nth-of-type(n+3) .item-mid {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 128px;
  border-top: 1px solid var(--list_line, #D5D5D5);
  margin-bottom: 2px;
}
.plans .plans-item:nth-of-type(n+3) .item-low {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 112px;
  border-top: 1px solid var(--list_line, #D5D5D5);
}
.plans .plans-item:nth-of-type(n+3) .item-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 18px 0;
}
.plans .plans-item:nth-of-type(n+3) .item {
  position: relative;
  color: #333;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-weight: 400;
  line-height: 140%;
  padding-left: 13px;
}
.plans .plans-item:nth-of-type(n+3) .item::after {
  position: absolute;
  content: "";
  width: 6px;
  height: 6px;
  aspect-ratio: 1/1;
  background: #9F040B;
  border-radius: 50%;
  top: 7px;
  left: 0;
}
.plans .plans-item:last-of-type {
  position: relative;
  margin-right: 0;
}
.plans .plans-item:last-of-type::after {
  position: absolute;
  content: "※ご利用人数：3名～";
  color: var(--text, #333);
  text-align: right;
  font-family: "Noto Sans JP";
  font-size: 12px;
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0.48px;
  bottom: -23px;
  right: 0;
}
.plans .lower-img {
  display: block;
  width: 468px;
  margin: 0 auto 32px;
}
@media screen and (max-width: 768px) {
  .plans .plans-inner {
    width: auto;
    padding-bottom: 40px;
    overflow: hidden;
  }
  .plans .plans-ttl {
    width: 144px;
  }
  .plans .plan-sub {
    color: #333;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-weight: 400;
    line-height: 160%;
    letter-spacing: 0.64px;
    max-width: 350px;
    text-align-last: left;
    margin: 0 auto 32px;
  }
  .plans .scroll {
    overflow-x: scroll;
  }
  .plans .plans-list {
    width: 930px;
    padding-left: 32px;
  }
  .plans .lower-img {
    width: 242px;
    margin-bottom: 16px;
  }
}

.faq .faq-bg {
  background: #EDF0F3;
  padding: 80px 0;
}
.faq .faq-inner {
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
}
.faq .sofia {
  text-align: center;
}
.faq .faq-ttl {
  width: 188px;
  margin: 0 auto 56px;
}
.faq .qa-item {
  background: transparent;
  border-bottom: 1px solid #D5D5D5;
}
.faq .qa-item::before {
  display: none;
}
.faq .qa-item::after {
  width: 16px;
  height: 8px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='8' viewBox='0 0 16 8' fill='none'%3E%3Cpath d='M8.00053 0.00987434C8.23053 0.00987434 8.46053 0.0898743 8.65053 0.249874L15.6505 6.23987C16.0705 6.59987 16.1205 7.22987 15.7605 7.65987C15.4005 8.07987 14.7705 8.12987 14.3505 7.75987L8.00053 2.31987L1.65053 7.75987C1.23053 8.11987 0.600527 8.06987 0.240527 7.64987C-0.119473 7.22987 -0.0694714 6.59987 0.350528 6.23987L7.35053 0.239874C7.54053 0.0798745 7.77053 -0.000125885 8.00053 -0.000125885V0.00987434Z' fill='%23666666'/%3E%3C/svg%3E") no-repeat center/contain;
  transform: rotate(180deg);
}
.faq .qa-item.-is-open::after {
  transform: rotate(0);
}
.faq .qa-item:last-of-type {
  border-bottom: none;
}
.faq .qa-item-question {
  color: #222;
  font-feature-settings: 'palt' on;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0.64px;
}
.faq .qa-item-question:before {
  color: #42A9A6;
  text-align: center;
  font-feature-settings: 'palt' on;
  font-family: Roboto;
  font-size: 24px;
  font-weight: 600;
  line-height: 150%;
  letter-spacing: 1.2px;
}
.faq .qa-item-answer {
  color: #222;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0.64px;
  margin-top: 20px;
}
.faq .qa-item-answer:before {
  color: #222;
  text-align: center;
  font-feature-settings: 'palt' on;
  font-family: Roboto;
  font-size: 24px;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 1.2px;
}
@media screen and (max-width: 768px) {
  .faq .faq-bg {
    padding: 40px 0;
  }
  .faq .faq-inner {
    max-width: 350px;
    width: 100%;
  }
  .faq .faq-ttl {
    margin-bottom: 24px;
  }
  .faq .qa-list {
    padding: 0;
  }
  .faq .qa-item {
    padding: 4% 10% 4% 4%;
  }
  .faq .qa-item:after {
    right: 0;
    top: 23px;
  }
  .faq .qa-item dl {
    padding-left: 16px;
  }
  .faq .qa-item dl > * {
    padding-left: 0;
  }
  .faq .qa-item-question:before {
    top: -5px;
    left: -32px;
  }
  .faq .qa-item-answer:before {
    top: -5px;
    left: -32px;
  }
}

.assignment .assignment-inner {
  position: relative;
  max-width: 930px;
  width: 100%;
  padding: 80px 0;
  margin: 0 auto;
}
.assignment .assignment-inner::after {
  position: absolute;
  content: "";
  width: 502.213px;
  height: 539.683px;
  background: url(../img/left_img02.webp) no-repeat center/contain;
  left: -400px;
  top: -296px;
}
.assignment .sofia {
  text-align: center;
}
.assignment .assignment-ttl {
  max-width: 520px;
  width: 100%;
  margin: 0 auto 24px;
}
.assignment .assignment-sub {
  color: #333;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0.64px;
  margin-bottom: 24px;
}
.assignment .assignment-list {
  display: flex;
  justify-content: space-between;
  margin-bottom: 48px;
}
.assignment .assignment-item {
  display: flex;
  height: 140px;
  padding-top: 4px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  align-self: start;
  grid-row: span 1;
  grid-column: span 1;
  justify-self: stretch;
  width: 294px;
  border: 1px solid;
  border-image: linear-gradient(58deg, #42A9A6 14.89%, #E5936C 72.35%) 1;
}
.assignment .assignment-item:first-of-type img {
  width: 200px;
}
.assignment .assignment-item:nth-of-type(2) img {
  width: 164px;
}
.assignment .assignment-item:last-of-type img {
  width: 118px;
}
.assignment .assignment-txt {
  color: #9F040B;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-weight: 500;
  line-height: 140%;
  letter-spacing: 0.56px;
}
.assignment .assignment-lower {
  color: #333;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0.64px;
  margin-bottom: 32px;
}
.assignment .assignment-inner {
  padding: 40px 0;
}
@media screen and (max-width: 768px) {
  .assignment .assignment-inner {
    max-width: 350px;
    width: 100%;
  }
  .assignment .assignment-ttl {
    max-width: 228px;
  }
  .assignment .assignment-sub {
    color: #333;
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-weight: 400;
    line-height: 160%;
    letter-spacing: 0.64px;
  }
  .assignment .assignment-list {
    flex-direction: column;
    gap: 16px;
    margin-bottom: 24px;
  }
  .assignment .assignment-item {
    display: flex;
    height: 104px;
    padding-top: 4px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 8px;
    align-self: start;
    grid-row: span 1;
    grid-column: span 1;
    justify-self: stretch;
    width: 100%;
  }
  .assignment .assignment-txt {
    color: #9F040B;
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 14px;
    font-weight: 500;
    line-height: 140%;
    letter-spacing: 0.56px;
  }
  .assignment .assignment-lower {
    color: #222;
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 14px;
    font-weight: 400;
    line-height: 160%;
    letter-spacing: 0.56px;
  }
}

.contact .contact-bg {
  background: #FDF1EB;
  padding: 80px 0;
}
.contact .contact-inner {
  position: relative;
  max-width: 800px;
  width: 100%;
  background: #FFF;
  margin: 0 auto;
}
.contact .contact-inner::after {
  position: absolute;
  content: "";
  width: 490.5px;
  height: 690.5px;
  background: url(../img/right_img02.webp) no-repeat center/contain;
  right: calc(-490.5px - 49px);
  top: -487px;
}
.contact .contact-ttl {
  width: 320px;
  margin: 0 auto 48px;
}
.contact .contact-caption {
  color: 222;
  text-align: center;
  font-feature-settings: 'palt' on;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.64px;
  margin-bottom: 8px;
}
.contact .contact-sub {
  color: #9F040B;
  text-align: center;
  font-feature-settings: 'palt' on;
  font-family: "Noto Sans JP";
  font-size: 12px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.48px;
  margin-bottom: 40px;
}
.contact .contact-table {
  table-layout: fixed;
  border-spacing: 0 8px;
}
.contact .contact-table th {
  color: #222;
  font-feature-settings: 'palt' on;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-weight: 500;
  line-height: 180%;
  letter-spacing: 0.56px;
}
.contact .contact-table th .required {
  color: #9F040B;
  font-feature-settings: 'palt' on;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-weight: 500;
  line-height: 180%;
  letter-spacing: 0.56px;
}
.contact .contact-table tr:first-of-type {
  display: grid;
  width: fit-content;
  padding-left: 22px;
  margin-bottom: 16px;
}
.contact .contact-table tr:first-of-type th {
  width: 100%;
  margin-bottom: 4px;
}
.contact .contact-table tr:first-of-type td {
  border: none;
  padding: 8px 0;
}
.contact .contact-table tr:first-of-type .contact-list,
.contact .contact-table tr:first-of-type .contact-item label {
  display: flex;
  align-items: center;
  gap: 24px;
}
.contact .contact-table tr:first-of-type .contact-item label {
  gap: 7px;
  cursor: pointer;
}
.contact .contact-table tr:first-of-type .contact-item input {
  width: 18px;
  height: 18px;
}
.contact .contact-table tr:first-of-type .contact-item span {
  display: block;
  width: max-content;
}
.contact .contact-table tr:nth-of-type(n+2) {
  display: block;
  width: fit-content;
  margin: 0 auto;
}
.contact .contact-table tr:nth-of-type(n+2) th {
  width: 120px;
  padding: 7.5px 0;
  color: #222;
  font-feature-settings: 'palt' on;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-weight: 500;
  line-height: 180%;
  letter-spacing: 0.56px;
}
.contact .contact-table tr:nth-of-type(n+2) td input,
.contact .contact-table tr:nth-of-type(n+2) td textarea {
  width: 504px !important;
  padding: 0 16px;
}
.contact .notice-container {
  max-width: 640px;
  margin: 0 auto;
}
.contact .notice-container .contact-table-notice {
  position: relative;
  color: #222;
  font-feature-settings: 'palt' on;
  font-family: "Noto Sans JP";
  font-size: 12px;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 0.48px;
  padding-left: 1em;
  margin-bottom: 16px;
}
.contact .notice-container .contact-table-notice::after {
  position: absolute;
  content: "※";
  font-size: 12px;
  top: 0;
  left: -.5em;
}
.contact .notice-container .contact-table-notice:first-of-type {
  margin-bottom: 4px;
}
.contact .contact-table-text {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #222;
  text-align: center;
  font-feature-settings: 'palt' on;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.56px;
  margin-bottom: 16px;
}
.contact .contact-table-text span {
  display: flex;
}
.contact .contact-table-text a {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #1F70C2;
}
.contact .contact-table-text img {
  width: 11px;
  height: 11px;
  filter: brightness(0) saturate(100%) invert(36%) sepia(91%) saturate(1035%) hue-rotate(187deg) brightness(91%) contrast(91%);
  margin-right: 2px;
}
.contact .contact-button {
  justify-content: center;
}
.contact .contact-button input {
  display: flex;
  width: 160px;
  height: 48px;
  padding: 8px 0;
  justify-content: center;
  align-items: center;
  border-radius: 24px;
  background: #113A62;
  color: #FFF;
  text-align: center;
  font-feature-settings: 'palt' on;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0.64px;
  transition: .3s;
}
.contact .contact-button input:hover {
  background: #9F040B;
  opacity: 1;
}
.contact .applicationform-check {
  width: fit-content;
  margin: 0 auto;
}
.contact .applicationform-check label {
  display: flex;
  align-items: center;
  gap: 4px;
  width: fit-content;
  color: 222;
  font-feature-settings: 'palt' on;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-weight: 500;
  line-height: 180%;
  letter-spacing: 0.56px;
}
.contact .applicationform-check .agreement-checkbox {
  width: 18px;
  height: 18px;
}
.contact .contact-table.-last {
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  .contact .contact-bg {
    padding: 40px 0;
  }
  .contact .contact-inner::after {
    display: none;
  }
  .contact .contact-table tr:first-of-type .contact-list {
    flex-wrap: wrap;
  }
  .contact .contact-table tr:first-of-type .contact-item input {
    width: 24px;
    height: 24px;
  }
  .contact .contact-table tr:nth-of-type(n+2) {
    width: auto;
  }
  .contact .contact-table tr:nth-of-type(n+2) td input,
  .contact .contact-table tr:nth-of-type(n+2) td textarea {
    width: 100% !important;
    padding: 0 16px;
  }
  .contact .contact-button input {
    width: 100%;
  }
  .contact .contact-table-text {
    flex-direction: column;
  }
}

.footer .footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1040px;
  width: 100%;
  padding: 24px 0;
  margin: 0 auto;
}
.footer .footer-logo {
  width: 152px;
}
.footer .footer-container {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 44px;
}
.footer .footer-container a {
  position: relative;
  color: #222;
  font-feature-settings: 'palt' on;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-weight: 500;
  line-height: 180%;
  letter-spacing: 0.56px;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: none;
  text-decoration-thickness: 3%;
  text-underline-offset: 18%;
  text-underline-position: from-font;
  transition: .3s;
}
.footer .footer-container a:hover {
  text-decoration: none;
  opacity: 1;
}
.footer .footer-container a::after {
  position: absolute;
  content: "";
  background: url(../img/footer_icon.svg) no-repeat center/contain;
  width: 11px;
  height: 11px;
  top: 8px;
  right: -14px;
}
@media screen and (max-width: 768px) {
  .footer .footer-inner {
    flex-direction: column;
    padding: 32px 0 24px;
  }
  .footer .footer-logo {
    margin-bottom: 24px;
  }
  .footer .footer-txt {
    color: #222;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: Roboto;
    font-size: 11px;
    font-style: normal;
    font-weight: 400;
    line-height: 180%;
    letter-spacing: 0.44px;
  }
}

/*----------------------------------------------------------------------
------------------------------------------------------------------------

File Name: landing.scss

------------------------------------------------------------------------
----------------------------------------------------------------------*/
/*----------------------------------------------------------------------
------------------------------------------------------------------------
目次

1.	共通使用変数定義
2.	ブラウザデフォルトスタイルリセット
3.	HTMLタグ
4.	container
5.	共通部分
6.	header
7.	content
8.	main
9.	sub
10.	footer
11.	ページ別個別設定

------------------------------------------------------------------------
----------------------------------------------------------------------*/
/*----------------------------------------------------------------------
1.	共通使用変数定義
----------------------------------------------------------------------*/
/*----------------------------------------------------------------------
2.	ブラウザデフォルトスタイルリセット
----------------------------------------------------------------------*/
body,
h1, h2, h3, h4, h5, h6,
div,
p,
ul, ol, dl,
form, fieldset,
table,
address,
blockquote,
noscript,
pre,
tr,
td,
input,
textarea {
  margin: 0;
  padding: 0;
  line-height: 1;
  font-style: normal;
}

body {
  font-size: 10px;
  font-family: "notosansjp", sans-serif;
}

* html body {
  font-size: 62.5%;
}

* + html body {
  font-size: 62.5%;
}

/* start \*/
html:\66irst-child body {
  font-size: 62.5%;
}

/* end */
body:first-of-type {
  font-size: 62.5%;
}

body > iframe {
  display: none;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 1em;
  font-weight: normal;
}

small {
  font-size: 1em;
}

mark {
  background: none;
}

fieldset {
  border: none;
}

legend {
  display: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0px;
  font-size: inherit;
  font: 100%;
}

li {
  list-style-type: none;
}

dd {
  margin: 0;
}

a,
abbr,
acronym,
em,
strong,
span,
img,
sub,
sup,
input,
button,
textarea,
select,
label,
caption {
  font-weight: normal;
  font-style: normal;
}

a {
  text-decoration: none;
}

img {
  border: none;
  vertical-align: bottom;
}
@media screen and (max-width: 768px) {
  img {
    width: 100%;
  }
}

caption, th {
  font-weight: normal;
  text-align: left;
}

th, td {
  padding: 0px;
}

input, textarea, select {
  font-family: inherit;
  font-size: inherit;
}

textarea {
  vertical-align: top;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

header, footer, article, section, aside,
nav,
figure, figcaption {
  display: block;
  margin: 0;
  padding: 0;
}

/*----------------------------------------------------------------------
3.	HTMLタグ
----------------------------------------------------------------------*/
html,
body {
  height: 100%;
}
@media screen and (min-width: 769px) {
  html,
  body {
    min-width: 1260px;
  }
}

html {
  font-size: 100%;
}

body {
  -webkit-text-size-adjust: 100%;
  color: #000;
}
body * {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

a, a:before, a:after {
  -moz-transition: all 0.15s linear;
  -webkit-transition: all 0.15s linear;
  transition: all 0.15s linear;
}
a > * {
  -moz-transition: all 0.15s linear;
  -webkit-transition: all 0.15s linear;
  transition: all 0.15s linear;
}
a:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
}
a:hover > * {
  text-decoration: none;
}

/*----------------------------------------------------------------------
4.	container
----------------------------------------------------------------------*/
#container {
  position: relative;
  min-height: 100%;
}
* html #container {
  height: 100%;
}
body > #container {
  height: auto;
}

/*----------------------------------------------------------------------
5.	共通部分
----------------------------------------------------------------------*/
.fll {
  float: left;
}

.flr {
  float: right;
}

@media screen and (min-width: 769px) {
  .sp_none {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .sp_none {
    display: none;
  }
}

@media screen and (min-width: 769px) {
  .pc_none {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .pc_none {
    display: block;
  }
}

.right-nav {
  display: none;
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 1000;
}
@media screen and (max-width: 768px) {
  .right-nav {
    bottom: 50px;
    right: 10px;
  }
}
.right-nav a {
  -moz-transition: opacity 0.15s linear;
  -webkit-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
  display: block;
}
.right-nav a:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
}
@media screen and (max-width: 768px) {
  .right-nav img {
    width: 45px;
    height: 45px;
  }
}

html {
  overflow-x: hidden;
}

@media screen and (max-width: 768px) {
  body {
    width: 100%;
  }
}

span {
  font-weight: inherit;
}

img {
  width: 100%;
}

.sofia {
  color: #42A9A6;
  font-family: "sofia";
  font-size: 24px;
  font-weight: 600;
  line-height: 140%;
  letter-spacing: 0.96px;
  margin-bottom: 8px;
}
@media screen and (max-width: 768px) {
  .sofia {
    color: #42A9A6;
    font-family: "sofia";
    font-size: 20px;
    font-weight: 600;
    line-height: 140%;
    letter-spacing: 0.8px;
  }
}

.cv-btn {
  display: flex;
  width: 280px;
  height: 72px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: -6px;
  border-radius: 40px;
  background: #113A62;
  box-shadow: 2px 4px 8px 0 rgba(0, 0, 0, 0.25);
  color: #FFF;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 0.56px;
  margin: 0 auto;
  transition: .3s;
}
.cv-btn:hover {
  background: #9F040B;
  opacity: 1;
}
.cv-btn .large {
  color: #FFF;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 24px;
  font-weight: 700;
  line-height: 160%;
  letter-spacing: 0.96px;
}
@media screen and (max-width: 768px) {
  .cv-btn {
    display: flex;
    width: 280px;
    height: 64px;
    padding-bottom: 4px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: -4px;
    color: #FFF;
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 14px;
    font-weight: 500;
    line-height: 160%;
    letter-spacing: 0.56px;
  }
  .cv-btn .large {
    color: #FFF;
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 20px;
    font-weight: 700;
    line-height: 160%;
    letter-spacing: 0.8px;
  }
}

/*----------------------------------------------------------------------
6.	#header
----------------------------------------------------------------------*/
/*----------------------------------------------------------------------
7.	#content
----------------------------------------------------------------------*/
/*----------------------------------------------------------------------
8.	#main
----------------------------------------------------------------------*/
main {
  overflow-x: hidden;
}

/*----------------------------------------------------------------------
9.	#sub
----------------------------------------------------------------------*/
/*----------------------------------------------------------------------
10.	#footer
----------------------------------------------------------------------*/
/*----------------------------------------------------------------------
11.	ページ別個別設定
----------------------------------------------------------------------*/
@media screen and (max-width: 768px) {
  .qa-list {
    padding: 0 5%;
  }
}
.qa-item {
  position: relative;
  padding: 25px 40px 19px;
  background: #FFF;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .qa-item {
    padding: 4% 10% 4% 3%;
    font-size: 12px;
    font-size: 3.2vw;
  }
}
@media screen and (max-width: 768px) {
  .qa-item:not(:last-child) {
    margin-bottom: 5%;
  }
}
.qa-item:before, .qa-item:after {
  content: "";
  position: absolute;
  background: #666;
}
.qa-item:before {
  right: 52px;
  top: 33px;
  width: 3px;
  height: 21px;
}
@media screen and (max-width: 768px) {
  .qa-item:before {
    right: 19px;
    top: 16px;
    width: 2px;
    height: 10px;
  }
}
.qa-item:after {
  right: 43px;
  top: 42px;
  width: 21px;
  height: 3px;
}
@media screen and (max-width: 768px) {
  .qa-item:after {
    right: 15px;
    top: 20px;
    width: 10px;
    height: 2px;
  }
}
.qa-item.-is-open:before {
  content: none;
}
.qa-item dl > * {
  position: relative;
  padding-left: 40px;
}
@media screen and (max-width: 768px) {
  .qa-item dl > * {
    padding-left: 5%;
  }
}
.qa-item dl > *:before, .qa-item dl > *:after {
  position: absolute;
  left: 6px;
  top: -6px;
  font-size: 24px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .qa-item dl > *:before, .qa-item dl > *:after {
    top: 0;
    font-size: 12px;
    font-size: 3.2vw;
  }
}
.qa-item-question {
  font-weight: bold;
  line-height: 2.125;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .qa-item-question {
    line-height: 1.4;
  }
}
.qa-item-question:before {
  content: "Q";
  color: #FF5836;
}
.qa-item-answer {
  display: none;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .qa-item-answer {
    margin-top: 5%;
    line-height: 1.5;
  }
}
.qa-item-answer:before {
  content: "A";
  color: #666;
}

@media screen and (max-width: 768px) {
  .contact-title {
    margin-bottom: 4%;
    line-height: 1.41176;
  }
}
.contact-inner {
  width: 1000px;
  margin: auto;
  padding: 50px 50px 60px;
  background: #FFF;
}
@media screen and (max-width: 768px) {
  .contact-inner {
    width: auto;
    padding: 6% 5% 8%;
  }
}
.contact .applicationform-link {
  display: block;
  width: fit-content;
  font-size: 16px;
  text-decoration: underline;
  margin: 0 auto 2em;
  transition: .3s;
}
.contact .applicationform-link:hover {
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .contact .applicationform-link {
    font-size: 12px;
  }
}
.contact-table {
  width: 100%;
  margin: 0 auto 25px;
  border-bottom: 2px solid #FFAD90;
  border-collapse: separate;
  border-spacing: 12px;
}
@media screen and (max-width: 768px) {
  .contact-table {
    margin-bottom: 5%;
    padding: 0;
    border-bottom: 1px solid #FFAD90;
    border-spacing: 0;
  }
}
.contact-table.-last {
  margin-bottom: 60px;
  padding-bottom: 0;
  border: none;
}
@media screen and (max-width: 768px) {
  .contact-table.-last {
    margin-bottom: 5%;
  }
}
.contact-table caption {
  margin-bottom: 28px;
  font-size: 16px;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .contact-table caption {
    margin-bottom: 6%;
    font-size: 12px;
    font-size: 3.2vw;
    line-height: 1.5;
  }
}
.contact-table th,
.contact-table td {
  font-size: 14px;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .contact-table th,
  .contact-table td {
    display: list-item;
    list-style: none;
    font-size: 12px;
    font-size: 3.2vw;
  }
}
.contact-table th {
  width: 240px;
  vertical-align: top;
}
@media screen and (max-width: 768px) {
  .contact-table th {
    width: auto;
    margin-bottom: 2%;
    padding: 0;
    text-align: left;
  }
}
.contact-table td {
  -moz-border-radius: 7px;
  -webkit-border-radius: 7px;
  border-radius: 7px;
  padding: 6px 12px;
  border: 1px solid #CCC;
}
@media screen and (max-width: 768px) {
  .contact-table td {
    margin-bottom: 5%;
    padding: 2% 3%;
    border-width: 1px;
  }
}
.contact-table td.flex {
  display: flex;
  padding: 6px;
}
.contact-table td.flex label {
  display: flex;
  align-items: center;
}
.contact-table td.bdnone {
  border: none;
}
.contact-table input,
.contact-table textarea {
  border: none;
}
@media screen and (max-width: 768px) {
  .contact-table input,
  .contact-table textarea {
    font-size: 12px;
    font-size: 3.2vw;
  }
}
.contact-table input:focus,
.contact-table textarea:focus {
  outline: none;
}
.contact-table input {
  width: 100%;
}
.contact-table input[type="radio"] {
  width: auto;
  margin-right: 6px;
}
.contact-table label.long {
  width: 85%;
  margin-right: 20px;
}
@media screen and (max-width: 768px) {
  .contact-table label.long {
    width: 75%;
    margin-right: 5%;
  }
}
.contact-table label.long input[type="text"] {
  -moz-border-radius: 7px;
  -webkit-border-radius: 7px;
  border-radius: 7px;
  padding: 6px 12px;
  border: 1px solid #CCC;
}
@media screen and (max-width: 768px) {
  .contact-table label.long input[type="text"] {
    padding: 2% 3%;
    border-width: 1px;
  }
}
.contact-table textarea {
  width: 100%;
  padding: 3px 0;
  line-height: 1.5;
  resize: vertical;
}
@media screen and (max-width: 768px) {
  .contact-table textarea {
    height: 70px;
    padding: 0;
  }
}
.contact-table-text {
  margin-bottom: 45px;
  font-size: 15px;
  font-weight: 500;
  line-height: 2;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .contact-table-text {
    margin-bottom: 8%;
    font-size: 10px;
    font-size: 2.66667vw;
    line-height: 1.66667;
  }
}
.contact-table-text a {
  color: #000;
  font-weight: 500;
  text-decoration: underline;
}
.contact-table-text a:hover {
  text-decoration: none;
}
.contact-table .errortxt {
  display: none;
  color: #f00;
  font-weight: bold;
}
.contact-button {
  display: flex;
  justify-content: space-between;
  width: 284px;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .contact-button {
    justify-content: space-around;
    width: 90%;
  }
}
.contact-button.-thanks {
  justify-content: center;
}
.contact-button input {
  -moz-transition: opacity 0.15s linear;
  -webkit-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  -moz-box-shadow: 5px 5px 0 rgba(92, 92, 92, 0.2);
  -webkit-box-shadow: 5px 5px 0 rgba(92, 92, 92, 0.2);
  box-shadow: 5px 5px 0 rgba(92, 92, 92, 0.2);
  width: 125px;
  height: 37px;
  color: #FFF;
  font-size: 15px;
  font-weight: bold;
  border: none;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .contact-button input {
    -moz-border-radius: 20px;
    -webkit-border-radius: 20px;
    border-radius: 20px;
    -moz-box-shadow: 2px 2px 0 rgba(92, 92, 92, 0.2);
    -webkit-box-shadow: 2px 2px 0 rgba(92, 92, 92, 0.2);
    box-shadow: 2px 2px 0 rgba(92, 92, 92, 0.2);
    font-size: 12px;
    font-size: 3.2vw;
    height: auto;
    padding: 4% 0;
  }
}
.contact-button input:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=75);
  opacity: 0.75;
}
.contact-button input[type="reset"] {
  background: #ababab;
}

.confirm .main-box,
.error .main-box,
.thanks .main-box {
  padding-top: 50px;
}
.confirm .main-box:before, .confirm .main-box:after,
.error .main-box:before,
.error .main-box:after,
.thanks .main-box:before,
.thanks .main-box:after {
  content: none;
}
.confirm .main-box-title,
.error .main-box-title,
.thanks .main-box-title {
  position: relative;
  margin-bottom: 25px;
  padding-bottom: 18px;
  color: #630;
  font-size: 30px;
  font-weight: 600;
  text-align: center;
}
.confirm .main-box-title:before,
.error .main-box-title:before,
.thanks .main-box-title:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 72px;
  height: 1px;
  margin: 0 auto;
  background: #000;
}
.confirm .main-box-text,
.error .main-box-text,
.thanks .main-box-text {
  margin-bottom: 20px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.55556;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .confirm .main-box-text,
  .error .main-box-text,
  .thanks .main-box-text {
    margin: 5%;
    font-size: 17px;
    font-size: 4.53333vw;
    font-weight: normal;
    line-height: 1.47059;
    text-align: left;
  }
}
.confirm .contact-table,
.error .contact-table,
.thanks .contact-table {
  width: 100%;
  margin-bottom: 45px;
  table-layout: fixed;
  border-collapse: collapse;
}
@media screen and (max-width: 1200px) {
  .confirm .contact-table,
  .error .contact-table,
  .thanks .contact-table {
    width: 100%;
    margin-bottom: 5%;
  }
}
.confirm .contact-table th,
.confirm .contact-table td,
.error .contact-table th,
.error .contact-table td,
.thanks .contact-table th,
.thanks .contact-table td {
  line-height: 1.3;
  font-size: 1.6em;
  border: 10px solid #FFF;
  vertical-align: middle;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .confirm .contact-table th,
  .confirm .contact-table td,
  .error .contact-table th,
  .error .contact-table td,
  .thanks .contact-table th,
  .thanks .contact-table td {
    display: list-item;
    font-size: 16px;
    font-size: 4.26667vw;
    list-style: none;
    border: none;
  }
}
.confirm .contact-table th,
.error .contact-table th,
.thanks .contact-table th {
  width: 220px;
  padding: 15px 10px 15px 30px;
  background: #E4DFD5;
}
@media screen and (max-width: 768px) {
  .confirm .contact-table th,
  .error .contact-table th,
  .thanks .contact-table th {
    position: relative;
    width: 100%;
    padding: 2% 5%;
  }
}
.confirm .contact-table td,
.error .contact-table td,
.thanks .contact-table td {
  padding: 15px 20px;
  background: #F8F5EE;
}
@media screen and (max-width: 768px) {
  .confirm .contact-table td,
  .error .contact-table td,
  .thanks .contact-table td {
    padding: 3% 5%;
    background: none;
  }
}
.confirm input[type="submit"],
.error input[type="submit"],
.thanks input[type="submit"] {
  background: #113A62;
  transition: .3s;
}
.confirm input[type="submit"]:hover,
.error input[type="submit"]:hover,
.thanks input[type="submit"]:hover {
  background: #9F040B;
  opacity: 1;
}

.confirm .contact-button input[type="button"] {
  background: #c7c7c7;
}

.error .contact-button {
  justify-content: center;
}

.thanks #content {
  height: calc(100vh - 256px);
  padding-top: 130px;
}
@media screen and (max-width: 768px) {
  .thanks #content {
    height: auto;
    padding-top: 0;
  }
}
.thanks .main-box {
  padding-top: 100px;
}
@media screen and (max-width: 768px) {
  .thanks .main-box {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 0;
  }
}
.thanks input {
  background: #113A62;
  transition: .3s;
}
.thanks input:hover {
  background: #9F040B;
  opacity: 1;
}

.data-r {
  color: #E35580;
  font-weight: bold;
}
