@charset "UTF-8";
/*--------------------------------------------------------------------------------
  変数・mixin
--------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
  リセット・ベース
--------------------------------------------------------------------------------*/
:root {
  --red: #EA3B28;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

li {
  list-style: none;
}

img {
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", "YuGothic", "メイリオ", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #000;
  -webkit-font-smoothing: antialiased;
  background: #F5F5F7;
}

/*--------------------------------------------------------------------------------
  ヘッダー
--------------------------------------------------------------------------------*/
.header {
  background-color: #fff;
  padding: 0 24px;
  height: 85px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .header {
    padding: 0 16px;
    height: 56px;
  }
}
@media (hover: hover) {
  .header--logo_link {
    transition: 0.2s;
  }
  .header--logo_link:hover {
    opacity: 0.8;
  }
}
@media (max-width: 767px) {
  .header--logo_img {
    width: 125px;
  }
}
.header--top_btn {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  column-gap: 6px;
  padding: 8px 20px;
  border: solid 1px #E60012;
  border-radius: 9999px;
  background: #fff;
  color: #E60012;
  font-size: 13px;
  font-weight: bold;
  line-height: 1.4;
  white-space: nowrap;
}
@media (hover: hover) {
  .header--top_btn {
    transition: 0.2s;
  }
  .header--top_btn:hover {
    opacity: 0.8;
  }
}
@media (max-width: 767px) {
  .header--top_btn {
    padding: 6px 12px;
    font-size: 11px;
    column-gap: 4px;
  }
}
.header--top_btn::after {
  content: "";
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M8%203.5H3.5C3.10218%203.5%202.72064%203.65804%202.43934%203.93934C2.15804%204.22064%202%204.60218%202%205V12.5C2%2012.8978%202.15804%2013.2794%202.43934%2013.5607C2.72064%2013.842%203.10218%2014%203.5%2014H11C11.3978%2014%2011.7794%2013.842%2012.0607%2013.5607C12.342%2013.2794%2012.5%2012.8978%2012.5%2012.5V8M7.25%208.75L14%202M14%202H10.25M14%202V5.75%22%20stroke%3D%22%23E60012%22%20stroke-width%3D%221.4%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media (max-width: 767px) {
  .header--top_btn::after {
    width: 14px;
    height: 14px;
  }
}

/*--------------------------------------------------------------------------------
  規約コンテンツ
--------------------------------------------------------------------------------*/
.terms {
  padding: 80px 40px 120px;
}
@media (max-width: 767px) {
  .terms {
    padding: 40px 16px 80px;
  }
}
.terms--inner {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  background: #fff;
  border-radius: 16px;
  padding: 64px 64px 80px;
}
@media (max-width: 767px) {
  .terms--inner {
    border-radius: 12px;
    padding: 32px 20px 48px;
  }
}
.terms--ttl {
  font-family: "Noto Serif JP", serif;
  font-size: 32px;
  font-weight: 900;
  line-height: 1.5;
  text-align: center;
}
@media (max-width: 767px) {
  .terms--ttl {
    font-size: 22px;
    text-align: left;
  }
}
.terms--lead {
  margin-top: 32px;
  font-size: 16px;
  line-height: 1.8;
}
@media (max-width: 767px) {
  .terms--lead {
    margin-top: 24px;
    font-size: 14px;
  }
}
.terms--index {
  margin-top: 40px;
  padding: 32px;
  border: solid 1px #d9d9d9;
  border-radius: 8px;
  background: #fafafa;
}
@media (max-width: 767px) {
  .terms--index {
    margin-top: 32px;
    padding: 20px;
  }
}
.terms--index_item + .terms--index_item {
  margin-top: 16px;
}
.terms--index_link {
  display: inline-block;
  position: relative;
  padding-left: 1.4em;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.6;
  color: #1265D6;
  text-decoration: underline;
  text-underline-offset: 3px;
}
@media (hover: hover) {
  .terms--index_link {
    transition: 0.2s;
  }
  .terms--index_link:hover {
    opacity: 0.8;
  }
}
@media (max-width: 767px) {
  .terms--index_link {
    font-size: 14px;
  }
}
.terms--index_link::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 8px;
  height: 8px;
  border-right: 2px solid #1265D6;
  border-bottom: 2px solid #1265D6;
  transform: rotate(45deg);
}
.terms--section {
  margin-top: 80px;
  scroll-margin-top: 24px;
}
@media (max-width: 767px) {
  .terms--section {
    margin-top: 56px;
  }
}
.terms--section_ttl {
  font-family: "Noto Serif JP", serif;
  font-size: 24px;
  font-weight: 900;
  line-height: 1.5;
  padding-bottom: 16px;
  border-bottom: solid 2px #222;
}
@media (max-width: 767px) {
  .terms--section_ttl {
    font-size: 18px;
    padding-bottom: 12px;
  }
}
.terms--section_body {
  margin-top: 32px;
  font-size: 15px;
  line-height: 1.9;
}
@media (max-width: 767px) {
  .terms--section_body {
    margin-top: 24px;
    font-size: 13px;
  }
}
.terms--section_body > * + * {
  margin-top: 1.5em;
}
.terms--clause_list {
  counter-reset: clause;
}
.terms--clause_list > li {
  position: relative;
  padding-left: 2.2em;
  counter-increment: clause;
}
.terms--clause_list > li::before {
  content: "（" counter(clause) "）";
  position: absolute;
  left: 0;
  top: 0;
}
.terms--clause_list > li + .terms--clause_list > li {
  margin-top: 0.8em;
}
.terms--heading {
  margin-top: 2.4em;
  font-size: 17px;
  font-weight: bold;
  line-height: 1.6;
}
@media (max-width: 767px) {
  .terms--heading {
    margin-top: 2em;
    font-size: 15px;
  }
}
.terms--note {
  padding-left: 1.2em;
  text-indent: -1.2em;
  font-size: 13px;
  color: #555;
}
@media (max-width: 767px) {
  .terms--note {
    font-size: 12px;
  }
}
.terms--note + .terms--note {
  margin-top: 0.4em;
}
.terms--list {
  margin-top: 0.6em;
}
.terms--list > li {
  position: relative;
  padding-left: 1.2em;
}
.terms--list > li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}
.terms--list > li + .terms--list > li {
  margin-top: 0.4em;
}
.terms--contact {
  margin-top: 1.2em;
  padding: 24px 32px;
  border-radius: 8px;
  background: #fafafa;
}
@media (max-width: 767px) {
  .terms--contact {
    padding: 16px 20px;
  }
}
.terms--contact .terms--tel {
  margin-top: 4px;
}
.terms--contact_label {
  font-size: 14px;
  font-weight: bold;
  color: #555;
}
@media (max-width: 767px) {
  .terms--contact_label {
    font-size: 13px;
  }
}
.terms--tel {
  font-size: 20px;
  font-weight: bold;
}
@media (max-width: 767px) {
  .terms--tel {
    font-size: 18px;
  }
}
.terms--link {
  color: #1265D6;
  text-decoration: underline;
  text-underline-offset: 2px;
  word-break: break-all;
}
@media (hover: hover) {
  .terms--link {
    transition: 0.2s;
  }
  .terms--link:hover {
    opacity: 0.8;
  }
}
.terms--back {
  margin-top: 40px;
  text-align: center;
}
@media (max-width: 767px) {
  .terms--back {
    margin-top: 32px;
  }
}
.terms--back_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 320px;
  min-height: 56px;
  padding: 8px 48px;
  border-radius: 9999px;
  background: #222;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
}
@media (hover: hover) {
  .terms--back_btn {
    transition: 0.2s;
  }
  .terms--back_btn:hover {
    opacity: 0.8;
  }
}
@media (max-width: 767px) {
  .terms--back_btn {
    min-width: 0;
    width: 100%;
    min-height: 52px;
    font-size: 14px;
    padding: 8px 24px;
  }
}

/*--------------------------------------------------------------------------------
  フッター
--------------------------------------------------------------------------------*/
.footer {
  background: #222222;
  color: #ffffff;
  padding: 60px 20px 150px 20px;
}

.footer-01 > ul {
  font-size: 14px;
  line-height: 1.5;
  font-weight: bold;
}

.footer-01 > ul > li + li {
  margin-top: 24px;
}

.footer-01 > ul > li > a {
  position: relative;
  color: #ffffff;
  text-decoration: none;
}

.footer-02 {
  display: flex;
  flex-wrap: wrap;
  margin-top: 48px;
  border-top: solid 1px #707070;
}

.footer-02-01 {
  order: 1;
  margin: 24px 0 0 0;
}

.footer-02-01-inner > dl {
  font-size: 10px;
  line-height: 1.6;
}

.footer-02-01-inner > dl > dt {
  font-weight: bold;
}

.footer-02-01-inner > dl > dt > span {
  padding: 0 0 0 1em;
}

.footer-02-01-inner-copyright {
  margin-top: 16px;
  font-size: 10px;
  line-height: 1.5;
  font-weight: bold;
}

.footer-02-02 {
  order: 0;
  margin: 48px auto 0 auto;
  width: 189px;
}

@media screen and (min-width: 768px) {
  .footer {
    padding: 64px 60px 48px 60px;
  }
  .footer-wrap {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
  }
  .footer-01 > ul {
    margin: -16px -20px 0 0;
    line-height: 32px;
  }
  .footer-01 > ul > li {
    display: inline-block;
    padding: 0 40px 0 0;
    margin: 16px 40px 0 0;
    border-right: solid 1px #ffffff;
  }
  .footer-01 > ul > li + li {
    padding: 0 40px 0 0;
    margin: 16px 40px 0 0;
  }
  .footer-01 > ul > li:last-child {
    padding: 0 0 0 0;
    margin: 16px 0 0 0;
    border-right: none;
  }
  .footer-01 > ul > li > a {
    transition: all 0.4s;
  }
  .footer-01 > ul > li > a:hover {
    color: #1265D6;
  }
  .footer-02 {
    display: flex;
    width: 100%;
    padding: 50px 0 0 0;
    margin: 0 0 0 0;
    border-top: none;
  }
  .footer-02-01 {
    order: 1;
    flex: 1;
    margin: 0 0 0 0;
    padding: 0 0 0 60px;
    text-align: right;
  }
  .footer-02-01-inner {
    display: inline-block;
    text-align: left;
  }
  .footer-02-01-inner > dl {
    font-size: 12px;
    line-height: 1.6;
  }
  .footer-02-02 {
    order: 0;
    width: 189px;
    margin: 0 0 0 0;
  }
}
@media (max-width: 1104px) {
  .m-wrap {
    padding-left: 5.55vw;
    padding-right: 5.55vw;
  }
}

.disclaimer {
  background-color: #f5f5f5;
  padding-top: 128px;
  padding-bottom: 128px;
}
@media (max-width: 767px) {
  .disclaimer {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}
.disclaimer--content {
  max-width: 1176px;
  margin: 0 auto;
}
.disclaimer--heading {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  row-gap: 4px;
  padding-bottom: 16px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221176%22%20height%3D%221%22%20viewBox%3D%220%200%201176%201%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M0%200.5H1176%22%20stroke%3D%22url%28%23paint0_linear_283_14714%29%22%2F%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22paint0_linear_283_14714%22%20x1%3D%220%22%20y1%3D%221%22%20x2%3D%221176%22%20y2%3D%221%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20stop-color%3D%22%23309EBA%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23D84821%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: bottom left;
}
@media (max-width: 767px) {
  .disclaimer--heading {
    padding-bottom: 8px;
  }
}
.disclaimer--heading_ttl {
  margin-right: 8px;
  font-weight: 800;
  font-size: 24px;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .disclaimer--heading_ttl {
    margin-right: 0;
    font-size: 20px;
  }
}
.disclaimer--heading_desc {
  font-weight: 600;
  font-size: 16px;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .disclaimer--heading_desc {
    font-size: 14px;
  }
}
.disclaimer--list {
  margin-top: 8px;
}
.disclaimer--item {
  position: relative;
  padding-left: 1em;
  text-indent: -1em;
  color: #000;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}
.disclaimer--item.red {
  color: var(--red);
}
.disclaimer--item.bold {
  font-weight: bold;
}
.disclaimer--item > .bold {
  font-weight: bold;
}
.disclaimer--item + .disclaimer--item {
  margin-top: 8px;
}
@media (max-width: 767px) {
  .disclaimer--item {
    font-size: 12px;
  }
}
.disclaimer--desc {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.7;
}
.disclaimer--desc--indent {
  padding-left: 1em;
  text-indent: -1em;
}
.disclaimer--desc.bold {
  font-weight: 600;
}
.disclaimer--desc.red {
  color: var(--red);
}
.disclaimer--desc > .red {
  color: var(--red);
}
.disclaimer--desc > .medium {
  font-weight: 500;
}
.disclaimer--desc > .bold {
  font-weight: bold;
}
.disclaimer--desc + .disclaimer--desc {
  margin-top: 8px;
}
@media (max-width: 767px) {
  .disclaimer--desc {
    font-size: 14px;
  }
}
.disclaimer--note_list {
  margin-top: 12px;
}
.disclaimer--note_item {
  color: #333;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
  padding-left: 1em;
  text-indent: -1em;
}
.disclaimer--note_item:before {
  content: "※";
}
.disclaimer--note_item.red {
  color: var(--red);
}
.disclaimer--note_item + .disclaimer--note_item {
  margin-top: 4px;
}
@media (max-width: 767px) {
  .disclaimer--note_item {
    font-size: 10px;
  }
}
.disclaimer--head {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  color: #000;
}
@media (max-width: 767px) {
  .disclaimer--head {
    font-size: 16px;
  }
}
.disclaimer--lead {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  color: #000;
}
@media (max-width: 767px) {
  .disclaimer--lead {
    font-size: 14px;
  }
}
.disclaimer--subhead {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  color: #333;
}
@media (max-width: 767px) {
  .disclaimer--subhead {
    font-size: 14px;
  }
}
.disclaimer--note_list + .disclaimer--heading, .disclaimer--list + .disclaimer--heading {
  margin-top: 40px;
}
@media (max-width: 767px) {
  .disclaimer--note_list + .disclaimer--heading, .disclaimer--list + .disclaimer--heading {
    margin-top: 32px;
  }
}
.disclaimer--heading + .disclaimer--list {
  margin-top: 32px;
}
@media (max-width: 767px) {
  .disclaimer--heading + .disclaimer--list {
    margin-top: 24px;
  }
}
.disclaimer--heading + .disclaimer--desc {
  margin-top: 24px;
}
@media (max-width: 767px) {
  .disclaimer--heading + .disclaimer--desc {
    margin-top: 16px;
  }
}
.disclaimer--desc + .disclaimer--list {
  margin-top: 16px;
}
@media (max-width: 767px) {
  .disclaimer--desc + .disclaimer--list {
    margin-top: 12px;
  }
}
.disclaimer--desc + .disclaimer--note_list {
  margin-top: 24px;
}
@media (max-width: 767px) {
  .disclaimer--desc + .disclaimer--note_list {
    margin-top: 16px;
  }
}
.disclaimer--list + .disclaimer--note_list {
  margin-top: 24px;
}
@media (max-width: 767px) {
  .disclaimer--list + .disclaimer--note_list {
    margin-top: 16px;
  }
}
.disclaimer--desc + .disclaimer--head {
  margin-top: 40px;
}
@media (max-width: 767px) {
  .disclaimer--desc + .disclaimer--head {
    margin-top: 32px;
  }
}
.disclaimer--list + .disclaimer--heading_desc, .disclaimer--note_list + .disclaimer--heading_desc {
  margin-top: 28px;
}
@media (max-width: 767px) {
  .disclaimer--list + .disclaimer--heading_desc, .disclaimer--note_list + .disclaimer--heading_desc {
    margin-top: 20px;
  }
}
.disclaimer--head + .disclaimer--desc {
  margin-top: 4px;
}
.disclaimer--head + .disclaimer--lead {
  margin-top: 16px;
}
@media (max-width: 767px) {
  .disclaimer--head + .disclaimer--lead {
    margin-top: 8px;
  }
}
.disclaimer--head + .disclaimer--heading_desc {
  margin-top: 16px;
}
@media (max-width: 767px) {
  .disclaimer--head + .disclaimer--heading_desc {
    margin-top: 16px;
  }
}
.disclaimer--desc + .disclaimer--lead {
  margin-top: 16px;
}
@media (max-width: 767px) {
  .disclaimer--desc + .disclaimer--lead {
    margin-top: 8px;
  }
}
.disclaimer--desc + .disclaimer--heading_desc {
  margin-top: 24px;
}
@media (max-width: 767px) {
  .disclaimer--desc + .disclaimer--heading_desc {
    margin-top: 16px;
  }
}
.disclaimer--desc + .disclaimer--subhead {
  margin-top: 16px;
}
@media (max-width: 767px) {
  .disclaimer--desc + .disclaimer--subhead {
    margin-top: 8px;
  }
}
.disclaimer--lead + .disclaimer--list {
  margin-top: 8px;
}
@media (max-width: 767px) {
  .disclaimer--lead + .disclaimer--list {
    margin-top: 4px;
  }
}
.disclaimer--lead + .disclaimer--desc {
  margin-top: 4px;
}
@media (max-width: 767px) {
  .disclaimer--lead + .disclaimer--desc {
    margin-top: 4px;
  }
}
.disclaimer--heading_desc + .disclaimer--desc {
  margin-top: 8px;
}
@media (max-width: 767px) {
  .disclaimer--heading_desc + .disclaimer--desc {
    margin-top: 8px;
  }
}
.disclaimer--heading_desc + .disclaimer--list {
  margin-top: 4px;
}
@media (max-width: 767px) {
  .disclaimer--heading_desc + .disclaimer--list {
    margin-top: 4px;
  }
}
.disclaimer--heading_desc + .disclaimer--note_list {
  margin-top: 4px;
}
@media (max-width: 767px) {
  .disclaimer--heading_desc + .disclaimer--note_list {
    margin-top: 4px;
  }
}
.disclaimer--subhead + .disclaimer--heading_desc {
  margin-top: 4px;
}
@media (max-width: 767px) {
  .disclaimer--subhead + .disclaimer--heading_desc {
    margin-top: 4px;
  }
}
.disclaimer--subhead + .disclaimer--desc {
  margin-top: 8px;
}
@media (max-width: 767px) {
  .disclaimer--subhead + .disclaimer--desc {
    margin-top: 4px;
  }
}
.disclaimer--desc + .disclaimer--subhead-wide {
  margin-top: 24px;
}
@media (max-width: 767px) {
  .disclaimer--desc + .disclaimer--subhead-wide {
    margin-top: 16px;
  }
}
.disclaimer--note_list + .disclaimer--note_list {
  margin-top: 16px;
}
@media (max-width: 767px) {
  .disclaimer--note_list + .disclaimer--note_list {
    margin-top: 12px;
  }
}
.disclaimer--heading + .disclaimer--head {
  margin-top: 16px;
}
@media (max-width: 767px) {
  .disclaimer--heading + .disclaimer--head {
    margin-top: 12px;
  }
}
.disclaimer--note_list + .disclaimer--head {
  margin-top: 24px;
}
@media (max-width: 767px) {
  .disclaimer--note_list + .disclaimer--head {
    margin-top: 16px;
  }
}
.disclaimer--subhead + .disclaimer--lead {
  margin-top: 16px;
}
@media (max-width: 767px) {
  .disclaimer--subhead + .disclaimer--lead {
    margin-top: 12px;
  }
}
.disclaimer--desc + .disclaimer--heading {
  margin-top: 56px;
}
@media (max-width: 767px) {
  .disclaimer--desc + .disclaimer--heading {
    margin-top: 40px;
  }
}

/*# sourceMappingURL=style.css.map */
