@charset "UTF-8";

:root {
  --textcolor: #555555;
  --maincolor: #fbac58;
  --subcolor: #ffc085;
  --graycolor: #8f8f8f;
  --bgcolor: #faf9f7;
  --accentcolor: #f8942d;
  --mainfont: "Noto Sans JP", sans-serif;
  --titlefont: "Kiwi Maru", sans-serif;
  --subfont: "Montserrat";
}

@media only screen and (max-width: 1399px) {
  :root {
    --header-height: 8rem;
  }
}
@media only screen and (max-width: 991px) {
  :root {
    --header-height: 9vw;
  }
}
@media only screen and (max-width: 575px) {
  :root {
    --header-height: 16vw;
  }
}
*,
::before,
::after {
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
}

html {
  font-size: 16px;
  line-height: 2;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
  scroll-behavior: smooth;
}
@media only screen and (max-width: 991px) {
  html {
    font-size: 2vw;
    overflow-y: overlay;
  }
  html::-webkit-scrollbar {
    width: 16px;
  }
  html::-webkit-scrollbar-track:hover {
    background: #fff;
  }
  html::-webkit-scrollbar-thumb:hover {
    background-color: var(--maincolor);
    border: 1px solid #fff;
  }
}
@media only screen and (max-width: 767px) {
  html {
    font-size: 2.25vw;
  }
}
@media only screen and (max-width: 575px) {
  html {
    font-size: 4vw;
  }
}

body {
  overflow-x: hidden;
  margin: 0;
  color: var(--textcolor);
  font-family: var(--mainfont);
}

main {
  display: block;
}

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl,
dd,
ol,
ul {
  margin: 0;
  padding: 0;
}

p + p {
  margin-top: 0.75em;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 1em;
  margin: 0;
  line-height: 1;
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

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

small {
  font-size: 75%;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

button,
input,
optgroup,
select,
textarea {
  font-size: 1rem;
  line-height: 1.5;
  font-family: inherit;
  margin: 0;
}

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

button:disabled,
[type="button"]:disabled,
[type="reset"]:disabled,
[type="submit"]:disabled {
  cursor: default;
}

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: 0;
}

button:focus,
button:focus-within,
button:focus-visible {
  outline: none !important;
  border: none;
  box-shadow: none;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

fieldset {
  margin: 0;
  padding: 0.35em 0.75em 0.625em;
  min-width: 0;
}

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

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

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

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

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

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

em {
  font-style: normal;
}

svg,
img,
embed,
object,
iframe,
video {
  border: none;
  vertical-align: bottom;
  font-size: 1em;
  line-height: 1;
}

img {
  image-rendering: -webkit-optimize-contrast;
}

.mx-auto {
  display: block;
}

.rounded {
  border-radius: 0.25rem;
}

.img-thumbnail {
  padding: 0.25rem;
  border: none;
  border-radius: 0;
  box-shadow: 0 0 0.75rem rgba(0, 0, 0, 0.125);
}

/* .row */
/* .row-xl */
.g-n {
  margin: 0 !important;
}
.g-n > [class*="col-"] {
  padding: 0 !important;
}

/* .row-hl */
.gg-hl {
  margin: -0.5px;
}
.gg-hl > [class*="col-"] {
  padding: 0.5px;
}

.divider {
  width: 100% !important;
}

/* glid-gutter */
.g-xxl8 {
  margin: 0 -4rem;
}
.g-xxl8 > [class*="col-xxl"] {
  padding: 0 4rem;
}
.g-xxl6 {
  margin: 0 -3rem;
}
.g-xxl6 > [class*="col-xxl"] {
  padding: 0 3rem;
}
.g-xxl4 {
  margin: 0 -2rem;
}
.g-xxl4 > [class*="col-xxl"] {
  padding: 0 2rem;
}
.g-xxl3 {
  margin: 0 -1.5rem;
}
.g-xxl3 > [class*="col-xxl"] {
  padding: 0 1.5rem;
}
.g-xxl2 {
  margin: 0 -1rem;
}
.g-xxl2 > [class*="col-xxl"] {
  padding: 0 1rem;
}
.g-xxl1 {
  margin: 0 -0.5rem;
}
.g-xxl1 > [class*="col-xxl"] {
  padding: 0 0.5rem;
}
.g-xxlh {
  margin: 0 -0.25rem;
}
.g-xxlh > [class*="col-xxl"] {
  padding: 0 0.25rem;
}
@media only screen and (max-width: 1399px) {
  .g-xl8 {
    margin: 0 -4rem;
  }
  .g-xl8 > [class*="col-xl"] {
    padding: 0 4rem;
  }
  .g-xl6 {
    margin: 0 -3rem;
  }
  .g-xl6 > [class*="col-xl"] {
    padding: 0 3rem;
  }
  .g-xl4 {
    margin: 0 -2rem;
  }
  .g-xl4 > [class*="col-xl"] {
    padding: 0 2rem;
  }
  .g-xl3 {
    margin: 0 -1.5rem;
  }
  .g-xl3 > [class*="col-xl"] {
    padding: 0 1.5rem;
  }
  .g-xl2 {
    margin: 0 -1rem;
  }
  .g-xl2 > [class*="col-xl"] {
    padding: 0 1rem;
  }
  .g-xl1 {
    margin: 0 -0.5rem;
  }
  .g-xl1 > [class*="col-xl"] {
    padding: 0 0.5rem;
  }
  .g-xlh {
    margin: 0 -0.25rem;
  }
  .g-xlh > [class*="col-xl"] {
    padding: 0 0.25rem;
  }
}
@media only screen and (max-width: 1199px) {
  .g-lg6 {
    margin: 0 -3rem;
  }
  .g-lg6 > [class*="col-lg"] {
    padding: 0 3rem;
  }
  .g-lg4 {
    margin: 0 -2rem;
  }
  .g-lg4 > [class*="col-lg"] {
    padding: 0 2rem;
  }
  .g-lg3 {
    margin: 0 -1.5rem;
  }
  .g-lg3 > [class*="col-lg"] {
    padding: 0 1.5rem;
  }
  .g-lg2 {
    margin: 0 -1rem;
  }
  .g-lg2 > [class*="col-lg"] {
    padding: 0 1rem;
  }
  .g-lg1 {
    margin: 0 -0.5rem;
  }
  .g-lg1 > [class*="col-lg"] {
    padding: 0 0.5rem;
  }
  .g-lgh {
    margin: 0 -0.25rem;
  }
  .g-lgh > [class*="col-lg"] {
    padding: 0 0.25rem;
  }
}
@media only screen and (max-width: 991px) {
  .g-md4 {
    margin: 0 -2rem;
  }
  .g-md4 > [class*="col-md"] {
    padding: 0 2rem;
  }
  .g-md3 {
    margin: 0 -1.5rem;
  }
  .g-md3 > [class*="col-md"] {
    padding: 0 1.5rem;
  }
  .g-md2 {
    margin: 0 -1rem;
  }
  .g-md2 > [class*="col-md"] {
    padding: 0 1rem;
  }
  .g-md1 {
    margin: 0 -0.5rem;
  }
  .g-md1 > [class*="col-md"] {
    padding: 0 0.5rem;
  }
  .g-mdh {
    margin: 0 -0.25rem;
  }
  .g-mdh > [class*="col-md"] {
    padding: 0 0.25rem;
  }
}
@media only screen and (max-width: 767px) {
  .g-sm2 {
    margin: 0 -1rem;
  }
  .g-sm2 > [class*="col-sm"] {
    padding: 0 1rem;
  }
  .g-sm1 {
    margin: 0 -0.5rem;
  }
  .g-sm1 > [class*="col-sm"] {
    padding: 0 0.5rem;
  }
  .g-smh {
    margin: 0 -0.25rem;
  }
  .g-smh > [class*="col-sm"] {
    padding: 0 0.25rem;
  }
  .g-smq {
    margin: 0 -0.125rem;
  }
  .g-smq > [class*="col-sm"] {
    padding: 0 0.125rem;
  }
}
@media only screen and (max-width: 575px) {
  .g-xs2 {
    margin: 0 -1rem;
  }
  .g-xs2 > [class*="col"] {
    padding: 0 1rem;
  }
  .g-xs1 {
    margin: 0 -0.5rem;
  }
  .g-xs1 > [class*="col"] {
    padding: 0 0.5rem;
  }
  .g-xsh {
    margin: 0 -0.25rem;
  }
  .g-xsh > [class*="col"] {
    padding: 0 0.25rem;
  }
  .g-xsq {
    margin: 0 -0.125rem;
  }
  .g-xsq > [class*="col"] {
    padding: 0 0.125rem;
  }
}

.gg-xxl8 {
  margin: -4rem;
}
.gg-xxl8 > [class*="col-xxl"] {
  padding: 4rem;
}
.gg-xxl8 > .divider {
  margin-top: 8rem;
}
.gg-xxl6 {
  margin: -3rem;
}
.gg-xxl6 > [class*="col-xxl"] {
  padding: 3rem;
}
.gg-xxl6 > .divider {
  margin-top: 6rem;
}
.gg-xxl4 {
  margin: -2rem;
}
.gg-xxl4 > [class*="col-xxl"] {
  padding: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: start;
}
.gg-xxl4 > .divider {
  margin-top: 4rem;
}
.gg-xxl3 {
  margin: -1.5rem;
}
.gg-xxl3 > [class*="col-xxl"] {
  padding: 1.5rem;
}
.gg-xxl3 > .divider {
  margin-top: 3rem;
}
.gg-xxl2 {
  justify-content: center;
  margin: -1rem;
}
.gg-xxl2 > [class*="col-xxl"] {
  padding: 1rem;
}
.gg-xxl2 > .divider {
  margin-top: 2rem;
}
.gg-xxl1 {
  margin: -0.5rem;
}
.gg-xxl1 > [class*="col-xxl"] {
  padding: 0.5rem;
}
.gg-xxl1 > .divider {
  margin-top: 1rem;
}
.gg-xxlh {
  margin: -0.25rem;
}
.gg-xxlh > [class*="col-xxl"] {
  padding: 0.25rem;
}
.gg-xxlh > .divider {
  margin-top: 0.5rem;
}
@media only screen and (max-width: 1399px) {
  .gg-xl8 {
    margin: -4rem;
  }
  .gg-xl8 > [class*="col-xl"] {
    padding: 4rem;
  }
  .gg-xl8 > .divider {
    margin-top: 8rem;
  }
  .gg-xl6 {
    margin: -3rem;
  }
  .gg-xl6 > [class*="col-xl"] {
    padding: 3rem;
  }
  .gg-xl6 > .divider {
    margin-top: 6rem;
  }
  .gg-xl4 {
    margin: -2rem;
  }
  .gg-xl4 > [class*="col-xl"] {
    padding: 2rem;
  }
  .gg-xl4 > .divider {
    margin-top: 4rem;
  }
  .gg-xl3 {
    margin: -1.5rem;
  }
  .gg-xl3 > [class*="col-xl"] {
    padding: 1.5rem;
  }
  .gg-xl3 > .divider {
    margin-top: 3rem;
  }
  .gg-xl2 {
    margin: -1rem;
  }
  .gg-xl2 > [class*="col-xl"] {
    padding: 1rem;
  }
  .gg-xl2 > .divider {
    margin-top: 2rem;
  }
  .gg-xl1 {
    margin: -0.5rem;
  }
  .gg-xl1 > [class*="col-xl"] {
    padding: 0.5rem;
  }
  .gg-xl1 > .divider {
    margin-top: 1rem;
  }
  .gg-xlh {
    margin: -0.25rem;
  }
  .gg-xlh > [class*="col-xl"] {
    padding: 0.25rem;
  }
  .gg-xlh > .divider {
    margin-top: 0.5rem;
  }
}
@media only screen and (max-width: 1199px) {
  .gg-lg6 {
    margin: -3rem;
  }
  .gg-lg6 > [class*="col-lg"] {
    padding: 3rem;
  }
  .gg-lg6 > .divider {
    margin-top: 6rem;
  }
  .gg-lg4 {
    margin: -2rem;
  }
  .gg-lg4 > [class*="col-lg"] {
    padding: 2rem;
  }
  .gg-lg4 > .divider {
    margin-top: 4rem;
  }
  .gg-lg3 {
    margin: -1.5rem;
  }
  .gg-lg3 > [class*="col-lg"] {
    padding: 1.5rem;
  }
  .gg-lg3 > .divider {
    margin-top: 3rem;
  }
  .gg-lg2 {
    margin: -1rem;
  }
  .gg-lg2 > [class*="col-lg"] {
    padding: 1rem;
  }
  .gg-lg2 > .divider {
    margin-top: 2rem;
  }
  .gg-lg1 {
    margin: -0.5rem;
  }
  .gg-lg1 > [class*="col-lg"] {
    padding: 0.5rem;
  }
  .gg-lg1 > .divider {
    margin-top: 1rem;
  }
  .gg-lgh {
    margin: -0.25rem;
  }
  .gg-lgh > [class*="col-lg"] {
    padding: 0.25rem;
  }
  .gg-lgh > .divider {
    margin-top: 0.5rem;
  }
}
@media only screen and (max-width: 991px) {
  .gg-md4 {
    margin: -2rem;
  }
  .gg-md4 > [class*="col-md"] {
    padding: 2rem;
  }
  .gg-md4 > .divider {
    margin-top: 4rem;
  }
  .gg-md3 {
    margin: -1.5rem;
  }
  .gg-md3 > [class*="col-md"] {
    padding: 1.5rem;
  }
  .gg-md3 > .divider {
    margin-top: 3rem;
  }
  .gg-md2 {
    margin: -1rem;
  }
  .gg-md2 > [class*="col-md"] {
    padding: 1rem;
  }
  .gg-md2 > .divider {
    margin-top: 2rem;
  }
  .gg-md1 {
    margin: -0.5rem;
  }
  .gg-md1 > [class*="col-md"] {
    padding: 0.5rem;
  }
  .gg-md1 > .divider {
    margin-top: 1rem;
  }
  .gg-mdh {
    margin: -0.25rem;
  }
  .gg-mdh > [class*="col-md"] {
    padding: 0.25rem;
  }
  .gg-mdh > .divider {
    margin-top: 0.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .gg-sm2 {
    margin: -1rem;
  }
  .gg-sm2 > [class*="col-sm"] {
    padding: 1rem;
  }
  .gg-sm2 > [class="divider"] {
    margin-top: 2rem;
  }
  .gg-sm1 {
    margin: -0.5rem;
  }
  .gg-sm1 > [class*="col-sm"] {
    padding: 0.5rem;
  }
  .gg-sm1 > [class="divider"] {
    margin-top: 1rem;
  }
  .gg-smh {
    margin: -0.25rem;
  }
  .gg-smh > [class*="col-sm"] {
    padding: 0.25rem;
  }
  .gg-smh > [class="divider"] {
    margin-top: 0.5rem;
  }
  .gg-smq {
    margin: -0.125rem;
  }
  .gg-smq > [class*="col-sm"] {
    padding: 0.125rem;
  }
  .gg-smq > [class="devider"] {
    margin-top: 0.25rem;
  }
}
@media only screen and (max-width: 575px) {
  .gg-xs2 {
    margin: -1rem;
  }
  .gg-xs2 > [class*="col"] {
    padding: 1rem;
  }
  .gg-xs2 > [class="divider"] {
    margin-top: 2rem;
  }
  .gg-xs1 {
    margin: -0.5rem;
  }
  .gg-xs1 > [class*="col"] {
    padding: 0.5rem;
  }
  .gg-xs1 > [class="divider"] {
    margin-top: 1rem;
  }
  .gg-xsh {
    margin: -0.25rem;
  }
  .gg-xsh > [class*="col"] {
    padding: 0.25rem;
  }
  .gg-xsh > [class="divider"] {
    margin-top: 0.5rem;
  }
  .gg-xsq {
    margin: -0.125rem;
  }
  .gg-xsq > [class*="col"] {
    padding: 0.125rem;
  }
  .gg-xsq > [class="devider"] {
    margin-top: 0.25rem;
  }
}

.jcs {
  justify-content: flex-start;
}

.jcc {
  justify-content: center;
}

.jce {
  justify-content: flex-end;
}

.jcb {
  justify-content: space-between;
}

.jca {
  justify-content: space-around;
}

.ai {
  align-items: stretch;
}

.ais {
  align-items: flex-start;
}

.aic {
  align-items: center;
}

.aie {
  align-items: flex-end;
}

.aib {
  align-items: baseline;
}

.ac {
  align-content: stretch;
}

.acs {
  align-content: flex-start;
}

.acc {
  align-content: center;
}

.ace {
  align-content: flex-end;
}

.acb {
  align-content: space-between;
}

.aca {
  align-content: space-around;
}

@media only screen and (min-width: 576px) {
  .jcs-sm {
    justify-content: flex-start;
  }
  .jcc-sm {
    justify-content: center;
  }
  .jce-sm {
    justify-content: flex-end;
  }
  .jcb-sm {
    justify-content: space-between;
  }
  .jca-sm {
    justify-content: space-around;
  }
  .ai-sm {
    align-items: stretch;
  }
  .ais-sm {
    align-items: flex-start;
  }
  .aic-sm {
    align-items: center;
  }
  .aie-sm {
    align-items: flex-end;
  }
  .aib-sm {
    align-items: baseline;
  }
  .ac-sm {
    align-content: stretch;
  }
  .acs-sm {
    align-content: flex-start;
  }
  .acc-sm {
    align-content: center;
  }
  .ace-sm {
    align-content: flex-end;
  }
  .acb-sm {
    align-content: space-between;
  }
  .aca-sm {
    align-content: space-around;
  }
}
@media only screen and (min-width: 768px) {
  .jcs-md {
    justify-content: flex-start;
  }
  .jcc-md {
    justify-content: center;
  }
  .jce-md {
    justify-content: flex-end;
  }
  .jcb-md {
    justify-content: space-between;
  }
  .jca-md {
    justify-content: space-around;
  }
  .ai-md {
    align-items: stretch;
  }
  .ais-md {
    align-items: flex-start;
  }
  .aic-md {
    align-items: center;
  }
  .aie-md {
    align-items: flex-end;
  }
  .aib-md {
    align-items: baseline;
  }
  .ac-md {
    align-content: stretch;
  }
  .acs-md {
    align-content: flex-start;
  }
  .acc-md {
    align-content: center;
  }
  .ace-md {
    align-content: flex-end;
  }
  .acb-md {
    align-content: space-between;
  }
  .aca-md {
    align-content: space-around;
  }
}
@media only screen and (min-width: 992px) {
  .jcs-lg {
    justify-content: flex-start;
  }
  .jcc-lg {
    justify-content: center;
  }
  .jce-lg {
    justify-content: flex-end;
  }
  .jcb-lg {
    justify-content: space-between;
  }
  .jca-lg {
    justify-content: space-around;
  }
  .ai-lg {
    align-items: stretch;
  }
  .ais-lg {
    align-items: flex-start;
  }
  .aic-lg {
    align-items: center;
  }
  .aie-lg {
    align-items: flex-end;
  }
  .aib-lg {
    align-items: baseline;
  }
  .ac-lg {
    align-content: stretch;
  }
  .acs-lg {
    align-content: flex-start;
  }
  .acc-lg {
    align-content: center;
  }
  .ace-lg {
    align-content: flex-end;
  }
  .acb-lg {
    align-content: space-between;
  }
  .aca-lg {
    align-content: space-around;
  }
}
@media only screen and (min-width: 1200px) {
  .jcs-xl {
    justify-content: flex-start;
  }
  .jcc-xl {
    justify-content: center;
  }
  .jce-xl {
    justify-content: flex-end;
  }
  .jcb-xl {
    justify-content: space-between;
  }
  .jca-xl {
    justify-content: space-around;
  }
  .ai-xl {
    align-items: stretch;
  }
  .ais-xl {
    align-items: flex-start;
  }
  .aic-xl {
    align-items: center;
  }
  .aie-xl {
    align-items: flex-end;
  }
  .aib-xl {
    align-items: baseline;
  }
  .ac-xl {
    align-content: stretch;
  }
  .acs-xl {
    align-content: flex-start;
  }
  .acc-xl {
    align-content: center;
  }
  .ace-xl {
    align-content: flex-end;
  }
  .acb-xl {
    align-content: space-between;
  }
  .aca-xl {
    align-content: space-around;
  }
}
@media (min-width: 1399px) {
  .d-2xl-none {
    display: none !important;
  }
  .d-2xl-inline {
    display: inline !important;
  }
  .d-2xl-inline-block {
    display: inline-block !important;
  }
  .d-2xl-block {
    display: block !important;
  }
  .d-2xl-table {
    display: table !important;
  }
  .d-2xl-table-row {
    display: table-row !important;
  }
  .d-2xl-table-cell {
    display: table-cell !important;
  }
  .d-2xl-flex {
    display: flex !important;
  }
  .d-2xl-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 1599px) {
  .d-3xl-none {
    display: none !important;
  }
  .d-3xl-inline {
    display: inline !important;
  }
  .d-3xl-inline-block {
    display: inline-block !important;
  }
  .d-3xl-block {
    display: block !important;
  }
  .d-3xl-table {
    display: table !important;
  }
  .d-3xl-table-row {
    display: table-row !important;
  }
  .d-3xl-table-cell {
    display: table-cell !important;
  }
  .d-2xl-flex {
    display: flex !important;
  }
  .d-3xl-inline-flex {
    display: inline-flex !important;
  }
}
[class*="container"] {
  position: relative;
  z-index: 9;
}

[class*="alert"],
[class*="well"] {
  width: 100%;
}

.alert {
  margin: 1rem 0;
  padding: 1rem;
}
.alert-sm {
  margin: 1.5rem 0;
  padding: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .alert-sm {
    padding: 1rem;
  }
}
.alert-md {
  margin: 2rem 0;
  padding: 2rem;
}
@media only screen and (max-width: 991px) {
  .alert-md {
    padding: 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .alert-md {
    padding: 1rem;
  }
}
.alert-lg {
  margin: 3rem 0;
  padding: 3rem;
}
@media only screen and (max-width: 991px) {
  .alert-lg {
    padding: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .alert-lg {
    padding: 1rem;
  }
}
.alert-xl {
  margin: 4rem 0;
  padding: 4rem;
}
@media only screen and (max-width: 1199px) {
  .alert-xl {
    padding: 3rem;
  }
}
@media only screen and (max-width: 991px) {
  .alert-xl {
    padding: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .alert-xl {
    padding: 1rem;
  }
}

.well {
  background-color: #f5f5f5;
  border: 1px solid #ddd;
  border-radius: 0.4rem;
  margin: 1rem 0;
  padding: 1rem;
}
.well-sm {
  margin: 1.5rem 0;
  padding: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .well-sm {
    padding: 1rem;
  }
}
.well-md {
  margin: 2rem 0;
  padding: 2rem;
}
@media only screen and (max-width: 991px) {
  .well-md {
    padding: 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .well-md {
    padding: 1rem;
  }
}
.well-lg {
  margin: 3rem 0;
  padding: 3rem;
}
@media only screen and (max-width: 991px) {
  .well-lg {
    padding: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .well-lg {
    padding: 1rem;
  }
}
.well-lg-xl {
  margin: 4rem 0;
  padding: 4rem;
}
@media only screen and (max-width: 1199px) {
  .well-lg-xl {
    padding: 3rem;
  }
}
@media only screen and (max-width: 991px) {
  .well-lg-xl {
    padding: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .well-lg-xl {
    padding: 1rem;
  }
}

[class*="alert"]:first-child,
[class*="well"]:first-child {
  margin-top: 0;
}

[class*="alert"]:last-child,
[class*="well"]:last-child {
  margin-bottom: 0;
}

.alert .img-landing,
.well .img-landing {
  margin-bottom: -1rem;
}

.alert-sm .img-landing,
.well-sm .img-landing {
  margin-bottom: -1.5rem;
}
@media only screen and (max-width: 767px) {
  .alert-sm .img-landing,
  .well-sm .img-landing {
    margin-bottom: -1rem;
  }
}

.alert-md .img-landing,
.well-md .img-landing {
  margin-bottom: -2rem;
}
@media only screen and (max-width: 991px) {
  .alert-md .img-landing,
  .well-md .img-landing {
    margin-bottom: -1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .alert-md .img-landing,
  .well-md .img-landing {
    margin-bottom: -1rem;
  }
}

.alert-lg .img-landing,
.well-lg .img-landing {
  margin-bottom: -3rem;
}
@media only screen and (max-width: 991px) {
  .alert-lg .img-landing,
  .well-lg .img-landing {
    margin-bottom: -2rem;
  }
}
@media only screen and (max-width: 767px) {
  .alert-lg .img-landing,
  .well-lg .img-landing {
    margin-bottom: -1rem;
  }
}

.alert-xl .img-landing,
.well-xl .img-landing {
  margin-bottom: -4rem;
}
@media only screen and (max-width: 1199px) {
  .alert-xl .img-landing,
  .well-xl .img-landing {
    margin-bottom: -3rem;
  }
}
@media only screen and (max-width: 991px) {
  .alert-xl .img-landing,
  .well-xl .img-landing {
    margin-bottom: -2rem;
  }
}
@media only screen and (max-width: 767px) {
  .alert-xl .img-landing,
  .well-xl .img-landing {
    margin-bottom: -1rem;
  }
}

@media only screen and (max-width: 991px) {
  #navbar .nav__container-fluid {
    overflow-y: overlay;
  }
  #navbar .nav__container-fluid::-webkit-scrollbar {
    width: 16px;
  }
}

body,
input,
select,
textarea {
  font-size: 1.125em;
  line-height: 2;
  font-weight: 400;
}
@media only screen and (max-width: 1199px) {
  body,
  input,
  select,
  textarea {
    font-size: 1em;
  }
}
@media only screen and (max-width: 767px) {
  body,
  input,
  select,
  textarea {
    line-height: 1.75;
  }
}

header,
main,
footer {
  width: 100%;
  min-width: 1px;
  margin: 0 auto;
}

body {
  min-width: 100%;
}

::-moz-selection {
  background-color: var(--maincolor);
  color: #fff;
}

::selection {
  background-color: var(--maincolor);
  color: #fff;
}

::-moz-selection {
  background-color: var(--maincolor);
  color: #fff;
}

b,
strong {
  font-weight: 700;
}

small {
  font-size: 0.75em;
}

a,
a:hover,
a:active,
a:focus {
  background-color: transparent;
  outline: 0;
  text-decoration: none;
  transition: 0.3s;
  color: var(--maincolor);
}

a:hover,
a:active,
a:focus {
  opacity: 1;
}

span[data-action="call"] {
  color: var(--textcolor);
  white-space: nowrap;
  font-weight: 700;
  display: inline-block;
}

button {
  cursor: pointer;
}

.html {
  word-break: break-all;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.ellipsis {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.anti-alias {
  transform: rotate(0.028deg);
  display: inline-block;
}

/* title */
.xl-br {
  line-height: 1.5;
}

.xl-br small {
  line-height: 1.5;
}

@media only screen and (max-width: 1199px) {
  .lg-br {
    line-height: 1.5;
  }
  .lg-br small {
    line-height: 1.5;
  }
}
@media only screen and (max-width: 991px) {
  .md-br {
    line-height: 1.5;
  }
  .md-br small {
    line-height: 1.5;
  }
}
@media only screen and (max-width: 767px) {
  .sm-br {
    line-height: 1.5;
  }
  .sm-br small {
    line-height: 1.5;
  }
}
@media only screen and (max-width: 575px) {
  .xs-br {
    line-height: 1.5;
  }
  .xs-br small {
    line-height: 1.5;
  }
}
/* c-button */
.ax-short {
  width: auto;
  display: inline-block;
  margin: 0 0.33em;
}

.ax-marrow,
.ax-marrow:hover,
.ax-marrow:active,
.ax-marrow:focus {
  background: transparent;
  color: #000;
  border-color: #000;
}

.ax-marrow:hover,
.ax-marrow:active,
.ax-marrow:focus {
  background: rgba(0, 0, 0, 0.25);
  border-color: #000;
  opacity: 1;
}

.ax-outline,
.ax-outline:hover,
.ax-outline:active,
.ax-outline:focus {
  background: transparent;
  color: #fff;
  border-color: #fff;
}

.ax-outline:hover,
.ax-outline:active,
.ax-outline:focus {
  background: rgba(255, 255, 255, 0.25);
  border-color: #fff;
  opacity: 1;
}

.ax-ct {
  opacity: 0.5 !important;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

.ax-ct:hover,
.ax-ct:active,
.ax-ct:focus,
.ax-ct.active {
  opacity: 1 !important;
}

.ax-pdf,
.ax-pdf:hover,
.ax-pdf:active,
.ax-pdf:focus {
  background-color: #fff;
  color: #b30b00;
  border-color: #b30b00;
}

.ax-pdf:hover,
.ax-pdf:active,
.ax-pdf:focus {
  background-color: #b30b00;
  color: #fff;
  opacity: 1;
}

.ax-excel,
.ax-excel:hover,
.ax-excel:active,
.ax-excel:focus {
  background-color: #fff;
  color: #107c41;
  border-color: #107c41;
}

.ax-excel:hover,
.ax-excel:active,
.ax-excel:focus {
  background-color: #107c41;
  color: #fff;
  opacity: 1;
}

.ax-word,
.ax-word:hover,
.ax-word:active,
.ax-word:focus {
  background-color: #fff;
  color: #185abd;
  border-color: #185abd;
}

.ax-word:hover,
.ax-word:active,
.ax-word:focus {
  background-color: #185abd;
  color: #fff;
  opacity: 1;
}

.all-rounded {
  border-radius: 0.25rem;
}
.all-rounded-sm {
  border-radius: 0.5rem;
}
.all-rounded-md {
  border-radius: 0.75rem;
}
.all-rounded-lg {
  border-radius: 1rem;
}
.all-rounded-xl {
  border-radius: 2rem;
}

/* button - decoration */
[class*="circle-arrow-"]:before,
[class*="circle-arrow-"]:after {
  font-family: "Font Awesome 5 Free";
  display: inline-block;
  font-weight: normal;
  font-weight: 700;
}

[class*="fix-arrow-"] {
  position: relative;
}

[class*="fix-arrow-"]:before,
[class*="fix-arrow-"]:after {
  font-family: "Font Awesome 5 Free";
  display: inline-block;
  font-weight: normal;
  font-weight: 700;
  position: absolute;
  top: 50%;
  bottom: 50%;
}

.fix-arrow-left:before {
  content: "\f053";
  left: 1rem;
}

.fix-arrow-right:after {
  content: "\f054";
  right: 1rem;
}

.fix-arrow-down:after {
  content: "\f078";
  right: 1rem;
}

a[class*="line-"],
a[class*="line-"]:hover,
a[class*="line-"]:active,
a[class*="line-"]:focus {
  position: relative;
  padding-left: 3em;
  padding-right: 3em;
}

@media only screen and (max-width: 767px) {
  a[class*="line-"],
  a[class*="line-"]:hover,
  a[class*="line-"]:active,
  a[class*="line-"]:focus {
    padding-left: 2em;
    padding-right: 2em;
  }
}
a[class*="line-"]:before,
a[class*="line-"]:after {
  content: "";
  display: block;
  width: 2rem;
  height: 1px;
  position: absolute;
  top: 50%;
  bottom: 50%;
  margin: -0.5px 0;
}

@media only screen and (max-width: 767px) {
  [class*="line-"]:before,
  [class*="line-"]:after {
    width: 1rem;
  }
}
.line-left:before {
  text-align: left;
  margin-right: 0.5em;
  left: -1px;
}

.line-right:after {
  text-align: right;
  margin-left: 0.5em;
  right: -1px;
}

.ax-flat.line-left:before,
.ax-flat.line-right:after {
  background-color: #fff;
}

.ax-recruit.line-left:before,
.ax-recruit.line-right:after {
  background-color: #88daf2;
}

.ax-solid.line-left:before,
.ax-solid.line-right:after {
  background-color: #000;
}

.ax-solid.line-left:hover:before,
.ax-solid.line-left:active:before,
.ax-solid.line-left:focus:before,
.ax-solid.line-right:hover:after,
.ax-solid.line-right:active:after,
.ax-solid.line-right:focus:after {
  background-color: #fff;
}

.ax-negative.line-left:hover:before {
  background-color: #999;
}

.ax-sq {
  border-radius: 0 !important;
}

.slash {
  margin: 0;
  padding: 0;
  list-style: none;
}

.slash li {
  max-width: 100%;
  display: inline-block;
  white-space: nowrap;
}

.slash li + li:before {
  content: "/";
  font-family: "Font Awesome 5 Free";
  display: inline-block;
  width: 1em;
  text-align: center;
}

.kome {
  font-size: 0.9em;
  line-height: 1.5;
  padding-left: 1.5em;
  color: #dc3545;
}

.kome:before {
  content: "※";
  display: inline-block;
  width: 1.5em;
  margin-left: -1.5em;
  color: #dc3545;
}

.kome + .kome {
  margin-top: 0;
}

.kome-small {
  font-size: 0.75em;
  line-height: 1.5;
  padding-left: 1.5em;
  display: block;
  color: #dc3545;
}

.kome-small:before {
  content: "※";
  display: inline-block;
  width: 1.5em;
  margin-left: -1.5em;
  color: #dc3545;
}

.kome-small + .kome-small {
  margin-top: 0;
}

/* phone,fax */
[class*="phone-"].u-telno:before,
[class*="phone-"].u-faxno:before {
  font-size: 0.75em;
}

.phone-footer small {
  font-weight: 700;
}

[class*="phone-"] img {
  margin-right: 0.33rem;
  width: auto;
  height: auto;
}
@media only screen and (max-width: 991px) {
  [class*="phone-"] img {
    height: 1.75rem;
  }
}
@media only screen and (max-width: 767px) {
  [class*="phone-"] img {
    height: 1.75rem;
  }
}

.phone-slash {
  display: inline-block;
  width: 1.5em;
  text-align: center;
}

@media only screen and (max-width: 991px) {
  .phone-slash {
    display: block;
    height: 5px;
    color: transparent;
  }
}
.phone-lg {
  font-size: 2.75em;
}

@media only screen and (max-width: 1199px) {
  .phone-lg {
    font-size: 2.25em;
  }
}
@media only screen and (max-width: 991px) {
  .phone-lg {
    font-size: 1.75em;
  }
}
@media only screen and (max-width: 767px) {
  .phone-lg {
    font-size: 1.75em;
  }
}
.phone-md {
  font-size: 2em;
}

@media only screen and (max-width: 1199px) {
  .phone-md {
    font-size: 1.75em;
  }
}
@media only screen and (max-width: 991px) {
  .phone-md {
    font-size: 1.5em;
  }
}
@media only screen and (max-width: 767px) {
  .phone-md {
    font-size: 1.25em;
  }
}
.phone-sm {
  font-size: 1.25em;
  font-family: "Rubik", sans-serif;
  font-weight: 400;
}

.phone-sm.u-telno:before,
.phone-sm.u-faxno:before {
  font-size: 0.75em;
  font-weight: 400;
}

/* table */
/* drawer */
.box-drawer {
  position: relative;
  word-wrap: break-word;
  background-color: #fff;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.075);
}
.box-drawer dt {
  padding: 1px;
}
.box-drawer dt a,
.box-drawer dt a:hover,
.box-drawer dt a:active,
.box-drawer dt a:focus,
.box-drawer dt span {
  background-color: var(--maincolor);
  display: block;
  position: relative;
  overflow: hidden;
  font-size: 1.125rem;
  line-height: 1.25;
  padding: 1.5rem 6rem 1.5rem 1.5rem;
  color: #fff;
  opacity: 1;
}
@media only screen and (max-width: 767px) {
  .box-drawer dt a,
  .box-drawer dt a:hover,
  .box-drawer dt a:active,
  .box-drawer dt a:focus,
  .box-drawer dt span {
    font-size: 1rem;
    padding: 1rem 4rem 1rem 1rem;
  }
}
.box-drawer dt a:after {
  font-family: "Font Awesome 5 Free";
  position: absolute;
  top: 50%;
  right: 1.5rem;
  bottom: 50%;
  ine-height: 1.5rem;
  margin: -0.75rem 0;
  color: #fff;
}
.box-drawer dt a[aria-expanded="false"]:after {
  content: "\f067";
}
.box-drawer dt a[aria-expanded="true"]:after {
  content: "\f068";
}
.box-drawer dd .partition {
  padding: 2rem;
  color: #000;
}
@media only screen and (max-width: 767px) {
  .box-drawer dd .partition {
    padding: 1rem;
  }
}
.box-drawer + .box-drawer {
  margin-top: 2rem;
}
@media only screen and (max-width: 767px) {
  .box-drawer + .box-drawer {
    margin-top: 1rem;
  }
}

.axbox {
  position: relative;
  width: 100%;
  display: block;
  z-index: 9;
}
.axbox.ax-img-left {
  padding-left: 10rem;
}
@media only screen and (max-width: 1199px) {
  .axbox.ax-img-left {
    padding-left: 7.5rem;
  }
}
@media only screen and (max-width: 991px) {
  .axbox.ax-img-left {
    padding-left: 15vw;
  }
}
@media only screen and (max-width: 767px) {
  .axbox.ax-img-left {
    padding-left: 20vw;
  }
}
@media only screen and (max-width: 575px) {
  .axbox.ax-img-left {
    padding: 45vw 0 0;
  }
}
.axbox.ax-img-left .ax-img {
  left: 0;
}
.axbox.ax-img-right {
  padding-right: 10rem;
}
@media only screen and (max-width: 1199px) {
  .axbox.ax-img-right {
    padding-right: 7.5rem;
  }
}
@media only screen and (max-width: 991px) {
  .axbox.ax-img-right {
    padding-right: 15vw;
  }
}
@media only screen and (max-width: 767px) {
  .axbox.ax-img-right {
    padding-right: 20vw;
  }
}
@media only screen and (max-width: 575px) {
  .axbox.ax-img-right {
    padding: 45vw 0 0;
  }
}
.axbox.ax-img-right .ax-img {
  right: 0;
}

.ax-img {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 10rem;
}
@media only screen and (max-width: 1199px) {
  .ax-img {
    width: 7.5rem;
  }
}
@media only screen and (max-width: 991px) {
  .ax-img {
    width: 15vw;
  }
}
@media only screen and (max-width: 767px) {
  .ax-img {
    width: 20vw;
  }
}
@media only screen and (max-width: 575px) {
  .ax-img {
    width: 100%;
    height: 45vw;
    right: 0;
    background: #fff;
  }
}

.ax-txt {
  background: #fff;
}
.ax-txt h4 {
  background: #313d21;
  color: #fff;
  padding: 1rem;
  font-size: 1.125rem;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 991px) {
  .ax-txt h4 {
    padding: 1rem;
    font-size: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .ax-txt h4 {
    padding: 1rem;
    font-size: 1rem;
  }
}
@media only screen and (max-width: 575px) {
  .ax-txt h4 {
    font-size: 17px;
    padding: 10px 1rem;
  }
}

.ax-txt-in {
  width: 100%;
  padding: 0.66rem 1rem;
  border-bottom: 1px solid #ddd;
  height: 6.875rem;
}
@media only screen and (max-width: 1199px) {
  .ax-txt-in {
    height: 4.375rem;
  }
}
@media only screen and (max-width: 991px) {
  .ax-txt-in {
    height: calc(15vw - 3rem);
  }
}
@media only screen and (max-width: 767px) {
  .ax-txt-in {
    height: calc(20vw - 3rem);
  }
}
@media only screen and (max-width: 575px) {
  .ax-txt-in {
    height: auto;
  }
}

.ax-img-left .ax-txt-in {
  border-right: 1px solid #ddd;
}

.ax-img-right .ax-txt-in {
  border-left: 1px solid #ddd;
}

@media only screen and (max-width: 575px) {
  .ax-img-left .ax-txt-in {
    border-left: 1px solid #ddd;
  }
  .ax-img-right .ax-txt-in {
    border-right: 1px solid #ddd;
  }
}
.ax-txt-in h5 {
  line-height: 1.5;
}

/* slide-hover */
.slide-hz-hover {
  position: relative;
}

.slide-hz-hover:after {
  content: "";
  position: absolute;
  width: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
  transition: all 0.3s ease;
}

.slide-hz-hover:hover:after {
  left: 0;
  width: 100%;
  transition: all 0.3s ease;
}

.sub-blue.slide-hz-hover:after {
  background-color: rgba(33, 100, 151, 0.5);
}

.sub-orange.slide-hz-hover:after {
  background-color: rgba(247, 123, 1, 0.5);
}

.slide-vt-hover {
  position: relative;
}

.slide-vt-hover:after {
  content: "";
  position: absolute;
  height: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
  transition: all 0.3s ease;
}

.sub-blue.slide-vt-hover:after {
  background-color: rgba(33, 100, 151, 0.5);
}

.sub-orange.slide-vt-hover:after {
  background-color: rgba(247, 123, 1, 0.5);
}

.slide-vt-hover:hover:after {
  height: 100%;
  transition: all 0.3s ease;
}

/* list */
.fotorama-area {
  width: 100%;
  max-width: 840px;
  margin: 0 auto;
}

.goto {
  width: 100%;
  display: flex;
}

.goto .ax-text-link {
  flex: 1 1 33%;
  max-width: 33%;
}

@media only screen and (max-width: 1199px) {
  .goto .ax-text-link {
    flex: 1 1 50%;
    max-width: 50%;
  }
}
@media only screen and (max-width: 575px) {
  .goto .ax-text-link {
    flex: 1 1 100%;
    max-width: 100%;
  }
}
.ax-text {
  background: linear-gradient(to right, #af8d5d 0%, #876a47 100%);
  padding: 1rem 32px;
  color: #fff;
  text-align: center;
  position: relative;
  z-index: 2;
  white-space: nowrap;
}

@media only screen and (max-width: 767px) {
  .ax-text {
    padding: 5px 10px;
  }
}
[class*="icon__"]:before {
  font-family: "Font Awesome 5 Free";
  margin-right: 0.33em;
  font-weight: 900;
}

[class*="icon__arrow--"]:before,
[class*="icon__arrow--"]:after {
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  text-decoration: inherit;
}

.icon__arrow--right:after {
  content: "\f061";
  text-align: right;
  margin-left: 0.5em;
}

.icon__tel,
.icon__fax {
  display: flex;
  align-items: center;
}
.icon__tel:before,
.icon__fax:before {
  display: block;
}
.icon__tel--square-white,
.icon__tel--square-black,
.icon__tel--circle-white,
.icon__tel--circle-black,
.icon__fax--square-white,
.icon__fax--square-black,
.icon__fax--circle-white,
.icon__fax--circle-black {
  display: flex;
  align-items: center;
}
.icon__tel--square-white:before,
.icon__tel--square-black:before,
.icon__tel--circle-white:before,
.icon__tel--circle-black:before,
.icon__fax--square-white:before,
.icon__fax--square-black:before,
.icon__fax--circle-white:before,
.icon__fax--circle-black:before {
  font-size: 0.5em;
  margin-right: 0.5em;
  width: 2em;
  height: 2em;
  display: flex;
  justify-content: center;
  align-items: center;
}

.l-wrapper {
  overflow: hidden;
  position: relative;
  background: transparent;
}
@media only screen and (min-width: 992px) {
  .l-wrapper {
    padding-top: 8rem;
  }
}
@media only screen and (max-width: 991px) {
  .l-wrapper {
    padding-top: 9vw;
  }
}
@media only screen and (max-width: 767px) {
  .l-wrapper {
    padding-top: 9vw;
  }
}
@media only screen and (max-width: 575px) {
  .l-wrapper {
    padding-top: 16vw;
  }
}

.l-header {
  background-color: white;
  box-shadow: 0 0 0.75rem rgba(0, 0, 0, 0);
  line-height: 1;
  padding: 0 2.5rem;
  position: -webkit-sticky;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-block: 20px;
  height: 6rem;
  transition: top 0.3s;
}
@media only screen and (max-width: 1399px) {
  .l-header {
    padding-block: 15px;
    padding: 0 2rem;
  }
}
@media only screen and (max-width: 991px) {
  .l-header {
    height: 9vw;
  }
}
@media only screen and (max-width: 767px) {
  .l-header {
    height: 9vw;
  }
}
@media only screen and (max-width: 575px) {
  .l-header {
    height: 16vw;
    padding: 0 0 0 1rem;
  }
}
.l-header.js-scroll {
  background-color: rgb(255, 255, 255);
  box-shadow: 0 0 0.75rem rgba(0, 0, 0, 0.1);
}
.l-header__logo {
  font-size: 1em;
}
.l-header__logo a,
.l-header__logo a:hover,
.l-header__logo a:active,
.l-header__logo a:focus {
  display: block;
}
/* .l-header__logo a img,
.l-header__logo a svg {
  vertical-align: top;
  width: auto;
  height: auto;
} */
@media only screen and (max-width: 991px) {
  .l-header__logo a img,
  .l-header__logo a svg {
    width: 4rem;
    height: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .l-header__logo a img,
  .l-header__logo a svg {
    height: 3rem;
    width: 4rem;
  }
}
.l-header__nav {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  height: 6rem;
  position: relative;
}
@media only screen and (max-width: 991px) {
  .l-header__nav {
    height: 9vw;
    position: absolute;
    top: 0;
    right: 0;
  }
}
@media only screen and (max-width: 767px) {
  .l-header__nav {
    height: 9vw;
  }
}
@media only screen and (max-width: 575px) {
  .l-header__nav {
    height: 16vw;
  }
}
.l-header__nav--contact {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 0.5rem;
}
@media only screen and (max-width: 991px) {
  .l-header__nav--contact {
    display: none;
  }
}
.l-header__nav--links {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
@media only screen and (max-width: 991px) {
  .l-header__nav--links {
    display: none;
  }
}
.l-header__nav--search {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 0.5rem;
}
@media only screen and (max-width: 991px) {
  .l-header__nav--search {
    margin: 0;
    padding: 0.75rem 1rem;
    background-color: #efefef;
  }
}
.l-header__nav--call {
  font-size: 1.75em;
  line-height: 0.75;
  font-weight: 700;
  white-space: nowrap;
}
.l-header__nav--call.u-telno:before {
  font-size: 0.75em;
}
.l-header__nav--call.icon__tel:before {
  font-size: 0.75em;
  content: "\f879";
}
.l-header__nav--call.icon__mobile:before {
  content: "\f3cd";
  margin-right: 0;
}
.l-header__nav--call img {
  width: auto;
  height: 24px;
  margin-right: 0.33em;
}
.l-header__nav--call span[data-action="call"] {
  color: #212121;
}
.l-header__nav--hour {
  font-size: 0.75rem;
  line-height: 1.5;
  margin-left: 1em;
}
.l-header__nav--post {
  margin-left: 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media only screen and (max-width: 991px) {
  .l-header__nav--post {
    display: none;
  }
}

a.l-header__nav--mail {
  background-color: var(--maincolor);
  color: #fff;
  text-align: center;
  font-size: 1rem;
  line-height: 1;
  margin: 0;
  padding: 1rem;
  width: 15rem;
  height: 2.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 991px) {
  a.l-header__nav--mail {
    width: 9vw;
    height: 9vw;
    font-size: 1.5vw;
  }
}
@media only screen and (max-width: 767px) {
  a.l-header__nav--mail {
    width: 9vw;
    height: 9vw;
    font-size: 1.25vw;
  }
}
@media only screen and (max-width: 575px) {
  a.l-header__nav--mail {
    width: 16vw;
    height: 16vw;
    font-size: 2.5vw;
  }
}
a.l-header__nav--mail:hover,
a.l-header__nav--mail:active,
a.l-header__nav--mail:focus {
  opacity: 0.75;
  color: #fff;
}

a.l-header__nav--post-mail {
  background-color: var(--maincolor);
  color: #fff;
  text-align: center;
  font-size: 1.125em;
  line-height: 1;
  margin: 0;
  padding: 1rem;
  width: 12rem;
  height: 6rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 991px) {
  a.l-header__nav--post-mail {
    width: 9vw;
    height: 9vw;
    font-size: 1.5vw;
  }
}
@media only screen and (max-width: 767px) {
  a.l-header__nav--post-mail {
    width: 9vw;
    height: 9vw;
    font-size: 1.25vw;
  }
}
@media only screen and (max-width: 575px) {
  a.l-header__nav--post-mail {
    width: 16vw;
    height: 16vw;
    font-size: 2.5vw;
  }
}
a.l-header__nav--post-mail:hover,
a.l-header__nav--post-mail:active,
a.l-header__nav--post-mail:focus {
  opacity: 0.75;
  color: #fff;
}
a.l-header__nav--post-mail:before {
  content: "\f0e0";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: 0.33em;
  font-size: 1.125em;
  display: block;
}
a.l-header__nav--post-mail small {
  font-size: 0.5em;
  margin-top: 0.5em;
}

.l-outer {
  background: transparent;
}

@media only screen and (max-width: 767px) {
  .l-outer__side,
  .l-outer__main {
    display: block;
    width: auto;
    padding: 0;
  }
}

.l-outer__liquid {
  justify-content: center;
  width: 100%;
}
.l-outer__solid {
  display: flex;
  justify-content: space-between;
  flex-flow: row wrap;
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 6rem 0;
}
@media only screen and (max-width: 1439px) {
  .l-outer__solid {
    max-width: 1140px;
    padding: 5rem 0;
  }
}
@media only screen and (max-width: 1199px) {
  .l-outer__solid {
    max-width: 900px;
    padding: 4rem 0;
  }
}
@media only screen and (max-width: 991px) {
  .l-outer__solid {
    max-width: 100%;
    padding: 3rem 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .l-outer__solid {
    padding: 2rem 1.5rem;
  }
}
@media only screen and (max-width: 575px) {
  .l-outer__solid {
    padding: 1rem;
  }
}
.l-outer__solid > .l-outer__side {
  flex: 1 1 16rem;
  max-width: 16rem;
  order: 2;
  position: relative;
}
@media only screen and (max-width: 1199px) {
  .l-outer__solid > .l-outer__side {
    flex: 1 1 15rem;
    max-width: 15rem;
  }
}
@media only screen and (max-width: 991px) {
  .l-outer__solid > .l-outer__side {
    flex: 1 1 100%;
    max-width: 100%;
    padding-bottom: 3rem;
    z-index: 99;
    order: 1;
  }
}
@media only screen and (max-width: 767px) {
  .l-outer__solid > .l-outer__side {
    padding-bottom: 2rem;
  }
}
@media only screen and (max-width: 575px) {
  .l-outer__solid > .l-outer__side {
    padding-bottom: 1rem;
  }
}
.l-outer__solid > .l-outer__side > .l-outer__side + .l-outer__side {
  display: none;
}
@media only screen and (max-width: 991px) {
  .l-outer__solid > .l-outer__side > .l-outer__side + .l-outer__side {
    margin: 4rem 0;
    display: none;
    order: 3;
  }
}
@media only screen and (max-width: 767px) {
  .l-outer__solid > .l-outer__side > .l-outer__side + .l-outer__side {
    margin-bottom: 2rem;
  }
}
.l-outer__solid > .l-outer__main {
  flex: 1 1 calc(100% - 20rem);
  max-width: calc(100% - 20rem);
  order: 1;
}
@media only screen and (max-width: 1199px) {
  .l-outer__solid > .l-outer__main {
    flex: 1 1 calc(100% - 18rem);
    max-width: calc(100% - 18rem);
  }
}
@media only screen and (max-width: 991px) {
  .l-outer__solid > .l-outer__main {
    flex: 1 1 100%;
    max-width: 100%;
    order: 2;
  }
}
.l-outer__solid > .l-outer__main.container-fluid {
  margin: 0;
  padding: 0;
}
.l-outer__solid > .l-outer__main [class*="l-section"] {
  padding: 0;
}
.l-outer__solid > .l-outer__main [class*="l-section"] + [class*="l-section"] {
  margin-top: 6rem;
}
@media only screen and (max-width: 1439px) {
  .l-outer__solid > .l-outer__main [class*="l-section"] + [class*="l-section"] {
    margin-top: 5rem;
  }
}
@media only screen and (max-width: 1199px) {
  .l-outer__solid > .l-outer__main [class*="l-section"] + [class*="l-section"] {
    margin-top: 4rem;
  }
}
@media only screen and (max-width: 991px) {
  .l-outer__solid > .l-outer__main [class*="l-section"] + [class*="l-section"] {
    margin-top: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .l-outer__solid > .l-outer__main [class*="l-section"] + [class*="l-section"] {
    margin-top: 2rem;
  }
}
@media only screen and (max-width: 575px) {
  .l-outer__solid > .l-outer__main [class*="l-section"] + [class*="l-section"] {
    margin-top: 1rem;
  }
}

.l-section {
  position: relative;
  scroll-margin-top: 8rem;
}
.l-section__inner {
  position: relative;
}
.bg-graycolor {
  background-color: var(--bgcolor);
}
.l-section__clearance {
  padding: 6rem 0;
}
@media only screen and (max-width: 1399px) {
  .l-section__clearance {
    padding: calc(6rem * 0.85) 0;
  }
}
@media only screen and (max-width: 1199px) {
  .l-section__clearance {
    padding: calc(6rem * 0.7) 0;
  }
}
@media only screen and (max-width: 991px) {
  .l-section__clearance {
    padding: calc(6rem * 0.55) 0;
  }
}
@media only screen and (max-width: 767px) {
  .l-section__clearance {
    padding: calc(6rem * 0.4) 0;
  }
}
@media only screen and (max-width: 575px) {
  .l-section__clearance {
    padding: calc(6rem * 0.25) 0;
  }
}
.l-section__clearance--top {
  padding: 6rem 0 0;
}
@media only screen and (max-width: 1399px) {
  .l-section__clearance--top {
    padding: calc(6rem * 0.85) 0 0;
  }
}
@media only screen and (max-width: 1199px) {
  .l-section__clearance--top {
    padding: calc(6rem * 0.7) 0 0;
  }
}
@media only screen and (max-width: 991px) {
  .l-section__clearance--top {
    padding: calc(6rem * 0.55) 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .l-section__clearance--top {
    padding: calc(6rem * 0.4) 0 0;
  }
}
@media only screen and (max-width: 575px) {
  .l-section__clearance--top {
    padding: calc(6rem * 0.25) 0 0;
  }
}
.l-section__clearance--top-md {
  padding: 6rem 0 0;
}
@media only screen and (max-width: 1399px) {
  .l-section__clearance--top-md {
    padding: calc(6rem * 0.85) 0 0;
  }
}
@media only screen and (max-width: 1199px) {
  .l-section__clearance--top-md {
    padding: calc(6rem * 0.7) 0 0;
  }
}
@media only screen and (max-width: 991px) {
  .l-section__clearance--top-md {
    padding: calc(6rem * 0.55) 0;
  }
}
@media only screen and (max-width: 767px) {
  .l-section__clearance--top-md {
    padding: calc(6rem * 0.4) 0;
  }
}
@media only screen and (max-width: 575px) {
  .l-section__clearance--top-md {
    padding: calc(6rem * 0.25) 0;
  }
}
.l-section__clearance--top-xs {
  padding: 6rem 0 0;
}
@media only screen and (max-width: 1399px) {
  .l-section__clearance--top-xs {
    padding: calc(6rem * 0.85) 0 0;
  }
}
@media only screen and (max-width: 1199px) {
  .l-section__clearance--top-xs {
    padding: calc(6rem * 0.7) 0 0;
  }
}
@media only screen and (max-width: 991px) {
  .l-section__clearance--top-xs {
    padding: calc(6rem * 0.55) 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .l-section__clearance--top-xs {
    padding: calc(6rem * 0.4) 0 0;
  }
}
@media only screen and (max-width: 575px) {
  .l-section__clearance--top-xs {
    padding: calc(6rem * 0.25);
  }
}
.l-section__clearance--bottom {
  padding: 0 0 6rem;
}
@media only screen and (max-width: 1399px) {
  .l-section__clearance--bottom {
    padding: 0 0 calc(6rem * 0.85);
  }
}
@media only screen and (max-width: 1199px) {
  .l-section__clearance--bottom {
    padding: 0 0 calc(6rem * 0.7);
  }
}
@media only screen and (max-width: 991px) {
  .l-section__clearance--bottom {
    padding: 0 0 calc(6rem * 0.55);
  }
}
@media only screen and (max-width: 767px) {
  .l-section__clearance--bottom {
    padding: 0 0 calc(6rem * 0.4);
  }
}
@media only screen and (max-width: 575px) {
  .l-section__clearance--bottom {
    padding: 0 0 calc(6rem * 0.25);
  }
}
.l-section__clearance--bottom-md {
  padding: 0 0 6rem;
}
@media only screen and (max-width: 1399px) {
  .l-section__clearance--bottom-md {
    padding: 0 0 calc(6rem * 0.85);
  }
}
@media only screen and (max-width: 1199px) {
  .l-section__clearance--bottom-md {
    padding: 0 0 calc(6rem * 0.7);
  }
}
@media only screen and (max-width: 991px) {
  .l-section__clearance--bottom-md {
    padding: calc(6rem * 0.55) 0;
  }
}
@media only screen and (max-width: 767px) {
  .l-section__clearance--bottom-md {
    padding: calc(6rem * 0.4) 0;
  }
}
@media only screen and (max-width: 575px) {
  .l-section__clearance--bottom-md {
    padding: calc(6rem * 0.25) 0;
  }
}
.l-section__clearance--bottom-xs {
  padding: 0 0 6rem;
}
@media only screen and (max-width: 1399px) {
  .l-section__clearance--bottom-xs {
    padding: 0 0 calc(6rem * 0.85);
  }
}
@media only screen and (max-width: 1199px) {
  .l-section__clearance--bottom-xs {
    padding: 0 0 calc(6rem * 0.7);
  }
}
@media only screen and (max-width: 991px) {
  .l-section__clearance--bottom-xs {
    padding: 0 0 calc(6rem * 0.55);
  }
}
@media only screen and (max-width: 767px) {
  .l-section__clearance--bottom-xs {
    padding: 0 0 calc(6rem * 0.4);
  }
}
@media only screen and (max-width: 575px) {
  .l-section__clearance--bottom-xs {
    padding: calc(6rem * 0.25) 0;
  }
}
.l-section__clearance--lg {
  padding: 9rem 0;
}
@media only screen and (max-width: 1399px) {
  .l-section__clearance--lg {
    padding: calc(9rem * 0.85) 0;
  }
}
@media only screen and (max-width: 1199px) {
  .l-section__clearance--lg {
    padding: calc(9rem * 0.7) 0;
  }
}
@media only screen and (max-width: 991px) {
  .l-section__clearance--lg {
    padding: calc(9rem * 0.55) 0;
  }
}
@media only screen and (max-width: 767px) {
  .l-section__clearance--lg {
    padding: calc(9rem * 0.4) 0;
  }
}
@media only screen and (max-width: 575px) {
  .l-section__clearance--lg {
    padding: calc(9rem * 0.25) 0;
  }
}
.l-section__clearance--lg-top {
  padding: 9rem 0 0;
}
@media only screen and (max-width: 1399px) {
  .l-section__clearance--lg-top {
    padding: calc(9rem * 0.85) 0 0;
  }
}
@media only screen and (max-width: 1199px) {
  .l-section__clearance--lg-top {
    padding: calc(9rem * 0.7) 0 0;
  }
}
@media only screen and (max-width: 991px) {
  .l-section__clearance--lg-top {
    padding: calc(9rem * 0.55) 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .l-section__clearance--lg-top {
    padding: calc(9rem * 0.4) 0 0;
  }
}
@media only screen and (max-width: 575px) {
  .l-section__clearance--lg-top {
    padding: calc(9rem * 0.25) 0 0;
  }
}
.l-section__clearance--lg-top-md {
  padding: 9rem 0 0;
}
@media only screen and (max-width: 1399px) {
  .l-section__clearance--lg-top-md {
    padding: calc(9rem * 0.85) 0 0;
  }
}
@media only screen and (max-width: 1199px) {
  .l-section__clearance--lg-top-md {
    padding: calc(9rem * 0.7) 0 0;
  }
}
@media only screen and (max-width: 991px) {
  .l-section__clearance--lg-top-md {
    padding: calc(9rem * 0.55) 0;
  }
}
@media only screen and (max-width: 767px) {
  .l-section__clearance--lg-top-md {
    padding: calc(9rem * 0.4) 0;
  }
}
@media only screen and (max-width: 575px) {
  .l-section__clearance--lg-top-md {
    padding: calc(9rem * 0.25) 0;
  }
}
.l-section__clearance--lg-top-xs {
  padding: 9rem 0 0;
}
@media only screen and (max-width: 1399px) {
  .l-section__clearance--lg-top-xs {
    padding: calc(9rem * 0.85) 0 0;
  }
}
@media only screen and (max-width: 1199px) {
  .l-section__clearance--lg-top-xs {
    padding: calc(9rem * 0.7) 0 0;
  }
}
@media only screen and (max-width: 991px) {
  .l-section__clearance--lg-top-xs {
    padding: calc(9rem * 0.55) 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .l-section__clearance--lg-top-xs {
    padding: calc(9rem * 0.4) 0 0;
  }
}
@media only screen and (max-width: 575px) {
  .l-section__clearance--lg-top-xs {
    padding: calc(9rem * 0.25);
  }
}
.l-section__clearance--lg-bottom {
  padding: 0 0 9rem;
}
@media only screen and (max-width: 1399px) {
  .l-section__clearance--lg-bottom {
    padding: 0 0 calc(9rem * 0.85);
  }
}
@media only screen and (max-width: 1199px) {
  .l-section__clearance--lg-bottom {
    padding: 0 0 calc(9rem * 0.7);
  }
}
@media only screen and (max-width: 991px) {
  .l-section__clearance--lg-bottom {
    padding: 0 0 calc(9rem * 0.55);
  }
}
@media only screen and (max-width: 767px) {
  .l-section__clearance--lg-bottom {
    padding: 0 0 calc(9rem * 0.4);
  }
}
@media only screen and (max-width: 575px) {
  .l-section__clearance--lg-bottom {
    padding: 0 0 calc(9rem * 0.25);
  }
}
.l-section__clearance--lg-bottom-md {
  padding: 0 0 9rem;
}
@media only screen and (max-width: 1399px) {
  .l-section__clearance--lg-bottom-md {
    padding: 0 0 calc(9rem * 0.85);
  }
}
@media only screen and (max-width: 1199px) {
  .l-section__clearance--lg-bottom-md {
    padding: 0 0 calc(9rem * 0.7);
  }
}
@media only screen and (max-width: 991px) {
  .l-section__clearance--lg-bottom-md {
    padding: calc(9rem * 0.55) 0;
  }
}
@media only screen and (max-width: 767px) {
  .l-section__clearance--lg-bottom-md {
    padding: calc(9rem * 0.4) 0;
  }
}
@media only screen and (max-width: 575px) {
  .l-section__clearance--lg-bottom-md {
    padding: calc(9rem * 0.25) 0;
  }
}
.l-section__clearance--lg-bottom-xs {
  padding: 0 0 9rem;
}
@media only screen and (max-width: 1399px) {
  .l-section__clearance--lg-bottom-xs {
    padding: 0 0 calc(9rem * 0.85);
  }
}
@media only screen and (max-width: 1199px) {
  .l-section__clearance--lg-bottom-xs {
    padding: 0 0 calc(9rem * 0.7);
  }
}
@media only screen and (max-width: 991px) {
  .l-section__clearance--lg-bottom-xs {
    padding: 0 0 calc(9rem * 0.55);
  }
}
@media only screen and (max-width: 767px) {
  .l-section__clearance--lg-bottom-xs {
    padding: 0 0 calc(9rem * 0.4);
  }
}
@media only screen and (max-width: 575px) {
  .l-section__clearance--lg-bottom-xs {
    padding: calc(9rem * 0.25) 0;
  }
}
.l-section__clearance--xl {
  padding: 12rem 0;
}
@media only screen and (max-width: 1399px) {
  .l-section__clearance--xl {
    padding: calc(12rem * 0.85) 0;
  }
}
@media only screen and (max-width: 1199px) {
  .l-section__clearance--xl {
    padding: calc(12rem * 0.7) 0;
  }
}
@media only screen and (max-width: 991px) {
  .l-section__clearance--xl {
    padding: calc(12rem * 0.55) 0;
  }
}
@media only screen and (max-width: 767px) {
  .l-section__clearance--xl {
    padding: calc(12rem * 0.4) 0;
  }
}
@media only screen and (max-width: 575px) {
  .l-section__clearance--xl {
    padding: calc(12rem * 0.25) 0;
  }
}
.l-section__clearance--xl-top {
  padding: 12rem 0 0;
}
@media only screen and (max-width: 1399px) {
  .l-section__clearance--xl-top {
    padding: calc(12rem * 0.85) 0 0;
  }
}
@media only screen and (max-width: 1199px) {
  .l-section__clearance--xl-top {
    padding: calc(12rem * 0.7) 0 0;
  }
}
@media only screen and (max-width: 991px) {
  .l-section__clearance--xl-top {
    padding: calc(12rem * 0.55) 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .l-section__clearance--xl-top {
    padding: calc(12rem * 0.4) 0 0;
  }
}
@media only screen and (max-width: 575px) {
  .l-section__clearance--xl-top {
    padding: calc(12rem * 0.25) 0 0;
  }
}
.l-section__clearance--xl-top-md {
  padding: 12rem 0 0;
}
@media only screen and (max-width: 1399px) {
  .l-section__clearance--xl-top-md {
    padding: calc(12rem * 0.85) 0 0;
  }
}
@media only screen and (max-width: 1199px) {
  .l-section__clearance--xl-top-md {
    padding: calc(12rem * 0.7) 0 0;
  }
}
@media only screen and (max-width: 991px) {
  .l-section__clearance--xl-top-md {
    padding: calc(12rem * 0.55) 0;
  }
}
@media only screen and (max-width: 767px) {
  .l-section__clearance--xl-top-md {
    padding: calc(12rem * 0.4) 0;
  }
}
@media only screen and (max-width: 575px) {
  .l-section__clearance--xl-top-md {
    padding: calc(12rem * 0.25) 0;
  }
}
.l-section__clearance--xl-top-xs {
  padding: 12rem 0 0;
}
@media only screen and (max-width: 1399px) {
  .l-section__clearance--xl-top-xs {
    padding: calc(12rem * 0.85) 0 0;
  }
}
@media only screen and (max-width: 1199px) {
  .l-section__clearance--xl-top-xs {
    padding: calc(12rem * 0.7) 0 0;
  }
}
@media only screen and (max-width: 991px) {
  .l-section__clearance--xl-top-xs {
    padding: calc(12rem * 0.55) 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .l-section__clearance--xl-top-xs {
    padding: calc(12rem * 0.4) 0 0;
  }
}
@media only screen and (max-width: 575px) {
  .l-section__clearance--xl-top-xs {
    padding: calc(12rem * 0.25);
  }
}
.l-section__clearance--xl-bottom {
  padding: 0 0 12rem;
}
@media only screen and (max-width: 1399px) {
  .l-section__clearance--xl-bottom {
    padding: 0 0 calc(12rem * 0.85);
  }
}
@media only screen and (max-width: 1199px) {
  .l-section__clearance--xl-bottom {
    padding: 0 0 calc(12rem * 0.7);
  }
}
@media only screen and (max-width: 991px) {
  .l-section__clearance--xl-bottom {
    padding: 0 0 calc(12rem * 0.55);
  }
}
@media only screen and (max-width: 767px) {
  .l-section__clearance--xl-bottom {
    padding: 0 0 calc(12rem * 0.4);
  }
}
@media only screen and (max-width: 575px) {
  .l-section__clearance--xl-bottom {
    padding: 0 0 calc(12rem * 0.25);
  }
}
.l-section__clearance--xl-bottom-md {
  padding: 0 0 12rem;
}
@media only screen and (max-width: 1399px) {
  .l-section__clearance--xl-bottom-md {
    padding: 0 0 calc(12rem * 0.85);
  }
}
@media only screen and (max-width: 1199px) {
  .l-section__clearance--xl-bottom-md {
    padding: 0 0 calc(12rem * 0.7);
  }
}
@media only screen and (max-width: 991px) {
  .l-section__clearance--xl-bottom-md {
    padding: calc(12rem * 0.55) 0;
  }
}
@media only screen and (max-width: 767px) {
  .l-section__clearance--xl-bottom-md {
    padding: calc(12rem * 0.4) 0;
  }
}
@media only screen and (max-width: 575px) {
  .l-section__clearance--xl-bottom-md {
    padding: calc(12rem * 0.25) 0;
  }
}
.l-section__clearance--xl-bottom-xs {
  padding: 0 0 12rem;
}
@media only screen and (max-width: 1399px) {
  .l-section__clearance--xl-bottom-xs {
    padding: 0 0 calc(12rem * 0.85);
  }
}
@media only screen and (max-width: 1199px) {
  .l-section__clearance--xl-bottom-xs {
    padding: 0 0 calc(12rem * 0.7);
  }
}
@media only screen and (max-width: 991px) {
  .l-section__clearance--xl-bottom-xs {
    padding: 0 0 calc(12rem * 0.55);
  }
}
@media only screen and (max-width: 767px) {
  .l-section__clearance--xl-bottom-xs {
    padding: 0 0 calc(12rem * 0.4);
  }
}
@media only screen and (max-width: 575px) {
  .l-section__clearance--xl-bottom-xs {
    padding: calc(12rem * 0.25) 0;
  }
}
.l-section__margin + .l-section__margin {
  margin-top: 6rem;
}
@media only screen and (max-width: 1399px) {
  .l-section__margin + .l-section__margin {
    margin-top: calc(6rem * 0.85);
  }
}
@media only screen and (max-width: 1199px) {
  .l-section__margin + .l-section__margin {
    margin-top: calc(6rem * 0.7);
  }
}
@media only screen and (max-width: 991px) {
  .l-section__margin + .l-section__margin {
    margin-top: calc(6rem * 0.55);
  }
}
@media only screen and (max-width: 767px) {
  .l-section__margin + .l-section__margin {
    margin-top: calc(6rem * 0.4);
  }
}
@media only screen and (max-width: 575px) {
  .l-section__margin + .l-section__margin {
    margin-top: calc(6rem * 0.25);
  }
}
.l-section__clearance-narrow {
  padding: calc(6rem / 2) 0;
}
@media only screen and (max-width: 1399px) {
  .l-section__clearance-narrow {
    padding: calc(6rem / 2 * 0.85) 0;
  }
}
@media only screen and (max-width: 1199px) {
  .l-section__clearance-narrow {
    padding: calc(6rem / 2 * 0.7) 0;
  }
}
@media only screen and (max-width: 991px) {
  .l-section__clearance-narrow {
    padding: calc(6rem / 2 * 0.55) 0;
  }
}
@media only screen and (max-width: 767px) {
  .l-section__clearance-narrow {
    padding: calc(6rem / 2 * 0.4) 0;
  }
}
@media only screen and (max-width: 575px) {
  .l-section__clearance-narrow {
    padding: calc(6rem / 2 * 0.25) 0;
  }
}
.l-section__clearance-narrow--top {
  padding: calc(6rem / 2) 0 0;
}
@media only screen and (max-width: 1399px) {
  .l-section__clearance-narrow--top {
    padding: calc(6rem / 2 * 0.85) 0 0;
  }
}
@media only screen and (max-width: 1199px) {
  .l-section__clearance-narrow--top {
    padding: calc(6rem / 2 * 0.7) 0 0;
  }
}
@media only screen and (max-width: 991px) {
  .l-section__clearance-narrow--top {
    padding: calc(6rem / 2 * 0.55) 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .l-section__clearance-narrow--top {
    padding: calc(6rem / 2 * 0.4) 0 0;
  }
}
@media only screen and (max-width: 575px) {
  .l-section__clearance-narrow--top {
    padding: calc(6rem / 2 * 0.25) 0 0;
  }
}
.l-section__clearance-narrow--top-md {
  padding: calc(6rem / 2) 0 0;
}
@media only screen and (max-width: 1399px) {
  .l-section__clearance-narrow--top-md {
    padding: calc(6rem / 2 * 0.85) 0 0;
  }
}
@media only screen and (max-width: 1199px) {
  .l-section__clearance-narrow--top-md {
    padding: calc(6rem / 2 * 0.7) 0 0;
  }
}
@media only screen and (max-width: 991px) {
  .l-section__clearance-narrow--top-md {
    padding: calc(6rem / 2 * 0.55) 0;
  }
}
@media only screen and (max-width: 767px) {
  .l-section__clearance-narrow--top-md {
    padding: calc(6rem / 2 * 0.4) 0;
  }
}
@media only screen and (max-width: 575px) {
  .l-section__clearance-narrow--top-md {
    padding: calc(6rem / 2 * 0.25) 0;
  }
}
.l-section__clearance-narrow--top-xs {
  padding: calc(6rem / 2) 0 0;
}
@media only screen and (max-width: 1399px) {
  .l-section__clearance-narrow--top-xs {
    padding: calc(6rem / 2 * 0.85) 0 0;
  }
}
@media only screen and (max-width: 1199px) {
  .l-section__clearance-narrow--top-xs {
    padding: calc(6rem / 2 * 0.7) 0 0;
  }
}
@media only screen and (max-width: 991px) {
  .l-section__clearance-narrow--top-xs {
    padding: calc(6rem / 2 * 0.55) 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .l-section__clearance-narrow--top-xs {
    padding: calc(6rem / 2 * 0.4) 0 0;
  }
}
@media only screen and (max-width: 575px) {
  .l-section__clearance-narrow--top-xs {
    padding: calc(6rem / 2 * 0.25);
  }
}
.l-section__clearance-narrow--bottom {
  padding: 0 0 calc(6rem / 2);
}
@media only screen and (max-width: 1399px) {
  .l-section__clearance-narrow--bottom {
    padding: 0 0 calc(6rem / 2 * 0.85);
  }
}
@media only screen and (max-width: 1199px) {
  .l-section__clearance-narrow--bottom {
    padding: 0 0 calc(6rem / 2 * 0.7);
  }
}
@media only screen and (max-width: 991px) {
  .l-section__clearance-narrow--bottom {
    padding: 0 0 calc(6rem / 2 * 0.55);
  }
}
@media only screen and (max-width: 767px) {
  .l-section__clearance-narrow--bottom {
    padding: 0 0 calc(6rem / 2 * 0.4);
  }
}
@media only screen and (max-width: 575px) {
  .l-section__clearance-narrow--bottom {
    padding: 0 0 calc(6rem / 2 * 0.25);
  }
}
.l-section__clearance-narrow--bottom-md {
  padding: 0 0 calc(6rem / 2);
}
@media only screen and (max-width: 1399px) {
  .l-section__clearance-narrow--bottom-md {
    padding: 0 0 calc(6rem / 2 * 0.85);
  }
}
@media only screen and (max-width: 1199px) {
  .l-section__clearance-narrow--bottom-md {
    padding: 0 0 calc(6rem / 2 * 0.7);
  }
}
@media only screen and (max-width: 991px) {
  .l-section__clearance-narrow--bottom-md {
    padding: calc(6rem / 2 * 0.55) 0;
  }
}
@media only screen and (max-width: 767px) {
  .l-section__clearance-narrow--bottom-md {
    padding: calc(6rem / 2 * 0.4) 0;
  }
}
@media only screen and (max-width: 575px) {
  .l-section__clearance-narrow--bottom-md {
    padding: calc(6rem / 2 * 0.25) 0;
  }
}
.l-section__clearance-narrow--bottom-xs {
  padding: 0 0 calc(6rem / 2);
}
@media only screen and (max-width: 1399px) {
  .l-section__clearance-narrow--bottom-xs {
    padding: 0 0 calc(6rem / 2 * 0.85);
  }
}
@media only screen and (max-width: 1199px) {
  .l-section__clearance-narrow--bottom-xs {
    padding: 0 0 calc(6rem / 2 * 0.7);
  }
}
@media only screen and (max-width: 991px) {
  .l-section__clearance-narrow--bottom-xs {
    padding: 0 0 calc(6rem / 2 * 0.55);
  }
}
@media only screen and (max-width: 767px) {
  .l-section__clearance-narrow--bottom-xs {
    padding: 0 0 calc(6rem / 2 * 0.4);
  }
}
@media only screen and (max-width: 575px) {
  .l-section__clearance-narrow--bottom-xs {
    padding: calc(6rem / 2 * 0.25) 0;
  }
}

.l-footer__contact {
  position: relative;
  padding: 6rem 0;
}
@media only screen and (max-width: 1199px) {
  .l-footer__contact {
    padding: 5rem 0;
  }
}
@media only screen and (max-width: 991px) {
  .l-footer__contact {
    padding: 4rem 0;
  }
}
@media only screen and (max-width: 767px) {
  .l-footer__contact {
    padding: 3rem 0;
  }
}
.l-footer__contact:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url(https://ycare-earth.jp/images/cmn/bg-contact.jpg) center center no-repeat;
  background-size: cover;
  opacity: 0.5;
}
.l-footer__contact span[data-action="call"] {
  color: var(--textcolor) !important;
}
.l-footer__googlemaps iframe {
  width: 100%;
  height: 25rem;
}
.l-footer__information {
  background-color: transparent;
  line-height: 1.5;
  padding: 3rem 0;
  position: relative;
}
@media only screen and (max-width: 991px) {
  .l-footer__information {
    padding: 2.5rem 0;
  }
}
@media only screen and (max-width: 767px) {
  .l-footer__information {
    padding: 2rem 0;
  }
}
.l-footer p > span,
.l-footer p > a {
  color: inherit !important;
}
.l-footer__info {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 991px) {
  .l-footer__info {
    display: block;
  }
}
.l-footer__outline {
  display: flex;
  flex-flow: column wrap;
  justify-content: space-between;
}
.l-footer__logo {
  margin-bottom: 1.25rem;
}
@media only screen and (max-width: 575px) {
  .l-footer__logo {
    text-align: center;
  }
}
.l-footer__logo img,
.l-footer__logo svg {
  vertical-align: top;
  width: auto;
  height: auto;
}
@media only screen and (max-width: 991px) {
  .l-footer__logo img,
  .l-footer__logo svg {
    height: 2.25rem;
  }
}
@media only screen and (max-width: 767px) {
  .l-footer__logo img,
  .l-footer__logo svg {
    height: 2rem;
  }
}
.l-footer__location {
  display: flex;
  flex-flow: row wrap;
  line-height: 1.5;
}
.l-footer__location a,
.l-footer__location a:hover,
.l-footer__location a:active,
.l-footer__location a:focus,
.l-footer__location span[data-action="call"] {
  color: var(--textcolor) !important;
}
.l-footer__location a:hover,
.l-footer__location a:active,
.l-footer__location a:focus {
  opacity: 1;
}
.l-footer__location--name {
  font-weight: 700;
  margin-bottom: 0.5em;
}
.l-footer__location--pzip:before {
  content: "〒";
}
.l-footer__location--gmaps {
  margin-left: 0.5em;
}
.l-footer__location--gmaps a:active,
.l-footer__location--gmaps a:focus[data-action="call"] {
  color: var(--maincolor) !important;
}
.l-footer__location--gmaps a,
.l-footer__location--gmaps a:hover {
  color: #fff !important;
}
.l-footer__location--tel,
.l-footer__location--fax {
  flex: 1 1 100%;
}
.l-footer__location--tel:before {
  content: "TEL. ";
}
@media only screen and (max-width: 575px) {
  .l-footer__location--tel--fax {
    text-align: center;
  }
}
.l-footer__location--tel--fax:before {
  content: "TEL. / FAX.";
  margin-right: 0.33em;
}
.l-footer__location--tel:before,
.l-footer__location--fax:before {
  display: inline-block;
  margin-right: 0.33em;
}
.l-footer__location--tel + .l-footer__location--fax:before {
  content: "FAX.";
  margin-right: 0.33em;
}
.l-footer__location--hour,
.l-footer__location--holiday {
  line-height: 1.5;
}
.l-footer__location--holiday:before {
  content: "/";
  margin: 0 0.33em;
}
.l-footer__location + .l-footer__location {
  margin-top: 0.5rem;
}
.l-footer p + p {
  margin: 0;
}
.l-footer hr {
  margin: 0.5rem 0;
}

a.l-footer__contact--post-mail {
  background-color: var(--maincolor);
  color: #fff;
  text-align: center;
  border-radius: 0.5rem;
  font-size: 1.125em;
  line-height: 1.75;
  margin: 0;
  padding: 1rem;
  width: 100%;
  height: 6rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 991px) {
  a.l-footer__contact--post-mail {
    font-size: 1.25em;
  }
}
@media only screen and (max-width: 575px) {
  a.l-footer__contact--post-mail {
    font-size: 1.5em;
    height: 9rem;
    line-height: 1.33;
  }
}
a.l-footer__contact--post-mail:hover,
a.l-footer__contact--post-mail:active,
a.l-footer__contact--post-mail:focus {
  opacity: 0.75;
  color: #fff;
}

.l-footer__contact--call-freedial {
  background-color: var(--phonecolor);
  color: #fff;
  text-align: center;
  border-radius: 0.5rem;
  font-size: 1.5em;
  line-height: 1;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 6rem;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 575px) {
  .l-footer__contact--call-freedial {
    font-size: 1.75em;
    height: 9rem;
  }
}
.l-footer__contact--call-freedial span[data-action="call"] {
  color: #fff;
}
.l-footer__contact--call-freedial small {
  font-size: 0.6em;
  margin-bottom: 0.5em;
  display: block;
  padding-right: 0.5em;
}
.l-footer__contact--call-freedial strong {
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 575px) {
  .l-footer__contact--call-freedial strong {
    display: block;
  }
}
.l-footer__contact--call-freedial strong span {
  display: flex;
  align-items: baseline;
}
@media only screen and (max-width: 575px) {
  .l-footer__contact--call-freedial strong span {
    line-height: 1.33;
  }
}
.l-footer__contact--call-freedial strong span.u-freedial:before {
  content: "";
  display: block;
  background: url(https://ycare-earth.jp/images/cmn/freedial-mark-sm.png) left center/contain
    no-repeat;
  width: 29px;
  height: 17px;
  margin-right: 0.11em;
}

.l-footer__textmap {
  background-color: transparent;
  color: var(--textcolor);
  padding: 2.5rem 0;
}
@media only screen and (max-width: 991px) {
  .l-footer__textmap {
    padding: 0;
    margin-top: 0;
  }
}
.l-footer__textmap--menu {
  font-size: 1em;
  line-height: 1;
  display: flex;
}
.l-footer__textmap--item {
  white-space: nowrap;
  position: relative;
  list-style: none;
}
.l-footer__textmap--item > strong {
  display: inline-block;
  vertical-align: middle;
  font-weight: normal;
}
.l-footer__textmap--item > strong > a {
  color: var(--maincolor);
}
.l-footer__textmap--item > strong > a:hover,
.l-footer__textmap--item > strong > a:active,
.l-footer__textmap--item > strong > a:focus {
  color: #fff;
  opacity: 1;
}
.l-footer__textmap--item > span {
  display: block;
  padding-left: 2em;
}
.l-footer__textmap--item > span + span {
  margin: 0 0.5em 0 -0.5em;
}
.l-footer__textmap--item > span > a {
  color: #fff;
  display: block;
  vertical-align: middle;
}
.l-footer__textmap--item > span > a:hover,
.l-footer__textmap--item > span > a:active,
.l-footer__textmap--item > span > a:focus {
  color: #fff;
  opacity: 1;
  text-decoration: underline;
}
.l-footer__textmap--item > span > a:before,
.l-footer__textmap--item > span > a:after {
  display: inline-block;
  vertical-align: middle;
  width: 1em;
}
.l-footer__textmap--item > span > a:before {
  content: "・";
}
.l-footer__textmap--item > span > a:after {
  content: "";
}
.l-footer__textmap--horizontal {
  justify-content: center;
  align-items: center;
}
.l-footer__textmap--horizontal .l-footer__textmap--item:before {
  display: none;
}
.l-footer__textmap--horizontal
  .l-footer__textmap--item
  + .l-footer__textmap--item {
  margin-left: 0.5em;
}
.l-footer__textmap--horizontal .l-footer__textmap--link,
.l-footer__textmap--horizontal .l-footer__textmap--link:hover,
.l-footer__textmap--horizontal .l-footer__textmap--link:active,
.l-footer__textmap--horizontal .l-footer__textmap--link:focus {
  line-height: 1;
  margin: -2px 0.5em;
  padding: 2px 0.5em;
}
.l-footer__textmap--horizontal .l-footer__textmap--link:hover,
.l-footer__textmap--horizontal .l-footer__textmap--link:active,
.l-footer__textmap--horizontal .l-footer__textmap--link:focus {
  background: #eef0f2;
  color: var(--textcolor);
  border-radius: 2px;
}
.l-footer__textmap--horizontal.justify-content-start {
  margin-left: -0.5em;
}
.l-footer__textmap--horizontal.justify-content-end {
  margin-right: -0.5em;
}
.l-footer__textmap--vertical {
  flex-flow: column wrap;
}
.l-footer__textmap--vertical .l-footer__textmap--link,
.l-footer__textmap--vertical .l-footer__textmap--link:hover,
.l-footer__textmap--vertical .l-footer__textmap--link:active,
.l-footer__textmap--vertical .l-footer__textmap--link:focus {
  line-height: 1.75;
}
.l-footer__textmap--vertical .l-footer__textmap--link:hover,
.l-footer__textmap--vertical .l-footer__textmap--link:active,
.l-footer__textmap--vertical .l-footer__textmap--link:focus {
  text-decoration: underline;
}
.l-footer__textmap--link,
.l-footer__textmap--link:hover,
.l-footer__textmap--link:active,
.l-footer__textmap--link:focus {
  color: #212121;
  font-size: 1em;
  white-space: nowrap;
  opacity: 1;
}
.l-footer__textmap--link:before {
  content: "";
  color: var(--textcolor);
  font-size: 1em;
  line-height: 1;
  text-align: center;
  font-family: "Font Awesome 5 Free";
  width: 1em;
  display: none;
}

@media only screen and (max-width: 991px) {
  footer.l-footer__textmap {
    display: none;
  }
}

.l-footer__copyright {
  display: block;
  font-size: 0.9em;
}
@media only screen and (max-width: 767px) {
  .l-footer__copyright {
    font-size: 0.75em;
  }
}
.l-footer__copyright--small {
  line-height: 1;
  display: block;
  text-align: center;
  padding: 1em 0;
}
.l-footer__copyright--footer {
  background-color: var(--maincolor);
  color: #fff;
  line-height: 1;
  text-align: center;
  padding: 0.5em 0;
}

/* Fixed bottom */
#fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 99;
}
@media only screen and (max-width: 575px) {
  #fixed-bottom {
    flex-flow: row wrap;
    left: 0;
  }
}
@media only screen and (max-width: 991px) {
  #fixed-bottom > div {
    font-size: 12px;
  }
}
#fixed-bottom > div > a {
  display: block;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.25;
  min-width: 72px;
  font-weight: 700;
}
@media only screen and (max-width: 991px) {
  #fixed-bottom > div > a {
    min-width: 60px;
  }
}
@media only screen and (max-width: 575px) {
  #fixed-bottom > div > a {
    min-width: 42px;
  }
}

.fixed-left {
  padding: 14px;
  color: #fff;
  display: none;
}
@media only screen and (max-width: 575px) {
  .fixed-left {
    flex: 1 1 100%;
    max-width: 100%;
    padding: 9px 14px;
  }
}

.reach-bottom {
  left: 0;
  background-color: var(--maincolor);
}
.reach-bottom .fixed-left {
  display: block;
}

.fixed-right {
  display: flex;
  background-color: var(--maincolor);
  padding: 1px;
}
@media only screen and (max-width: 575px) {
  .fixed-right {
    flex-flow: row wrap;
    justify-content: flex-end;
    width: 100%;
  }
}
.fixed-right > div {
  font-size: 14px;
  padding: 1px;
  display: flex;
}

@media only screen and (max-width: 575px) {
  .bottom-fd {
    flex: 1 1 100%;
    max-width: 100%;
  }
}

.bottom-fd-inner {
  background: #fcfbf3;
  padding: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .bottom-fd-inner {
    padding: 5px;
  }
}
@media only screen and (max-width: 575px) {
  .bottom-fd-inner {
    width: 100%;
  }
}
.bottom-fd-inner h3 {
  font-size: 1.25em;
  margin-bottom: 1em;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
}

@media only screen and (max-width: 575px) {
  .bottom-pv {
    flex: 1 1 43%;
    max-width: 43%;
  }
  .bottom-iq {
    flex: 1 1 43%;
    max-width: 43%;
  }
  .bottom-pt {
    flex: 1 1 14%;
    max-width: 14%;
  }
}
.bottom-pt a {
  color: #fff;
  background: var(--maincolor);
  font-size: 24px;
  text-align: center;
}

.bottom-pt a:hover,
.bottom-pt a:active,
.bottom-pt a:focus {
  color: #fcfbf3;
}

@media only screen and (max-width: 767px) {
  .bottom-pt a {
    font-size: 16px;
  }
}
.bottom-hour {
  font-size: 0.75rem;
  text-align: center;
  line-height: 1;
  margin-top: 0.75em;
}
@media only screen and (max-width: 767px) {
  .bottom-hour {
    font-size: 10px;
  }
}

@media only screen and (max-width: 767px) {
  .bottom-fd-inner .free-dial {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    margin: 0.5em 0 0;
    height: 1.25rem;
    overflow: hidden;
  }
  .bottom-fd-inner .fd-mark {
    margin-right: 7px;
    height: 20px;
  }
  .bottom-fd-inner .fd-mark img {
    vertical-align: top;
    width: 35px !important;
    height: 20px !important;
  }
  .bottom-fd-inner .fd-number .phone-sm {
    font-size: 1em;
    line-height: 20px;
  }
}
.c-o {
  display: none;
}

.navbar-toggler {
  border: none;
  border-radius: 0;
  overflow: hidden;
  font-size: 1em;
  line-height: 1;
  margin: 0;
  padding: 0;
  width: 6rem;
  height: 6rem;
  position: relative;
  z-index: 9998;
  display: flex;
  flex-flow: column wrap;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 991px) {
  .navbar-toggler {
    width: 9vw;
    height: 9vw;
  }
}
@media only screen and (max-width: 767px) {
  .navbar-toggler {
    width: 9vw;
    height: 9vw;
  }
}
@media only screen and (max-width: 575px) {
  .navbar-toggler {
    width: 16vw;
    height: 16vw;
  }
}
.navbar-toggler:focus,
.navbar-toggler:hover {
  outline: 0;
  box-shadow: none;
}
.navbar-toggler-icon {
  margin: 16px 0;
  width: 32px;
  height: 4px;
  position: relative;
  display: block;
}
@media only screen and (max-width: 991px) {
  .navbar-toggler-icon {
    margin: 14px 0;
    width: 28px;
    height: 3px;
  }
}
@media only screen and (max-width: 767px) {
  .navbar-toggler-icon {
    margin: 12px 0;
    width: 24px;
    height: 2px;
  }
}
.navbar-toggler-icon:before,
.navbar-toggler-icon:after {
  width: 32px;
  display: block;
  width: 2rem;
  height: 4px;
  content: "";
  position: absolute;
  left: 0;
  right: 0;
}
@media only screen and (max-width: 991px) {
  .navbar-toggler-icon:before,
  .navbar-toggler-icon:after {
    width: 28px;
    height: 3px;
  }
}
@media only screen and (max-width: 767px) {
  .navbar-toggler-icon:before,
  .navbar-toggler-icon:after {
    width: 24px;
    height: 2px;
  }
}
.navbar-toggler[aria-expanded="false"] .navbar-toggler-icon {
  transition: 0.6s;
  background-color: var(--maincolor);
}
.navbar-toggler[aria-expanded="false"] .navbar-toggler-icon:before,
.navbar-toggler[aria-expanded="false"] .navbar-toggler-icon:after {
  transition: 0.6s;
  background-color: var(--maincolor);
}
.navbar-toggler[aria-expanded="false"] .navbar-toggler-icon:before {
  /* transform: rotate(0deg); */
  top: 0;
}
@media only screen and (max-width: 991px) {
  .navbar-toggler[aria-expanded="false"] .navbar-toggler-icon:before {
    top: -9px;
  }
}
@media only screen and (max-width: 767px) {
  .navbar-toggler[aria-expanded="false"] .navbar-toggler-icon:before {
    top: -6px;
  }
}
.navbar-toggler[aria-expanded="false"] .navbar-toggler-icon:after {
  transform: rotate(0deg);
  bottom: -10px;
}
@media only screen and (max-width: 991px) {
  .navbar-toggler[aria-expanded="false"] .navbar-toggler-icon:after {
    bottom: -9px;
  }
}
@media only screen and (max-width: 767px) {
  .navbar-toggler[aria-expanded="false"] .navbar-toggler-icon:after {
    bottom: -6px;
  }
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
  transition: 0.6s;
  background: transparent;
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:before,
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:after {
  transition: 0.6s;
  background-color: var(--maincolor);
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:before {
  top: 0;
  transform: rotate(45deg);
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:after {
  bottom: 0;
  transform: rotate(-45deg);
}
.navbar-toggler small {
  font-size: 0.75rem;
  line-height: 0.75;
  font-weight: 700;
  text-align: center;
  margin-top: 6px;
  padding: 0;
  display: block;
  position: relative;
}
@media only screen and (max-width: 991px) {
  .navbar-toggler small {
    margin-top: 3px;
  }
}
@media only screen and (max-width: 767px) {
  .navbar-toggler small {
    margin-top: 0;
  }
}
.navbar-toggler[aria-expanded="false"] small {
  color: var(--maincolor);
}
.navbar-toggler[aria-expanded="true"] small {
  color: var(--maincolor);
}

.navbar-toggler.is-checked span {
  background: transparent !important;
}

.navbar-toggler.is-checked ::before {
  top: 0 !important;
  transform: rotate(45deg);
}
.navbar-toggler.is-checked ::after {
  bottom: 0 !important;
  transform: rotate(-45deg) !important;
}

.navbar-expand-lg {
  display: block;
  padding: 0;
}
@media only screen and (max-width: 991px) {
  .navbar-expand-lg .navbar-collapse {
    border: none;
    margin-top: 0;
    padding: 0;
    position: fixed;
    top: 9vw;
    left: 0;
    right: 0;
    z-index: 99;
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  .navbar-expand-lg .navbar-collapse {
    top: 9vw;
  }
}
@media only screen and (max-width: 575px) {
  .navbar-expand-lg .navbar-collapse {
    top: 16vw;
  }
}
.navbar-expand-lg > .container {
  padding: 0;
}
@media only screen and (max-width: 991px) {
  .navbar-expand-lg > .container {
    max-width: 100%;
  }
}

.header-inner {
  z-index: 9999;
  background: white;
}

#js-drawer-icon {
  transition: all 0.6s;
}

@media only screen and (max-width: 991px) {
  #js-drawer-content {
    position: fixed;
    top: -100%;
    left: 0;
    width: 100%;
    background: white;
    transition: all 0.6s;
    z-index: 99;
    display: block;
  }
}

@media only screen and (max-width: 575px) {
  #js-drawer-content {
    height: 100%;
  }
}

@media only screen and (max-width: 991px) {
  #js-drawer-content.show {
    border: none;
    margin-top: 0;
    padding: 0;
    position: fixed;
    top: 9vw;
    left: 0;
    right: 0;
  }
}
@media only screen and (max-width: 767px) {
  #js-drawer-content.show {
    top: 9vw;
  }
}
@media only screen and (max-width: 575px) {
  #js-drawer-content.show {
    top: 16vw;
  }
}

.navbar-collapse .show {
  height: 100%;
  background: white;
}

#navbar .nav__container-fluid {
  background: transparent;
  padding: 0;
}
@media only screen and (max-width: 991px) {
  #navbar .navbar-collapse .nav__container-fluid {
    background: rgb(255, 255, 255);
    -webkit-overflow-scrolling: touch;
    min-height: 1px;
  }
}
#navbar .nav__container-fluid.container {
  padding: 0;
  position: static;
}
@media only screen and (max-width: 991px) {
  #navbar .nav__container-fluid.container {
    width: 100%;
    max-width: 100%;
    position: relative;
    display: block;
  }
}

.nav-wrapper {
  margin: 0 auto;
  padding: 4rem 0;
  width: 100%;
  max-width: 1080px;
}
@media only screen and (max-width: 1199px) {
  .nav-wrapper {
    padding: 8vw 0 4vw;
  }
}
@media only screen and (max-width: 991px) {
  .nav-wrapper {
    padding: 5vw 0;
  }
}
@media only screen and (max-width: 767px) {
  .nav-wrapper {
    padding: 10vw 0 5vw;
  }
}

.tit-nav {
  color: #fff;
  font-size: 1.125rem;
  line-height: 51px;
  font-weight: 700;
  margin: 0 0 20px;
  border-bottom: 3px solid #fff;
  position: relative;
}
@media only screen and (max-width: 991px) {
  .tit-nav {
    line-height: 43px;
  }
}
.tit-nav-sub {
  margin-bottom: 1px;
}
.tit-nav-sub a {
  background: rgba(0, 0, 0, 0.2);
  color: #fff;
  font-size: 1rem;
  line-height: 24px;
  font-weight: 700;
  text-align: left;
  padding: 10px 15px;
  display: block;
}
.navbar-expand-lg .navbar-nav {
  justify-content: flex-end;
  flex-flow: row wrap;
}
@media only screen and (max-width: 991px) {
  .navbar-expand-lg .navbar-nav {
    border-top: 1px solid #ddd;
    padding: 0;
    display: block;
  }
}
@media only screen and (max-width: 991px) {
  .navbar-expand-lg .navbar-nav .nav-item {
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    border-bottom: 1px solid #ddd;
    display: block;
    flex: 1 1 100%;
    max-width: 100%;
    height: auto;
  }
}
.navbar-expand-lg .navbar-nav .nav-item + .nav-item {
  margin-left: 2em;
}
@media only screen and (max-width: 1199px) {
  .navbar-expand-lg .navbar-nav .nav-item + .nav-item {
    margin-left: 1em;
  }
}
@media only screen and (max-width: 991px) {
  .navbar-expand-lg .navbar-nav .nav-item + .nav-item {
    margin-left: 0;
  }
}
.navbar-expand-lg .navbar-nav .nav-item .nav-link {
  background-color: transparent;
  color: var(--textcolor);
  font-size: 1em;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  padding: 1rem 0;
  position: relative;
  display: block;
  transition: 0s;
}
@media only screen and (max-width: 991px) {
  .navbar-expand-lg .navbar-nav .nav-item .nav-link {
    color: #212121;
    line-height: 1.85;
    border: none;
    text-align: left;
    text-shadow: none;
    padding: 0.75em 1em;
    display: block;
    width: 100%;
    height: auto;
  }
}
.navbar-expand-lg .navbar-nav .nav-item .nav-link:hover,
.navbar-expand-lg .navbar-nav .nav-item .nav-link:active,
.navbar-expand-lg .navbar-nav .nav-item .nav-link:focus {
  background-color: transparent;
  color: var(--textcolor);
  opacity: 1;
}
@media only screen and (max-width: 991px) {
  .navbar-expand-lg .navbar-nav .nav-item .nav-link:hover,
  .navbar-expand-lg .navbar-nav .nav-item .nav-link:active,
  .navbar-expand-lg .navbar-nav .nav-item .nav-link:focus {
    background-color: var(--maincolor);
    color: #fff;
  }
}
.navbar-expand-lg .navbar-nav .nav-item .nav-link:after {
  content: "";
  border-bottom: 2px solid transparent;
  /*display: none; */
  position: absolute;
  left: 50%;
  right: 50%;
  bottom: 0;
  transition: 0.3s;
}
@media only screen and (max-width: 991px) {
  .navbar-expand-lg .navbar-nav .nav-item .nav-link:after {
    display: none;
  }
}
.navbar-expand-lg .navbar-nav .nav-item .nav-link:hover:after,
.navbar-expand-lg .navbar-nav .nav-item .nav-link:active:after,
.navbar-expand-lg .navbar-nav .nav-item .nav-link:focus:after,
.navbar-expand-lg .navbar-nav .nav-item .nav-link.active:after {
  content: "";
  border-color: var(--maincolor);
  left: 0;
  right: 0;
  transition: 0.3s;
}
.navbar-expand-lg .navbar-nav .nav-item .nav-link small {
  font-size: 0.66em;
  line-height: 0.75;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  text-transform: uppercase;
  margin-top: 0.5em;
  display: block;
}
@media only screen and (max-width: 991px) {
  .navbar-expand-lg .navbar-nav .nav-item .nav-link small {
    line-height: 26px;
    margin: -13px 0;
    position: absolute;
    top: 50%;
    right: 15px;
    bottom: 50%;
  }
}
.navbar-expand-lg .navbar-nav .nav-item.active > .nav-link,
.navbar-expand-lg .navbar-nav .nav-item.active > .nav-link:hover,
.navbar-expand-lg .navbar-nav .nav-item.active > .nav-link:active,
.navbar-expand-lg .navbar-nav .nav-item.active > .nav-link:focus {
  background-color: transparent;
  color: var(--textcolor);
  opacity: 1;
}
@media only screen and (max-width: 991px) {
  .navbar-expand-lg .navbar-nav .nav-item.active > .nav-link,
  .navbar-expand-lg .navbar-nav .nav-item.active > .nav-link:hover,
  .navbar-expand-lg .navbar-nav .nav-item.active > .nav-link:active,
  .navbar-expand-lg .navbar-nav .nav-item.active > .nav-link:focus {
    background-color: var(--maincolor);
    color: #fff;
  }
}
.navbar-expand-lg .navbar-nav .nav-item.active > .nav-link:after,
.navbar-expand-lg .navbar-nav .nav-item.active > .nav-link:hover:after,
.navbar-expand-lg .navbar-nav .nav-item.active > .nav-link:active:after,
.navbar-expand-lg .navbar-nav .nav-item.active > .nav-link:focus:after {
  content: "";
  border-color: var(--maincolor);
  left: 0;
  right: 0;
  transition: 0.3s;
}

.js-scroll .navbar-expand-lg .navbar-nav .nav-link:hover:after,
.js-scroll .navbar-expand-lg .navbar-nav .nav-link:active:after,
.js-scroll .navbar-expand-lg .navbar-nav .nav-link:focus:after,
.js-scroll .navbar-expand-lg .navbar-nav .nav-item.active > .nav-link:after,
.js-scroll
  .navbar-expand-lg
  .navbar-nav
  .nav-item.active
  > .nav-link:hover:after,
.js-scroll
  .navbar-expand-lg
  .navbar-nav
  .nav-item.active
  > .nav-link:active:after,
.js-scroll
  .navbar-expand-lg
  .navbar-nav
  .nav-item.active
  > .nav-link:focus:after {
  border-color: #73a63f;
}

@media (min-width: 992px) {
  .dropdown:hover > .dropdown-menu {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
  }
  .dropdown:hover > .dropdown-menu {
    -webkit-animation: show 0.5s linear 0s;
    animation: show 0.5s linear 0s;
  }
  .dropdown:hover > .dropdown-menu.show {
    -webkit-animation: show 0.5s linear 0s;
    animation: show 0.5s linear 0s;
  }
}
@media (max-width: 991px) {
  .dropdown:hover > .dropdown-menu {
    display: block;
  }
}

.dropdown-menu {
  background: #fff;
  border-radius: 0;
  margin: 0;
  padding: 0.25rem 0;
  min-width: 100%;
}
@media only screen and (max-width: 991px) {
  .dropdown-menu {
    margin: 0;
    padding: 0;
    border: none;
  }
}
.dropdown-menu.show {
  display: flex;
  flex-flow: row wrap;
}

.dropdown-item {
  color: #212121;
  border: none;
  border-radius: 0;
  font-size: 0.9rem;
  line-height: 1.25rem;
  margin-top: 1px;
  padding: 0.75rem 1.25rem;
}
@media only screen and (max-width: 991px) {
  .dropdown-item {
    line-height: 1.5;
    padding: 0.5em 1em;
  }
}
@media only screen and (max-width: 991px) {
  .dropdown-item:before {
    content: "\f105";
    color: #fff;
    font-family: "Font Awesome 5 Free";
    display: inline-block;
    width: 1em;
  }
}
.dropdown-item:hover,
.dropdown-item:active,
.dropdown-item:focus,
.dropdown-item.active {
  background: var(--maincolor);
  color: #fff;
  opacity: 1;
}
.dropdown-item:hover:before,
.dropdown-item:active:before,
.dropdown-item:focus:before,
.dropdown-item.active:before {
  color: #fff;
}
.l-header__nav--icon {
  display: block;
  font-size: 1.5em;
  margin-bottom: 0.5rem;
}
.l-header__nav--icon i.fa {
  font-weight: 400;
  color: var(--maincolor);
}

/* phone,fax */
.c-phone--lg,
.c-phone--md,
.c-phone--sm,
.c-fax--lg,
.c-fax--md,
.c-fax--sm {
  line-height: 1.25;
  font-weight: 800;
}
.c-phone--lg:before,
.c-phone--lg:before,
.c-phone--md:before,
.c-phone--md:before,
.c-phone--sm:before,
.c-phone--sm:before,
.c-fax--lg:before,
.c-fax--lg:before,
.c-fax--md:before,
.c-fax--md:before,
.c-fax--sm:before,
.c-fax--sm:before {
  font-weight: 900;
}
.c-phone--lg img,
.c-phone--md img,
.c-phone--sm img,
.c-fax--lg img,
.c-fax--md img,
.c-fax--sm img {
  margin-right: 0.33rem;
  width: auto;
  height: auto;
}
@media only screen and (max-width: 991px) {
  .c-phone--lg img,
  .c-phone--md img,
  .c-phone--sm img,
  .c-fax--lg img,
  .c-fax--md img,
  .c-fax--sm img {
    height: 1.75rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-phone--lg img,
  .c-phone--md img,
  .c-phone--sm img,
  .c-fax--lg img,
  .c-fax--md img,
  .c-fax--sm img {
    height: 1.75rem;
  }
}
.c-phone--lg,
.c-fax--lg {
  font-size: 2.75em;
}
@media only screen and (max-width: 1199px) {
  .c-phone--lg,
  .c-fax--lg {
    font-size: 2.25em;
  }
}
@media only screen and (max-width: 991px) {
  .c-phone--lg,
  .c-fax--lg {
    font-size: 1.75em;
  }
}
@media only screen and (max-width: 767px) {
  .c-phone--lg,
  .c-fax--lg {
    font-size: 1.75em;
  }
}
.c-phone--md,
.c-fax--md {
  font-size: 2em;
}
@media only screen and (max-width: 1199px) {
  .c-phone--md,
  .c-fax--md {
    font-size: 1.75em;
  }
}
@media only screen and (max-width: 991px) {
  .c-phone--md,
  .c-fax--md {
    font-size: 1.5em;
  }
}
@media only screen and (max-width: 767px) {
  .c-phone--md,
  .c-fax--md {
    font-size: 1.25em;
  }
}
.c-phone--sm,
.c-fax--sm {
  font-size: 2.75em;
}
@media only screen and (max-width: 1199px) {
  .c-phone--sm,
  .c-fax--sm {
    font-size: 2.25em;
  }
}
@media only screen and (max-width: 991px) {
  .c-phone--sm,
  .c-fax--sm {
    font-size: 1.75em;
  }
}
@media only screen and (max-width: 767px) {
  .c-phone--sm,
  .c-fax--sm {
    font-size: 1.75em;
  }
}

/* mainvisual */
.c-mainimage {
  padding: 6.5rem 0;
  position: relative;
}

.c-mainimage::before {
  position: absolute;
  content: "";
  background: url(https://ycare-earth.jp/images/cmn/decoration1.png) center center no-repeat;
  background-size: contain;
  width: 20vw;
  height: 20vw;
  max-width: 337px;
  max-height: 329px;
  left: -5%;
  bottom: 0;
}
.c-mainimage::after {
  position: absolute;
  content: "";
  background: url(https://ycare-earth.jp/images/cmn/decoration4.png) center center no-repeat;
  background-size: contain;
  width: 20vw;
  height: 20vw;
  max-width: 416px;
  max-height: 434px;
  right: -3%;
  top: -10%;
  z-index: 10;
}

.c-mainimage__wrapper {
  max-width: 1331px;
}

@media only screen and (max-width: 1399px) {
  .c-mainimage {
    padding: 3rem 0;
  }
}
.c-mainimage__gate--left,
.c-mainimage__gate--right {
  position: relative;
  display: block;
  transform: scale(1);
  transition: transform 0.3s;
}
.c-mainimage__gate--left:hover,
.c-mainimage__gate--right:hover {
  transform: scale(1.025);
  transition: transform 0.6s;
}
.c-mainimage__gate--title {
  position: absolute;
}
.c-mainimage__gate--title h2 img {
  width: 53vw;
  max-width: 700px;
  height: auto;
}

.c-mainimage__gate--right .c-mainimage__gate--title {
  left: 0;
  bottom: 3rem;
  z-index: 3;
}
@media only screen and (max-width: 767px) {
  .c-mainimage__gate--right .c-mainimage__gate--title {
    bottom: 1rem;
  }
}
.c-mainimage__gate--image img {
  width: 100%;
  height: auto;
  opacity: 0.85;
}

.c-mainimage__gate--image {
  position: relative;
  z-index: 1;
}

.c-mainimage__gate--image::before {
  position: absolute;
  content: "";
  background: url(https://ycare-earth.jp/images/cmn/decoration3.png) center center no-repeat;
  background-size: contain;
  width: 27vw;
  height: 27vw;
  max-width: 364px;
  max-height: 380px;
  top: -20%;
  left: -20%;
  z-index: 2;
}
.c-mainimage__gate--image::after {
  position: absolute;
  content: "";
  background: url(https://ycare-earth.jp/images/cmn/decoration1.png) center center no-repeat;
  background-size: contain;
  width: 30vw;
  height: 30vw;
  max-width: 535px;
  max-height: 518px;
  bottom: -20%;
  right: -20%;
  z-index: -1;
}

.c-pagetitle {
  position: relative;
  background: #efefef;
}
.c-pagetitle__image {
  background-color: #efefef;
  overflow: hidden;
  height: 20rem;
  display: block;
  position: relative;
}
@media only screen and (max-width: 991px) {
  .c-pagetitle__image {
    height: 15rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-pagetitle__image {
    height: 10rem;
  }
}
.c-pagetitle__image > img {
  -o-object-fit: cover;
  object-fit: cover;
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  max-width: inherit;
  max-height: inherit;
  width: 100%;
  height: 100%;
  opacity: 0.5;
}
.c-pagetitle .c-title {
  font-family: var(--titlefont);
  color: #fff;
  font-size: 1em;
  text-align: center;
  text-transform: uppercase;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  width: auto;
  height: auto;
  display: flex;
  flex-flow: column wrap;
  justify-content: center;
  align-items: center;
}
.c-pagetitle .c-title strong {
  font-size: 6.5em;
  line-height: 0.75;
  font-weight: 600;
}
.c-pagetitle .c-title strong + small {
  margin-top: 2rem;
}
@media only screen and (max-width: 991px) {
  .c-pagetitle .c-title strong + small {
    margin-top: 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-pagetitle .c-title strong + small {
    margin-top: 1rem;
  }
}
@media only screen and (max-width: 1199px) {
  .c-pagetitle .c-title strong {
    font-size: 5.5em;
  }
}
@media only screen and (max-width: 991px) {
  .c-pagetitle .c-title strong {
    font-size: 4.75em;
  }
}
@media only screen and (max-width: 767px) {
  .c-pagetitle .c-title strong {
    font-size: 2.25em;
  }
}
.c-pagetitle .c-title small {
  font-weight: 400;
  font-size: 1.5em;
  line-height: 1;
  text-align: center;
  display: block;
}
@media only screen and (max-width: 991px) {
  .c-pagetitle .c-title small {
    font-size: 1.25em;
  }
}
@media only screen and (max-width: 767px) {
  .c-pagetitle .c-title small {
    font-size: 1em;
  }
}
.c-pagetitle .c-title small + strong {
  margin-top: 2rem;
}
.c-pagetitle__fixed .l-pagetitle__image {
  height: 24rem;
}
@media only screen and (max-width: 991px) {
  .c-pagetitle__fixed .l-pagetitle__image {
    height: 20rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-pagetitle__fixed .l-pagetitle__image {
    height: 16rem;
  }
}
.c-pagetitle__fixed .c-title {
  top: 6rem;
}
@media only screen and (max-width: 991px) {
  .c-pagetitle__fixed .c-title {
    top: 9vw;
  }
}
@media only screen and (max-width: 767px) {
  .c-pagetitle__fixed .c-title {
    top: 9vw;
  }
}
@media only screen and (max-width: 575px) {
  .c-pagetitle__fixed .c-title {
    top: 16vw;
  }
}

/* sub-title */
.c-subtitle {
  background: #fff;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  height: 20rem;
  margin: 4rem 0;
}
@media only screen and (max-width: 991px) {
  .c-subtitle {
    height: 50vw;
    margin: 3rem 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-subtitle {
    height: 33vw;
    margin: 2rem 0;
  }
}
@media only screen and (max-width: 575px) {
  .c-subtitle {
    height: 50vw;
  }
}
.c-subtitle__image {
  background-color: #f5f5f5;
  overflow: hidden;
  display: block;
  position: absolute;
  top: 0;
  left: 4rem;
  right: 4rem;
  bottom: 4rem;
}
@media only screen and (max-width: 1199px) {
  .c-subtitle__image {
    top: 0;
    left: 0;
    right: 0;
  }
}
@media only screen and (max-width: 991px) {
  .c-subtitle__image {
    bottom: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-subtitle__image {
    bottom: 2rem;
  }
}
.c-subtitle__image > img {
  -o-object-fit: cover;
  object-fit: cover;
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  max-width: inherit;
  max-height: inherit;
  width: 100%;
  height: 100%;
  opacity: 1;
}
.c-subtitle .sub-title h2 {
  background: #fff;
  box-shadow: 0 0 0.75rem rgba(0, 0, 0, 0.1);
  border-bottom: 0.25rem solid var(--maincolor);
  font-size: 2rem;
  line-height: 1;
  font-weight: 700;
  text-align: center;
  padding: 1em 2em;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 991px) {
  .c-subtitle .sub-title h2 {
    font-size: 1.75rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-subtitle .sub-title h2 {
    font-size: 1.5rem;
    padding: 0.5em 1em;
  }
}
.c-subtitle .sub-title h2 small {
  font-size: 0.75em;
  line-height: 1.5;
  font-weight: 600;
  white-space: nowrap;
  margin-top: 0.5em;
  display: block;
}
@media only screen and (max-width: 991px) {
  .c-subtitle .sub-title h2 small {
    font-size: 0.55em;
  }
}
@media only screen and (max-width: 767px) {
  .c-subtitle .sub-title h2 small {
    font-size: 0.6em;
  }
}

.breadcrumb {
  background-color: var(--palecolor);
  padding: 0.5em 3em;
  margin: 0;
  border-bottom: 1px dashed #ddd;
}
@media only screen and (max-width: 1439px) {
  .breadcrumb {
    padding: 0.5em 2em;
  }
}
@media only screen and (max-width: 991px) {
  .breadcrumb {
    padding: 0.5em 1.5em;
  }
}
@media only screen and (max-width: 767px) {
  .breadcrumb {
    font-size: 0.9em;
  }
}
@media only screen and (max-width: 575px) {
  .breadcrumb {
    padding: 0.5em 1em;
  }
}

.nav-pills.c-nav__pills--catalog {
  margin: 0 -1px;
}
.nav-pills.c-nav__pills--catalog .nav-item {
  padding: 0 1px;
  flex: 1 1 25%;
  margin-bottom: 2px;
}
@media only screen and (max-width: 575px) {
  .nav-pills.c-nav__pills--catalog .nav-item {
    flex: 1 1 50%;
  }
}
.nav-pills.c-nav__pills--catalog .nav-item .nav-link {
  background-color: #efefef;
  color: #666;
  border-radius: 0;
  font-size: 1rem;
  line-height: 1;
  padding: 1rem;
  font-weight: 700;
  text-align: center;
  position: relative;
}
@media only screen and (max-width: 991px) {
  .nav-pills.c-nav__pills--catalog .nav-item .nav-link {
    width: auto;
  }
}
@media only screen and (max-width: 767px) {
  .nav-pills.c-nav__pills--catalog .nav-item .nav-link {
    font-size: 1rem;
    padding: 1rem 0.75rem;
  }
}
.nav-pills.c-nav__pills--catalog .nav-item .nav-link:after {
  content: "";
  position: absolute;
  top: calc(100% - 4px);
  left: 50%;
  right: 50%;
  margin: 0 -2em;
  border-bottom: 10px solid #ccc;
  display: block;
  z-index: 1;
}
.nav-pills.c-nav__pills--catalog .nav-item .nav-link:hover,
.nav-pills.c-nav__pills--catalog .nav-item .nav-link:active,
.nav-pills.c-nav__pills--catalog .nav-item .nav-link:focus {
  color: var(--maincolor);
}
.nav-pills.c-nav__pills--catalog .nav-item .nav-link.active {
  color: var(--maincolor);
}
.nav-pills.c-nav__pills--catalog .nav-item .nav-link.active:after {
  border-color: var(--maincolor);
}

.c-nav__pills--catalog + .tab-content {
  padding: 2rem;
  background-color: #efefef;
}
@media only screen and (max-width: 991px) {
  .c-nav__pills--catalog + .tab-content {
    padding: 1.5rem;
  }
}
@media only screen and (max-width: 575px) {
  .c-nav__pills--catalog + .tab-content {
    padding: 1rem;
  }
}

.news-lists {
  display: flex;
  flex-direction: column;
}

.news-list {
  color: var(--textcolor);
  padding-top: 25px;
  padding-bottom: 25px;
  border-bottom: 1px solid var(--bs-gray-500);
  display: flex;
  align-items: center;
  gap: 15px;
  justify-content: flex-start;
  width: 100%;
}

@media only screen and (max-width: 575px) {
  .news-list {
    flex-direction: column;
    gap: 5px;
    padding-top: 15px;
    padding-bottom: 15px;
  }
}

.news-list__date {
  font-size: 16px;
  width: 135px;
  color: var(--graycolor);
  font-family: sans-serif;
}

@media only screen and (max-width: 575px) {
  .news-list__date {
    width: 100%;
    font-size: 14px;
  }
}

.news-list__title {
  width: calc(100% - 130px);
  font-size: 1.2rem;
}

@media only screen and (max-width: 575px) {
  .news-list__title {
    width: 100%;
    font-size: 1rem;
  }
}

.c-newspaper__scroll {
  height: 43rem;
  overflow-y: overlay;
  background-color: #fff;
  padding: 2rem;
}
@media only screen and (max-width: 991px) {
  .c-newspaper__scroll {
    padding: 1.5rem;
  }
}
@media only screen and (max-width: 575px) {
  .c-newspaper__scroll {
    padding: 1rem;
  }
}
.c-newspaper__article {
  display: table;
  padding: 1em 0;
  width: 100%;
  border-bottom: 2px solid var(--palecolor);
  align-items: center;
}
@media only screen and (max-width: 991px) {
  .c-newspaper__article {
    display: block;
  }
}
.c-newspaper__date,
.c-newspaper__comment,
.c-newspaper__detail {
  display: table-cell;
  vertical-align: top;
}
@media only screen and (max-width: 991px) {
  .c-newspaper__date,
  .c-newspaper__comment,
  .c-newspaper__detail {
    display: block;
  }
}
.c-newspaper__date {
  font-weight: 400;
  width: 10em;
  padding-right: 1rem;
  line-height: 1.75;
}
@media only screen and (max-width: 991px) {
  .c-newspaper__date {
    width: 20em;
    display: flex;
    align-items: center;
    padding: 0;
    border: none;
  }
}
@media only screen and (max-width: 575px) {
  .c-newspaper__date {
    width: 100%;
    justify-content: space-between;
  }
}
.c-newspaper__date .date {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media only screen and (max-width: 991px) {
  .c-newspaper__date .date {
    width: 10em;
    padding-right: 1em;
  }
}
.c-newspaper__date .date .new {
  background-color: var(--newscolor);
  color: #fff;
  font-size: 0.75em;
  line-height: 1.5;
  padding: 0 0.25em;
  width: auto;
  height: 1em;
  display: flex;
  align-items: center;
  margin-left: 1em;
}
.c-newspaper__icon {
  font-size: 0.75em;
  background-color: var(--maincolor);
  color: #fff;
  line-height: 1rem;
  padding: 0 0.25em;
  text-align: center;
  width: 100%;
  min-height: 2em;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 991px) {
  .c-newspaper__icon {
    width: 8rem;
  }
}
@media only screen and (max-width: 575px) {
  .c-newspaper__icon {
    width: 50%;
  }
}
.c-newspaper__comment {
  line-height: 1.75;
  padding-left: 1em;
  display: table;
  width: 100%;
}
@media only screen and (max-width: 991px) {
  .c-newspaper__comment {
    display: block;
    padding: 1rem 0 0;
    line-height: 1.75;
  }
}
.c-newspaper__image,
.c-newspaper__text {
  display: table-cell;
  vertical-align: top;
}
@media only screen and (max-width: 575px) {
  .c-newspaper__image,
  .c-newspaper__text {
    display: block;
  }
}
.c-newspaper__image {
  padding-right: 1em;
  width: 11em;
}
@media only screen and (max-width: 575px) {
  .c-newspaper__image {
    width: 12em;
    margin: 0 auto 1em;
    padding-right: 0;
  }
}
.c-newspaper__detail {
  width: 10em;
  padding: 0.25em 1.5em;
}
@media only screen and (max-width: 991px) {
  .c-newspaper__detail {
    margin: 1em 0 0 auto;
  }
}
@media only screen and (max-width: 575px) {
  .c-newspaper__detail {
    padding: 2.5em 0;
  }
}

.newspage-title {
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: 2rem;
  padding-bottom: 3rem;
  margin-bottom: 3rem;
  border-bottom: 0.5px dashed var(--graycolor);
}
@media only screen and (max-width: 991px) {
  .newspage-title {
    gap: 1.8rem;
    padding-bottom: 2.5rem;
    margin-bottom: 2.5rem;
  }
}
@media only screen and (max-width: 787px) {
  .newspage-title {
    gap: 1rem;
    padding-bottom: 1.8rem;
    margin-bottom: 1.8rem;
  }
}

.newspage-title time {
  font-family: var(--subfont);
  font-weight: bold;
  color: var(--graycolor);
}
@media only screen and (max-width: 991px) {
  .newspage-title time {
    font-size: 0.8em;
  }
}

.newspage-title span strong {
  font-size: 2.25em;
  line-height: 1;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
  font-family: var(--titlefont);
  text-transform: uppercase;
}
@media only screen and (max-width: 991px) {
  .newspage-title span strong {
    font-size: 1.8em;
  }
}
@media only screen and (max-width: 767px) {
  .newspage-title span strong {
    font-size: 1.5em;
  }
}

.newspage-content p {
  font-size: 1.25em;
}
@media only screen and (max-width: 991px) {
  .newspage-content p {
    font-size: 1.2em;
  }
}
@media only screen and (max-width: 767px) {
  .newspage-content p {
    font-size: 1em;
  }
}

table {
  border-spacing: 0;
  border-collapse: separate;
  width: 100%;
}

th,
td {
  line-height: 1.75;
  padding: 1rem;
}
@media only screen and (max-width: 991px) {
  th,
  td {
    padding: 0.75rem;
  }
}
@media only screen and (max-width: 767px) {
  th,
  td {
    padding: 0.5rem;
  }
}

th {
  text-align: left;
  white-space: nowrap;
}

.mb--lg {
  margin-bottom: 3rem !important;
}
@media only screen and (max-width: 991px) {
  .mb--lg {
    margin-bottom: 2rem !important;
  }
}
@media only screen and (max-width: 767px) {
  .mb--lg {
    margin-bottom: 1rem !important;
  }
}

.c-table {
  border-top: 1px solid #ddd;
  margin-top: -1px;
}
.c-table th,
.c-table td {
  border-bottom: 1px solid #ddd;
}
.c-table td a img {
  vertical-align: middle;
}
.c-table__mode--light th {
  background: rgba(0, 0, 0, 0.05);
}
.c-table__mode--light td {
  background: rgba(255, 255, 255, 0.5);
}
.c-table__mode--dark th {
  background: rgba(255, 255, 255, 0.5);
}
.c-table__mode--dark td {
  background: rgba(255, 255, 255, 0.1);
}
.c-table__padding--sm table {
  border-top: none;
}
.c-table__padding--sm th,
.c-table__padding--sm td {
  line-height: 1.75;
  padding: 0.5rem;
}
@media only screen and (max-width: 991px) {
  .c-table__padding--sm th,
  .c-table__padding--sm td {
    padding: 0.33rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-table__padding--sm th,
  .c-table__padding--sm td {
    padding: 0.25rem;
  }
}
@media only screen and (max-width: 991px) {
  .c-table__break--md th,
  .c-table__break--md td {
    display: block;
    width: 100%;
  }
}
.c-table__break--md th {

  width: 13em;
  text-align: left;
}
@media only screen and (max-width: 991px) {
  .c-table__break--md th {
    line-height: 1;
    width: auto;
  }
}
.c-table__break--xs th,
.c-table__break--xs td {
  line-height: 1.5;
}
@media only screen and (max-width: 575px) {
  .c-table__break--xs th,
  .c-table__break--xs td {
    display: block;
    font-size: 0.9em;
  }
}
.c-table__break--xs th {
  font-weight: 500;
  width: 9em;
}
@media only screen and (max-width: 575px) {
  .c-table__break--xs th {
    width: 100%;
  }
}
.c-table__break--xs td a,
.c-table__break--xs td span[data-action] {
  color: #212121 !important;
}
.c-table__break--xs td dl {
  display: table;
  width: 100%;
}
@media only screen and (max-width: 575px) {
  .c-table__break--xs td dl {
    display: block;
  }
}
.c-table__break--xs td dl + dl {
  border-top: 1px solid #ddd;
  padding-top: 10px;
  margin-top: 10px;
}
.c-table__break--xs td dl + dl dt,
.c-table__break--xs td dl + dl dd {
  display: table-cell;
}
@media only screen and (max-width: 575px) {
  .c-table__break--xs td dl + dl {
    display: block;
  }
}
.c-table__break--xs td dl + dl dt {
  width: 9em;
}
.c-table__break--none th,
.c-table__break--none td {
  line-height: 1.5;
}
.c-table__break--none th {
  width: 6em;
}
.c-table__break--none td a,
.c-table__break--none td span[data-action] {
  color: #212121 !important;
}
.c-table__break--none td dl {
  display: table;
  width: 100%;
}
.c-table__break--none td dl + dl {
  border-top: 1px solid #ddd;
  padding-top: 10px;
  margin-top: 10px;
}
.c-table__break--none td dl + dl dt,
.c-table__break--none td dl + dl dd {
  display: table-cell;
}
.c-table__break--none td dl + dl dt {
  width: 9em;
}
.c-table + .c-table {
  margin-top: 2rem;
}
.c-table__vertical th,
.c-table__vertical td {
  white-space: nowrap;
}
@media only screen and (max-width: 991px) {
  .c-table__vertical th,
  .c-table__vertical td {
    font-size: 0.9rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-table__vertical th,
  .c-table__vertical td {
    font-size: 0.75rem;
  }
}
.c-table__survey {
  border-spacing: 0.5rem;
  border-collapse: separate;
  width: 100%;
  border: none;
  table-layout: fixed;
}
@media only screen and (max-width: 767px) {
  .c-table__survey {
    border-spacing: 0.25rem;
  }
}
.c-table__survey th,
.c-table__survey td {
  padding: 0.5em;
}
@media only screen and (max-width: 767px) {
  .c-table__survey th,
  .c-table__survey td {
    padding: 0.25em;
  }
}
.c-table__survey td {
  text-align: center;
}
.c-table__survey td.empty {
  border: 1px solid transparent;
}
.c-table__survey td.off {
  border: 1px solid #999;
}
.c-table__survey td.on {
  border: 1px solid var(--accentcolor);
  background-color: var(--accentcolor);
  color: #fff;
}
/* emif */
.u-ratio--xxl-21x9:before {
  padding-top: 42.857143%;
}
.u-ratio--xxl-16x9:before {
  padding-top: 56.25%;
}
.u-ratio--xxl-4x3:before {
  padding-top: 75%;
}
.u-ratio--xxl-3x2:before {
  padding-top: 66.6666666666%;
}
.u-ratio--xxl-2x1:before {
  padding-top: 50%;
}
.u-ratio--xxl-5x4:before {
  padding-top: 80%;
}
.u-ratio--xxl-6x5:before {
  padding-top: 83.3333333333%;
}
.u-ratio--xxl-1x1:before {
  padding-top: 100%;
}
@media only screen and (max-width: 1399px) {
  .u-ratio--xl-21x9:before {
    padding-top: 42.857143%;
  }
  .u-ratio--xl-16x9:before {
    padding-top: 56.25%;
  }
  .u-ratio--xl-4x3:before {
    padding-top: 75%;
  }
  .u-ratio--xl-3x2:before {
    padding-top: 66.6666666666%;
  }
  .u-ratio--xl-2x1:before {
    padding-top: 50%;
  }
  .u-ratio--xl-5x4:before {
    padding-top: 80%;
  }
  .u-ratio--xl-6x5:before {
    padding-top: 83.3333333333%;
  }
  .u-ratio--xl-1x1:before {
    padding-top: 100%;
  }
}
@media only screen and (max-width: 1199px) {
  .u-ratio--lg-21x9:before {
    padding-top: 42.857143%;
  }
  .u-ratio--lg-16x9:before {
    padding-top: 56.25%;
  }
  .u-ratio--lg-4x3:before {
    padding-top: 75%;
  }
  .u-ratio--lg-3x2:before {
    padding-top: 66.6666666666%;
  }
  .u-ratio--lg-2x1:before {
    padding-top: 50%;
  }
  .u-ratio--lg-5x4:before {
    padding-top: 80%;
  }
  .u-ratio--lg-6x5:before {
    padding-top: 83.3333333333%;
  }
  .u-ratio--lg-1x1:before {
    padding-top: 100%;
  }
}
@media only screen and (max-width: 991px) {
  .u-ratio--md-21x9:before {
    padding-top: 42.857143%;
  }
  .u-ratio--md-16x9:before {
    padding-top: 56.25%;
  }
  .u-ratio--md-4x3:before {
    padding-top: 75%;
  }
  .u-ratio--md-3x2:before {
    padding-top: 66.6666666666%;
  }
  .u-ratio--md-2x1:before {
    padding-top: 50%;
  }
  .u-ratio--md-5x4:before {
    padding-top: 80%;
  }
  .u-ratio--md-6x5:before {
    padding-top: 83.3333333333%;
  }
  .u-ratio--md-1x1:before {
    padding-top: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .u-ratio--sm-21x9:before {
    padding-top: 42.857143%;
  }
  .u-ratio--sm-16x9:before {
    padding-top: 56.25%;
  }
  .u-ratio--sm-4x3:before {
    padding-top: 75%;
  }
  .u-ratio--sm-3x2:before {
    padding-top: 66.6666666666%;
  }
  .u-ratio--sm-2x1:before {
    padding-top: 50%;
  }
  .u-ratio--sm-5x4:before {
    padding-top: 80%;
  }
  .u-ratio--sm-6x5:before {
    padding-top: 83.3333333333%;
  }
  .u-ratio--sm-1x1:before {
    padding-top: 100%;
  }
}
@media only screen and (max-width: 575px) {
  .u-ratio--xs-21x9:before {
    padding-top: 42.857143%;
  }
  .u-ratio--xs-16x9:before {
    padding-top: 56.25%;
  }
  .u-ratio--xs-4x3:before {
    padding-top: 75%;
  }
  .u-ratio--xs-3x2:before {
    padding-top: 66.6666666666%;
  }
  .u-ratio--xs-2x1:before {
    padding-top: 50%;
  }
  .u-ratio--xs-5x4:before {
    padding-top: 80%;
  }
  .u-ratio--xs-6x5:before {
    padding-top: 83.3333333333%;
  }
  .u-ratio--xs-1x1:before {
    padding-top: 100%;
  }
}

.u-space__devider--xs + .u-space__devider--xs {
  margin-top: calc(6rem * 0.25);
}
.sm-space + .sm-space {
  margin-top: calc(6rem * 0.33);
}
@media only screen and (max-width: 767px) {
  .sm-space + .sm-space {
    margin-top: calc(6rem * 0.25);
  }
}
.md-space + .md-space {
  margin-top: calc(6rem * 0.5);
}
@media only screen and (max-width: 991px) {
  .md-space + .md-space {
    margin-top: calc(6rem * 0.33);
  }
}
@media only screen and (max-width: 767px) {
  .md-space + .md-space {
    margin-top: calc(6rem * 0.25);
  }
}
.u-space__devider--lg + .u-space__devider--lg {
  margin-top: calc(6rem * 0.66);
}
@media only screen and (max-width: 991px) {
  .u-space__devider--lg + .u-space__devider--lg {
    margin-top: calc(6rem * 0.5);
  }
}
@media only screen and (max-width: 767px) {
  .u-space__devider--lg + .u-space__devider--lg {
    margin-top: calc(6rem * 0.33);
  }
}
.u-space__devider--xl + .u-space__devider--xl {
  margin-top: calc(6rem * 0.75);
}
@media only screen and (max-width: 1199px) {
  .u-space__devider--xl + .u-space__devider--xl {
    margin-top: calc(6rem * 0.66);
  }
}
@media only screen and (max-width: 991px) {
  .u-space__devider--xl + .u-space__devider--xl {
    margin-top: calc(6rem * 0.5);
  }
}
@media only screen and (max-width: 767px) {
  .u-space__devider--xl + .u-space__devider--xl {
    margin-top: calc(6rem * 0.33);
  }
}
.u-space__devider--xxl + .u-space__devider--xxl {
  margin-top: calc(6rem * 0.75);
}
@media only screen and (max-width: 1399px) {
  .u-space__devider--xxl + .u-space__devider--xxl {
    margin-top: calc(6rem * 0.75);
  }
}
@media only screen and (max-width: 1199px) {
  .u-space__devider--xxl + .u-space__devider--xxl {
    margin-top: calc(6rem * 0.66);
  }
}
@media only screen and (max-width: 991px) {
  .u-space__devider--xxl + .u-space__devider--xxl {
    margin-top: calc(6rem * 0.5);
  }
}
@media only screen and (max-width: 767px) {
  .u-space__devider--xxl + .u-space__devider--xxl {
    margin-top: calc(6rem * 0.33);
  }
}

.sharehouse-img {
  justify-content: center;
}

.year {
  display: flex;
  justify-content: space-between;
}

.seireki:before {
  content: "（";
}

.seireki:after {
  content: "年)";
}

.c-signature {
  font-size: 1.75em;
  font-family: "Yuji Syuku", serif;
}
.c-signature small {
  font-size: 0.66em;
  margin-right: 1em;
}

.c-hero__link--jostling {
  display: flex;
}
@media only screen and (max-width: 575px) {
  .c-hero__link--jostling {
    display: block;
  }
}

.c-hero__link {
  position: relative;
  display: block;
  overflow: hidden;
  width: 50%;
  transition: width 0.8s;
}
@media only screen and (max-width: 575px) {
  .c-hero__link {
    width: 100%;
  }
}
.c-hero__link:hover {
  transition: width 0.8s;
}
.c-hero__link--image {
  background-color: #000;
  overflow: hidden;
  height: 25vw;
}
@media only screen and (max-width: 991px) {
  .c-hero__link--image {
    height: 33.3333333333vw;
  }
}
@media only screen and (max-width: 575px) {
  .c-hero__link--image {
    height: 66.6666666666vw;
  }
}
.c-hero__link--image img {
  opacity: 0.5;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  max-width: inherit;
  max-height: inherit;
  width: 100%;
  height: 100%;
  margin: auto;
  -o-object-fit: cover;
  object-fit: cover;
}
.c-hero__link--title {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-flow: column wrap;
  justify-content: center;
  align-items: center;
  padding: 1.5rem;
  color: #fff;
}
@media only screen and (max-width: 991px) {
  .c-hero__link--title {
    padding: 1.25rem 0.5rem;
  }
}
.c-hero__link--title h4 {
  letter-spacing: 0.2em;
  text-indent: 0.2em;
  display: flex;
  flex-flow: column wrap;
  justify-content: center;
  align-items: center;
}
.c-hero__link--title h4 strong {
  font-size: 2.75em;
  line-height: 1.5;
  text-align: center;
  font-family: var(--font-slab);
  text-transform: uppercase;
  font-weight: 500;
}
@media only screen and (max-width: 991px) {
  .c-hero__link--title h4 strong {
    font-size: 1.5em;
  }
}
.c-hero__link--title h4 small {
  font-size: 1.125em;
  display: block;
  text-align: center;
  margin-top: 0.5rem;
}
.c-hero__link--title p {
  font-size: 1em;
  line-height: 1;
  text-align: center;
  font-weight: 500;
  margin-top: 3rem;
  border: 1px solid #fff;
  padding: 0.5rem 1.5rem;
  border-radius: 3rem;
}

.c-floating__link {
  background-color: var(--graycolor);
  box-shadow: 0 0 6rem rgba(0, 0, 0, 0);
  display: block;
  position: relative;
}
.c-floating__link,
.c-floating__link:hover,
.c-floating__link:active,
.c-floating__link:focus {
  background-color: var(--graycolor);
  color: var(--textcolor);
}
.c-floating__link:hover,
.c-floating__link:active,
.c-floating__link:focus {
  box-shadow: 0 0 6rem rgba(0, 0, 0, 0.1);
}
.c-floating__link--text {
  padding: 3rem;
  width: 100%;
  aspect-ratio: 2/1;
}
.c-floating__link--text:after {
  background-color: var(--maincolor);
  color: #fff;
  font-size: 1.5em;
  font-family: "Font Awesome 5 Free";
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 3rem;
  height: 3rem;
  content: "\f061";
}
.c-floating__link--text h4 {
  margin-bottom: 1.5rem;
}

.c-poster__left + .container-lg .c-floating__link {
  border-top: 1px solid #999;
  border-left: 1px solid #999;
}
.c-poster__right + .container-lg .c-floating__link {
  border-top: 1px solid #999;
  border-right: 1px solid #999;
}

[class*="c-title__"] {
  position: relative;
}
[class*="c-title__"] small {
  display: block;
}

[class*="c-title__"]:first-child {
  margin-top: 0;
}

[class*="c-title__"]:last-child {
  margin-bottom: 0;
}

.multiline {
  line-height: 1.5;
}

[class*="c-title__"].en {
  line-height: 0.75;
}

[class*="c-title__"].en small {
  line-height: 1;
  letter-spacing: 0;
  text-indent: 0;
}

[class*="container"] > h3[class*="c-title__"] {
  margin-bottom: calc(6rem * 0.75);
}
@media only screen and (max-width: 1399px) {
  [class*="container"] > h3[class*="c-title__"] {
    margin-bottom: calc(6rem * 0.85 * 0.75);
  }
}
@media only screen and (max-width: 1199px) {
  [class*="container"] > h3[class*="c-title__"] {
    margin-bottom: calc(6rem * 0.7 * 0.75);
  }
}
@media only screen and (max-width: 991px) {
  [class*="container"] > h3[class*="c-title__"] {
    margin-bottom: calc(6rem * 0.55 * 0.75);
  }
}
@media only screen and (max-width: 767px) {
  [class*="container"] > h3[class*="c-title__"] {
    margin-bottom: calc(6rem * 0.4 * 0.75);
  }
}
@media only screen and (max-width: 575px) {
  [class*="container"] > h3[class*="c-title__"] {
    margin-bottom: calc(6rem * 0.25 * 0.75);
  }
}

[class*="container"] > h3[class*="c-title__"]:last-child {
  margin-bottom: 0;
}

.c-title__devider {
  padding-bottom: 1em;
}
.c-title__devider:after {
  border-bottom: 0.25rem solid var(--maincolor);
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 1.3333333333em;
}
.c-title__devider.text-center:after {
  left: 50%;
  right: 50%;
  margin: 0 -0.6666666666em;
}
.c-title__devider.text-center.text-lg-start:after {
  left: 0%;
  right: auto;
  width: 1.3333333333em;
}
.c-title__devider.text-end:after {
  left: auto;
  right: 0;
}
.c-title__index1 {
  font-size: 1em;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
  font-family: var(--titlefont);
  text-transform: uppercase;
  margin-bottom: 3rem;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (min-width: 992px) {
  .c-title__index1.align-items-lg-start {
    text-indent: 0;
  }
  .c-title__index1.align-items-lg-start small {
    text-indent: 0;
  }
}
@media only screen and (max-width: 991px) {
  .c-title__index1 {
    margin-bottom: 2.25rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-title__index1 {
    margin-bottom: 1.5rem;
  }
}
.c-title__index1 strong {
  font-size: 3em;
  line-height: 1;
  font-weight: 500;
}
@media only screen and (max-width: 991px) {
  .c-title__index1 strong {
    font-size: 2.5em;
  }
}
@media only screen and (max-width: 767px) {
  .c-title__index1 strong {
    font-size: 2em;
  }
}

@media only screen and (max-width: 575px) {
  .c-title__index1 .news-title strong {
    font-size: 1.5em;
  }
}

.c-title__index1 small {
  font-family: var(--subfont);
  color: var(--subcolor);
  font-size: 1.5em;
  line-height: 0.75;
  text-align: center;
  font-weight: 800;
}
@media only screen and (max-width: 991px) {
  .c-title__index1 small {
    font-size: 1em;
  }
}
@media only screen and (max-width: 767px) {
  .c-title__index1 small {
    font-size: 1em;
  }
}
.c-title__index1 strong + small {
  margin-top: 1rem;
}
.c-title__index1--white {
  color: #fff;
  font-size: 4.5em;
  line-height: 0.75;
  text-transform: uppercase;
  font-weight: 900;
  margin-bottom: 3rem;
  position: relative;
  display: flex;
  flex-flow: column wrap;
  align-items: flex-start;
}
@media only screen and (max-width: 991px) {
  .c-title__index1--white {
    font-size: 3.75em;
    margin-bottom: 1.25rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-title__index1--white {
    font-size: 2.25em;
    margin-bottom: 1rem;
  }
}
.c-title__index1--white small {
  background-color: #fff;
  color: var(--maincolor);
  font-size: 0.33em;
  line-height: 1;
  font-weight: 600;
  margin-top: 1em;
  padding: 0.125em;
}
@media only screen and (max-width: 991px) {
  .c-title__index1--white small {
    font-size: 0.425em;
  }
}
@media only screen and (max-width: 767px) {
  .c-title__index1--white small {
    font-size: 0.45em;
  }
}
.c-title__index1--white.c-title__devider:after {
  border-color: #fff;
}
.c-title__index1a {
  font-size: 1em;
  letter-spacing: 0.2em;
  font-family: var(--font-round);
  text-transform: uppercase;
  margin-bottom: 3rem;
  position: relative;
  display: flex;
  flex-flow: column wrap;
}
.c-title__index1a.align-items-center {
  text-indent: 0.2em;
}
.c-title__index1a.align-items-center small {
  text-indent: 0.1em;
}
@media only screen and (min-width: 992px) {
  .c-title__index1a.align-items-lg-start {
    text-indent: 0;
  }
  .c-title__index1a.align-items-lg-start small {
    text-indent: 0;
  }
}
@media only screen and (max-width: 991px) {
  .c-title__index1a {
    margin-bottom: 2.25rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-title__index1a {
    margin-bottom: 1.5rem;
  }
}
.c-title__index1a strong {
  font-size: 2.5em;
  line-height: 1;
  font-weight: 500;
}
@media only screen and (max-width: 991px) {
  .c-title__index1a strong {
    font-size: 2.5em;
  }
}
@media only screen and (max-width: 767px) {
  .c-title__index1a strong {
    font-size: 2em;
  }
}
.c-title__index1a small {
  color: var(--maincolor);
  border-bottom: 1px solid var(--maincolor);
  font-size: 1em;
  line-height: 0.75;
  letter-spacing: 0.1em;
  font-weight: 800;
}
@media only screen and (max-width: 991px) {
  .c-title__index1a small {
    font-size: 1em;
  }
}
@media only screen and (max-width: 767px) {
  .c-title__index1a small {
    font-size: 1em;
  }
}
.c-title__index1a small + strong {
  margin-top: 2rem;
}
.c-title__index1a--white {
  color: #fff;
  font-size: 4.5em;
  line-height: 0.75;
  text-transform: uppercase;
  font-weight: 900;
  margin-bottom: 3rem;
  position: relative;
  display: flex;
  flex-flow: column wrap;
  align-items: flex-start;
}
@media only screen and (max-width: 991px) {
  .c-title__index1a--white {
    font-size: 3.75em;
    margin-bottom: 1.25rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-title__index1a--white {
    font-size: 2.25em;
    margin-bottom: 1rem;
  }
}
.c-title__index1a--white small {
  background-color: #fff;
  color: var(--maincolor);
  font-size: 0.33em;
  line-height: 1;
  font-weight: 600;
  margin-top: 1em;
  padding: 0.125em;
}
@media only screen and (max-width: 991px) {
  .c-title__index1a--white small {
    font-size: 0.425em;
  }
}
@media only screen and (max-width: 767px) {
  .c-title__index1a--white small {
    font-size: 0.45em;
  }
}
.c-title__index1a--white.c-title__devider:after {
  border-color: #fff;
}
.c-title__index2 {
  font-size: 1em;
  margin-bottom: 2rem;
}
.c-title__index2 strong,
.c-title__index2 small {
  display: block;
}
.c-title__index2 strong {
  font-size: 2.3em;
  text-transform: uppercase;
  font-weight: 700;
}
@media only screen and (max-width: 991px) {
  .c-title__index2 strong {
    font-size: 1.5em;
  }
}
@media only screen and (max-width: 767px) {
  .c-title__index2 strong {
    font-size: 1.25em;
  }
}
@media only screen and (max-width: 575px) {
  .c-title__index2 strong {
    text-align: center;
  }
}
.c-title__index2 small {
  color: var(--maincolor);
  font-size: 1.25em;
  line-height: 1;
  margin-top: 0;
}
.c-title__index2 small + strong {
  font-family: var(--titlefont);
  margin-top: 1rem;
}
@media only screen and (max-width: 575px) {
  .c-title__index2 small {
    text-align: center;
  }
}
.c-title__index3 {
  font-size: 2em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 0.66em;
}
@media only screen and (max-width: 991px) {
  .c-title__index3 {
    font-size: 1.75em;
  }
}
@media only screen and (max-width: 767px) {
  .c-title__index3 {
    font-size: 1.5em;
  }
}
.c-title__index3 small {
  font-size: 1.5rem;
  margin-top: 1.5rem;
}
@media only screen and (max-width: 991px) {
  .c-title__index3 small {
    font-size: 1.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-title__index3 small {
    font-size: 0.8rem;
  }
}
.c-title__page1 {
  font-size: 1em;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
  font-family: var(--titlefont);
  text-transform: uppercase;
  margin-bottom: 3rem;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (min-width: 992px) {
  .c-title__page1.align-items-lg-start {
    text-indent: 0;
  }
  .c-title__page1.align-items-lg-start small {
    text-indent: 0;
  }
}
@media only screen and (max-width: 991px) {
  .c-title__page1 {
    margin-bottom: 2.25rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-title__page1 {
    margin-bottom: 1.5rem;
  }
}
.c-title__page1 strong {
  font-size: 2.25em;
  line-height: 1;
  font-weight: 500;
}
@media only screen and (max-width: 991px) {
  .c-title__page1 strong {
    font-size: 2em;
  }
}
@media only screen and (max-width: 767px) {
  .c-title__page1 strong {
    font-size: 1.5em;
  }
}
.c-title__page1 small {
  color: var(--subcolor);
  font-size: 1.25em;
  line-height: 0.75;
  text-align: center;
  font-weight: 800;
}
@media only screen and (max-width: 991px) {
  .c-title__page1 small {
    font-size: 1.125em;
  }
}
@media only screen and (max-width: 767px) {
  .c-title__page1 small {
    font-size: 1em;
  }
}
.c-title__page1 strong + small {
  margin-top: 1rem;
}
.c-title__page1--white {
  color: #fff;
  font-size: 4.5em;
  line-height: 0.75;
  text-transform: uppercase;
  font-weight: 900;
  margin-bottom: 3rem;
  position: relative;
  display: flex;
  flex-flow: column wrap;
  align-items: flex-start;
}
@media only screen and (max-width: 991px) {
  .c-title__page1--white {
    font-size: 3.75em;
    margin-bottom: 1.25rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-title__page1--white {
    font-size: 2.25em;
    margin-bottom: 1rem;
  }
}
.c-title__page1--white small {
  background-color: #fff;
  color: var(--maincolor);
  font-size: 0.33em;
  line-height: 1;
  font-weight: 600;
  margin-top: 1em;
  padding: 0.125em;
}
@media only screen and (max-width: 991px) {
  .c-title__page1--white small {
    font-size: 0.425em;
  }
}
@media only screen and (max-width: 767px) {
  .c-title__page1--white small {
    font-size: 0.45em;
  }
}
.c-title__page1--white.c-title__devider:after {
  border-color: #fff;
}
.c-title__page1a {
  font-size: 1.75em;
  line-height: 1.5;
  border-top: 3px solid var(--accentcolor);
  font-weight: 700;
  margin-bottom: 3rem;
  padding-top: 0.5rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
}
@media only screen and (max-width: 991px) {
  .c-title__page1a {
    font-size: 1.5em;
    margin-bottom: 2.25rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-title__page1a {
    font-size: 1.25em;
    margin-bottom: 1.5rem;
  }
}
.c-title__page1b {
  font-size: 2em;
  line-height: 1;
  font-weight: 700;
  margin-bottom: 1.5em;
  padding: 0 0 1em;
  position: relative;
}
@media only screen and (max-width: 991px) {
  .c-title__page1b {
    font-size: 1.33em;
    margin-bottom: 1.25em;
  }
}
@media only screen and (max-width: 767px) {
  .c-title__page1b {
    font-size: 1.25em;
    margin-bottom: 1em;
  }
}
@media only screen and (max-width: 575px) {
  .c-title__page1b {
    font-size: 1.125em;
    margin-bottom: 1em;
  }
}
.c-title__page1c {
  color: #fff;
  font-size: 2em;
  line-height: 1;
  font-weight: 700;
  margin-bottom: 1.5em;
  padding: 0 0 1em;
  position: relative;
}
@media only screen and (max-width: 991px) {
  .c-title__page1c {
    font-size: 1.33em;
    margin-bottom: 1.25em;
  }
}
@media only screen and (max-width: 767px) {
  .c-title__page1c {
    font-size: 1.25em;
    margin-bottom: 1em;
  }
}
@media only screen and (max-width: 575px) {
  .c-title__page1c {
    font-size: 1.125em;
    margin-bottom: 1em;
  }
}
.c-title__page2 {
  font-size: 1.33em;
  margin: 2em 0 1em;
  font-weight: 700;
}
@media only screen and (max-width: 991px) {
  .c-title__page2 {
    font-size: 1.25em;
  }
}
@media only screen and (max-width: 767px) {
  .c-title__page2 {
    font-size: 1.125em;
  }
}
.c-title__page2a {
  font-size: 1.75em;
  margin-bottom: 1em;
}
@media only screen and (max-width: 991px) {
  .c-title__page2a {
    font-size: 1.33rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-title__page2a {
    font-size: 1.25rem;
  }
}
@media only screen and (max-width: 575px) {
  .c-title__page2a {
    line-height: 1.5;
  }
}
.c-title__page2a em {
  border-top: 1px solid #666;
  background-color: rgba(0, 0, 0, 0.033);
  font-size: 0.66em;
  line-height: 1;
  letter-spacing: 0;
  text-indent: 0;
  font-weight: 600;
  margin-top: 1em;
  padding: 0.5em 0.75em 0.75em;
  display: block;
  text-align: right;
}
@media only screen and (max-width: 767px) {
  .c-title__page2a em {
    font-size: 0.5em;
    margin-top: 0.83em;
    padding: 0.75em 1em 1em;
  }
}
.c-title__page2b {
  font-size: 2.75rem;
  line-height: 0.75;
  border-bottom: 1px solid #666;
  font-family: "Shippori Minocho B1", serif;
  margin-bottom: 0.66em;
  padding-bottom: 0.66em;
}
@media only screen and (max-width: 991px) {
  .c-title__page2b {
    font-size: 2.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-title__page2b {
    font-size: 1.75rem;
  }
}
.c-title__page2b small {
  font-size: 0.4em;
  margin-top: 1em;
}
@media only screen and (max-width: 991px) {
  .c-title__page2b small {
    font-size: 0.425em;
  }
}
@media only screen and (max-width: 767px) {
  .c-title__page2b small {
    font-size: 0.45em;
  }
}
.c-title__page3 {
  font-size: 1.125rem;
  margin: 1.5em 0 0.75em;
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  .c-title__page3 {
    font-size: 1rem;
  }
}
.c-title__page3.footline {
  border-bottom: 1px dotted #999;
  padding-bottom: 0.66em;
  margin-bottom: 0.66em;
}
.c-title__page3 small {
  font-size: 0.9rem;
}
@media only screen and (max-width: 767px) {
  .c-title__page3 small {
    font-size: 0.8rem;
  }
}
.c-title__page4 {
  font-size: 0.9rem;
  margin: 1.5em 0 1em;
  font-weight: 700;
}
.c-title__headline {
  border-top: 0.25rem solid var(--maincolor);
  padding-top: 1.25rem;
}
.c-title__footline {
  border-bottom: 0.25rem solid var(--maincolor);
  padding-bottom: 1.25rem;
}
.c-title__leftline {
  padding-left: 0.66em;
  border-left: 0.25em solid var(--maincolor);
}
.c-title__leftline--white {
  padding-left: 0.66em;
  border-left: 0.25em solid #fff;
}

.c-text__link,
.c-text__link:hover,
.c-text__link:active,
.c-text__link:focus {
  color: var(--maincolor);
  text-decoration: underline;
}
.c-text__link:hover,
.c-text__link:active,
.c-text__link:focus {
  text-decoration: none;
}

.c-image__link:hover img {
  opacity: 0.75;
}

.c-button__link,
.c-button__link:hover,
.c-button__link:active,
.c-button__link:focus,
.c-button__file,
.c-button__file:hover,
.c-button__file:active,
.c-button__file:focus {
  background-color: transparent;
  color: #212121;
  border: 1px solid transparent;
  white-space: normal;
  text-decoration: none;
  font-size: 1em;
  line-height: 1.5;
  text-transform: uppercase;
  font-weight: 500;
  padding: 0.75em 1em;
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out,
    border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out,
    opacity 0.15s ease-in-out;
}
.c-button__link:hover,
.c-button__link:active,
.c-button__link:focus,
.c-button__link:hover:hover,
.c-button__link:hover:active,
.c-button__link:hover:focus,
.c-button__link:active:hover,
.c-button__link:active:active,
.c-button__link:active:focus,
.c-button__link:focus:hover,
.c-button__link:focus:active,
.c-button__link:focus:focus,
.c-button__file:hover,
.c-button__file:active,
.c-button__file:focus,
.c-button__file:hover:hover,
.c-button__file:hover:active,
.c-button__file:hover:focus,
.c-button__file:active:hover,
.c-button__file:active:active,
.c-button__file:active:focus,
.c-button__file:focus:hover,
.c-button__file:focus:active,
.c-button__file:focus:focus {
  opacity: 0.75;
}
.c-button__link small,
.c-button__link:hover small,
.c-button__link:active small,
.c-button__link:focus small,
.c-button__file small,
.c-button__file:hover small,
.c-button__file:active small,
.c-button__file:focus small {
  flex: 1 1 100%;
  font-weight: 700;
  font-size: 0.5em;
}
.c-button__link,
.c-button__link:hover,
.c-button__link:active,
.c-button__link:focus {
  justify-content: center;
  background-color: var(--maincolor);
  color: #fff;
  border-color: transparent;
  border-radius: 100rem;
}
.c-button__file,
.c-button__file:hover,
.c-button__file:active,
.c-button__file:focus {
  justify-content: start;
}
+ .c-button__link,
+ .c-button__file {
  margin-top: 0.25rem;
}
.c-button__rounded--xs,
.c-button__rounded--xs:hover,
.c-button__rounded--xs:active,
.c-button__rounded--xs:focus {
  border-radius: 0.125rem;
}
.c-button__rounded--sm,
.c-button__rounded--sm:hover,
.c-button__rounded--sm:active,
.c-button__rounded--sm:focus {
  border-radius: 0.25rem;
}
.c-button__rounded--md,
.c-button__rounded--md:hover,
.c-button__rounded--md:active,
.c-button__rounded--md:focus {
  border-radius: 0.5rem;
}
.c-button__rounded--lg,
.c-button__rounded--lg:hover,
.c-button__rounded--lg:active,
.c-button__rounded--lg:focus {
  border-radius: 0.75rem;
}
.c-button__rounded--xl,
.c-button__rounded--xl:hover,
.c-button__rounded--xl:active,
.c-button__rounded--xl:focus {
  border-radius: 1rem;
}

.c-button__size--xxl,
.c-button__size--xxl:hover,
.c-button__size--xxl:active,
.c-button__size--xxl:focus {
  font-size: 2em;
  padding: 0.75em 1em;
}
@media only screen and (max-width: 991px) {
  .c-button__size--xxl,
  .c-button__size--xxl:hover,
  .c-button__size--xxl:active,
  .c-button__size--xxl:focus {
    font-size: 1.5em;
  }
}
@media only screen and (max-width: 767px) {
  .c-button__size--xxl,
  .c-button__size--xxl:hover,
  .c-button__size--xxl:active,
  .c-button__size--xxl:focus {
    font-size: 1.25em;
  }
}
.c-button__size--xl,
.c-button__size--xl:hover,
.c-button__size--xl:active,
.c-button__size--xl:focus {
  font-size: 1.66em;
  padding: 0.66em 1em;
}
@media only screen and (max-width: 991px) {
  .c-button__size--xl,
  .c-button__size--xl:hover,
  .c-button__size--xl:active,
  .c-button__size--xl:focus {
    font-size: 1.5em;
  }
}
@media only screen and (max-width: 767px) {
  .c-button__size--xl,
  .c-button__size--xl:hover,
  .c-button__size--xl:active,
  .c-button__size--xl:focus {
    font-size: 1.25em;
  }
}
.c-button__size--lg,
.c-button__size--lg:hover,
.c-button__size--lg:active,
.c-button__size--lg:focus {
  font-size: 1.33em;
  padding: 0.5em 1em;
}
@media only screen and (max-width: 991px) {
  .c-button__size--lg,
  .c-button__size--lg:hover,
  .c-button__size--lg:active,
  .c-button__size--lg:focus {
    font-size: 1.25em;
  }
}
@media only screen and (max-width: 767px) {
  .c-button__size--lg,
  .c-button__size--lg:hover,
  .c-button__size--lg:active,
  .c-button__size--lg:focus {
    font-size: 1.125em;
  }
}
.c-button__size--sm,
.c-button__size--sm:hover,
.c-button__size--sm:active,
.c-button__size--sm:focus {
  font-size: 0.75em;
}
@media only screen and (max-width: 767px) {
  .c-button__size--sm,
  .c-button__size--sm:hover,
  .c-button__size--sm:active,
  .c-button__size--sm:focus {
    font-size: 0.75em;
  }
}
.c-button__size--xs,
.c-button__size--xs:hover,
.c-button__size--xs:active,
.c-button__size--xs:focus {
  font-size: 0.66em;
}
@media only screen and (max-width: 767px) {
  .c-button__size--xs,
  .c-button__size--xs:hover,
  .c-button__size--xs:active,
  .c-button__size--xs:focus {
    font-size: 0.66em;
  }
}

.c-button__texture--solid,
.c-button__texture--solid:hover,
.c-button__texture--solid:active,
.c-button__texture--solid:focus {
  background-color: #fff;
  color: var(--maincolor);
  border-color: var(--maincolor);
}
.c-button__texture--solid:hover,
.c-button__texture--solid:active,
.c-button__texture--solid:focus {
  background-color: var(--maincolor);
  color: #fff;
  opacity: 1;
}
.c-button__texture--negative,
.c-button__texture--negative:hover,
.c-button__texture--negative:active,
.c-button__texture--negative:focus {
  color: #999;
  background-color: #fff;
  border-color: #999;
}
.c-button__texture--negative:hover,
.c-button__texture--negative:active,
.c-button__texture--negative:focus {
  color: #999;
  background-color: #eee;
}
.c-button__texture--outline,
.c-button__texture--outline:hover,
.c-button__texture--outline:active,
.c-button__texture--outline:focus {
  background-color: transparent;
  color: var(--maincolor);
  border-color: var(--maincolor);
}
.c-button__texture--outline:hover,
.c-button__texture--outline:active,
.c-button__texture--outline:focus {
  background-color: var(--palecolor);
  color: var(--maincolor);
  opacity: 1;
}
.c-button__texture--white,
.c-button__texture--white:hover,
.c-button__texture--white:active,
.c-button__texture--white:focus {
  background-color: rgb(255, 255, 255);
  color: var(--maincolor);
  border-color: rgba(255, 255, 255, 0.5);
}
.c-button__texture--white:hover,
.c-button__texture--white:active,
.c-button__texture--white:focus {
  background-color: rgba(255, 255, 255, 0.25);
  color: #fff;
  opacity: 1;
}
.c-button__texture--whiteline,
.c-button__texture--whiteline:hover,
.c-button__texture--whiteline:active,
.c-button__texture--whiteline:focus {
  background-color: transparent;
  color: #fff;
  border-color: #fff;
}
.c-button__texture--whiteline:hover,
.c-button__texture--whiteline:active,
.c-button__texture--whiteline:focus {
  background-color: rgba(255, 255, 255, 0.75);
  color: var(--maincolor);
  opacity: 1;
}
.c-button__texture--line,
.c-button__texture--line:hover,
.c-button__texture--line:active,
.c-button__texture--line:focus {
  background-color: transparent;
  color: var(--accentcolor);
  border-bottom: 1px solid var(--accentcolor);
}
.c-button__texture--line:hover,
.c-button__texture--line:active,
.c-button__texture--line:focus {
  background-color: transparent;
  color: var(--accentcolor);
  opacity: 1;
}

.c-box--xs,
.c-box--sm,
.c-box--md,
.c-box--lg,
.c-box--xl {
  background-color: #fff;
  display: block;
  width: 100%;
  position: relative;
}
.c-box__line {
  border: 1px solid #ddd;
}
.c-box__line--over {
  border: 1px solid #ddd;
}
.c-box__line--over .c-box__header {
  margin: -1px -1px 0;
}
.c-box__border--slash {
  background-image: repeating-linear-gradient(
    135deg,
    var(--accentcolor) 0,
    var(--accentcolor) 8px,
    #fff 8px,
    #fff 12px
  );
  padding: 4px;
}

.rounded--xl {
  border-radius: 1rem;
}

.md-space + .md-space {
  margin-top: calc(6rem * 0.5);
}
@media only screen and (max-width: 991px) {
  .md-space + .md-space {
    margin-top: calc(6rem * 0.33);
  }
}
@media only screen and (max-width: 767px) {
  .md-space + .md-space {
    margin-top: calc(6rem * 0.25);
  }
}

.bg-deepcolor {
  background: var(--maincolor);
}

.c-box__float {
  box-shadow: 0 0 0.75rem rgba(0, 0, 0, 0.1);
}
.c-box__header {
  color: #fff;
  line-height: 1.5;
  text-align: center;
}
.c-box__header--pale {
  color: var(--textcolor);
}
.c-box__header--dark {
  color: rgba(255, 255, 255, 0.95);
}
@media only screen and (max-width: 767px) {
  .c-box__header {
    line-height: 1.25;
  }
}
.c-box__header a,
.c-box__header a:hover,
.c-box__header a:active,
.c-box__header a:focus {
  color: inherit;
}
.c-box__header small {
  text-align: center;
  font-size: 0.9rem;
  display: block;
  margin-top: 0.5rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
}
@media only screen and (max-width: 767px) {
  .c-box__header small {
    font-size: 12px;
    margin-bottom: 5px;
  }
}
.c-box__header--in {
  color: var(--textcolor);
  line-height: 1.5;
}
.c-box--xs .c-box__header {
  padding: 0.75rem 1rem;
  font-size: 1.125em;
}
.c-box--sm .c-box__header {
  padding: 1rem 1.5rem;
  font-size: 1.25em;
}
@media only screen and (max-width: 1399px) {
  .c-box--sm .c-box__header {
    padding: 1.25rem;
    font-size: 1.125em;
  }
}
@media only screen and (max-width: 767px) {
  .c-box--sm .c-box__header {
    padding: 1rem;
    font-size: 1.125em;
  }
}
.c-box--md .c-box__header {
  padding: 1.5rem 2rem;
  font-size: 1.5em;
  background: var(--maincolor);
}
@media only screen and (max-width: 991px) {
  .c-box--md .c-box__header {
    padding: 1rem 2rem;
    font-size: 1.25em;
  }
}
@media only screen and (max-width: 767px) {
  .c-box--md .c-box__header {
    padding: 1rem;
    font-size: 1.125em;
  }
}
.c-box--lg .c-box__header {
  padding: 2rem 3rem;
  font-size: 1.75em;
}
@media only screen and (max-width: 1439px) {
  .c-box--lg .c-box__header {
    padding: 1rem 1.5rem;
    font-size: 1.5em;
  }
}
@media only screen and (max-width: 991px) {
  .c-box--lg .c-box__header {
    padding: 1rem 1.5rem;
    font-size: 1.25em;
  }
}
@media only screen and (max-width: 767px) {
  .c-box--lg .c-box__header {
    padding: 1rem;
    font-size: 1.125em;
  }
}
.c-box--xl .c-box__header {
  padding: 3rem 4rem;
  font-size: 2em;
}
@media only screen and (max-width: 1439px) {
  .c-box--xl .c-box__header {
    padding: 2rem 3rem;
    font-size: 1.5em;
  }
}
@media only screen and (max-width: 991px) {
  .c-box--xl .c-box__header {
    padding: 1rem 1.5rem;
    font-size: 1.25em;
  }
}
@media only screen and (max-width: 767px) {
  .c-box--xl .c-box__header {
    padding: 1rem;
    font-size: 1.125em;
  }
}
.c-box__image[class*="rounded--"] {
  overflow: hidden;
}
.c-box__image > img {
  width: 100%;
  height: auto;
}
.c-box__image--inset > img {
  width: 100%;
  height: auto;
}
.c-box--xs .c-box__image--inset {
  padding: 2rem;
}
.c-box--sm .c-box__image--inset {
  padding: 3rem;
}
@media only screen and (max-width: 767px) {
  .c-box--sm .c-box__image--inset {
    padding: 2rem;
  }
}
.c-box--md .c-box__image--inset {
  padding: 4rem;
}
@media only screen and (max-width: 991px) {
  .c-box--md .c-box__image--inset {
    padding: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-box--md .c-box__image--inset {
    padding: 2rem;
  }
}
.c-box--lg .c-box__image--inset {
  padding: 6rem;
}
@media only screen and (max-width: 991px) {
  .c-box--lg .c-box__image--inset {
    padding: 4rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-box--lg .c-box__image--inset {
    padding: 2rem;
  }
}
.c-box--xl .c-box__image--inset {
  padding: 8rem;
}
@media only screen and (max-width: 1439px) {
  .c-box--xl .c-box__image--inset {
    padding: 6rem;
  }
}
@media only screen and (max-width: 991px) {
  .c-box--xl .c-box__image--inset {
    padding: 4rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-box--xl .c-box__image--inset {
    padding: 2rem;
  }
}
.mt--sm {
  margin-top: 1rem !important;
}

.c-box__body,
.c-box__fotorama,
.c-box__date,
.c-box__file {
  background-color: #fff;
}
.c-box__fotorama {
  border-top: 1px dashed #ddd;
  border-bottom: 1px dashed #ddd;
}
.c-box__category {
  font-size: 0.8em;
  line-height: 1;
  color: #fff;
  font-size: 0.75em;
  padding: 0.5em;
  display: block;
  text-align: center;
  width: 6rem;
  margin: 1.25rem 0;
  display: inline-block;
}
.c-box__date {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding-right: 1rem;
  line-height: 0.75;
}
.c-box__date--new {
  font-size: 0.66em;
  line-height: 0.75;
  color: var(--maincolor);
}
.c-box__date .c-box__date--new {
  margin-left: 2rem;
}
.c-box__file {
  border-top: 1px dashed #ddd;
}
.c-box__goto--detail {
  margin-top: 1.25rem;
  text-align: right;
}
.c-box__goto--detail img {
  width: auto;
  height: auto;
}
@media only screen and (max-width: 767px) {
  .c-box__goto--detail img {
    height: 20px;
  }
}
.c-box--xs .c-box__body,
.c-box--xs .c-box__fotorama,
.c-box--xs .c-box__date,
.c-box--xs .c-box__file {
  padding: 1rem;
}
.c-box--sm .c-box__body,
.c-box__sm .c-box__fotorama,
.c-box__sm .c-box__file {
  padding: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .c-box--sm .c-box__body,
  .c-box__sm .c-box__fotorama,
  .c-box__sm .c-box__file {
    padding: 1rem;
  }
}
.c-box--md .c-box__body,
.c-box--md .c-box__fotorama,
.c-box--md .c-box__date,
.c-box--md .c-box__file {
  padding: 2rem;
}
@media only screen and (max-width: 991px) {
  .c-box--md .c-box__body,
  .c-box--md .c-box__fotorama,
  .c-box--md .c-box__date,
  .c-box--md .c-box__file {
    padding: 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-box--md .c-box__body,
  .c-box--md .c-box__fotorama,
  .c-box--md .c-box__date,
  .c-box--md .c-box__file {
    padding: 1rem;
  }
}
.c-box--lg .c-box__body,
.c-box--lg .c-box__fotorama,
.c-box--lg .c-box__date,
.c-box--lg .c-box__file {
  padding: 3rem;
}
@media only screen and (max-width: 991px) {
  .c-box--lg .c-box__body,
  .c-box--lg .c-box__fotorama,
  .c-box--lg .c-box__date,
  .c-box--lg .c-box__file {
    padding: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-box--lg .c-box__body,
  .c-box--lg .c-box__fotorama,
  .c-box--lg .c-box__date,
  .c-box--lg .c-box__file {
    padding: 1rem;
  }
}
.c-box--xl .c-box__image--inset,
.c-box--xl .c-box__body,
.c-box--xl .c-box__fotorama,
.c-box--xl .c-box__date,
.c-box--xl .c-box__file {
  padding: 4rem;
}
@media only screen and (max-width: 1199px) {
  .c-box--xl .c-box__image--inset,
  .c-box--xl .c-box__body,
  .c-box--xl .c-box__fotorama,
  .c-box--xl .c-box__date,
  .c-box--xl .c-box__file {
    padding: 3rem;
  }
}
@media only screen and (max-width: 991px) {
  .c-box--xl .c-box__image--inset,
  .c-box--xl .c-box__body,
  .c-box--xl .c-box__fotorama,
  .c-box--xl .c-box__date,
  .c-box--xl .c-box__file {
    padding: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-box--xl .c-box__image--inset,
  .c-box--xl .c-box__body,
  .c-box--xl .c-box__fotorama,
  .c-box--xl .c-box__date,
  .c-box--xl .c-box__file {
    padding: 1rem;
  }
}
.c-box--xxl .c-box__image--inset,
.c-box--xxl .c-box__body,
.c-box--xxl .c-box__fotorama,
.c-box--xxl .c-box__date,
.c-box--xl .c-box__file {
  padding: 5rem;
}
@media only screen and (max-width: 1439px) {
  .c-box--xxl .c-box__image--inset,
  .c-box--xxl .c-box__body,
  .c-box--xxl .c-box__fotorama,
  .c-box--xxl .c-box__date,
  .c-box--xl .c-box__file {
    padding: 4rem;
  }
}
@media only screen and (max-width: 1199px) {
  .c-box--xxl .c-box__image--inset,
  .c-box--xxl .c-box__body,
  .c-box--xxl .c-box__fotorama,
  .c-box--xxl .c-box__date,
  .c-box--xl .c-box__file {
    padding: 3rem;
  }
}
@media only screen and (max-width: 991px) {
  .c-box--xxl .c-box__image--inset,
  .c-box--xxl .c-box__body,
  .c-box--xxl .c-box__fotorama,
  .c-box--xxl .c-box__date,
  .c-box--xl .c-box__file {
    padding: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-box--xxl .c-box__image--inset,
  .c-box--xxl .c-box__body,
  .c-box--xxl .c-box__fotorama,
  .c-box--xxl .c-box__date,
  .c-box--xl .c-box__file {
    padding: 1rem;
  }
}
.c-box--xs + .c-box--xs {
  margin-top: 1rem;
}
.c-box--sm + .c-box--sm {
  margin-top: 1.25rem;
}
.c-box--md + .c-box--md {
  margin-top: 2rem;
}
.c-box--lg + .c-box--lg {
  margin-top: 3rem;
}
.c-box--xl + .c-box--xl {
  margin-top: 4rem;
}
.c-box__body + .c-box__body {
  border-top: 1px dashed #ddd;
}
a[class*="c-box--"]:hover,
a[class*="c-box--"]:active,
a[class*="c-box--"]:focus {
  opacity: 0.75;
  background-color: #fff;
}

.c-box__collapse {
  position: relative;
  word-wrap: break-word;
  background-color: #fff;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.075);
}
.c-box__collapse dt a,
.c-box__collapse dt a:hover,
.c-box__collapse dt a:active,
.c-box__collapse dt a:focus,
.c-box__collapse dt span {
  background-color: var(--maincolor);
  display: block;
  position: relative;
  overflow: hidden;
  font-size: 1.125rem;
  line-height: 1.25;
  padding: 1.5rem 6rem;
  color: #fff;
  opacity: 1;
}
@media only screen and (max-width: 767px) {
  .c-box__collapse dt a,
  .c-box__collapse dt a:hover,
  .c-box__collapse dt a:active,
  .c-box__collapse dt a:focus,
  .c-box__collapse dt span {
    font-size: 1rem;
    padding: 1rem 4rem;
  }
}
.c-box__collapse dt a:before,
.c-box__collapse dt span:before {
  content: "";
  font-weight: 700;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  opacity: 0.25;
  font-size: 6rem;
  line-height: 0.5;
  color: #fff;
  width: 6rem;
  text-align: center;
}
@media only screen and (max-width: 991px) {
  .c-box__collapse dt a:before,
  .c-box__collapse dt span:before {
    font-size: 5rem;
    width: 5rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-box__collapse dt a:before,
  .c-box__collapse dt span:before {
    font-size: 4rem;
    width: 4rem;
  }
}
.c-box__collapse dt a:after {
  font-family: "Font Awesome 5 Free";
  position: absolute;
  top: 50%;
  right: 1.5rem;
  bottom: 50%;
  line-height: 24px;
  margin: -12px 0;
  color: #fff;
}
.c-box__collapse dt a[aria-expanded="false"]:after {
  content: "\f078";
}
.c-box__collapse dt a[aria-expanded="true"]:after {
  content: "\f077";
}
.c-box__collapse--description {
  padding: 2rem;
  color: #000;
}
@media only screen and (max-width: 767px) {
  .c-box__collapse--description {
    padding: 1rem;
  }
}
.c-box__collapse + .c-box__collapse {
  margin-top: 2rem;
}
@media only screen and (max-width: 767px) {
  .c-box__collapse + .c-box__collapse {
    margin-top: 1rem;
  }
}

.c-counter__start {
  counter-reset: collapse;
}
.c-counter__start .c-box__collapse dt a:before,
.c-counter__start .c-box__collapse dt span:before {
  counter-increment: collapse;
  content: "" counter(collapse) "";
}

.c-box__faq {
  position: relative;
  word-wrap: break-word;
  background-color: #fff;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.075);
}
.c-box__faq dt {
  padding: 1px;
}
.c-box__faq dt a,
.c-box__faq dt a:hover,
.c-box__faq dt a:active,
.c-box__faq dt a:focus,
.c-box__faq dt span {
  background-color: var(--maincolor);
  display: block;
  position: relative;
  overflow: hidden;
  font-size: 1.125rem;
  line-height: 1.25;
  padding: 1.5rem 6rem;
  color: #fff;
  opacity: 1;
}
@media only screen and (max-width: 767px) {
  .c-box__faq dt a,
  .c-box__faq dt a:hover,
  .c-box__faq dt a:active,
  .c-box__faq dt a:focus,
  .c-box__faq dt span {
    font-size: 1rem;
    padding: 1rem 4rem;
  }
}
.c-box__faq dt a:before,
.c-box__faq dt span:before {
  content: "Q";
  font-weight: 700;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  opacity: 0.25;
  font-size: 6rem;
  line-height: 0.33;
  color: #fff;
}
@media only screen and (max-width: 991px) {
  .c-box__faq dt a:before,
  .c-box__faq dt span:before {
    font-size: 5rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-box__faq dt a:before,
  .c-box__faq dt span:before {
    font-size: 4rem;
  }
}
.c-box__faq dt a:after {
  font-family: "Font Awesome 5 Free";
  position: absolute;
  top: 50%;
  right: 1.5rem;
  bottom: 50%;
  line-height: 24px;
  margin: -12px 0;
  color: #fff;
}
.c-box__faq dt a[aria-expanded="false"]:after {
  content: "\f078";
}
.c-box__faq dt a[aria-expanded="true"]:after {
  content: "\f077";
}
.c-box__faq--answer {
  padding: 2rem;
  color: #000;
}
@media only screen and (max-width: 767px) {
  .c-box__faq--answer {
    padding: 1rem;
  }
}
.c-box__faq + .box-fq {
  margin-top: 2rem;
}
@media only screen and (max-width: 767px) {
  .c-box__faq + .box-fq {
    margin-top: 1rem;
  }
}

.c-poster__top,
.c-poster__left,
.c-poster__right,
.c-poster__bottom,
.c-poster__top--bottom,
.c-poster__ful {
  position: absolute;
  z-index: 1;
}
.c-poster__top .u-bg__cover,
.c-poster__left .u-bg__cover,
.c-poster__right .u-bg__cover,
.c-poster__bottom .u-bg__cover,
.c-poster__top--bottom .u-bg__cover,
.c-poster__ful .u-bg__cover {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.c-poster__top--bottom {
  top: 0;
  bottom: 0;
}
.c-poster__top {
  top: 0;
  bottom: calc(6rem * 2);
}
@media only screen and (max-width: 1439px) {
  .c-poster__top {
    top: 0;
    bottom: calc(6rem * 0.85 * 2);
  }
}
@media only screen and (max-width: 1199px) {
  .c-poster__top {
    top: 0;
    bottom: calc(6rem * 0.7 * 2);
  }
}
@media only screen and (max-width: 991px) {
  .c-poster__top {
    top: 0;
    bottom: calc(6rem * 0.55 * 2);
  }
}
@media only screen and (max-width: 767px) {
  .c-poster__top {
    top: 0;
    bottom: calc(6rem * 0.4 * 2);
  }
}
@media only screen and (max-width: 575px) {
  .c-poster__top {
    top: 0;
    bottom: calc(6rem * 0.25 * 2);
  }
}
.c-poster__left {
  left: 0;
}
.c-poster__right {
  right: 0;
}
.c-poster__bottom {
  top: calc(6rem * 2);
  bottom: 0;
}
@media only screen and (max-width: 1439px) {
  .c-poster__bottom {
    top: calc(6rem * 0.85 * 2);
    bottom: 0;
  }
}
@media only screen and (max-width: 1199px) {
  .c-poster__bottom {
    top: calc(6rem * 0.7 * 2);
    bottom: 0;
  }
}
@media only screen and (max-width: 991px) {
  .c-poster__bottom {
    top: calc(6rem * 0.55 * 2);
    bottom: 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-poster__bottom {
    top: calc(6rem * 0.4 * 2);
    bottom: 0;
  }
}
@media only screen and (max-width: 575px) {
  .c-poster__bottom {
    top: calc(6rem * 0.25 * 2);
    bottom: 0;
  }
}
.c-poster__ful {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
}
@media only screen and (max-width: 991px) {
  .c-poster__md--top {
    padding-top: 60vw !important;
  }
  .c-poster__md--top .c-poster__left,
  .c-poster__md--top .c-poster__right {
    top: 0;
    left: 0;
    right: 0;
    bottom: auto;
    width: 100%;
    height: 66vw;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
  }
}
@media only screen and (max-width: 991px) {
  .c-poster__md--bottom {
    padding-bottom: 60vw !important;
  }
  .c-poster__md--bottom .c-poster__left,
  .c-poster__md--bottom .c-poster__right {
    top: auto;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 66vw;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
  }
}
@media only screen and (max-width: 575px) {
  .c-poster__xs--top {
    padding-top: 60vw !important;
  }
  .c-poster__xs--top .c-poster__left,
  .c-poster__xs--top .c-poster__right {
    top: 0;
    left: 0;
    right: 0;
    bottom: auto;
    width: 100%;
    height: 66vw;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
  }
}
@media only screen and (max-width: 575px) {
  .c-poster__xs--bottom {
    padding-bottom: 60vw !important;
  }
  .c-poster__xs--bottom .c-poster__left,
  .c-poster__xs--bottom .c-poster__right {
    top: auto;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 66vw;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
  }
}

.c-poster__tracing-paper {
  padding: 4rem;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.1);
}
@media only screen and (max-width: 1199px) {
  .c-poster__tracing-paper {
    padding: 3rem;
  }
}
@media only screen and (max-width: 991px) {
  .c-poster__tracing-paper {
    padding: 4vw;
  }
}
@media only screen and (max-width: 767px) {
  .c-poster__tracing-paper {
    padding: 2.5vw;
  }
}
@media only screen and (max-width: 575px) {
  .c-poster__tracing-paper {
    padding: 5vw;
  }
}

.c-poster__floating-paper {
  padding: 6rem;
  background: rgb(255, 255, 255);
}
@media only screen and (max-width: 1439px) {
  .c-poster__floating-paper {
    padding: 5rem;
  }
}
@media only screen and (max-width: 1199px) {
  .c-poster__floating-paper {
    padding: 4rem;
  }
}
@media only screen and (max-width: 991px) {
  .c-poster__floating-paper {
    padding: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-poster__floating-paper {
    padding: 2rem;
  }
}
@media only screen and (max-width: 575px) {
  .c-poster__floating-paper {
    padding: 1rem;
  }
}

.c-lead--xs,
.c-lead--sm,
.c-lead--md,
.c-lead--lg,
.c-lead--xl,
.c-lead--xxl {
  line-height: 1.75;
  margin: 1em 0 0.5em;
}
@media only screen and (max-width: 767px) {
  .c-lead--xs,
  .c-lead--sm,
  .c-lead--md,
  .c-lead--lg,
  .c-lead--xl,
  .c-lead--xxl {
    line-height: 1.75;
  }
}
.c-lead--xs small,
.c-lead--sm small,
.c-lead--md small,
.c-lead--lg small,
.c-lead--xl small,
.c-lead--xxl small {
  font-size: 0.66em;
  display: block;
}
.c-lead--xs {
  font-size: 1.25em;
}
@media only screen and (max-width: 767px) {
  .c-lead--xs {
    font-size: 1.125em;
  }
}
.c-lead--sm {
  font-size: 1.33em;
}
@media only screen and (max-width: 767px) {
  .c-lead--sm {
    font-size: 1.25em;
  }
}
.c-lead--md {
  font-size: 1.5em;
}
@media only screen and (max-width: 767px) {
  .c-lead--md {
    font-size: 1.33em;
  }
}
.c-lead--lg {
  font-size: 1.66em;
}
@media only screen and (max-width: 991px) {
  .c-lead--lg {
    font-size: 1.5em;
  }
}
@media only screen and (max-width: 767px) {
  .c-lead--lg {
    font-size: 1.33em;
  }
}
.c-lead--xl {
  font-size: 1.75em;
}
@media only screen and (max-width: 1199px) {
  .c-lead--xl {
    font-size: 1.66em;
  }
}
@media only screen and (max-width: 991px) {
  .c-lead--xl {
    font-size: 1.5em;
  }
}
@media only screen and (max-width: 767px) {
  .c-lead--xl {
    font-size: 1.33em;
  }
}
.c-lead--xxl {
  font-size: 2em;
}
@media only screen and (max-width: 1399px) {
  .c-lead--xxl {
    font-size: 1.75em;
  }
}
@media only screen and (max-width: 1199px) {
  .c-lead--xxl {
    font-size: 1.66em;
  }
}
@media only screen and (max-width: 991px) {
  .c-lead--xxl {
    font-size: 1.5em;
  }
}
@media only screen and (max-width: 767px) {
  .c-lead--xxl {
    font-size: 1.33em;
  }
}

[class*="c-lead--"]:first-child {
  margin-top: 0;
}

[class*="c-lead--"]:last-child {
  margin-bottom: 0;
}

.c-list {
  margin: 0;
  padding: 0;
}
.c-list__disc {
  list-style: disc;
}
.c-list__disc li {
  margin-left: 1.5em;
}
.c-list__disc li .kome {
  display: block;
}
.c-list__circle {
  list-style: none;
}
.c-list__circle > li {
  padding-left: 2em;
  display: flex;
  flex-flow: row wrap;
}
.c-list__circle > li:before {
  content: "\f111";
  font-family: "Font Awesome 5 Free";
  display: inline-block;
  width: 2em;
  margin-left: -2em;
  color: #99cad0;
  font-weight: 700;
  font-size: 10px;
  line-height: 32px;
}
@media only screen and (max-width: 767px) {
  .c-list__circle > li:before {
    line-height: 24px;
  }
}
.c-list__minus {
  list-style: none;
}
.c-list__minus > li {
  display: inline-block;
}
.c-list__minus > li:before {
  content: "-";
  display: inline-block;
  width: 1em;
  color: #212121;
  font-weight: 700;
}
.c-list__minus > li + li {
  margin-left: 1em;
}
.c-list__decimal {
  list-style: decimal;
}
.c-list__decimal li {
  margin-left: 1.5em;
}
.c-list__check {
  list-style: none;
}
.c-list__check li {
  padding-left: 2em;
}
.c-list__check li:before {
  content: "\f00c";
  font-family: "Font Awesome 5 Free";
  display: inline-block;
  width: 2em;
  margin-left: -2em;
  color: var(--maincolor);
  font-weight: 700;
}
.c-list__check--lg {
  list-style: none;
}
.c-list__check--lg li {
  font-size: 1.25em;
  font-weight: 700;
  padding-left: 2em;
}
.c-list__check--lg li:before {
  content: "\f00c";
  font-family: "Font Awesome 5 Free";
  display: inline-block;
  width: 2em;
  margin-left: -2em;
  color: var(--phonecolor);
  font-weight: 700;
}


.c-list__bracket {
  list-style: none;
  counter-reset: bracket;
}
.c-list__bracket > li {
  line-height: 1.5;
  padding-left: 3em;
}
.c-list__bracket > li p {
  margin-bottom: 0.33em;
}
.c-list__bracket > li:before {
  counter-increment: bracket;
  content: "（" counter(bracket) "）";
  text-align: center;
  display: inline-block;
  margin-left: -3em;
  width: 3em;
}
.c-list__bracket > li + li {
  margin-top: 1em;
}
.c-list__bracket > li p {
  margin: 0.5em 0 0.25em;
}

.c-kome {
  font-size: 0.9em;
  line-height: 1.5;
  padding-left: 1.5em;
}
.c-kome:before {
  content: "※";
  display: inline-block;
  width: 1.5em;
  margin-left: -1.5em;
}
.c-kome + .c-kome {
  margin-top: 0;
}
.c-kome__red {
  color: #dc3545;
  padding-left: 1.5em;
}
.c-kome__red:before {
  content: "※";
  display: inline-block;
  margin-left: -1.5em;
}

p.check,
div.check {
  padding-left: 2em;
}

p.check:before,
div.check:before {
  content: "\f14a";
  font-family: "Font Awesome 5 Free";
  display: inline-block;
  width: 2em;
  margin-left: -2em;
  color: var(--maincolor);
  font-weight: 700;
}

.check-large {
  margin: 0;
  padding: 0;
  list-style: none;
}

.check-large li {
  padding-left: 1.5em;
  font-size: 1.25em;
  font-weight: 700;
}

@media only screen and (max-width: 767px) {
  .check-large li {
    font-size: 1.125em;
  }
}
.check-large li:before {
  content: "\f00c";
  font-family: "Font Awesome 5 Free";
  display: inline-block;
  width: 1.5em;
  margin-left: -1.5em;
  color: #212121;
  font-weight: 700;
}

.checklist {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}

.checklist li {
  line-height: 1;
  display: inline-block;
  font-weight: 700;
  background-color: #fff;
  margin: 2px;
}

.checklist li:before {
  content: "\f00c";
  font-family: "Font Awesome 5 Free";
  display: inline-block;
  width: 1.5em;
  color: #0d81c3;
  font-weight: 700;
  text-align: left;
}

.c-box__flow--title {
  font-size: 1.25em;
  font-weight: 700;
}
.c-box__flow--horizontal {
  display: flex;
}
@media only screen and (max-width: 575px) {
  .c-box__flow--horizontal {
    display: block;
  }
}
.c-box__flow--horizontal .c-box__flow--article {
  padding: 1rem;
  position: relative;
  width: 100%;
  background-color: #fff;
  border: 1px solid var(--maincolor);
}
@media only screen and (max-width: 991px) {
  .c-box__flow--horizontal .c-box__flow--article {
    padding: 0.75rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-box__flow--horizontal .c-box__flow--article {
    padding: 0.5rem 0.25rem;
  }
}
.c-box__flow--horizontal .c-box__flow--article + .c-box__flow--article {
  margin: 0 0 0 2rem;
}
@media only screen and (max-width: 991px) {
  .c-box__flow--horizontal .c-box__flow--article + .c-box__flow--article {
    margin: 0 0 0 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-box__flow--horizontal .c-box__flow--article + .c-box__flow--article {
    margin: 0 0 0 1.25rem;
  }
}
@media only screen and (max-width: 575px) {
  .c-box__flow--horizontal .c-box__flow--article + .c-box__flow--article {
    margin: 1.25rem 0 0;
  }
}
.c-box__flow--horizontal .c-box__flow--article:after {
  content: "";
  border-style: solid;
  position: absolute;
  top: 50%;
  left: 100%;
  bottom: 50%;
  margin: -1.5rem 0;
  border-width: 1.5rem;
  border-color: transparent transparent transparent var(--maincolor);
  z-index: 2;
}
@media only screen and (max-width: 991px) {
  .c-box__flow--horizontal .c-box__flow--article:after {
    border-width: 1.25rem;
    margin: -1.25rem 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-box__flow--horizontal .c-box__flow--article:after {
    border-width: 1rem;
    margin: -1rem 0;
  }
}
@media only screen and (max-width: 575px) {
  .c-box__flow--horizontal .c-box__flow--article:after {
    border-width: 1rem;
    margin: 0 -1rem;
    top: 100%;
    left: 50%;
    right: 50%;
    bottom: auto;
    border-color: var(--maincolor) transparent transparent transparent;
  }
}
.c-box__flow--horizontal .c-box__flow--article:last-child:before,
.c-box__flow--horizontal .c-box__flow--article:last-child:after {
  display: none;
}
.c-box__flow--horizontal .c-box__flow--article h4 {
  color: var(--maincolor);
  font-weight: 700;
  font-size: 1.125em;
  margin: 0 0 0.5em;
  text-align: center;
}
.c-box__flow--horizontal .c-box__flow--article p {
  line-height: 1.75;
}
@media only screen and (max-width: 991px) {
  .c-box__flow--horizontal .c-box__flow--article p {
    font-size: 1em;
  }
}
@media only screen and (max-width: 767px) {
  .c-box__flow--horizontal .c-box__flow--article p {
    line-height: 1.5;
  }
}
.c-box__flow--horizontal .c-box__flow--article hr {
  margin: 14px 0;
}
.c-box__flow--horizontal .c-box__flow--article-inner {
  padding: 5rem 0;
}
@media only screen and (max-width: 767px) {
  .c-box__flow--horizontal .c-box__flow--article-inner {
    padding: 4vw 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-box__flow--horizontal .c-box__flow--article-inner {
    padding: 5vw 0;
  }
}
@media only screen and (max-width: 575px) {
  .c-box__flow--horizontal .c-box__flow--article-inner {
    padding: 50vw 0 10vw;
  }
}
.c-box__flow--icon {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0.5em auto;
  width: 4rem;
  height: 4rem;
  font-size: 2rem;
  line-height: 1;
  background: #fff;
  color: var(--maincolor);
  border-radius: 50%;
  border: 0.125rem solid var(--maincolor);
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-box__flow--icon {
    font-size: 1.5rem;
    width: 3rem;
    height: 3rem;
  }
}
.c-box__flow--step {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0.5em auto;
  width: 4rem;
  height: 4rem;
  font-size: 2rem;
  line-height: 1;
  background-color: var(--maincolor);
  color: #fff;
  border-radius: 50%;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-box__flow--step {
    font-size: 1.5rem;
    width: 3rem;
    height: 3rem;
  }
}
.c-box__flow--vertical .c-box__flow--article {
  background: linear-gradient(
    to right,
    rgba(255, 255, 255, 0) 0%,
    rgb(255, 255, 255) 40%,
    rgb(255, 255, 255) 60%,
    rgba(255, 255, 255, 0) 100%
  );
  border-top: 1px solid rgba(0, 0, 0, 0.33);
  border-bottom: 1px solid rgba(0, 0, 0, 0.33);
  border-top: none;
  padding: 0 1.5rem 0 0;
  position: relative;
  z-index: 1;
  display: table;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .c-box__flow--vertical .c-box__flow--article {
    padding: 0 1rem 0 0;
  }
}
@media only screen and (max-width: 575px) {
  .c-box__flow--vertical .c-box__flow--article {
    padding: 0;
  }
}
.c-box__flow--vertical .c-box__flow--article:before,
.c-box__flow--vertical .c-box__flow--article:after {
  border-width: 1.75rem 1.75rem 0 1.75rem;
  border-style: solid;
  margin: 0 -1.75rem;
  width: 0;
  height: 0;
  display: block;
  position: absolute;
  left: 50%;
  right: 50%;
  content: "";
}
@media only screen and (max-width: 767px) {
  .c-box__flow--vertical .c-box__flow--article:before,
  .c-box__flow--vertical .c-box__flow--article:after {
    border-width: 1.25rem 1.25rem 0 1.25rem;
  }
}
@media only screen and (max-width: 575px) {
  .c-box__flow--vertical .c-box__flow--article:before,
  .c-box__flow--vertical .c-box__flow--article:after {
    margin: 0 -1.25rem;
  }
}
.c-box__flow--vertical .c-box__flow--article:before {
  border-color: rgba(0, 0, 0, 0.33) transparent transparent;
  top: 0;
  z-index: 7;
}
.c-box__flow--vertical .c-box__flow--article:after {
  border-color: #fff transparent transparent;
  top: -1px;
  z-index: 8;
}
.c-box__flow--vertical .c-box__flow--article:first-child {
  border-top: 1px solid rgba(0, 0, 0, 0.33);
}
.c-box__flow--vertical .c-box__flow--article:first-child:before,
.c-box__flow--vertical .c-box__flow--article:first-child:after {
  display: none;
}
.c-box__flow--no,
.c-box__flow--notes {
  display: table-cell;
}
.c-box__flow--no {
  width: 4rem;
  vertical-align: middle;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .c-box__flow--no {
    width: 3rem;
  }
}
.c-box__flow--no span {
  color: rgba(0, 0, 0, 0.075);
  font-size: 7em;
  line-height: 0.75;
  font-weight: 700;
  margin-top: -0.5rem;
  padding: 0;
  display: flex;
  align-items: center;
  font-family: var(--subfont);
  width: 1em;
  justify-content: center;
}
@media only screen and (max-width: 767px) {
  .c-box__flow--no span {
    font-size: 3.5em;
    line-height: 1;
  }
}
.c-box__flow--no small {
  display: block;
  font-weight: 700;
  font-size: 15px;
  line-height: 18px;
}
@media only screen and (max-width: 767px) {
  .c-box__flow--no small {
    font-size: 10px;
    line-height: 12px;
  }
}
.c-box__flow--notes {
  padding: 3rem 0;
  padding-left: 3rem;
  vertical-align: top;
}
@media only screen and (max-width: 991px) {
  .c-box__flow--notes {
    padding: 2rem 0;
    padding-left: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-box__flow--notes {
    padding: 1rem 0;
    padding-left: 1rem;
  }
}
@media only screen and (max-width: 575px) {
  .c-box__flow--notes {
    padding: 1.2rem 0;
  }
}
.c-box__flow--notes .well {
  background: #fff;
  border: none;
  color: #212121;
}
.c-box__flow--notes h4 {
  border-left: 0.25rem solid var(--maincolor);
  color: var(--maincolor);
  font-size: 1.125em;
  margin-bottom: 0.66em;
  padding-left: 0.66em;
  font-weight: 500;
}
.c-box__flow--notes h5 {
  font-weight: 700;
  font-size: 1em;
  margin: 1.25em 0 0.75em;
  border-bottom: 1px dashed var(--maincolor);
  padding-bottom: 0.5em;
  color: var(--maincolor);
}
@media only screen and (max-width: 575px) {
  .c-box__flow--notes h5 {
    text-align: center;
  }
}
.c-box__flow--notes h5:first-child {
  margin-top: 0;
}
.c-box__flow--notes p {
  line-height: 1.75;
}
.c-box__flow--notes hr {
  margin: 0.5em 0;
  border-top: 1px dashed #ff9;
}
.c-box__flow--notes dl {
  display: table;
  width: 100%;
}
@media only screen and (max-width: 575px) {
  .c-box__flow--notes dl {
    display: block;
  }
}
.c-box__flow--notes dl dt,
.c-box__flow--notes dl dd {
  display: table-cell;
}
@media only screen and (max-width: 575px) {
  .c-box__flow--notes dl dt,
  .c-box__flow--notes dl dd {
    display: block;
  }
}
.c-box__flow--notes dl .fb-notes dt {
  width: 7em;
}
@media only screen and (max-width: 575px) {
  .c-box__flow--notes dl .fb-notes dt {
    margin-bottom: 1.25vw;
  }
}

.fb-vt .fb-ico {
  display: block;
  margin: 0.75rem auto;
  line-height: 6rem;
  font-size: 3rem;
  background: #fff;
  color: var(--maincolor);
  text-align: center;
  border-radius: 0.125rem;
}
@media only screen and (max-width: 767px) {
  .fb-vt .fb-ico {
    font-size: 2rem;
    line-height: 4.5rem;
  }
}

.fb-ico i {
  font-family: "Font Awesome 5 Free";
  color: inherit !important;
}

.fb-title {
  line-height: 1.5;
  text-align: center;
  margin-top: 1em;
}

.flow-img {
  padding: 0 5px;
}
@media only screen and (max-width: 1199px) {
  .flow-img {
    padding: 0;
  }
}
.flow-img span {
  position: absolute;
  top: 0;
  left: 0;
  background: #000;
  text-align: center;
  width: 2.5rem;
  font-size: 1.25rem;
  line-height: 2;
  color: #fff;
  font-weight: 700;
  display: block;
}

.flow-img + .flow-txt {
  flex: 1 1 75%;
  max-width: 75%;
  padding-left: 0.75rem;
}
@media only screen and (max-width: 991px) {
  .flow-img + .flow-txt {
    padding-left: 2vw;
  }
}
@media only screen and (max-width: 767px) {
  .flow-img + .flow-txt {
    flex: 1 1 66.6666666667%;
    max-width: 66.6666666667%;
    padding-left: 2.5vw;
  }
}
@media only screen and (max-width: 575px) {
  .flow-img + .flow-txt {
    max-width: 100%;
    padding-top: 5vw;
    padding-left: 0;
  }
}

/* contact,inquiry,entry,estimate */
.c-form__required,
.c-form__optional {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.c-form__required.justify-content-start,
.c-form__optional.justify-content-start {
  width: 7em;
  margin-bottom: 0.5em;
}
.c-form__required small,
.c-form__optional small {
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-form__required--image {
  margin-right: 0.25rem;
}
.c-form__required--image small {
  background-color: #dc3545;
  display: inline-block;
  text-align: center;
  vertical-align: middle;
  margin-top: -0.25rem;
}
.c-form__required small {
  background-color: #dc3545;
}
.c-form__optional small {
  background-color: #007bff;
}
.c-form__required--image small,
.c-form__required small,
.c-form__optional small {
  color: #fff;
  font-size: 0.5rem;
  line-height: 0.9rem;
  width: 1.75rem;
  height: 0.9rem;
}

.c-policy__administrator {
  border-top: 1px solid #ddd;
  margin-top: 3rem;
  padding-top: 3rem;
}
@media only screen and (max-width: 991px) {
  .c-policy__administrator {
    margin-top: 2rem;
    padding-top: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-policy__administrator {
    margin-top: 1rem;
    padding-top: 1rem;
  }
}
.c-policy__administrator--inner {
  display: flex;
  justify-content: flex-end;
  margin-top: 1rem;
}
/* form control */
.radio + .radio,
.checkbox + .checkbox {
  margin-top: 0.75rem;
}

.form-check-inline .radio + .radio,
.form-check-inline .checkbox + .checkbox {
  margin-top: 0;
}

.required-img img {
  width: 2rem;
  height: 0.9rem;
  vertical-align: middle;
  margin-right: 0.25em;
}

.pp-scroll {
  background-color: #fff;
  height: 12.5rem;
  overflow-y: scroll;
}

.pp-scroll a,
.pp-scroll a:hover,
.pp-scroll a:active,
.pp-scroll a:focus {
  color: #212121;
}

.pp-scroll a {
  text-decoration: underline;
}

.pp-scroll a:hover,
.pp-scroll a:active,
.pp-scroll a:focus {
  color: #212121;
  text-decoration: none;
}

.pp-scroll > *:last-child {
  padding-bottom: 1.125rem;
}

@media only screen and (max-width: 767px) {
  .pp-scroll *:last-child {
    padding-bottom: 0.8rem;
  }
}
.c-title__policy {
  padding-bottom: 0.75rem;
  border-bottom: 1px dotted #666;
  font-weight: 700;
  font-size: 1.125em;
  line-height: 1.125;
  margin: 2em 0 1em;
}

.reserve-total {
  display: flex;
  align-items: center;
}

@media only screen and (max-width: 575px) {
  .reserve-total {
    display: block;
  }
}
.reserve-total + .reserve-total {
  border-top: 1px dashed #ddd;
  margin-top: 0.5em;
  padding-top: 0.5em;
}

.reserve-total h4 {
  font-size: 1rem;
  font-weight: 700;
  margin-right: 1em;
}

@media only screen and (max-width: 575px) {
  .reserve-date {
    margin: 0.5em 0;
  }
}
input[type="checkbox"],
input[type="radio"] {
  vertical-align: middle;
}

.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"],
.radio input[type="radio"],
.radio-inline input[type="radio"] {
  margin-right: 0.5em;
}

.form-check-inline .checkbox input[type="checkbox"],
.form-check-inline .radio input[type="radio"] {
  margin-right: 0.5em;
  margin-top: 4px;
}

input {
  font-size: 100%;
  vertical-align: middle;
}

input[type="text"],
input[type="password"],
input[type="tel"],
input[type="email"],
.form-select,
textarea {
  border: 1px solid #ddd;
  border-radius: 0.25rem;
  line-height: normal;
}

input[type="text"]:focus,
input[type="text"]:focus-visible,
input[type="password"]:focus,
input[type="password"]:focus-visible,
input[type="tel"]:focus,
input[type="tel"]:focus-visible,
input[type="email"]:focus,
input[type="email"]:focus-visible,
.form-select:focus,
textarea:focus,
.form-select:focus-visible,
textarea:focus-visible {
  border: 1px solid var(--maincolor);
  box-shadow: none;
  outline: none;
}

input[type="text"],
input[type="password"],
input[type="tel"],
input[type="email"],
textarea {
  padding: 1rem;
}

@media only screen and (max-width: 767px) {
  input[type="text"],
  input[type="password"],
  input[type="tel"],
  input[type="email"],
  textarea {
    padding: 0.5rem;
  }
}
.form-select {
  padding: 0.5em 1em;
}

textarea {
  font-size: 1;
  width: 100%;
  height: 12.5rem;
}

input[type="text"]:focus,
input[type="password"]:focus,
textarea:focus,
.form-select:focus {
  background: #f5f5f5;
  border-color: var(--maincolor);
  box-shadow: none;
}

::-ms-input-placeholder {
  color: var(--maincolor);
}

:-ms-input-placeholder {
  color: var(--maincolor);
}

.required input[type="text"],
.required input[type="password"],
.required .form-select,
.required textarea {
  border: 1px solid #ffbaba;
  line-height: normal;
}

.required input[type="text"]:focus,
.required input[type="password"]:focus,
.required textarea:focus {
  background: #fff6f6;
  line-height: normal;
}

.form-control {
  background-color: #fff;
  color: inherit;
  border-radius: 0.25rem;
  border: 1px solid #ddd;
  font-size: inherit;
  line-height: normal;
  font-weight: normal;
  width: auto;
  height: 3rem;
  padding: 0.5em;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  display: block;
}

.form {
  width: 5em;
}

.form-sm {
  width: 6em;
}

.form-md {
  width: 50%;
  min-width: 15em;
}

.form-lg {
  width: 100%;
}

.form-xl {
  width: 100%;
}

.form-check {
  display: flex;
  align-items: center;
  padding-left: 2em;
  margin: 0.75rem 0;
}
@media only screen and (max-width: 767px) {
  .form-check {
    margin: 0.5rem 0;
  }
}

.form-check-label {
  line-height: 1.25em;
  white-space: nowrap;
}

.form-check .form-check-input {
  margin-left: -1.75em;
  margin-right: 0.5rem;
  margin-bottom: 0.25em;
}

.form-check-input {
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.25);
  margin-top: 4px;
  width: 1.25em;
  height: 1.25em;
  vertical-align: top;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  transition: background-color 0.15s ease-in-out,
    background-position 0.15s ease-in-out, border-color 0.15s ease-in-out,
    box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .form-check-input {
    transition: none;
  }
}
.form-check-input[type="checkbox"] {
  border-radius: 0.25em;
}

.form-check-input[type="radio"] {
  border-radius: 50%;
}

.form-check-input:active {
  filter: brightness(90%);
}

.form-check-input:focus {
  border-color: var(--maincolor);
  outline: 0;
  box-shadow: none;
}

.form-check-input:checked {
  background-color: var(--maincolor);
  border-color: var(--maincolor);
}

.form-check-input:checked[type="checkbox"] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23FFF' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
}

.form-check-input:checked[type="radio"] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23FFF'/%3e%3c/svg%3e");
}

.form-check-input[type="checkbox"]:indeterminate {
  background-color: var(--maincolor);
  border-color: var(--maincolor);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23FFF' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
}

.form-check-input:disabled {
  pointer-events: none;
  filter: none;
  opacity: 0.5;
}

.form-check-input[disabled] ~ .form-check-label,
.form-check-input:disabled ~ .form-check-label {
  opacity: 0.5;
}

.form-check-inline {
  display: inline-block;
  vertical-align: middle;
  margin-right: 1rem;
}

.was-validated .form-check-input:valid,
.form-check-input.is-valid {
  border-color: var(--maincolor);
}

.was-validated .form-check-input:valid:checked,
.form-check-input.is-valid:checked {
  background-color: var(--maincolor);
}

.was-validated .form-check-input:valid:focus,
.form-check-input.is-valid:focus {
  box-shadow: none;
}

.was-validated .form-check-input:valid ~ .form-check-label,
.form-check-input.is-valid ~ .form-check-label {
  color: var(--maincolor);
}

.form-check-inline .form-check-input ~ .valid-feedback {
  margin-left: 0.5em;
}

.was-validated .form-check-input:invalid,
.form-check-input.is-invalid {
  border-color: #dc3545;
}

.was-validated .form-check-input:invalid:checked,
.form-check-input.is-invalid:checked {
  background-color: #dc3545;
}

.was-validated .form-check-input:invalid:focus,
.form-check-input.is-invalid:focus {
  box-shadow: none;
}

.was-validated .form-check-input:invalid ~ .form-check-label,
.form-check-input.is-invalid ~ .form-check-label {
  color: #dc3545;
}

.form-check-inline .form-check-input ~ .invalid-feedback {
  margin-left: 0.5em;
}

.form-file {
  --bs-form-file-height: calc(1.5em + 0.75rem + 2px);
  position: relative;
}

.form-file-input {
  position: relative;
  z-index: 2;
  width: 100%;
  height: var(--bs-form-file-height);
  margin: 0;
  opacity: 0;
}

.form-file-input:focus-within ~ .form-file-label {
  border-color: var(--maincolor);
  box-shadow: none;
}

.form-file-input[disabled] ~ .form-file-label .form-file-text,
.form-file-input:disabled ~ .form-file-label .form-file-text {
  background-color: #e9ecef;
}

.form-file-label {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1;
  display: flex;
  height: var(--bs-form-file-height);
  border-color: #ced4da;
  border-radius: 0.25rem;
}

.form-file-text {
  display: block;
  flex-grow: 1;
  padding: 0.375rem 0.75rem;
  overflow: hidden;
  font-weight: 400;
  line-height: 1.5;
  color: #888;
  text-overflow: ellipsis;
  white-space: nowrap;
  background-color: #fff;
  border-color: inherit;
  border-style: solid;
  border-width: 1px;
  border-top-left-radius: inherit;
  border-bottom-left-radius: inherit;
}

.form-file-button {
  display: block;
  flex-shrink: 0;
  padding: 0.375rem 0.75rem;
  margin-left: -1px;
  line-height: 1.5;
  color: #495057;
  background-color: #e9ecef;
  border-color: inherit;
  border-style: solid;
  border-width: 1px;
  border-top-right-radius: inherit;
  border-bottom-right-radius: inherit;
}

.form-file-sm {
  --bs-form-file-height: calc(1.5em + 0.5rem + 2px);
  font-size: 0.875rem;
}

.form-file-sm .form-file-text,
.form-file-sm .form-file-button {
  padding: 0.25rem 0.5rem;
}

.form-file-lg {
  --bs-form-file-height: calc(1.5em + 1rem + 2px);
  font-size: 1.25rem;
}

.form-file-lg .form-file-text,
.form-file-lg .form-file-button {
  padding: 0.5rem 1rem;
}

.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}

.input-group > .form-control,
.input-group > .form-select,
.input-group > .form-file {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}

.input-group > .form-control:focus,
.input-group > .form-select:focus,
.input-group > .form-file .form-file-input:focus ~ .form-file-label {
  z-index: 3;
}

.input-group > .form-file > .form-file-input:focus {
  z-index: 4;
}

.input-group > .form-file:not(:last-child) > .form-file-label {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group > .form-file:not(:first-child) > .form-file-label {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.input-group .btn {
  position: relative;
  z-index: 2;
}

.input-group .btn:focus {
  z-index: 3;
}

.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  text-align: center;
  white-space: nowrap;
  background-color: #e9ecef;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
}

.input-group-lg > .form-control {
  min-height: calc(1.5em + 1rem + 2px);
}

.input-group-lg > .form-select {
  height: calc(1.5em + 1rem + 2px);
}

.input-group-lg > .form-control,
.input-group-lg > .form-select,
.input-group-lg > .input-group-text,
.input-group-lg > .btn {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  border-radius: 0.3rem;
}

.input-group-sm > .form-control {
  height: calc(1.5em + 0.5rem + 2px);
}

.input-group-sm > .form-select {
  height: calc(1.5em + 0.5rem + 2px);
}

.input-group-sm > .form-control,
.input-group-sm > .form-select,
.input-group-sm > .input-group-text,
.input-group-sm > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: 0.2rem;
  line-height: 1.25;
}

.input-group-lg > .form-select,
.input-group-sm > .form-select {
  padding-right: 1.75rem;
}

.input-group > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),
.input-group > .dropdown-toggle:nth-last-child(n + 3) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group > :not(:first-child):not(.dropdown-menu) {
  margin-left: -1px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.label-file {
  padding: 6.25rem 2.5rem;
  color: #fff;
  background-color: #384878;
  cursor: pointer;
}

.label-file input[type="file"] {
  display: none;
}

.label-file + p {
  margin: 0.75em 0 0 0;
}

/* privacy */
.privacy-index {
  list-style: none;
}

.privacy-index li:before {
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  display: inline-block;
  width: 1em;
}

.c-title__chapter {
  font-size: 1.25em;
  font-weight: 700;
  margin: 3rem 0 1rem;
}

.text-article {
  margin: 1rem 0 0.5rem;
}

.text-article strong {
  margin-right: 1em;
  font-weight: 800;
}

.c-title__chapter--bracket {
  list-style: none;
  counter-reset: bracket;
}
.c-title__chapter--bracket li {
  line-height: 1.5;
  padding-left: 3em;
}
.c-title__chapter--bracket li:before {
  counter-increment: bracket;
  content: "(" counter(bracket) ")";
  text-align: center;
  display: inline-block;
  margin-right: 0.5em;
  margin-left: -3em;
  width: 2.5em;
}
.c-title__chapter--bracket li + li {
  margin-top: 0.5rem;
}
@media only screen and (max-width: 767px) {
  .c-title__chapter--bracket li + li {
    margin-top: 0.25rem;
  }
}
.c-title__chapter--bracket strong {
  margin-right: 1em;
  font-weight: 800;
}

.section-purpose {
  counter-reset: purpose;
}

.tit-purpose {
  line-height: 1.5;
  padding-left: 3em;
  font-weight: 700;
  margin: 1rem 0 0.5rem;
}

.tit-purpose:before {
  counter-increment: purpose;
  content: "" counter(purpose) "";
  text-align: center;
  display: inline-block;
  margin-right: 0.75em;
  margin-left: -2em;
  line-height: 0.75;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 1.25rem;
  font-weight: 800;
  border: 2px solid #5b4b2d;
}

.tit-purpose + .disc {
  padding-left: 3rem;
}

.c-frame__line {
  border: 1px solid #ddd;
  padding: 1px;
  background-color: #fff;
}
.c-frame__line > img,
.c-frame__line a > img {
  width: 100%;
  height: auto;
}
.c-frame__mirror {
  position: relative;
}
.c-frame__mirror:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border: 10px solid rgba(255, 255, 255, 0.5);
}
@media only screen and (max-width: 767px) {
  .c-frame__mirror:after {
    border: 5px solid rgba(255, 255, 255, 0.5);
  }
}
.c-frame__mirror img {
  width: 100%;
  height: auto;
}
.c-frame__overlap {
  display: inline-block;
  position: relative;
}
.c-frame__overlap img {
  width: 100%;
  height: auto;
  box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.25);
  background-color: #fff;
  padding: 0.5rem;
  border-radius: 0.125rem;
  z-index: 3;
  position: relative;
  display: inline-block;
}
.c-frame__overlap:before,
.c-frame__overlap:after {
  content: "";
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
  background-color: #fff;
  padding: 0.25rem;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding-bottom: 33.3333333333%;
  width: 100%;
}
.c-frame__overlap:before {
  transform: rotate(4deg);
  z-index: 2;
}
.c-frame__overlap:after {
  transform: rotate(2deg);
  z-index: 1;
}
.c-frame__overlap-long {
  display: inline-block;
  position: relative;
}
.c-frame__overlap-long img {
  width: 100%;
  height: auto;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
  background-color: #fff;
  padding: 7px;
  border-radius: 2px;
  z-index: 3;
  position: relative;
  display: inline-block;
}
.c-frame__overlap-long:before,
.c-frame__overlap-long:after {
  content: "";
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
  background-color: #fff;
  padding: 5px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding-bottom: 33.3333333333%;
  width: 100%;
}
.c-frame__overlap-long:before {
  transform: rotate(2deg);
  z-index: 2;
}
.c-frame__overlap-long:after {
  transform: rotate(1deg);
  z-index: 1;
}
.c-frame__overlap-wrap {
  margin: 2rem 0;
}
.c-frame__polaroid {
  background-color: #fff;
  box-shadow: 0 0 0.5em rgba(0, 0, 0, 0.1);
  width: 100%;
  padding: 1.5rem;
}
@media screen and (max-width: 767px) {
  .c-frame__polaroid {
    padding: 0.5rem;
  }
}
.c-frame__polaroid p {
  text-align: center;
  line-height: 1.125;
  font-size: 0.9rem;
  padding: 0.25rem 0;
}
.c-frame__polaroid img {
  width: 100%;
  height: auto;
}
.c-frame__polaroid-rd {
  background-color: #fff;
  box-shadow: 0 0 0.5em rgba(0, 0, 0, 0.1);
  width: 100%;
  padding: 1rem;
  border-radius: 2rem;
}
@media screen and (max-width: 767px) {
  .c-frame__polaroid-rd {
    padding: 5px;
  }
}
.c-frame__polaroid-rd img {
  width: 100%;
  height: auto;
  position: relative;
  display: inline-block;
  border-radius: 22px;
}
.c-frame__with--pin {
  position: relative;
}
.c-frame__with--pin:before {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  right: 50%;
  z-index: 1;
  background: url(https://ycare-earth.jp/images/pin.png) center center/contain no-repeat;
  width: 2.5rem;
  height: 50px;
  margin: 0 -1.25rem;
  top: -2rem;
}
@media screen and (max-width: 767px) {
  .c-frame__with--pin:before {
    width: 20px;
    height: 25px;
    margin: 0 -10px;
    top: -1rem;
  }
}
.c-frame__with--tape {
  position: relative;
}
.c-frame__with--tape:before {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  right: 50%;
  z-index: 1;
  background: url(https://ycare-earth.jp/images/tape.png) center center/contain no-repeat;
  width: 100px;
  height: 31px;
  margin: 0 -50px;
  top: -13px;
}
@media screen and (max-width: 767px) {
  .c-frame__with--tape:before {
    width: 64px;
    height: 24px;
    margin: 0 -32px;
    top: -10px;
  }
}
.c-frame__note {
  width: 100%;
  background-color: #fff;
  color: #696969;
  border: solid 1px #e6e6e6;
  padding: 0.3em 2em 2em;
  box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.1);
  display: flex;
  flex-flow: row wrap;
}
@media only screen and (max-width: 767px) {
  .c-frame__note {
    padding: 0.3em 1em 2em;
  }
}
.c-frame__note--line {
  background-color: #fff;
  width: 100%;
  background-image: linear-gradient(
      90deg,
      rgba(237, 119, 128, 0) 0%,
      rgba(237, 119, 128, 0) 50%,
      #fff 0%,
      #fff 100%
    ),
    linear-gradient(
      180deg,
      rgba(100, 100, 100, 0) 0%,
      rgba(100, 100, 100, 0) 97.5%,
      #646464 100%
    );
  background-size: 8px 100%, 100% 2em;
  line-height: 2em;
  padding: 2em 0 0.2em;
}
@media only screen and (max-width: 767px) {
  .c-frame__note--line {
    line-height: 2.05em;
  }
}
.c-frame__note--line strong {
  display: block;
  color: var(--maincolor);
}
.c-frame__note--line span {
  display: inline-block;
  width: 5em;
}

.c-category__title {
  background-color: var(--maincolor);
  color: #fff;
  font-size: 1rem;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
  font-weight: 700;
  margin-bottom: 1px;
  padding: 1rem;
  pointer-events: none;
}
@media only screen and (max-width: 991px) {
  .c-category__title {
    pointer-events: all;
    display: block;
  }
}
.c-category__title .fa {
  display: none;
}
@media only screen and (max-width: 991px) {
  .c-category__title .fa {
    display: inline-block;
    margin-left: 1rem;
  }
}
.c-category__title + input[type="checkbox"] {
  display: none;
}
@media screen and (max-width: 991px) {
  .c-category__title + input[type="checkbox"]:checked + .c-category__list,
  .c-category__title + input[type="checkbox"]:checked + .c-category__list li {
    max-height: 9999vh;
  }
}
.c-category__list {
  list-style: none;
  display: flex;
  flex-flow: row wrap;
  gap: 10px;
}
@media screen and (max-width: 991px) {
  .c-category__list {
    flex: 1 1 100%;
    max-width: 100%;
  }
}
.c-category__list li {
  display: flex;
}
@media screen and (max-width: 991px) {
  .c-category__list li {
    padding: 0;
    flex: 1 1 100%;
    max-width: 100%;
  }
}
.c-category__list li a {
  font-weight: 500;
  width: 100%;
}
@media screen and (max-width: 991px) {
  .c-category__list li a {
    line-height: 0;
    padding: 0 1.5rem;
    visibility: hidden;
    opacity: 0;
  }
}
@media screen and (max-width: 575px) {
  .c-category__list li a {
    padding: 0 1rem;
  }
}
@media screen and (max-width: 991px) {
  .c-category__list,
  .c-category__list li,
  .c-category__list li a,
  input:checked + .c-category__list,
  input:checked + .c-category__list li,
  input:checked + .c-category__list li a {
    transition: padding 0.2s, line-height 0.2s, visibility 0.1s, opacity 0.1s;
  }
}

@media screen and (max-width: 991px) {
  input:checked + .c-category__list {
    list-style: none;
  }
  input:checked + .c-category__list li {
    border-bottom: 1px solid #ddd;
  }
  input:checked + .c-category__list li a {
    line-height: 1.25;
    padding: 1rem 1.5rem;
    visibility: visible;
    opacity: 1;
  }
}

@media screen and (max-width: 767px) {
  .c-category__link a,
  .c-category__link a:hover,
  .c-category__link a:active,
  .c-category__link a:focus {
    font-size: 2.25vw;
  }
  .c-category__item a,
  .c-category__item a:hover,
  .c-category__item a:active,
  .c-category__item a:focus {
    font-size: 2.25vw;
  }
  input:checked + .c-category__list li a {
    padding: 1.5vw 2.5vw;
  }
}
@media screen and (max-width: 575px) {
  .c-category__link a,
  .c-category__link a:hover,
  .c-category__link a:active,
  .c-category__link a:focus {
    font-size: 4vw;
  }
  .c-category__item a,
  .c-category__item a:hover,
  .c-category__item a:active,
  .c-category__item a:focus {
    font-size: 4vw;
  }
  input:checked + .c-category__list li a {
    padding: 3vw 5vw;
  }
}
.l-outer__main .c-category__title {
  display: none;
}
@media only screen and (max-width: 991px) {
  .l-outer__main .c-category__title {
    display: block;
    pointer-events: all;
  }
}
.l-outer__main .c-category__list {
  margin: -0.5px;
}
@media screen and (max-width: 991px) {
  .l-outer__main .c-category__list {
    margin: 0;
  }
}
.l-outer__main .c-category__list li {
  border-bottom: none;
  padding: 0.5px;
}
@media screen and (max-width: 991px) {
  .l-outer__main .c-category__list li {
    padding: 0;
  }
}
.l-outer__main .c-category__list li a {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 30px;
}
@media screen and (max-width: 991px) {
  .l-outer__main .c-category__list li a {
    border-radius: 0;
  }
}

.l-outer__side .c-category__title {
  display: block;
}
.l-outer__side .c-category__list {
  display: block;
}
.l-outer__side .c-category__list li {
  border-bottom: 1px solid #ddd;
}

.c-category__column1 li {
  flex: 1 1 100%;
  max-width: 100%;
}
.c-category__column2 li {
  flex: 1 1 50%;
  max-width: 50%;
}
.c-category__column3 li {
  flex: 1 1 33.3333333333%;
  max-width: 33.3333333333%;
}
.c-category__column4 li {
  flex: 1 1 25%;
  max-width: 25%;
}
.c-category__column5 li {
  flex: 1 1 20%;
  max-width: 19%;
}
.c-category__column6 li {
  flex: 1 1 16.6666666666%;
  max-width: 16.6666666666%;
}
@media screen and (min-width: 992px) and (max-width: 1199px) {
  .c-category__column--lg1 li {
    flex: 1 1 100%;
    max-width: 100%;
  }
  .c-category__column--lg2 li {
    flex: 1 1 50%;
    max-width: 50%;
  }
  .c-category__column--lg3 li {
    flex: 1 1 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .c-category__column--lg4 li {
    flex: 1 1 25%;
    max-width: 25%;
  }
  .c-category__column--lg5 li {
    flex: 1 1 20%;
    max-width: 20%;
  }
  .c-category__column--lg6 li {
    flex: 1 1 16.6666666666%;
    max-width: 16.6666666666%;
  }
}

@media screen and (max-width: 991px) {
  [class*="c-category__column"] {
    display: block;
  }
  [class*="c-category__column"] li {
    flex: 1 1 100%;
    max-width: 100%;
  }
}
.c-category__link a,
.c-category__link a:hover,
.c-category__link a:active,
.c-category__link a:focus {
  background: #000;
  color: #fff;
  font-size: 1em;
  line-height: 1.5;
  margin: 0;
  padding: 1em;
  display: flex;
  justify-content: space-between;
  width: 100%;
}
@media only screen and (max-width: 991px) {
  .c-category__link a,
  .c-category__link a:hover,
  .c-category__link a:active,
  .c-category__link a:focus {
    font-size: 1.75vw;
    padding: 1em;
  }
}
@media only screen and (max-width: 767px) {
  .c-category__link a,
  .c-category__link a:hover,
  .c-category__link a:active,
  .c-category__link a:focus {
    font-size: 0.3em;
    padding: 1em;
  }
}
.c-category__link.active a,
.c-category__link.active a:hover,
.c-category__link.active a:active,
.c-category__link.active a:focus {
  opacity: 1;
}

.c-category__item a,
.c-category__item a:hover,
.c-category__item a:active,
.c-category__item a:focus {
  background: var(--maincolor);
  color: #fff;
  border: none;
  border-bottom: 1px solid #999;
  font-size: 0.9em;
  line-height: 1.5;
  font-weight: 700;
  margin: 0;
  padding: 1rem 0.25rem;
  display: flex;
  justify-content: space-between;
  width: 100%;
  opacity: 0.75;
}
@media only screen and (max-width: 991px) {
  .c-category__item a,
  .c-category__item a:hover,
  .c-category__item a:active,
  .c-category__item a:focus {
    font-size: 1.75vw;
    padding: 2vw;
    background: #fff;
    color: #212121;
    border: none;
    opacity: 1;
  }
}
@media only screen and (max-width: 767px) {
  .c-category__item a,
  .c-category__item a:hover,
  .c-category__item a:active,
  .c-category__item a:focus {
    font-size: 2.25vw;
    padding: 2.5vw;
  }
}
@media only screen and (max-width: 575px) {
  .c-category__item a,
  .c-category__item a:hover,
  .c-category__item a:active,
  .c-category__item a:focus {
    font-size: 4vw;
    padding: 5vw;
  }
}
.c-category__item a:hover,
.c-category__item a:active,
.c-category__item a:focus {
  background: var(--maincolor);
  color: #fff;
  opacity: 0.9;
}
.c-category__item.active a,
.c-category__item.active a:hover,
.c-category__item.active a:active,
.c-category__item.active a:focus {
  background: var(--maincolor);
  color: #fff;
  opacity: 1;
}

.paging {
  display: flex;
  justify-content: center;
}
.paging .paging-text,
.paging .current {
  border: 1px solid #ddd;
  font-size: 1.125rem;
  font-weight: 700;
  text-decoration: none;
  margin: 0 0.125rem;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 3rem;
  height: 3rem;
}
@media screen and (max-width: 991px) {
  .paging .paging-text,
  .paging .current {
    font-size: 1rem;
    width: 2rem;
    height: 2rem;
  }
}
.paging .paging-text {
  background-color: #fff;
  color: #999;
  cursor: pointer;
}
.paging .paging-text:hover {
  background-color: #fff;
  color: var(--maincolor);
  border-color: var(--maincolor);
  opacity: 1;
}
.paging .current {
  background-color: var(--maincolor);
  color: #fff;
  border-color: var(--maincolor);
}

.js-pagetop {
  background: url(https://ycare-earth.jp/images/cmn/pagetop.png) center center/contain no-repeat;
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 999;
  width: 5rem;
  height: 5rem;
  opacity: 0;
  cursor: default;
  transition: 0.2s;
}
@media only screen and (max-width: 991px) {
  .js-pagetop {
    width: 2.25rem;
    height: 2.25rem;
    right: 0.25rem;
    bottom: 0.25rem;
  }
}
.js-pagetop.is-active {
  opacity: 1;
  transition: 0.6s;
  cursor: pointer;
}

/* layout */
.header {
  background: white;
  box-shadow: 0 0 0.75rem rgba(0, 0, 0, 0);
}
@media only screen and (min-width: 992px) {
  .header {
    height: 8rem;
  }
}
.header.js-scroll {
  background-color: rgb(255, 255, 255);
  box-shadow: 0 0 0.75rem rgba(0, 0, 0, 0.1);
}
.header__logo a img,
.header__logo a svg {
  vertical-align: top;
  height: auto;
}
@media only screen and (max-width: 1399px) {
  .header__logo a img,
  .header__logo a svg {
    height: 4rem;
    width: auto;
    max-width: 300px;
  }
}
@media only screen and (max-width: 1199px) {
  .header__logo a img,
  .header__logo a svg {
  }
}
@media only screen and (max-width: 991px) {
  .header__logo a img,
  .header__logo a svg {
    height: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .header__logo a img,
  .header__logo a svg {
    height: 2rem;
  }
}
.header__nav--navbar {
  display: flex;
  flex-flow: column wrap;
  justify-content: space-between;
  align-items: flex-end;
}
.header__nav--navbar-inner {
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-end;
  align-content: center;
}
.header__nav--navbar .navbar-nav .nav-item + .nav-item {
  margin-left: 2rem;
}
@media only screen and (max-width: 1399px) {
  .header__nav--navbar .navbar-nav .nav-item + .nav-item {
    margin-left: 1.25em;
  }
}
@media only screen and (max-width: 1199px) {
  .header__nav--navbar .navbar-nav .nav-item + .nav-item {
    margin-left: 1em;
  }
}
@media only screen and (max-width: 991px) {
  .header__nav--navbar .navbar-nav .nav-item + .nav-item {
    margin-left: 0;
  }
}
@media only screen and (max-width: 991px) {
  .header__nav--navbar
    .navbar-nav
    .nav-item.active
    .nav-link
    .l-header__nav--icon
    i.fa {
    color: #fff;
  }
}
.header__nav--navbar .navbar-nav .nav-item .nav-link {
  font-size: 1em;
  font-family: var(--font-round);
  font-weight: 500;
  padding: 0.75rem 0;
}
@media only screen and (max-width: 1399px) {
  -header__nav--navbar .navbar-nav .nav-item .nav-link {
    font-size: 0.9em;
  }
}
@media only screen and (max-width: 991px) {
  .header__nav--navbar .navbar-nav .nav-item .nav-link {
    background-color: #fff;
    color: var(--textcolor);
    display: flex;
    align-items: center;
    padding: 0.75rem 1.5rem;
  }
}
@media only screen and (max-width: 991px) {
  .header__nav--navbar .navbar-nav .nav-item .nav-link:hover,
  .header__nav--navbar .navbar-nav .nav-item .nav-link:active,
  .header__nav--navbar .navbar-nav .nav-item .nav-link:focus {
    background-color: var(--maincolor);
    color: #fff;
  }
}
@media only screen and (max-width: 991px) and (max-width: 991px) {
  .header__nav--navbar
    .navbar-nav
    .nav-item
    .nav-link:hover
    .l-header__nav--icon
    i.fa,
  .header__nav--navbar
    .navbar-nav
    .nav-item
    .nav-link:active
    .l-header__nav--icon
    i.fa,
  .header__nav--navbar
    .navbar-nav
    .nav-item
    .nav-link:focus
    .l-header__nav--icon
    i.fa {
    color: #fff;
  }
}
.header__nav--navbar .navbar-nav .nav-item .nav-link:after {
  content: "";
  border-bottom: 3px solid transparent;
  /*display: none; */
}
.header__nav--navbar .navbar-nav .nav-item .nav-link:hover:after,
.header__nav--navbar .navbar-nav .nav-item .nav-link:active:after,
.header__nav--navbar .navbar-nav .nav-item .nav-link:focus:after {
  content: "";
}
.header__nav--navbar .navbar-nav .nav-item.active > .nav-link,
.header__nav--navbar .navbar-nav .nav-item.active > .nav-link:hover,
.header__nav--navbar .navbar-nav .nav-item.active > .nav-link:active,
.header__nav--navbar .navbar-nav .nav-item.active > .nav-link:focus {
  opacity: 1;
}
@media only screen and (max-width: 991px) {
  .header__nav--navbar .navbar-nav .nav-item.active > .nav-link,
  .header__nav--navbar .navbar-nav .nav-item.active > .nav-link:hover,
  .header__nav--navbar .navbar-nav .nav-item.active > .nav-link:active,
  .header__nav--navbar .navbar-nav .nav-item.active > .nav-link:focus {
    background-color: var(--maincolor);
    color: #fff;
  }
}
.header__nav--navbar .navbar-nav .nav-item.active > .nav-link:after,
.header__nav--navbar .navbar-nav .nav-item.active > .nav-link:hover:after,
.header__nav--navbar .navbar-nav .nav-item.active > .nav-link:active:after,
.header__nav--navbar .navbar-nav .nav-item.active > .nav-link:focus:after {
  content: "";
  border-color: var(--maincolor);
}
.header__nav--call {
  font-size: 1.75em;
  line-height: 1;
  color: var(--maincolor);
}
.header__nav--call + .header__nav--call {
  margin-left: 2rem;
}
.header__nav--call span[data-action="call"] {
  font-weight: 600;
  color: var(--maincolor);
  font-family: var(--subfont);
}
@media only screen and (min-width: 992px) {
  .header__nav--contact {
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
  }
}

.js-scroll .navbar-expand-lg .navbar-nav .nav-link:hover:after,
.js-scroll .navbar-expand-lg .navbar-nav .nav-link:active:after,
.js-scroll .navbar-expand-lg .navbar-nav .nav-link:focus:after,
.js-scroll .navbar-expand-lg .navbar-nav .nav-item.active > .nav-link:after,
.js-scroll
  .navbar-expand-lg
  .navbar-nav
  .nav-item.active
  > .nav-link:hover:after,
.js-scroll
  .navbar-expand-lg
  .navbar-nav
  .nav-item.active
  > .nav-link:active:after,
.js-scroll
  .navbar-expand-lg
  .navbar-nav
  .nav-item.active
  > .nav-link:focus:after {
  border-color: var(--maincolor);
}

a.header__nav--post-mail {
  background-color: var(--maincolor);
  border-radius: 0.5rem;
  font-size: 1.125em;
  line-height: 1;
  margin: 0;
  padding: 1rem;
  width: 12rem;
  height: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 1399px) {
  a.header__nav--post-mail {
    font-size: 1em;
    width: 11rem;
  }
}
@media only screen and (max-width: 1199px) {
  a.header__nav--post-mail {
    width: 10rem;
  }
}
@media only screen and (max-width: 991px) {
  a.header__nav--post-mail {
    width: 9vw;
    height: 9vw;
    font-size: 1.5vw;
  }
}
@media only screen and (max-width: 767px) {
  a.header__nav--post-mail {
    width: 9vw;
    height: 9vw;
    font-size: 1.25vw;
  }
}
@media only screen and (max-width: 575px) {
  a.header__nav--post-mail {
    width: 16vw;
    height: 16vw;
    font-size: 2.5vw;
  }
}
a.header__nav--post-mail:hover,
a.header__nav--post-mail:active,
a.header__nav--post-mail:focus {
  opacity: 0.75;
  color: #fff;
}
a.header__nav--post-mail:before {
  content: "\f0e0";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: 0.33em;
  font-size: 1.125em;
  display: block;
}
a.header__nav--post-mail small {
  font-size: 0.5em;
  margin-top: 0.5em;
}

.p-input-group {
  background-color: var(--maincolor);
  padding: 1px;
  border-radius: 0.3rem;
}

.p-input-group-text {
  border-color: var(--maincolor);
}
.p-input-group-text + input {
  border-top-color: var(--maincolor);
  border-bottom-color: var(--maincolor);
}

.p-bgc__gradation {
  background: linear-gradient(
    to right,
    var(--gradstart) 50%,
    var(--gradend) 75%
  );
  border-top: 1px solid #fff;
}

[class*="wrap__container"] {
  padding: 0 2.5rem;
}
@media only screen and (max-width: 1399px) {
  [class*="wrap__container"] {
    padding: 0 2rem;
  }
}
@media only screen and (max-width: 991px) {
  [class*="wrap__container"] {
    padding: 0 1.5rem;
  }
}
@media only screen and (max-width: 575px) {
  [class*="wrap__container"] {
    padding: 0 1rem;
  }
}

.wrap__container-fluid {
  padding: 0 4rem;
}
@media only screen and (max-width: 1399px) {
  .wrap__container-fluid {
    padding: 0 4rem;
  }
}
@media only screen and (max-width: 991px) {
  .wrap__container-fluid {
    padding: 0 1.5rem;
  }
}
@media only screen and (max-width: 575px) {
  .wrap__container-fluid {
    padding: 0 1rem;
  }
}

.p-newspaper__scroll {
  padding: 0;
  padding-right: 2rem;
  height: 15rem;
}

.pagetitle .c-title strong {
  font-size: 3em;
}
@media only screen and (max-width: 991px) {
  .pagetitle .c-title strong {
    font-size: 2.5em;
  }
}
@media only screen and (max-width: 767px) {
  .pagetitle .c-title strong {
    font-size: 2em;
  }
}
.pagetitle .c-title small {
  font-size: 1.25em;
  line-height: 0.75;
  font-weight: 600;
  font-family: var(--subfont);
}
@media only screen and (max-width: 991px) {
  .pagetitle .c-title small {
    font-size: 1.125em;
  }
}
@media only screen and (max-width: 767px) {
  .pagetitle .c-title small {
    font-size: 1em;
  }
}

.pagetitle__image {
  background-color: var(--maincolor);
}
.pagetitle__image img {
  opacity: 0.75;
}

.title__index1 span {
  display: block;
}
.title__index1 .title__img {
  width: 5rem;
}
@media only screen and (max-width: 991px) {
  .title__index1 .title__img {
    width: 4.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .title__index1 .title__img {
    width: 3rem;
  }
}
.title__index1 .title__img img {
  width: 100%;
  height: auto;
}
.title__index1 .title__text {
  margin: 0 2rem;
}
@media only screen and (max-width: 991px) {
  .title__index1 .title__text {
    margin: 0 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .title__index1 .title__text {
    margin: 0 1rem;
  }
}
@media only screen and (max-width: 575px) {
  .title__index1 .title__text {
    margin: 0 0.5rem;
  }
}

.title__page1 span {
  display: block;
}
.title__page1 .title__img {
  width: 4.5rem;
}
@media only screen and (max-width: 991px) {
  .title__page1 .title__img {
    width: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .title__page1 .title__img {
    width: 2.25rem;
  }
}
.title__page1 .title__img img {
  width: 100%;
  height: auto;
}
.title__page1 .title__text {
  margin: 0 2rem;
}
@media only screen and (max-width: 991px) {
  .title__page1 .title__text {
    margin: 0 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .title__page1 .title__text {
    margin: 0 1rem;
  }
}
@media only screen and (max-width: 575px) {
  .title__page1 .title__text {
    margin: 0 0.5rem;
  }
}

.title__img-transparent {
  opacity: 0;
}

.p-box--lg {
  background-color: #fff;
  border: 3px solid var(--maincolor);
  border-radius: 1rem;
}
.p-box--lg .c-box__body {
  background-color: transparent;
}
.p-box--lg .c-box__body li {
  font-size: 1.125em;
  line-height: 1.5;
}
@media only screen and (max-width: 991px) {
  .p-box--lg .c-box__body li {
    font-size: 1em;
  }
}

.box__header {
  background-color: transparent;
  color: var(--maincolor);
  border-bottom: 2px dashed var(--maincolor);
  display: flex;
  justify-content: center;
  align-items: center;
}
.box__header .box__header--icon {
  width: 8rem;
}
@media only screen and (max-width: 991px) {
  .box__header .box__header--icon {
    width: 5rem;
  }
}
@media only screen and (max-width: 767px) {
  .box__header .box__header--icon {
    width: 2rem;
  }
}
.box__header .box__header--icon img {
  width: 100%;
  height: auto;
}
.box__header .box__header--text {
  text-align: left;
  margin-left: 2rem;
}
@media only screen and (max-width: 991px) {
  .box__header .box__header--text {
    margin-left: 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .box__header .box__header--text {
    margin-left: 1rem;
  }
}
@media only screen and (max-width: 575px) {
  .box__header .box__header--text {
    margin-left: 0.5rem;
  }
}

.box--md {
  background-color: #fff;
  border: 3px solid var(--maincolor);
  border-radius: 1rem;
}
.box--md .c-box__body {
  background-color: transparent;
}
.box--md .c-box__body + .c-box__body {
  border-top: 2px dashed var(--maincolor);
}

.box--sm {
  background-color: #fff;
  border: 3px solid var(--maincolor);
  border-radius: 1rem;
  overflow: hidden;
}
.box--sm .c-box__body {
  background-color: transparent;
}
.box--sm .c-box__body li {
  font-size: 1.125em;
  line-height: 1.5;
}
@media only screen and (max-width: 991px) {
  .box--sm .c-box__body li {
    font-size: 1em;
  }
}

.p-point {
  background-color: var(--maincolor);
  color: #fff;
  text-align: center;
  border-radius: 6rem;
  font-size: 1em;
  line-height: 1;
  font-weight: 900;
  margin: -1em auto -0.5em;
  padding: 0.4em 1em;
  width: 8em;
  position: relative;
  z-index: 1;
  flex: 1 1 100%;
}
.p-point:before {
  content: "Point";
  text-transform: uppercase;
}

.p-box__float {
  box-shadow: 0 0 0.75rem rgba(148, 188, 255, 0.75);
  border-radius: 1rem;
  overflow: hidden;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 991px) {
  .p-box__float {
    margin-bottom: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-box__float {
    margin-bottom: 1rem;
  }
}

.p-flow__gradation {
  list-style: none;
}
.p-flow__gradation li + li {
  margin-top: 10px;
}
@media only screen and (max-width: 767px) {
  .p-flow__gradation li + li {
    margin-top: 8px;
  }
}
.p-flow__gradation li strong {
  font-size: 1.25em;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .p-flow__gradation li strong {
    font-size: 1.125em;
  }
}
.p-flow__gradation li strong:before {
  border-radius: 40px;
  margin: 10px 20px 10px 0;
  width: 40px;
  height: 40px;
  display: block;
  content: "";
}
@media only screen and (max-width: 767px) {
  .p-flow__gradation li strong:before {
    border-radius: 32px;
    margin: 8px 16px 8px 0;
    width: 32px;
    height: 32px;
  }
}
.p-flow__gradation li:before,
.p-flow__gradation li:after {
  border-radius: 10px;
  width: 10px;
  height: 10px;
  margin: 0 15px;
  display: block;
  content: "";
}
@media only screen and (max-width: 767px) {
  .p-flow__gradation li:before,
  .p-flow__gradation li:after {
    border-radius: 8px;
    width: 8px;
    height: 8px;
    margin: 0 12px;
  }
}
.p-flow__gradation li:nth-of-type(1) strong:before {
  background-color: #63c2fe;
}
.p-flow__gradation li:nth-of-type(1):before {
  display: none;
}
.p-flow__gradation li:nth-of-type(1):after {
  background-color: #63c2fe;
}
.p-flow__gradation li:nth-of-type(2) strong:before {
  background-color: #2e97f8;
}
.p-flow__gradation li:nth-of-type(2):before {
  background-color: #2e97f8;
}
.p-flow__gradation li:nth-of-type(2):after {
  background-color: #2e97f8;
}
.p-flow__gradation li:nth-of-type(3) strong:before {
  background-color: #067dec;
}
.p-flow__gradation li:nth-of-type(3):before {
  background-color: #067dec;
}
.p-flow__gradation li:nth-of-type(3):after {
  background-color: #067dec;
}
.p-flow__gradation li:nth-of-type(4) strong:before {
  background-color: #0255e0;
}
.p-flow__gradation li:nth-of-type(4):before {
  background-color: #0255e0;
}
.p-flow__gradation li:nth-of-type(4):after {
  display: none;
}

.p-image__arrow--right,
.p-image__arrow--right:hover,
.p-image__arrow--right:active,
.p-image__arrow--right:focus {
  display: flex;
  justify-content: space-between;
}
.p-image__arrow--left:before {
  margin-right: 0.5em;
}
.p-image__arrow--right:after {
  background: url(https://ycare-earth.jp/images/cmn/button-arrow-right.png) center center/contain
    no-repeat;
  margin-left: 0.5em;
}
.p-image__arrow--down:after {
  margin-left: 0.5em;
}

[class*="p-image__arrow--"]:before,
[class*="p-image__arrow--"]:after {
  content: "";
  display: block;
  width: 12px;
  height: 14px;
}

.p-image__arrow--left-circle:before,
.p-image__arrow--right-circle:after,
.p-image__arrow--down-circle:after {
  font-weight: 900;
}

.footer {
  position: relative;
}
.footer__contact {
  padding: 6rem 0;
  position: relative;
}
@media only screen and (max-width: 1399px) {
  .footer__contact {
    padding: calc(6rem * 0.85) 0;
  }
}
@media only screen and (max-width: 1199px) {
  .footer__contact {
    padding: calc(6rem * 0.7) 0;
  }
}
@media only screen and (max-width: 991px) {
  .footer__contact {
    padding: calc(6rem * 0.55) 0;
  }
}
@media only screen and (max-width: 767px) {
  .footer__contact {
    padding: calc(6rem * 0.4) 0;
  }
}
@media only screen and (max-width: 575px) {
  .footer__contact {
    padding: calc(6rem * 0.25) 0;
  }
}
.footer__contact:before {
  opacity: 0.2;
}
.footer__contact span[data-action="call"] {
  color: var(--maincolor) !important;
  font-weight: 700;
  font-family: var(--subfont);
}

.icon__tel,
.icon__fax,
.icon__mobile {
  display: flex;
  align-items: center;
}
.footer__contact .c-phone--lg:before {
  color: var(--maincolor) !important;
  font-weight: 900;
}
.footer__contact .container-lg .c-title__index1 {
  margin-bottom: calc(4rem * 0.75);
}
.footer__contact .c-poster__ful img {
  opacity: 0.5;
}

.icon__mobile:before {
  content: "\f3cd";
}

.icon__tel:before {
  content: "\f879";
}

.footer__logo {
  font-family: var(--titlefont);
  margin-bottom: 2rem;
  font-size: 1.5em;
  line-height: 1.5;
}
@media only screen and (max-width: 991px) {
  .footer__logo {
    text-align: center;
  }
}
@media only screen and (max-width: 991px) {
  .footer__logo img {
    height: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .footer__logo img {
    height: 2.5rem;
  }
}
.footer__information {
  background-color: var(--maincolor);
  color: #fff;
}
@media only screen and (max-width: 991px) {
  .footer__information {
    padding-bottom: 0;
  }
}
.footer__information span[data-action="call"] {
  color: #fff !important;
}
@media only screen and (max-width: 991px) {
  .footer__location {
    justify-content: center;
  }
}
.footer__location--pzip {
  flex: 1 1 100%;
}
@media only screen and (max-width: 991px) {
  .footer__location--pzip {
    text-align: center;
  }
}
.footer__location--building {
  margin-left: 0.5em;
}
.footer__location--tel-freedial {
  display: flex;
}
@media only screen and (max-width: 991px) {
  .footer__location--tel-freedial {
    justify-content: center;
  }
}
.footer__location--tel-freedial:before {
  content: "";
  display: block;
  background: url(https://ycare-earth.jp/images/cmn/freedial-mark.png) left center/contain no-repeat;
  width: 34px;
  height: 20px;
  margin-right: 0.33em;
}
.footer__location--tel,
.footer__location--fax {
  flex: 0 0 auto;
}
.footer__location--tel + .footer__location--fax:before {
  content: "|　FAX.";
  margin: 0 0.33em 0 1em;
}
.footer__links {
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 991px) {
  .footer__links {
    justify-content: center;
  }
}
.footer__link {
  display: block;
  border: 1px solid #ddd;
}
.footer__link img {
  width: 10rem;
  height: auto;
}
@media only screen and (max-width: 575px) {
  .footer__link img {
    max-width: 7.5rem;
  }
}
.footer__link + .footer__link {
  margin-left: 1em;
}
.footer__textmap {
  padding: 0;
  display: flex;
}
.footer__textmap .l-footer__textmap--menu {
  line-height: 2;
}
.footer__textmap .footer__textmap--item {
  color: #fff;
}
.footer__textmap .footer__textmap--item:before {
  content: "-";
  color: #fff;
  font-weight: normal;
  width: 1em;
  display: inline-block;
  margin-left: 1em;
}
.footer__textmap .l-footer__textmap--link {
  color: #fff;
}
.footer__textmap .l-footer__textmap--vertical + .l-footer__textmap--vertical {
  margin-left: 4em;
}
@media only screen and (max-width: 1399px) {
  .footer__textmap .l-footer__textmap--vertical + .l-footer__textmap--vertical {
    margin-left: 3em;
  }
}
@media only screen and (max-width: 1199px) {
  .footer__textmap .l-footer__textmap--vertical + .l-footer__textmap--vertical {
    margin-left: 2em;
  }
}
.footer__wave--top,
.footer__wave--bottom {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 10;
}
.footer__wave--top svg,
.footer__wave--bottom svg {
  width: 100%;
  height: 6rem;
}
.footer__wave--top {
  top: 0;
}
.footer__wave--bottom {
  bottom: 0;
}

@media only screen and (min-width: 992px) {
  .c-poster__left + [class*="container"] .p-poster__floating-paper {
    padding-right: 0;
  }
  .c-poster__right + [class*="container"] .p-poster__floating-paper {
    padding-left: 0;
  }
  .c-poster__top + [class*="container"] .p-poster__floating-paper {
    padding-bottom: 0;
  }
  .c-poster__bottom + [class*="container"] .p-poster__floating-paper {
    padding-top: 0;
  }
}
.p-list__circle strong {
  padding-left: 1.5rem;
  display: block;
}
.p-list__circle strong span {
  display: inline-block;
  width: 1.5rem;
  margin-left: -1.5rem;
}

.box__header {
  text-transform: uppercase;
}
.box__header strong {
  font-size: 1em;
  font-weight: 400;
}
.box__header small {
  font-size: 0.66em;
  font-weight: 400;
}
.p-box__line {
  background-color: #fff;
  border-color: #666;
}
.p-box__line:before {
  content: "";
  width: 1px;
  position: absolute;
  width: 14rem;
  height: 14rem;
  transform: rotate(-45deg);
  border-bottom: 1px solid #666;
  top: -1rem;
  left: -10.898rem;
  transform-origin: left top;
}
@media only screen and (max-width: 991px) {
  .p-box__line:before {
    width: 10rem;
    height: 10rem;
    top: -0.75rem;
    left: -7.82rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-box__line:before {
    width: 6rem;
    height: 6rem;
    top: -0.5rem;
    left: -4.742rem;
  }
}
.p-box__line .box__header {
  font-size: 2.5em;
  padding: 2.5rem 3rem 0;
}
@media only screen and (max-width: 991px) {
  .p-box__line .box__header {
    font-size: 2em;
    padding: 1.5rem 2rem 0;
  }
}
@media only screen and (max-width: 767px) {
  .p-box__line .box__header {
    font-size: 1.5em;
    padding: 1rem 1rem 0;
  }
}
.p-box__line .box__header span {
  display: block;
  text-shadow: 0 0 0.5rem #fff;
  position: relative;
  z-index: 1;
}
.p-box__line .box__header small {
  text-align: left;
  letter-spacing: 0;
}
.p-box__line .c-box__body {
  background-color: transparent;
  padding-top: 2rem;
}
@media only screen and (max-width: 991px) {
  .p-box__line .c-box__body {
    padding-top: 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-box__line .c-box__body {
    padding-top: 1rem;
  }
}
.p-box__budget {
  display: flex;
  flex-flow: column wrap;
  justify-content: space-between;
}
.p-box__person {
  background: url(https://ycare-earth.jp/images/qualitative01a.png) right bottom no-repeat #fff;
}
@media only screen and (max-width: 991px) {
  .p-box__person {
    background-size: 75%;
  }
}
@media only screen and (max-width: 767px) {
  .p-box__person {
    background-size: 50%;
  }
}
.p-box__group {
  background: url(https://ycare-earth.jp/images/qualitative01b.png) right bottom no-repeat #fff;
}
@media only screen and (max-width: 991px) {
  .p-box__group {
    background-size: 75%;
  }
}
@media only screen and (max-width: 767px) {
  .p-box__group {
    background-size: 50%;
  }
}

.p-icon__method {
  font-size: 3rem;
  width: 6rem;
  height: 6rem;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  border: 2px solid #000;
  border-radius: 6rem;
  background-color: #fff;
}

.p-box__method--others {
  background-color: var(--graycolor);
  border-top: 2px solid #000;
  margin-top: 3rem;
  padding: 0 2rem 2rem;
  width: 100%;
}
@media only screen and (max-width: 991px) {
  .p-box__method--others {
    padding: 0 1.5rem 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-box__method--others {
    padding: 0 1rem 1rem;
  }
}
.p-box__method--others .p-icon__method {
  margin-top: -3rem;
}

.p-caption__method {
  margin-top: 1rem;
}
.p-caption__method strong {
  display: block;
  text-align: center;
  margin-bottom: 0.5rem;
  font-size: 1.25em;
}

.p-box__collapse {
  background-color: rgba(255, 255, 255, 0.75);
}

.p-bgc__business--support {
  background: url(https://ycare-earth.jp/images/business03.jpg) center top no-repeat;
}

.p-legend__columns {
  -moz-columns: 2 2em;
  columns: 2 2em;
  margin-top: 1rem;
}

.p-legend {
  font-size: 0.75em;
  line-height: 1.5;
  padding-left: 2.5em;
}
.p-legend + p {
  margin-top: 0;
}
.p-legend:before {
  content: "";
  display: inline-block;
  width: 2em;
  height: 1em;
  margin-right: 0.5em;
  margin-left: -2.5em;
}
.p-legend--color01:before {
  background-color: #2286aa;
}
.p-legend--color02:before {
  background-color: #73a63f;
}
.p-legend--color03:before {
  background-color: #693573;
}
.p-legend--color04:before {
  background-color: #c22929;
}
.p-legend--color05:before {
  background-color: #ec8313;
}
.p-legend--color06:before {
  background-color: #5c453d;
}
.p-legend--color07:before {
  background-color: #475285;
}
.p-legend--color08:before {
  background-color: #b82e5c;
}
.p-legend--color09:before {
  background-color: #ecbd13;
}
.p-legend--color10:before {
  background-color: #378174;
}
.p-legend--color11:before {
  background-color: #5a4681;
}
.p-legend--color12:before {
  background-color: #29848e;
}
.p-legend--color13:before {
  background-color: #468b46;
}
.p-legend--color14:before {
  background-color: #bdbdbd;
}

span[data-action="call"] {
  font-weight: 600;
  font-family: var(--subfont);
}

.telno:before {
  content: "TEL.";
  font-family: var(--subfont);
  font-weight: 600;
}

.c-button__link[data-action="call"] {
  letter-spacing: 0.1em;
  text-indent: 0.1em;
}

.footer__copyright--footer {
  padding: 1em 0;
}

.sample {
  background-color: inherit;
  color: inherit;
  font-size: inherit;
  line-height: normal;
  font-weight: normal;
  margin: 0;
  padding: 0;
}

[class*="c-box--"][class*="rounded--"] {
  overflow: hidden;
}

.box__header--in {
  border-bottom: 1px dashed var(--maincolor);
  font-family: var(--font-round);
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  display: flex;
  flex-flow: column wrap;
}
.box__header--in small {
  font-size: 1em;
  line-height: 1;
  font-weight: 700;
}
.box__header--in strong {
  font-size: 1.5em;
  line-height: 1;
  font-weight: 700;
}
.box__header--in small + strong {
  margin-top: 0.5rem;
}

.decoration__left--top,
.decoration__left--bottom {
  position: absolute;
  left: 2.5rem;
}
@media only screen and (max-width: 1399px) {
  .decoration__left--top,
  .decoration__left--bottom {
    left: -7.5rem;
  }
}
@media only screen and (max-width: 991px) {
  .decoration__left--top,
  .decoration__left--bottom {
    left: -5rem;
  }
}
@media only screen and (max-width: 767px) {
  .decoration__left--top,
  .decoration__left--bottom {
    left: -2.5rem;
  }
}
.decoration__left--top img,
.decoration__left--bottom img {
  max-width: 550px;
  height: auto;
}
@media only screen and (max-width: 1199px) {
  .decoration__left--top img,
  .decoration__left--bottom img {
    max-width: 450px;
  }
}
@media only screen and (max-width: 991px) {
  .decoration__left--top img,
  .decoration__left--bottom img {
    max-width: 300px;
  }
}
@media only screen and (max-width: 767px) {
  .decoration__left--top img,
  .decoration__left--bottom img {
    max-width: 80px;
  }
}
.decoration__left--top {
  top: 2.5em;
}
@media only screen and (max-width: 1399px) {
  .decoration__left--top {
    top: 2em;
  }
}
@media only screen and (max-width: 991px) {
  .decoration__left--top {
    top: 1.5em;
  }
}
@media only screen and (max-width: 767px) {
  .decoration__left--top {
    top: 1em;
  }
}
.decoration__left--bottom {
  bottom: 2.5rem;
}
@media only screen and (max-width: 1399px) {
  .decoration__left--bottom {
    bottom: 2rem;
  }
}
@media only screen and (max-width: 991px) {
  .decoration__left--bottom {
    bottom: 1.5em;
  }
}
@media only screen and (max-width: 767px) {
  .decoration__left--bottom {
    bottom: 1em;
  }
}
.decoration__right--top,
.decoration__right--bottom {
  position: absolute;
  right: 2.5rem;
}
@media only screen and (max-width: 1399px) {
  .decoration__right--top,
  .d-print-inline {
    right: -7.5rem;
  }
}
@media only screen and (max-width: 991px) {
  .decoration__right--top,
  .decoration__right--bottom {
    right: -5rem;
  }
}
@media only screen and (max-width: 767px) {
  .decoration__right--top,
  .decoration__right--bottom {
    right: -2.5rem;
  }
}
.decoration__right--top img,
.decoration__right--bottom img {
  max-width: 550px;
  height: auto;
}
@media only screen and (max-width: 1199px) {
  .decoration__right--top img,
  .decoration__right--bottom img {
    max-width: 450px;
  }
}
@media only screen and (max-width: 991px) {
  .decoration__right--top img,
  .decoration__right--bottom img {
    max-width: 300px;
  }
}
@media only screen and (max-width: 767px) {
  .decoration__right--top img,
  .decoration__right--bottom img {
    max-width: 150px;
  }
}
.decoration__right--top {
  top: 2.5em;
}
@media only screen and (max-width: 1399px) {
  .decoration__right--top {
    top: 2em;
  }
}
@media only screen and (max-width: 991px) {
  .decoration__right--top {
    top: 1.5em;
  }
}
@media only screen and (max-width: 767px) {
  .decoration__right--top {
    top: 1em;
  }
}
.decoration__right--bottom {
  bottom: 2.5rem;
}
@media only screen and (max-width: 1399px) {
  .decoration__right--bottom {
    bottom: 2rem;
  }
}
@media only screen and (max-width: 991px) {
  .decoration__right--bottom {
    bottom: 1.5em;
  }
}
@media only screen and (max-width: 767px) {
  .decoration__right--bottom {
    bottom: 1em;
  }
}

.contact__box {
  background-color: #fff;
  border-radius: 3rem;
  padding: 4rem;
  position: relative;
}
@media only screen and (max-width: 1399px) {
  .contact__box {
    border-radius: 2.5rem;
    padding: 4rem;
  }
}
@media only screen and (max-width: 1199px) {
  .contact__box {
    border-radius: 2rem;
    padding: 3rem;
  }
}
@media only screen and (max-width: 991px) {
  .contact__box {
    border-radius: 1.5rem;
    padding: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .contact__box {
    border-radius: 1rem;
    padding: 1rem;
  }
}
.contact__box:before,
.contact__box:after {
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  width: 14rem;
  height: 14rem;
  position: absolute;
  z-index: 1;
  content: "";
}
@media only screen and (max-width: 1399px) {
  .contact__box:before,
  .contact__box:after {
    width: 12rem;
    height: 12rem;
  }
}
@media only screen and (max-width: 1199px) {
  .contact__box:before,
  .contact__box:after {
    width: 9rem;
    height: 9rem;
  }
}
@media only screen and (max-width: 991px) {
  .contact__box:before,
  .contact__box:after {
    width: 6rem;
    height: 6rem;
  }
}
@media only screen and (max-width: 767px) {
  .contact__box:before,
  .contact__box:after {
    width: 4.5rem;
    height: 4.5rem;
  }
}
@media only screen and (max-width: 575px) {
  .contact__box:before,
  .contact__box:after {
    width: 3rem;
    height: 3rem;
  }
}
.contact__box:before {
  background-image: url(https://ycare-earth.jp/images/cmn/footer-deco-leaves.png);
  top: -4.5rem;
  right: -4.5rem;
}
@media only screen and (max-width: 1399px) {
  .contact__box:before {
    top: -3rem;
    right: -3rem;
  }
}
@media only screen and (max-width: 1199px) {
  .contact__box:before {
    top: -2rem;
    right: -2rem;
  }
}
@media only screen and (max-width: 991px) {
  .contact__box:before {
    top: -1.5rem;
    right: -1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .contact__box:before {
    top: -1.5rem;
    right: -1.5rem;
  }
}
@media only screen and (max-width: 575px) {
  .contact__box:before {
    top: -0.75rem;
    right: -0.75rem;
  }
}
.contact__box:after {
  background-image: url(https://ycare-earth.jp/images/cmn/footer-deco-leaves2.png);
  left: -4.5rem;
  bottom: -4.5rem;
}
@media only screen and (max-width: 1399px) {
  .contact__box:after {
    left: -3rem;
    bottom: -3rem;
  }
}
@media only screen and (max-width: 1199px) {
  .contact__box:after {
    left: -2rem;
    bottom: -2rem;
  }
}
@media only screen and (max-width: 991px) {
  .contact__box:after {
    left: -1.5rem;
    bottom: -1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .contact__box:after {
    left: -1.5rem;
    bottom: -1.5rem;
  }
}
@media only screen and (max-width: 575px) {
  .contact__box:after {
    left: -0.75rem;
    bottom: -0.75rem;
  }
}

.p-box--between {
  display: flex;
  flex-flow: column wrap;
  justify-content: space-between;
}

@media only screen and (max-width: 575px) {
  .p-table__break--xs tr {
    display: flex;
    flex-flow: row wrap;
  }
  .p-table__break--xs th {
    flex: 1 1 100%;
    text-align: center;
  }
  .p-table__break--xs td {
    flex: 1 1 50%;
  }
}

.success-text strong {
  font-size: 48px;
}

@media only screen and (max-width: 991px) {
  .success-text strong {
    font-size: 30px;
  }
}

.success-text a {
  margin-top: 30px;
  width: fit-content;
  margin-inline: auto;
}

.success-text a:hover {
  width: fit-content;
}
