@charset "UTF-8";
/***
    The new CSS reset - version 1.11.3 (last updated 25.08.2024)
    GitHub page: https://github.com/elad2412/the-new-css-reset
***/
/*
    Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
    - The "symbol *" part is to solve Firefox SVG sprite bug
    - The "html" element is excluded, otherwise a bug in Chrome breaks the CSS hyphens property (https://github.com/elad2412/the-new-css-reset/issues/36)
 */
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  -ms-text-size-adjust: none;
      text-size-adjust: none;
}

a, button {
  cursor: revert;
}

ol, ul, menu, summary {
  list-style: none;
}

ol {
  counter-reset: revert;
}

img {
  max-inline-size: 100%;
  max-block-size: 100%;
}

table {
  border-collapse: collapse;
}

input, textarea {
  -webkit-user-select: auto;
}

textarea {
  white-space: revert;
}

meter {
  -webkit-appearance: revert;
  appearance: revert;
}

:where(pre) {
  all: revert;
  box-sizing: border-box;
}

::-webkit-input-placeholder {
  color: unset;
}

:-ms-input-placeholder {
  color: unset;
}

::-ms-input-placeholder {
  color: unset;
}

::placeholder {
  color: unset;
}

:where([hidden]) {
  display: none;
}

:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

:where([draggable=true]) {
  -webkit-user-drag: element;
}

:where(dialog:modal) {
  all: revert;
  box-sizing: border-box;
}

::-webkit-details-marker {
  display: none;
}

:root {
  --color-font: #1a1a1a;
  --color-primary: #ca0d25;
  --font-NotoSansJP: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, sans-serif;
  --font-NotoSerifJP: "Noto Serif JP", 'Hiragino Mincho Pro', 'Yu Mincho', YuMincho, serif;
}

html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
body {
  background: #fff;
  color: var(--color-font);
  font-family: var(--font-NotoSansJP);
  font-weight: 400;
  line-height: 1;
  margin-inline: auto;
  width: 100%;
}
@media screen and (max-width: 750px) {
  body {
    font-size: 3.733svw;
  }
}
@media screen and (min-width: 751px) {
  body {
    font-size: 28px;
    min-width: 750px;
  }
}

@media (any-hover: hover) {
  a:hover {
    opacity: 0.8;
  }
}
img {
  vertical-align: bottom;
}

img[height] {
  height: auto;
  width: 100%;
}

b, strong {
  font-weight: bolder;
}

@media screen and (min-width: 751px) {
  .l-wrapper {
    margin-inline: auto;
    width: 750px;
  }
}

.l-header {
  align-items: center;
  background: #fff;
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 5;
}
@media screen and (max-width: 750px) {
  .l-header {
    box-shadow: 0 1.333svw 0.667svw rgba(0, 0, 0, 0.2);
    -webkit-padding-start: 3.733svw;
            padding-inline-start: 3.733svw;
  }
}
@media screen and (min-width: 751px) {
  .l-header {
    box-shadow: 0 10px 5px rgba(0, 0, 0, 0.2);
    -webkit-padding-start: 28px;
            padding-inline-start: 28px;
  }
}

.l-footer {
  background: #000;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .l-footer {
    padding-block: 4.667svw 5.333svw;
  }
}
@media screen and (min-width: 751px) {
  .l-footer {
    padding-block: 35px 40px;
  }
}

.l-footer__link {
  letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
  .l-footer__link {
    font-size: 3.467svw;
  }
}
@media screen and (min-width: 751px) {
  .l-footer__link {
    font-size: 26px;
  }
}
.l-footer__link a {
  text-decoration: underline;
}
@media (any-hover: hover) {
  .l-footer__link a:hover {
    text-decoration: none;
  }
}

.l-sns {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 750px) {
  .l-sns {
    gap: 4.667svw;
    -webkit-margin-before: 4svw;
            margin-block-start: 4svw;
  }
}
@media screen and (min-width: 751px) {
  .l-sns {
    gap: 35px;
    -webkit-margin-before: 30px;
            margin-block-start: 30px;
  }
}
@media screen and (max-width: 750px) {
  .l-sns li {
    width: 10.133svw;
  }
}
@media screen and (min-width: 751px) {
  .l-sns li {
    width: 76px;
  }
}

.l-copyright {
  letter-spacing: 0.06em;
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
}
@media screen and (max-width: 750px) {
  .l-copyright {
    font-size: 2.133svw;
  }
}
@media screen and (min-width: 751px) {
  .l-copyright {
    font-size: 16px;
  }
}

.l-sticky {
  left: 0;
  position: fixed;
  width: 100%;
  z-index: 100;
}
@media screen and (max-width: 750px) {
  .l-sticky {
    bottom: 2.667svw;
  }
}
@media screen and (min-width: 751px) {
  .l-sticky {
    bottom: 20px;
  }
}

.l-sticky__btn {
  margin-inline: auto;
}
@media screen and (max-width: 750px) {
  .l-sticky__btn {
    width: 81.333svw;
  }
}
@media screen and (min-width: 751px) {
  .l-sticky__btn {
    width: 610px;
  }
}

.p-about {
  background: url(../images/about_bg.jpg) 0/cover no-repeat;
}
@media screen and (max-width: 750px) {
  .p-about {
    height: 120svw;
  }
}
@media screen and (min-width: 751px) {
  .p-about {
    height: 900px;
  }
}

.p-about__btn {
  margin-inline: auto;
}
@media screen and (max-width: 750px) {
  .p-about__btn {
    width: 81.333svw;
  }
}
@media screen and (min-width: 751px) {
  .p-about__btn {
    width: 610px;
  }
}

@media screen and (max-width: 750px) {
  .p-entry {
    -webkit-padding-after: 13.333svw;
            padding-block-end: 13.333svw;
  }
}
@media screen and (min-width: 751px) {
  .p-entry {
    -webkit-padding-after: 100px;
            padding-block-end: 100px;
  }
}

.c-btn {
  display: block;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
}
@media screen and (max-width: 750px) {
  .c-btn {
    -webkit-filter: drop-shadow(1.333svw 2svw 1.333svw rgba(0, 0, 0, 0.2));
            filter: drop-shadow(1.333svw 2svw 1.333svw rgba(0, 0, 0, 0.2));
  }
}
@media screen and (min-width: 751px) {
  .c-btn {
    -webkit-filter: drop-shadow(10px 15px 10px rgba(0, 0, 0, 0.2));
            filter: drop-shadow(10px 15px 10px rgba(0, 0, 0, 0.2));
  }
}

.c-contact {
  background: #f2f2f2;
  margin-inline: auto;
}
@media screen and (max-width: 750px) {
  .c-contact {
    border-radius: 2.667svw;
    padding-block: 6.667svw 9.333svw;
    width: 91.733svw;
  }
}
@media screen and (min-width: 751px) {
  .c-contact {
    border-radius: 20px;
    padding-block: 50px 70px;
    width: 688px;
  }
}

.c-contact-form {
  margin-inline: auto;
}
@media screen and (max-width: 750px) {
  .c-contact-form {
    width: 82.667svw;
  }
}
@media screen and (min-width: 751px) {
  .c-contact-form {
    width: 620px;
  }
}

@media screen and (max-width: 750px) {
  .c-contact-form__group {
    -webkit-padding-after: 4svw;
            padding-block-end: 4svw;
  }
}
@media screen and (min-width: 751px) {
  .c-contact-form__group {
    -webkit-padding-after: 30px;
            padding-block-end: 30px;
  }
}

.c-contact-form__title {
  line-height: 1.429;
}
.c-contact-form__title::after {
  background: var(--color-primary);
  color: #fff;
  content: "必須";
  display: inline-block;
  letter-spacing: 0.02em;
  line-height: 1.4;
  -webkit-margin-start: 0.5em;
          margin-inline-start: 0.5em;
  text-align: center;
  vertical-align: middle;
}
@media screen and (max-width: 750px) {
  .c-contact-form__title::after {
    font-size: 2.667svw;
    width: 6.933svw;
  }
}
@media screen and (min-width: 751px) {
  .c-contact-form__title::after {
    font-size: 20px;
    width: 52px;
  }
}
.c-contact-form__title.--option::after {
  background: #999;
  content: "任意";
}

.c-contact-form__title2 {
  -webkit-margin-before: 0.5em;
          margin-block-start: 0.5em;
}

@media screen and (max-width: 750px) {
  .c-contact-form__data {
    -webkit-margin-before: 2svw;
            margin-block-start: 2svw;
  }
}
@media screen and (min-width: 751px) {
  .c-contact-form__data {
    -webkit-margin-before: 15px;
            margin-block-start: 15px;
  }
}

.c-contact-form__flex {
  align-items: center;
  display: flex;
}
.c-contact-form__flex.--name, .c-contact-form__flex.--tel {
  justify-content: space-between;
}
.c-contact-form__flex.--brithday, .c-contact-form__flex.--age, .c-contact-form__flex.--zip, .c-contact-form__flex.--career {
  gap: 0.4em;
}
.c-contact-form__flex.--office, .c-contact-form__flex.--car, .c-contact-form__flex.--license {
  flex-wrap: wrap;
}
.c-contact-form__flex.--office label, .c-contact-form__flex.--car label, .c-contact-form__flex.--license label {
  cursor: pointer;
}
.c-contact-form__flex.--office {
  gap: 0.8em 0;
}
.c-contact-form__flex.--car {
  gap: 0.8em 2.8em;
}
.c-contact-form__flex.--license {
  gap: 0.8em 2em;
  width: 90%;
}
@media screen and (max-width: 750px) {
  .c-contact-form__flex.--sex li {
    width: 26svw;
  }
}
@media screen and (min-width: 751px) {
  .c-contact-form__flex.--sex li {
    width: 195px;
  }
}
@media screen and (max-width: 750px) {
  .c-contact-form__flex.--office li {
    width: 34.667svw;
  }
}
@media screen and (min-width: 751px) {
  .c-contact-form__flex.--office li {
    width: 260px;
  }
}

.c-contact-form__input,
.c-contact-form__select,
.c-contact-form__textarea {
  background: #fff;
  font-size: 100%;
  line-height: 1.6;
  width: 100%;
}
@media screen and (max-width: 750px) {
  .c-contact-form__input,
  .c-contact-form__select,
  .c-contact-form__textarea {
    padding-block: 3.2svw;
    padding-inline: 3.333svw;
  }
}
@media screen and (min-width: 751px) {
  .c-contact-form__input,
  .c-contact-form__select,
  .c-contact-form__textarea {
    padding-block: 24px;
    padding-inline: 25px;
  }
}
@media screen and (max-width: 750px) {
  .c-contact-form__input.--name,
  .c-contact-form__select.--name,
  .c-contact-form__textarea.--name {
    width: 40.267svw;
  }
}
@media screen and (min-width: 751px) {
  .c-contact-form__input.--name,
  .c-contact-form__select.--name,
  .c-contact-form__textarea.--name {
    width: 302px;
  }
}
@media screen and (max-width: 750px) {
  .c-contact-form__input.--age, .c-contact-form__input.--zip, .c-contact-form__input.--career,
  .c-contact-form__select.--age,
  .c-contact-form__select.--zip,
  .c-contact-form__select.--career,
  .c-contact-form__textarea.--age,
  .c-contact-form__textarea.--zip,
  .c-contact-form__textarea.--career {
    width: 27.333svw;
  }
}
@media screen and (min-width: 751px) {
  .c-contact-form__input.--age, .c-contact-form__input.--zip, .c-contact-form__input.--career,
  .c-contact-form__select.--age,
  .c-contact-form__select.--zip,
  .c-contact-form__select.--career,
  .c-contact-form__textarea.--age,
  .c-contact-form__textarea.--zip,
  .c-contact-form__textarea.--career {
    width: 205px;
  }
}
@media screen and (max-width: 750px) {
  .c-contact-form__input.--tel,
  .c-contact-form__select.--tel,
  .c-contact-form__textarea.--tel {
    width: 24.667svw;
  }
}
@media screen and (min-width: 751px) {
  .c-contact-form__input.--tel,
  .c-contact-form__select.--tel,
  .c-contact-form__textarea.--tel {
    width: 185px;
  }
}
.c-contact-form__input::-webkit-input-placeholder, .c-contact-form__select::-webkit-input-placeholder, .c-contact-form__textarea::-webkit-input-placeholder {
  color: #b3b3b3;
}
.c-contact-form__input:-ms-input-placeholder, .c-contact-form__select:-ms-input-placeholder, .c-contact-form__textarea:-ms-input-placeholder {
  color: #b3b3b3;
}
.c-contact-form__input::-ms-input-placeholder, .c-contact-form__select::-ms-input-placeholder, .c-contact-form__textarea::-ms-input-placeholder {
  color: #b3b3b3;
}
.c-contact-form__input::placeholder,
.c-contact-form__select::placeholder,
.c-contact-form__textarea::placeholder {
  color: #b3b3b3;
}
.c-contact-form__input.error,
.c-contact-form__select.error,
.c-contact-form__textarea.error {
  background: #fee7e9;
}

.c-contact-form__select {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13.91 9.02'%3E%3Cpath fill='%23b3b3b3' d='M6.95 9.02 0 0h13.91z'/%3E%3C/svg%3E") no-repeat #fff;
  background-position-y: 50%;
}
@media screen and (max-width: 750px) {
  .c-contact-form__select {
    background-size: auto 2svw;
  }
}
@media screen and (min-width: 751px) {
  .c-contact-form__select {
    background-size: auto 15px;
  }
}
.c-contact-form__select.--year {
  background-position-x: 90%;
}
@media screen and (max-width: 750px) {
  .c-contact-form__select.--year {
    width: 27.333svw;
  }
}
@media screen and (min-width: 751px) {
  .c-contact-form__select.--year {
    width: 205px;
  }
}
.c-contact-form__select.--month, .c-contact-form__select.--day {
  background-position-x: 85%;
}
@media screen and (max-width: 750px) {
  .c-contact-form__select.--month, .c-contact-form__select.--day {
    width: 17.333svw;
  }
}
@media screen and (min-width: 751px) {
  .c-contact-form__select.--month, .c-contact-form__select.--day {
    width: 130px;
  }
}
.c-contact-form__select.--pref {
  background-position-x: 90%;
}
@media screen and (max-width: 750px) {
  .c-contact-form__select.--pref {
    width: 40.267svw;
  }
}
@media screen and (min-width: 751px) {
  .c-contact-form__select.--pref {
    width: 302px;
  }
}

.c-contact-form__radio,
.c-contact-form__checkcbox {
  accent-color: var(--color-primary);
  -webkit-appearance: auto;
          appearance: auto;
  height: 1em;
  -webkit-margin-end: 0.5em;
          margin-inline-end: 0.5em;
  vertical-align: middle;
  width: 1em;
}

.c-contact-form__textarea {
  field-sizing: content;
}
@media screen and (max-width: 750px) {
  .c-contact-form__textarea {
    height: 36.8svw;
  }
}
@media screen and (min-width: 751px) {
  .c-contact-form__textarea {
    height: 276px;
  }
}

@media screen and (max-width: 750px) {
  .c-contact-form__action {
    -webkit-margin-before: 6.667svw;
            margin-block-start: 6.667svw;
  }
}
@media screen and (min-width: 751px) {
  .c-contact-form__action {
    -webkit-margin-before: 50px;
            margin-block-start: 50px;
  }
}

.c-contact-form__btn {
  background: 0/contain no-repeat;
  cursor: pointer;
  display: block;
  margin-inline: auto;
  text-indent: -9999px;
}
@media screen and (max-width: 750px) {
  .c-contact-form__btn {
    height: 18.667svw;
  }
}
@media screen and (min-width: 751px) {
  .c-contact-form__btn {
    height: 140px;
  }
}
@media (any-hover: hover) {
  .c-contact-form__btn:hover {
    opacity: 0.8;
  }
}
.c-contact-form__btn--confirm {
  background-image: url(../images/btn_confirm.png);
}
@media screen and (max-width: 750px) {
  .c-contact-form__btn--confirm {
    width: 81.333svw;
  }
}
@media screen and (min-width: 751px) {
  .c-contact-form__btn--confirm {
    width: 610px;
  }
}
.c-contact-form__btn--back {
  background-image: url(../images/btn_back.png);
}
@media screen and (max-width: 750px) {
  .c-contact-form__btn--back {
    width: 39.333svw;
  }
}
@media screen and (min-width: 751px) {
  .c-contact-form__btn--back {
    width: 295px;
  }
}
.c-contact-form__btn--submit {
  background-image: url(../images/btn_submit.png);
}
@media screen and (max-width: 750px) {
  .c-contact-form__btn--submit {
    width: 39.333svw;
  }
}
@media screen and (min-width: 751px) {
  .c-contact-form__btn--submit {
    width: 295px;
  }
}

.c-contact__sub-title {
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .c-contact__sub-title {
    font-size: 5.333svw;
  }
}
@media screen and (min-width: 751px) {
  .c-contact__sub-title {
    font-size: 40px;
  }
}

.c-contact__text {
  letter-spacing: 0.04em;
  line-height: 1.733;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .c-contact__text {
    font-size: 4svw;
    -webkit-margin-before: 6svw;
            margin-block-start: 6svw;
  }
}
@media screen and (min-width: 751px) {
  .c-contact__text {
    font-size: 30px;
    -webkit-margin-before: 45px;
            margin-block-start: 45px;
  }
}

.c-contact.--confirm .c-contact-form__data {
  line-height: 1.786;
  -webkit-padding-after: 0;
          padding-block-end: 0;
  -webkit-padding-start: 1em;
          padding-inline-start: 1em;
}
@media screen and (max-width: 750px) {
  .c-contact.--confirm .c-contact-form__data {
    margin-block: 6svw;
  }
}
@media screen and (min-width: 751px) {
  .c-contact.--confirm .c-contact-form__data {
    margin-block: 45px;
  }
}
.c-contact.--confirm .c-contact-form__action {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 750px) {
  .c-thanks {
    -webkit-padding-after: 20svw;
            padding-block-end: 20svw;
  }
}
@media screen and (min-width: 751px) {
  .c-thanks {
    -webkit-padding-after: 150px;
            padding-block-end: 150px;
  }
}

.c-thanks__btn {
  margin-inline: auto;
}
@media screen and (max-width: 750px) {
  .c-thanks__btn {
    width: 81.333svw;
  }
}
@media screen and (min-width: 751px) {
  .c-thanks__btn {
    width: 610px;
  }
}/*# sourceMappingURL=style.css.map */