@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Jost:wght@300;400;500&display=swap");
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html { line-height: 1.15; /* 1 */ -webkit-text-size-adjust: 100%; /* 2 */ }

body { margin: 0; }

h1 { font-size: 2em; margin: 0.67em 0; }

hr { box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ }

pre { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }

a { background-color: transparent; }

abbr[title] { border-bottom: none; /* 1 */ text-decoration: underline; /* 2 */ text-decoration: underline dotted; /* 2 */ }

b, strong { font-weight: bolder; }

code, kbd, samp { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }

small { font-size: 80%; }

sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }

sub { bottom: -0.25em; }

sup { top: -0.5em; }

img { border-style: none; }

button, input, optgroup, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 1 */ line-height: 1.15; /* 1 */ margin: 0; /* 2 */ }

button, input { /* 1 */ overflow: visible; }

button, select { /* 1 */ text-transform: none; }

button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }

button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }

button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }

fieldset { padding: 0.35em 0.75em 0.625em; }

legend { box-sizing: border-box; /* 1 */ color: inherit; /* 2 */ display: table; /* 1 */ max-width: 100%; /* 1 */ padding: 0; /* 3 */ white-space: normal; /* 1 */ }

progress { vertical-align: baseline; }

textarea { overflow: auto; }

[type="checkbox"], [type="radio"] { box-sizing: border-box; /* 1 */ }

[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }

[type="search"] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ }

[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ }

details { display: block; }

summary { display: list-item; }

template { display: none; }

[hidden] { display: none; }

/******************************************************************
reset
******************************************************************/
main { display: block; }

h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dd { margin: 0; padding: 0; }

li { list-style: none; }

table { border-collapse: collapse; border-spacing: 0; }

iframe { border: 0; }

button { background-color: transparent; border: none; cursor: pointer; padding: 0; appearance: none; }

em { font-style: normal; font-weight: bold; }

fieldset { border: 0; padding: 0; margin: 0; }

address { font-style: normal; }

/******************************************************************
base
******************************************************************/
body { min-width: 320px; font-family: "Jost", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; font-size: 0.9rem; color: #000; line-height: 1.8; -webkit-font-smoothing: antialiased; }

@media screen and (max-width: 736px) { body { font-size: 0.9rem; } }

body[data-menu-open="true"] { overflow: hidden; }

a { color: #3865e0; text-decoration: none; }

a:hover { color: #112a6e; text-decoration: underline; }

h1, h2 { line-height: 1.5; }

h3 { line-height: 1.6; }

h4 { line-height: 1.7; }

small { line-height: 1.6; }

img { max-width: 100%; height: auto; vertical-align: middle; -webkit-backface-visibility: hidden; }

hr { display: block; height: 1px; border: 0; border-top: 1px solid #B5C1CC; }

button, input, optgroup, select, textarea { color: #000; line-height: inherit; }

/******************************************************************
layout - wrapper
******************************************************************/
.l-wrapper { width: 100%; overflow: hidden; display: flex; flex-direction: column; min-height: 100vh; justify-content: space-between; }

/******************************************************************
layout - header
******************************************************************/
.l-header { text-align: center; }

.l-header__inner { max-width: 860px; margin-right: auto; margin-left: auto; padding-right: 30px; padding-left: 30px; padding-top: 150px; padding-bottom: 95px; }

@media screen and (max-width: 736px) { .l-header__inner { padding-top: 6rem; padding-bottom: 3rem; } }

.l-header__inner--small { padding-top: 50px; padding-bottom: 35px; }

@media screen and (max-width: 736px) { .l-header__inner--small { padding-top: 3rem; padding-bottom: 2rem; } }

.l-header__title-s { font-weight: 500; line-height: 1.1; letter-spacing: .2em; font-size: 2rem; }

@media screen and (max-width: 736px) { .l-header__title-s { font-size: 1.4rem; } }

.l-header__title { font-weight: 400; line-height: 1.1; }

.l-header__title span:nth-child(1) { display: block; font-size: 100px; letter-spacing: .3em; padding-left: 0.15em; min-height: 1.1em; }

@media screen and (max-width: 736px) { .l-header__title span:nth-child(1) { font-size: 13vw; } }

.l-header__title span:nth-child(3) { display: block; font-size: 55px; letter-spacing: .28em; min-height: 1.1em; }

@media screen and (max-width: 736px) { .l-header__title span:nth-child(3) { font-size: 7.2vw; } }

.l-header__name { margin-top: 1rem; font-weight: bold; letter-spacing: 4px; font-size: 16px; transition-property: opacity; transition-duration: 0.6s; transition-delay: 0.5s; transition-timing-function: ease-in; opacity: 0; }

@media screen and (max-width: 736px) { .l-header__name { font-size: 3vw; } }

.l-header__name.is-active { opacity: 1; }

main { flex-grow: 1; }

/******************************************************************
layout - footer
******************************************************************/
.l-footer { color: #fff; background: #000000; text-align: center; font-weight: bold; }

@media print, screen and (min-width: 737px) { .l-footer__inner { max-width: 860px; margin-right: auto; margin-left: auto; padding-right: 30px; padding-left: 30px; padding-top: 80px; padding-bottom: 80px; font-size: 11px; } }

@media screen and (max-width: 736px) { .l-footer__inner { padding-top: 40px; padding-bottom: 40px; font-size: 10px; } }

/******************************************************************
component - section
******************************************************************/
.c-section { position: relative; padding-top: 0.1px; padding-bottom: 0.1px; }

@media print, screen and (min-width: 737px) { .c-section--contentsrow { padding-right: 0; padding-left: 0; } }

.c-section__fit { max-width: 860px; margin-right: auto; margin-left: auto; padding-right: 30px; padding-left: 30px; }

@media screen and (max-width: 736px) { .c-section__fit { padding-right: 12px; padding-left: 12px; } }

.c-section__top { max-width: 860px; margin-right: auto; margin-left: auto; padding-right: 30px; padding-left: 30px; margin-top: 6rem; }

@media screen and (max-width: 736px) { .c-section__top { padding-right: 12px; padding-left: 12px; } }

.c-section__bottom { max-width: 860px; margin-right: auto; margin-left: auto; padding-right: 30px; padding-left: 30px; margin-bottom: 6rem; }

@media screen and (max-width: 736px) { .c-section__bottom { padding-right: 12px; padding-left: 12px; } }

.c-section__vertical { max-width: 860px; margin-right: auto; margin-left: auto; padding-right: 30px; padding-left: 30px; margin-top: 6rem; margin-bottom: 6rem; }

@media screen and (max-width: 736px) { .c-section__vertical { padding-right: 12px; padding-left: 12px; } }

@media screen and (max-width: 736px) { .c-section__top { margin-top: 3rem; }
  .c-section__bottom { margin-bottom: 3rem; }
  .c-section__vertical { margin: 3rem auto 3rem auto; } }

/******************************************************************
component - forms-row
******************************************************************/
.c-forms-row { display: table; width: 100%; }

.c-forms-row--side .c-forms-row__head { padding-left: 1rem; }

.c-forms-row--side .c-forms-row__body { padding-right: 1rem; }

.c-forms-row--bordersand { border-top: 1px solid #B5C1CC; border-bottom: 1px solid #B5C1CC; }

.c-forms-row--bordersand .c-forms-row__item:first-child .c-forms-row__head, .c-forms-row--bordersand .c-forms-row__item:first-child .c-forms-row__body { padding-top: 1rem; }

.c-forms-row--bordersand .c-forms-row__item:last-child .c-forms-row__head, .c-forms-row--bordersand .c-forms-row__item:last-child .c-forms-row__body { padding-bottom: 1rem; }

.c-forms-row--border .c-forms-row__item:not(:first-child) .c-forms-row__head, .c-forms-row--border .c-forms-row__item:not(:first-child) .c-forms-row__body { border-top: 1px solid #B5C1CC; padding-top: 1rem; }

.c-forms-row--stripe .c-forms-row__item:nth-child(odd) { background-color: #ecefef; }

.c-forms-row--stripe .c-forms-row__head, .c-forms-row--stripe .c-forms-row__body { padding-top: 1rem; }

.c-forms-row--stripe .c-forms-row__item:last-child .c-forms-row__head, .c-forms-row--stripe .c-forms-row__item:last-child .c-forms-row__body { padding-bottom: 1rem; }

.c-forms-row--stripe-even .c-forms-row__item:nth-child(even) { background-color: #ecefef; }

.c-forms-row--stripe-even .c-forms-row__item:not(:first-child) .c-forms-row__head, .c-forms-row--stripe-even .c-forms-row__item:not(:first-child) .c-forms-row__body { padding-top: 1rem; }

.c-forms-row--stripe-even .c-forms-row__item:last-child .c-forms-row__head, .c-forms-row--stripe-even .c-forms-row__item:last-child .c-forms-row__body { padding-bottom: 1rem; }

.c-forms-row--confirm .c-forms-row__body { font-size: 110%; color: #000000; }

.c-forms-row__item { display: table-row; }

.c-forms-row__item:not(:last-child) .c-forms-row__head, .c-forms-row__item:not(:last-child) .c-forms-row__body { padding-bottom: 1rem; }

.c-forms-row__head { display: table-cell; vertical-align: top; width: 20%; min-width: 20%; padding-right: 1rem; font-size: 0.9rem; font-weight: 500; }

@media screen and (max-width: 736px) { .c-forms-row__head { font-size: 0.9rem; } }

.c-forms-row__head > :first-child { padding-top: 0.4em; }

.c-forms-row__title { display: block; font-size: 0.9rem; font-weight: bold; }

@media screen and (max-width: 736px) { .c-forms-row__title { font-size: 0.9rem; } }

.c-forms-row__body { display: table-cell; vertical-align: top; }

@media screen and (max-width: 736px) { .c-forms-row { display: block; }
  .c-forms-row--side .c-forms-row__head { padding-right: 0.75rem; padding-left: 0.75rem; }
  .c-forms-row--side .c-forms-row__body { padding-right: 0.75rem; padding-left: 0.75rem; }
  .c-forms-row--bordersand .c-forms-row__item:first-child .c-forms-row__head { padding-top: 0.75rem; }
  .c-forms-row--bordersand .c-forms-row__item:first-child .c-forms-row__body { padding-top: 0; }
  .c-forms-row--bordersand .c-forms-row__item:last-child .c-forms-row__head { padding-bottom: 0; }
  .c-forms-row--bordersand .c-forms-row__item:last-child .c-forms-row__body { padding-bottom: 0.75rem; }
  .c-forms-row--border .c-forms-row__item:not(:first-child) .c-forms-row__head { padding-top: 0.75rem; }
  .c-forms-row--border .c-forms-row__item:not(:first-child) .c-forms-row__body { border-top: 0; padding-top: 0; }
  .c-forms-row--stripe .c-forms-row__head { padding-top: 0.75rem; }
  .c-forms-row--stripe .c-forms-row__body { padding-top: 0; }
  .c-forms-row--stripe .c-forms-row__item:last-child .c-forms-row__head { padding-bottom: 0; }
  .c-forms-row--stripe .c-forms-row__item:last-child .c-forms-row__body { padding-bottom: 0.75rem; }
  .c-forms-row--stripe-even .c-forms-row__item:nth-child(even) { background-color: #ecefef; }
  .c-forms-row--stripe-even .c-forms-row__item:not(:first-child) .c-forms-row__head { padding-top: 0.75rem; }
  .c-forms-row--stripe-even .c-forms-row__item:not(:first-child) .c-forms-row__body { padding-top: 0; }
  .c-forms-row--stripe-even .c-forms-row__item:last-child .c-forms-row__head { padding-bottom: 0; }
  .c-forms-row--stripe-even .c-forms-row__item:last-child .c-forms-row__body { padding-bottom: 0.75rem; }
  .c-forms-row__item { display: block; }
  .c-forms-row__item:not(:last-child) .c-forms-row__head { padding-bottom: 0; }
  .c-forms-row__item:not(:last-child) .c-forms-row__body { padding-bottom: 0.75rem; }
  .c-forms-row__head { display: block; width: auto; min-width: 0; padding-right: 0; }
  .c-forms-row__head > :first-child { padding-top: 0; }
  .c-forms-row__body { display: block; } }

/******************************************************************
component - form-control
******************************************************************/
input.c-form-control, textarea.c-form-control { -webkit-appearance: none; }

.c-form-control { box-sizing: border-box; vertical-align: middle; padding: 0.4em 0.5em; background-color: #eeeeee; border-radius: 6px; border: 1px solid #eeeeee; transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out; }

select.c-form-control { height: calc(1.8em + 0.8em + 2px); }

.c-form-control:focus { border-color: #eeeeee; box-shadow: 0 0 2px 3px rgba(238, 238, 238, 0.25); outline: 0; }

.c-form-control:not(.is-valid):not(.is-invalid).is-focus { background-color: #fffde1; }

.c-form-control--full { display: block; width: 100%; }

.c-form-control--half { width: 50%; }

.c-form-control--pref { width: 10em; }

.c-form-control--tel { width: 18em; }

.c-form-control--zip { width: 12em; }

.c-form-control--mail { width: 60%; }

@media screen and (max-width: 736px) { .c-form-control--mail { width: 100%; } }

.c-form-control--multiple { width: 100%; height: 12em; }

@media screen and (max-width: 736px) { .c-sp-form-control--full { display: block; width: 100%; }
  .c-sp-form-control--full select { width: 100%; } }

textarea[name="Description"] { height: 8em; resize: none; }

/******************************************************************
component - form-error
******************************************************************/
.c-form-error { border: 1px solid #f17995; background-color: #fff1f1; color: #cf0d13; text-align: center; padding: 1rem; }

@media screen and (max-width: 736px) { .c-form-error { padding: 0.75rem 0.3rem; } }

.c-form-error__list { font-size: 0.9rem; }

@media screen and (max-width: 736px) { .c-form-error__list { font-size: 0.9rem; } }

/******************************************************************
component - form-button
******************************************************************/
.c-form-button { text-align: center; margin-top: 3rem; }

@media screen and (max-width: 736px) { .c-form-button { margin-top: 2.25rem; } }

.c-form-button > *:not(:last-child) { margin-right: 1rem; }

@media screen and (max-width: 736px) { .c-form-button > *:not(:last-child) { margin-right: 0.75rem; } }

.c-form-button__complete, .c-form-button__confirm, .c-form-button__submit { color: #ffffff; text-decoration: none; display: inline-block; text-align: center; cursor: pointer; vertical-align: middle; box-sizing: border-box; border: 1px solid transparent; line-height: 1.5; padding: 0.1em 1.0em; font-weight: 500; background-color: #000; transition-property: background; transition-duration: 0.3s; }

.c-form-button__complete:hover, .c-form-button__confirm:hover, .c-form-button__submit:hover { color: #ffffff; text-decoration: none; }

.c-form-button__complete:hover, .c-form-button__confirm:hover, .c-form-button__submit:hover { background-color: #4d4d4d; }

.c-form-button__back { color: #ffffff; text-decoration: none; display: inline-block; text-align: center; cursor: pointer; vertical-align: middle; box-sizing: border-box; border: 1px solid transparent; line-height: 1.5; padding: 0.1em 1.0em; font-weight: 500; background-color: #000; transition-property: background; transition-duration: 0.3s; }

.c-form-button__back:hover { color: #ffffff; text-decoration: none; }

.c-form-button__back:hover { background-color: #4d4d4d; }

.p-sns { display: flex; align-items: center; justify-content: center; }

.p-sns__item { padding: 0 10px; }

.p-sns__item a { display: inline-block; }

.p-sns__item__twitter img { width: 32px; height: 32px; }

.p-sns__item__instagram img { width: 32px; height: 32px; }

.p-sns__item__youtube img { width: 30px; height: 30px; }

.p-sns__item__tiktok img { width: 30px; height: 30px; }

.p-sns__item__note img { width: 32px; height: 32px; border: 1px solid #aeaeae; border-radius: 100%; }

.p-contact-title { position: relative; text-align: center; font-size: 14px; letter-spacing: 0.3em; margin-bottom: 50px; }

@media screen and (max-width: 736px) { .p-contact-title { margin-bottom: 20px; } }

.p-contact-title::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; width: 100%; height: 0; border-top: 1px dotted #B5C1CC; left: 0; top: 0; bottom: 0; }

.p-contact-title__inner { position: relative; z-index: +1; display: inline-block; padding: 0 0.8em; background: #ffffff; }

@media screen and (max-width: 736px) { .p-contact-title__inner { margin-left: 1em; margin-right: 1em; } }

.p-contact-title svg { width: 22px; height: 16px; vertical-align: middle; padding-right: 5px; }

@media print, screen and (min-width: 737px) { .p-contact-block { display: flex; justify-content: space-between; }
  .p-contact-block__2row { width: 27.90698%; display: flex; flex-direction: column; justify-content: space-between; }
  .p-contact-block__1row { width: 40.11628%; } }

@media screen and (max-width: 736px) { .p-contact-block > *:not(:last-child) { margin-bottom: 1rem; } }

@media screen and (max-width: 736px) and (max-width: 736px) { .p-contact-block > *:not(:last-child) { margin-bottom: 0.75rem; } }

@media screen and (max-width: 736px) { .p-contact-block__2row > *:not(:last-child) { margin-bottom: 1rem; } }

@media screen and (max-width: 736px) and (max-width: 736px) { .p-contact-block__2row > *:not(:last-child) { margin-bottom: 0.75rem; } }

.p-contact-block__title { letter-spacing: 0.05em; font-weight: 500; }

/******************************************************************
utility - mediaQuery
******************************************************************/
.u-sp-media { display: none; }

@media screen and (max-width: 736px) { .u-pc-media { display: none; }
  .u-sp-media { display: block; }
  img.u-sp-media { display: inline-block; } }

.u-se-media { display: none; }

/******************************************************************
utility - display
******************************************************************/
.u-block { display: block; }

.u-none { display: none; }

.u-inline { display: inline; }

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

.u-table { display: table; }

.u-table-row { display: table-row; }

.u-table-cell { display: table-cell; }

.u-flex { display: flex; }

.u-inline-flex { display: inline-flex; }

@media screen and (max-width: 736px) { .u-sp-block { display: block; }
  .u-sp-none { display: none; }
  .u-sp-inline { display: inline; }
  .u-sp-inline-block { display: inline-block; }
  .u-sp-table { display: table; }
  .u-sp-table-row { display: table-row; }
  .u-sp-table-cell { display: table-cell; }
  .u-sp-flex { display: flex; }
  .u-sp-inline-flex { display: inline-flex; } }

/******************************************************************
utility - display-off
******************************************************************/
.u-display-off { position: absolute; width: 1px; height: 1px; margin: -1px; border: 0; overflow: hidden; padding: 0; clip: rect(0, 0, 0, 0); }

@media screen and (max-width: 736px) { .u-sp-display-off { position: absolute; width: 1px; height: 1px; margin: -1px; border: 0; overflow: hidden; padding: 0; clip: rect(0, 0, 0, 0); } }

/******************************************************************
utility - text-align
******************************************************************/
.u-center { text-align: center; }

.u-right { text-align: right; }

.u-left { text-align: left; }

@media screen and (max-width: 736px) { .u-sp-center { text-align: center; }
  .u-sp-right { text-align: right; }
  .u-sp-left { text-align: left; } }

/******************************************************************
utility - over-opacity
******************************************************************/
.u-over-opacity { transition-property: opacity; transition-duration: 0.3s; }

.u-over-opacity:hover { opacity: 0.7; }
