@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;700&family=BIZ+UDGothic:wght@400;700&family=Noto+Sans+JP:wght@900&family=Yuji+Syuku:wght@400&family=Oswald:wght@400&family=Gloria+Hallelujah:wght@400&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@500;700&display=swap");
:root {
  --textcolor:#212121;
  --maincolor:#AF9288;
  --subcolor:#82B9E3;
  --palecolor:#DEECF8;
  --deepcolor:#956C5E;
  --hovercolor:#009CD8;
  --accentcolor:#F59F66;
  --phonecolor:#00A02C;
  --faxmilicolor:#1FB783;
  --gradstart:#2497F0;
  --gradend:#189BAA;
  --gradend:#364CBA;
  --gradstart2:#2497F0;
  --gradend2:#364CBA;
  --newscolor:#DC3545;
  --redcolor:#DC3545;
  --graycolor:#F5F5F5;
  --beigecolor:#FCF8E2;
  --aicolor:#EF3E79;
  --nobudocolor:#69B21F;
  --font-round:"Zen Maru Gothic",sans-serif;
  --font-serif:"Shippori Mincho B1",serif;
  --font-yakuhan:"Roboto","YakuHanJP","Noto Sans JP",sans-serif;
  --font-slab:"Roboto Slab",sans-serif;
  --font-rubik:"Rubik",sans-serif;
  --font-oswald:"Oswald",sans-serif;
  --font-phone:"Zen Maru Gothic",sans-serif;
  --font-handwriting:"Gloria Hallelujah",sans-serif;
  --rate-xxl: 1;
  --rate-xl: .85;
  --rate-lg: .7;
  --rate-md: .55;
  --rate-sm: .4;
  --rate-xs: .25;
  --heading-padding:.5625;
  --heading-margin:.75;
  --heading-padding-sm:.25;
  --heading-margin-sm:.5;
  --section-padding:6rem;
  --clearance-padding:calc(var(--section-padding) * var(--rate-xxl));
  --clearance-padding-xs:calc(var(--section-padding) / 3 * var(--rate-xxl));
  --clearance-padding-sm:calc(var(--section-padding) / 2 * var(--rate-xxl));
  --clearance-padding-md:calc(var(--section-padding) / 3 * 2 * var(--rate-xxl));
  --clearance-padding-lg:calc(var(--section-padding) * 1.5 * var(--rate-xxl));
  --clearance-padding-xl:calc(var(--section-padding) * 2 * var(--rate-xxl));
  --section-margin:6rem;
  --devider-margin:calc(var(--section-padding) * var(--rate-xxl));
  --devider-margin-xs:calc(var(--section-margin) / 3 * var(--rate-xxl));
  --devider-margin-sm:calc(var(--section-margin) / 2 * var(--rate-xxl));
  --devider-margin-md:calc(var(--section-margin) / 3 * 2 * var(--rate-xxl));
  --devider-margin-lg:calc(var(--section-margin) * 1.5 * var(--rate-xxl));
  --devider-margin-lg:calc(var(--section-margin) * 2 * var(--rate-xxl));
  --box-padding:3rem;
  --poster-padding:calc(var(--box-padding) * var(--rate-xxl));
  --poster-padding-xs:calc(var(--box-padding) / 3 * var(--rate-xxl));
  --poster-padding-sm:calc(var(--box-padding) / 2 * var(--rate-xxl));
  --poster-padding-md:calc(var(--box-padding) / 3 * 2 * var(--rate-xxl));
  --poster-padding-lg:calc(var(--box-padding) * 1.5 * var(--rate-xxl));
  --poster-padding-xl:calc(var(--box-padding) * 2 * var(--rate-xxl));
  --header-height: 12.5rem;
}

@media only screen and (max-width: 1399px) {
  :root {
    --clearance-padding:calc(var(--section-padding) * var(--rate-xl));
    --clearance-padding-xs:calc(var(--section-padding) / 3 * var(--rate-xl));
    --clearance-padding-sm:calc(var(--section-padding) / 2 * var(--rate-xl));
    --clearance-padding-md:calc(var(--section-padding) / 3 * 2 * var(--rate-xl));
    --clearance-padding-lg:calc(var(--section-padding) * 1.5 * var(--rate-xl));
    --clearance-padding-xl:calc(var(--section-padding) * 2 * var(--rate-xl));
    --devider-margin:calc(var(--section-margin) * var(--rate-xl));
    --devider-margin-xs:calc(var(--section-margin) / 3 * var(--rate-xl));
    --devider-margin-sm:calc(var(--section-margin) / 2 * var(--rate-xl));
    --devider-margin-md:calc(var(--section-margin) / 3 * 2 * var(--rate-xl));
    --devider-margin-lg:calc(var(--section-margin) * 1.5 * var(--rate-xl));
    --devider-margin-xl:calc(var(--section-margin) * 2 * var(--rate-xl));
    --poster-padding:calc(var(--box-padding) * var(--rate-xl));
    --poster-padding-xs:calc(var(--box-padding) / 3 * var(--rate-xl));
    --poster-padding-sm:calc(var(--box-padding) / 2 * var(--rate-xl));
    --poster-padding-md:calc(var(--box-padding) / 3 * 2 * var(--rate-xl));
    --poster-padding-lg:calc(var(--box-padding) * 1.5 * var(--rate-xl));
    --poster-padding-xl:calc(var(--box-padding) * 2 * var(--rate-xl));
    --header-height:12.5rem;
  }
}
@media only screen and (max-width: 1199px) {
  :root {
    --clearance-padding:calc(var(--section-padding) * var(--rate-lg));
    --clearance-padding-xs:calc(var(--section-padding) / 3 * var(--rate-lg));
    --clearance-padding-sm:calc(var(--section-padding) / 2 * var(--rate-lg));
    --clearance-padding-md:calc(var(--section-padding) / 3 * 2 * var(--rate-lg));
    --clearance-padding-lg:calc(var(--section-padding) * 1.5 * var(--rate-lg));
    --clearance-padding-xl:calc(var(--section-padding) * 2 * var(--rate-lg));
    --devider-margin:calc(var(--section-margin) * var(--rate-lg));
    --devider-margin-xs:calc(var(--section-margin) / 3 * var(--rate-lg));
    --devider-margin-sm:calc(var(--section-margin) / 2 * var(--rate-lg));
    --devider-margin-md:calc(var(--section-margin) / 3 * 2 * var(--rate-lg));
    --devider-margin-lg:calc(var(--section-margin) * 1.5 * var(--rate-lg));
    --devider-margin-xl:calc(var(--section-margin) * 2 * var(--rate-lg));
    --poster-padding:calc(var(--box-padding) * var(--rate-lg));
    --poster-padding-xs:calc(var(--box-padding) / 3 * var(--rate-lg));
    --poster-padding-sm:calc(var(--box-padding) / 2 * var(--rate-lg));
    --poster-padding-md:calc(var(--box-padding) / 3 * 2 * var(--rate-lg));
    --poster-padding-lg:calc(var(--box-padding) * 1.5 * var(--rate-lg));
    --poster-padding-xl:calc(var(--box-padding) * 2 * var(--rate-lg));
    --header-height:12.5rem;
  }
}
@media only screen and (max-width: 991px) {
  :root {
    --clearance-padding:calc(var(--section-padding) * var(--rate-md));
    --clearance-padding-xs:calc(var(--section-padding) / 3 * var(--rate-md));
    --clearance-padding-sm:calc(var(--section-padding) / 2 * var(--rate-md));
    --clearance-padding-md:calc(var(--section-padding) / 3 * 2 * var(--rate-md));
    --clearance-padding-lg:calc(var(--section-padding) * 1.5 * var(--rate-md));
    --clearance-padding-xl:calc(var(--section-padding) * 2 * var(--rate-md));
    --devider-margin:calc(var(--section-margin) * var(--rate-md));
    --devider-margin-xs:calc(var(--section-margin) / 3 * var(--rate-md));
    --devider-margin-sm:calc(var(--section-margin) / 2 * var(--rate-md));
    --devider-margin-md:calc(var(--section-margin) / 3 * 2 * var(--rate-md));
    --devider-margin-lg:calc(var(--section-margin) * 1.5 * var(--rate-md));
    --devider-margin-xl:calc(var(--section-margin) * 2 * var(--rate-md));
    --poster-padding:calc(var(--box-padding) * var(--rate-md));
    --poster-padding-xs:calc(var(--box-padding) / 3 * var(--rate-md));
    --poster-padding-sm:calc(var(--box-padding) / 2 * var(--rate-md));
    --poster-padding-md:calc(var(--box-padding) / 3 * 2 * var(--rate-md));
    --poster-padding-lg:calc(var(--box-padding) * 1.5 * var(--rate-md));
    --poster-padding-xl:calc(var(--box-padding) * 2 * var(--rate-md));
    --header-height:9vw;
  }
}
@media only screen and (max-width: 767px) {
  :root {
    --clearance-padding:calc(var(--section-padding) * var(--rate-sm));
    --clearance-padding-xs:calc(var(--section-padding) / 3 * var(--rate-sm));
    --clearance-padding-sm:calc(var(--section-padding) / 2 * var(--rate-sm));
    --clearance-padding-md:calc(var(--section-padding) / 3 * 2 * var(--rate-sm));
    --clearance-padding-lg:calc(var(--section-padding) * 1.5 * var(--rate-sm));
    --clearance-padding-xl:calc(var(--section-padding) * 2 * var(--rate-sm));
    --devider-margin:calc(var(--section-margin) * var(--rate-sm));
    --devider-margin-xs:calc(var(--section-margin) / 3 * var(--rate-sm));
    --devider-margin-sm:calc(var(--section-margin) / 2 * var(--rate-sm));
    --devider-margin-md:calc(var(--section-margin) / 3 * 2 * var(--rate-sm));
    --devider-margin-lg:calc(var(--section-margin) * 1.5 * var(--rate-sm));
    --devider-margin-xl:calc(var(--section-margin) * 2 * var(--rate-sm));
    --poster-padding:calc(var(--box-padding) * var(--rate-sm));
    --poster-padding-xs:calc(var(--box-padding) / 3 * var(--rate-sm));
    --poster-padding-sm:calc(var(--box-padding) / 2 * var(--rate-sm));
    --poster-padding-md:calc(var(--box-padding) / 3 * 2 * var(--rate-sm));
    --poster-padding-lg:calc(var(--box-padding) * 1.5 * var(--rate-sm));
    --poster-padding-xl:calc(var(--box-padding) * 2 * var(--rate-sm));
  }
}
@media only screen and (max-width: 575px) {
  :root {
    --poster-padding:calc(var(--box-padding) * var(--rate-xs));
    --poster-padding-xs:calc(var(--box-padding) / 3 * var(--rate-xs));
    --poster-padding-sm:calc(var(--box-padding) / 2 * var(--rate-xs));
    --poster-padding-md:calc(var(--box-padding) / 3 * 2 * var(--rate-xs));
    --poster-padding-lg:calc(var(--box-padding) * 1.5 * var(--rate-xs));
    --poster-padding-xl:calc(var(--box-padding) * 2 * var(--rate-xs));
    --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 {
    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 {
  margin: 0;
  color: var(--textcolor);
}

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.15;
  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;
}

hr {
  background-color: transparent;
  border-top: 1px solid #DDD;
  opacity: 1;
}

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);
}

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

@media only screen and (min-width: 1200px) {
  .container-lg {
    max-width: 1200px;
  }
}
@media only screen and (min-width: 1400px) {
  .container-lg {
    max-width: 1400px;
  }
}

/* .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;
}
.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 {
  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 .container-fluid {
    overflow-y: overlay;
  }
  #navbar .container-fluid::-webkit-scrollbar {
    width: 16px;
  }
}

body, input, select, textarea {
  font-size: 1em;
  line-height: 2;
  font-family: "Zen Maru Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, sans-serif;
}
@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;
  max-width: 2560px;
  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: inherit;
}

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] {
  white-space: nowrap;
}

button {
  cursor: pointer;
}

.html {
  word-break: break-all;
  word-wrap: break-word;
  overflow-wrap: break-word;
  color: var(--textcolor);
}

.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 Pro";
  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 Pro";
  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 Pro";
  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;
}

/* 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 Pro";
  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*=u-icon__]:before {
  font-family: "Font Awesome 5 Pro";
  margin-right: 0.33em;
  font-weight: 900;
}

.u-icon__tel, .u-icon__fax {
  display: flex;
  align-items: center;
}
.u-icon__tel:before, .u-icon__fax:before {
  display: block;
}
.u-icon__tel--square-white, .u-icon__tel--square-black, .u-icon__tel--circle-white, .u-icon__tel--circle-black, .u-icon__fax--square-white, .u-icon__fax--square-black, .u-icon__fax--circle-white, .u-icon__fax--circle-black {
  display: flex;
  align-items: center;
}
.u-icon__tel--square-white:before, .u-icon__tel--square-black:before, .u-icon__tel--circle-white:before, .u-icon__tel--circle-black:before, .u-icon__fax--square-white:before, .u-icon__fax--square-black:before, .u-icon__fax--circle-white:before, .u-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;
}

.l-header {
  background-color: rgba(255, 255, 255, 0);
  box-shadow: 0 0 0.75rem rgba(0, 0, 0, 0);
  line-height: 1;
  padding: 0;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: var(--header-height);
  transition: top 0.3s;
}
.l-header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-flow: row wrap;
  height: var(--header-height);
  position: relative;
}
@media only screen and (max-width: 991px) {
  .l-header__inner {
    padding: 0;
    flex-wrap: nowrap;
  }
}
.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;
  padding: 1.75rem 0;
}
.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 {
    height: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .l-header__logo a img, .l-header__logo a svg {
    height: 2rem;
  }
}
.l-header__nav {
  flex: 0 0 100%;
  max-width: 100%;
  position: relative;
}
@media only screen and (max-width: 991px) {
  .l-header__nav {
    height: var(--header-height);
    position: fixed;
    top: 0;
    right: 0;
  }
}
.l-header__nav--icon {
  display: block;
  margin-bottom: 0.5rem;
}
@media only screen and (max-width: 991px) {
  .l-header__nav--icon {
    margin-right: 10px;
    margin-bottom: 0;
    padding: 0.25rem 0;
  }
}
.l-header__nav--icon img {
  width: 2.5rem;
  height: auto;
}
.l-header__nav--text {
  display: block;
}
.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: 1rem;
  line-height: 0.75;
  white-space: nowrap;
}
.l-header__nav--hour {
  font-size: 0.75rem;
  line-height: 1.5;
  margin-left: 1em;
}
.l-header__nav--right {
  margin-left: 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media only screen and (max-width: 1399px) {
  .l-header__nav--right {
    margin-left: 1.5rem;
  }
}
@media only screen and (max-width: 1199px) {
  .l-header__nav--right {
    margin-left: 1rem;
  }
}
@media only screen and (max-width: 991px) {
  .l-header__nav--right {
    display: none;
  }
}
@media only screen and (max-width: 991px) {
  .l-header__contact {
    display: none;
  }
}
.l-header__sns {
  width: 3rem;
}
.l-header__sns img {
  width: 100%;height: auto;
}
.l-header__post {
  width: 16rem;
}
@media only screen and (max-width: 991px) {
  .l-header__post {
    width: 100%;
  }
}
@media only screen and (max-width: 575px) {
  .l-header__post {
    margin-top: 0.75rem;
  }
}
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: 1em;
  line-height: 1;
  margin: 0;
  padding: 1rem;
  width: 12rem;
  height: 6rem;
  display: flex;
  flex-flow: column wrap;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 991px) {
  a.l-header__nav--post-mail {
    width: 9vw;
    height: 9vw;
  }
}
@media only screen and (max-width: 767px) {
  a.l-header__nav--post-mail {
    width: 9vw;
    height: 9vw;
  }
}
@media only screen and (max-width: 575px) {
  a.l-header__nav--post-mail {
    width: 16vw;
    height: 16vw;
  }
}
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 strong {
  font-size: 1.25em;
  line-height: 0.75;
  font-family: var(--font-serif);
  text-transform: capitalize;
  font-weight: 700;
}
@media only screen and (max-width: 1199px) {
  a.l-header__nav--post-mail strong {
    font-size: 1em;
  }
}
@media only screen and (max-width: 991px) {
  a.l-header__nav--post-mail strong {
    background-color: #FFF;
    color: var(--textcolor);
    display: flex;
    align-items: center;
    padding: 0.75rem 1.5rem;
  }
}
a.l-header__nav--post-mail small {
  font-size: 0.75em;
  line-height: 1;
  font-weight: 500;
}
@media only screen and (max-width: 1199px) {
  a.l-header__nav--post-mail small {
    font-size: 1em;
  }
}
@media only screen and (max-width: 991px) {
  a.l-header__nav--post-mail small {
    background-color: #FFF;
    color: var(--textcolor);
    display: flex;
    align-items: center;
    padding: 0.75rem 1.5rem;
  }
}
a.l-header__nav--post-mail strong + small {
  margin-top: 0.75rem;
}
a.l-header__nav--post-mail:before {
  content: "\f0e0";
  font-family: "Font Awesome 5 Pro";
  font-weight: 900;
  margin-right: 0.33em;
  font-size: 1.125em;
  display: none;
}

.navbar-toggler {
  background-color: #FFF;
  border: none;
  border-radius: 0;
  overflow: hidden;
  font-size: 1em;
  line-height: 1;
  margin: 0;
  padding: 0;
  width: var(--header-height);
  height: var(--header-height);
  position: relative;
  z-index: 9998;
  display: flex;
  flex-flow: column wrap;
  justify-content: center;
  align-items: center;
}
.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(--deepcolor);
}
.navbar-toggler[aria-expanded=false] .navbar-toggler-icon:before, .navbar-toggler[aria-expanded=false] .navbar-toggler-icon:after {
  transition: 0.6s;
  background-color: var(--deepcolor);
}
.navbar-toggler[aria-expanded=false] .navbar-toggler-icon:before {
  transform: rotate(0deg);
  top: -10px;
}
@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(--deepcolor);
}
.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(--deepcolor);
}
.navbar-toggler[aria-expanded=true] small {
  color: var(--deepcolor);
}

.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: 999;
  }
}
@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%;
  }
}

#navbar .container-fluid {
  background: transparent;
  padding: 0;
}
@media only screen and (max-width: 991px) {
  #navbar .container-fluid {
    background: rgb(255, 255, 255);
    -webkit-overflow-scrolling: touch;
    min-height: 1px;
  }
}
#navbar .container-fluid.container {
  padding: 0;
  position: static;
}
@media only screen and (max-width: 991px) {
  #navbar .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 {
  border-left: 1px dashed #D5C9B4;
  width: 100%;
  justify-content: center;
}
@media only screen and (max-width: 991px) {
  .navbar-expand-lg .navbar-nav {
    border: none;
    border-top: 1px solid #DDD;
    padding: 0;
    display: block;
  }
}
.navbar-expand-lg .navbar-nav .nav-item {
  border-right: 1px dashed #D5C9B4;
  flex: 1 1 auto;
  max-width: 100%;
}
@media only screen and (max-width: 991px) {
  .navbar-expand-lg .navbar-nav .nav-item {
    margin-left: 0;
    padding-left: 0;
    border: none;
    border-bottom: 1px solid #ddd;
    display: block;
    flex: 1 1 100%;
    max-width: 100%;
    height: auto;
  }
}
.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: 0 0 0.5rem;
  position: relative;
  display: block;
  transition: 0s;
}
@media only screen and (max-width: 991px) {
  .navbar-expand-lg .navbar-nav .nav-item .nav-link {
    background-color: #FFF;
    color: var(--textcolor);
    line-height: 2;
    border: none;
    text-align: left;
    text-shadow: none;
    padding: 1.5rem 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    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.active {
  background-color: transparent;
  color: var(--textcolor);
  opacity: 1;
}
@media only screen and (max-width: 991px) {
  .navbar-expand-lg .navbar-nav .nav-item .nav-link.active {
    background-color: var(--maincolor);
    color: #FFF;
  }
}
.navbar-expand-lg .navbar-nav .nav-item .nav-link strong {
  font-size: 1em;
}
.navbar-expand-lg .navbar-nav .nav-item .nav-link small {
  font-size: 0.75em;
  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 {
    margin-top: 0;
  }
}

.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-link.active: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 Pro";
    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-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: calc(var(--header-height));
}
.l-section__inner {
  position: relative;
}
@media only screen and (max-width: 991px) {
  .l-section__inner.c-poster__md--bottom:first-of-type {
    padding-top: 0;
  }
}
@media only screen and (max-width: 575px) {
  .l-section__inner.c-poster__xs--bottom:first-of-type {
    padding-top: 0;
  }
}
@media only screen and (min-width: 992px) {
  .l-section__inner.c-poster__md--bottom + .l-section__inner {
    padding-top: 0;
  }
}
@media only screen and (min-width: 576px) {
  .l-section__inner.c-poster__xs--bottom + .l-section__inner {
    padding-top: 0;
  }
}
.l-section__category--nav {
  padding-top: 1px;
}
@media only screen and (max-width: 991px) {
  .l-section__category--nav {
    padding-top: 0;
  }
}
.l-section__clearance {
  padding: var(--clearance-padding) 0;
}
.l-section__clearance--hairline {
  padding: 1px 0;
}
.l-section__clearance--top {
  padding: var(--clearance-padding) 0 0;
}
.l-section__clearance--top-md {
  padding: var(--clearance-padding) 0 0;
}
.l-section__clearance--top-xs {
  padding: var(--clearance-padding) 0 0;
}
.l-section__clearance--bottom {
  padding: 0 0 var(--clearance-padding);
}
.l-section__clearance--bottom-md {
  padding: 0 0 var(--clearance-padding);
}
.l-section__clearance--bottom-xs {
  padding: 0 0 var(--clearance-padding);
}
.l-section__clearance--lg {
  padding: var(--clearance-padding-lg) 0;
}
.l-section__clearance--lg-top {
  padding: var(--clearance-padding-lg) 0 0;
}
.l-section__clearance--lg-top-md {
  padding: var(--clearance-padding-lg) 0 0;
}
.l-section__clearance--lg-top-xs {
  padding: var(--clearance-padding-lg) 0 0;
}
.l-section__clearance--lg-bottom {
  padding: 0 0 var(--clearance-padding-lg);
}
.l-section__clearance--lg-bottom-md {
  padding: 0 0 var(--clearance-padding-lg);
}
.l-section__clearance--lg-bottom-xs {
  padding: 0 0 var(--clearance-padding-lg);
}
.l-section__clearance--xl {
  padding: var(--clearance-padding-xl) 0;
}
.l-section__clearance--xl-top {
  padding: var(--clearance-padding-xl) 0 0;
}
.l-section__clearance--xl-top-md {
  padding: var(--clearance-padding-xl) 0 0;
}
.l-section__clearance--xl-top-xs {
  padding: var(--clearance-padding-xl) 0 0;
}
.l-section__clearance--xl-bottom {
  padding: 0 0 var(--clearance-padding-xl);
}
.l-section__clearance--xl-bottom-md {
  padding: 0 0 var(--clearance-padding-xl);
}
.l-section__clearance--xl-bottom-xs {
  padding: 0 0 var(--clearance-padding-xl);
}
.l-section__margin + .l-section__margin {
  margin-top: var(--clearance-padding);
}
.l-section__clearance--narrow {
  padding: calc(var(--clearance-padding) / 2) 0;
}
.l-section__clearance--narrow--top {
  padding: calc(var(--clearance-padding) / 2) 0 0;
}
.l-section__clearance--narrow--top-md {
  padding: calc(var(--clearance-padding) / 2) 0 0;
}
.l-section__clearance--narrow--top-xs {
  padding: calc(var(--clearance-padding) / 2) 0 0;
}
.l-section__clearance--narrow--bottom {
  padding: 0 0 calc(var(--clearance-padding) / 2);
}
.l-section__clearance--narrow--bottom-md {
  padding: 0 0 calc(var(--clearance-padding) / 2);
}
.l-section__clearance--narrow--bottom-xs {
  padding: 0 0 calc(var(--clearance-padding) / 2);
}

.l-section__margin {
  margin-top: var(--clearance-padding);
}

.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 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: 767px) {
  .l-footer__logo img, .l-footer__logo svg {
    height: 1.5rem;
  }
}
.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, .l-footer__location--gmaps a:hover, .l-footer__location--gmaps a:active, .l-footer__location--gmaps a:focus[data-action=call] {
  color: var(--maincolor) !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(../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;
  display: block;
}
.l-footer__textmap--link strong, .l-footer__textmap--link small, .l-footer__textmap--link:hover strong, .l-footer__textmap--link:hover small, .l-footer__textmap--link:active strong, .l-footer__textmap--link:active small, .l-footer__textmap--link:focus strong, .l-footer__textmap--link:focus small {
  display: block;
  text-align: center;
}
.l-footer__textmap--link strong, .l-footer__textmap--link:hover strong, .l-footer__textmap--link:active strong, .l-footer__textmap--link:focus strong {
  font-size: 1em;
}
.l-footer__textmap--link small, .l-footer__textmap--link:hover small, .l-footer__textmap--link:active small, .l-footer__textmap--link:focus small {
  font-size: 0.75em;
}
.l-footer__textmap--link:before {
  content: "";
  color: var(--textcolor);
  font-size: 1em;
  line-height: 1;
  text-align: center;
  font-family: "Font Awesome 5 Pro";
  width: 1em;
  display: none;
}

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

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

/* 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-family: var(--font-phone);
  font-weight: 500;
}
.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.5em;
}
@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: 2em;
  }
}
@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: 1.5em;
}
@media only screen and (max-width: 991px) {
  .c-phone--sm, .c-fax--sm {
    font-size: 1.5em;
  }
}
@media only screen and (max-width: 767px) {
  .c-phone--sm, .c-fax--sm {
    font-size: 1.25em;
  }
}

.js-mainimage__cover {
  position: relative;
  overflow: hidden;
  display: block;
  height: 100vh;
  max-height: 1280px;
  background: #FFF;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  display: flex;
}
@media only screen and (max-width: 1199px) {
  .js-mainimage__cover {
    height: 45vw;
  }
}
@media only screen and (max-width: 991px) {
  .js-mainimage__cover {
    height: 50vw;
  }
}
@media only screen and (max-width: 767px) {
  .js-mainimage__cover {
    height: 45vw;
  }
}
@media only screen and (max-width: 575px) {
  .js-mainimage__cover {
    height: 100vw;
  }
}
.js-mainimage__cover img {
  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;
  opacity: 0.33;
}

.c-mainimage {
  position: relative;
}
.c-mainimage__text {
  color: #FFF;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9;
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-mainimage__text--copy {
  background-color: rgba(0, 0, 0, 0);
  padding: 0 2.5rem;
}
@media only screen and (max-width: 1399px) {
  .c-mainimage__text--copy {
    padding: 0 2rem;
  }
}
@media only screen and (max-width: 991px) {
  .c-mainimage__text--copy {
    padding: 0 1.5rem;
  }
}
@media only screen and (max-width: 575px) {
  .c-mainimage__text--copy {
    padding: 0 1rem;
  }
}
.c-mainimage__text--decoration {
  color: var(--maincolor);
  white-space: nowrap;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9;
  margin: 0 -0.5rem -0.5rem;
}
@media only screen and (max-width: 767px) {
  .c-mainimage__text--decoration {
    margin: 0 -0.25rem -0.25rem;
  }
}
.c-mainimage__text--decoration-copy {
  font-size: min(6.75vw, 11rem);
  line-height: 0.75;
  font-weight: 800;
  text-align: right;
  font-family: var(--font-serif);
}
@media only screen and (max-width: 991px) {
  .c-mainimage__text--decoration-copy {
    font-size: min(7.5vw, 11rem);
  }
}
@media only screen and (max-width: 575px) {
  .c-mainimage__text--decoration-copy {
    font-size: min(7.5vw, 11rem);
  }
}
.c-mainimage__text--script {
  font-size: 6em;
  line-height: 0.66;
  font-family: var(--font-script);
  font-weight: 400;
  transform: rotate(-15deg);
  position: absolute;
  top: 1rem;
  left: 2.5rem;
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
}
@media only screen and (max-width: 1199px) {
  .c-mainimage__text--script {
    font-size: 4.75em;
    top: 0.66rem;
    left: 2rem;
  }
}
@media only screen and (max-width: 991px) {
  .c-mainimage__text--script {
    font-size: 4em;
    top: 0;
    left: 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-mainimage__text--script {
    font-size: 2.75em;
  }
}
.c-mainimage__text--script span {
  display: block;
  border-bottom: 1px solid #FFF;
  padding: 0 0.125em;
}
.c-mainimage__text--script span + span {
  margin-left: 1em;
}
.c-mainimage__text--slogan {
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
  white-space: nowrap;
  display: block;
}
@media only screen and (max-width: 1999px) {
  .c-mainimage__text--slogan {
    font-size: 12vh;
  }
}
@media only screen and (max-width: 1199px) {
  .c-mainimage__text--slogan {
    font-size: 3.75em;
  }
}
@media only screen and (max-width: 991px) {
  .c-mainimage__text--slogan {
    font-size: 3em;
  }
}
@media only screen and (max-width: 767px) {
  .c-mainimage__text--slogan {
    font-size: 2.25em;
  }
}
@media only screen and (max-width: 575px) {
  .c-mainimage__text--slogan {
    font-size: 1.5em;
  }
}
.c-mainimage__text--catch {
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
  white-space: nowrap;
  display: block;
}
@media only screen and (max-width: 1999px) {
  .c-mainimage__text--catch {
    font-size: 5vh;
    margin-top: 2vh;
  }
}
@media only screen and (max-width: 1399px) {
  .c-mainimage__text--catch {
    line-height: 1.125;
  }
}
@media only screen and (max-width: 1199px) {
  .c-mainimage__text--catch {
    font-size: 3.75em;
    line-height: 1.25;
  }
}
@media only screen and (max-width: 991px) {
  .c-mainimage__text--catch {
    font-size: 3em;
  }
}
@media only screen and (max-width: 767px) {
  .c-mainimage__text--catch {
    font-size: 2.25em;
  }
}
@media only screen and (max-width: 575px) {
  .c-mainimage__text--catch {
    font-size: 1.5em;
  }
}
.c-mainimage__text--lead {
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
  white-space: nowrap;
  display: block;
}
@media only screen and (max-width: 1999px) {
  .c-mainimage__text--lead {
    font-size: 3vh;
    margin-top: 6vh;
  }
}
@media only screen and (max-width: 1199px) {
  .c-mainimage__text--lead {
    font-size: 1.33em;
  }
}
@media only screen and (max-width: 991px) {
  .c-mainimage__text--lead {
    font-size: 1.25em;
  }
}
@media only screen and (max-width: 767px) {
  .c-mainimage__text--lead {
    font-size: 1.125em;
  }
}

.scroll {
  position: absolute;
  right: 2rem;
  bottom: 2rem;
  z-index: 99;
  font-family: "lato", sans-serif;
  font-weight: 700;
}
@media only screen and (max-width: 991px) {
  .scroll {
    right: 1rem;
    bottom: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .scroll {
    display: none;
  }
}
.scroll img {
  width: auto;
  height: auto;
}
@media only screen and (max-width: 991px) {
  .scroll img {
    width: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .scroll img {
    width: 1.5rem;
  }
}
.scroll a {
  transform: translate(0, 0);
  display: block;
}
.scroll a:hover {
  transform: translate(0, 1rem);
}

.c-pagetitle {
  position: relative;
  background: #EFEFEF;
  scroll-margin-top: var(--header-height);
}
.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 {
  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: 700;
}
.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;
  }
}

.nav-pills.c-nav__pills--news .nav-item {
  margin-right: 2px;
  margin-bottom: 2px;
}
.nav-pills.c-nav__pills--news .nav-item .nav-link {
  background-color: var(--beigecolor);
  color: #666;
  border-radius: 0;
  font-size: 1rem;
  line-height: 1;
  padding: 1rem;
  font-weight: 700;
  position: relative;
  min-width: 6em;
  text-align: center;
}
@media only screen and (max-width: 991px) {
  .nav-pills.c-nav__pills--news .nav-item .nav-link {
    width: auto;
  }
}
@media only screen and (max-width: 767px) {
  .nav-pills.c-nav__pills--news .nav-item .nav-link {
    font-size: 1rem;
    padding: 0.75rem;
  }
}
.nav-pills.c-nav__pills--news .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--news .nav-item .nav-link:hover, .nav-pills.c-nav__pills--news .nav-item .nav-link:active, .nav-pills.c-nav__pills--news .nav-item .nav-link:focus {
  color: var(--maincolor);
}
.nav-pills.c-nav__pills--news .nav-item .nav-link.active {
  color: var(--maincolor);
}
.nav-pills.c-nav__pills--news .nav-item .nav-link.active:after {
  border-color: var(--maincolor);
}

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

.c-newspaper__scroll {
  height: auto;
  overflow-y: auto;
  overflow-x: hidden;
  height: 50rem;
}
.c-newspaper__article {
  display: table;
  padding: 1em 0;
  width: 100%;
  border-bottom: 1px dashed var(--maincolor);
  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: 1199px) {
  .c-newspaper__date, .c-newspaper__comment, .c-newspaper__detail {
    display: block;
  }
}
.c-newspaper__date {
  font-weight: 700;
  width: 12.5em;
  padding-right: 1rem;
  line-height: 1.75;
}
@media only screen and (max-width: 1199px) {
  .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 {
  color: var(--deepcolor);
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
}
@media only screen and (max-width: 1199px) {
  .c-newspaper__date .date {
    width: 10em;
    padding-right: 1em;
  }
}
.c-newspaper__date .date .new {
  color: var(--newscolor);
  font-size: 1em;
  line-height: 1.5;
  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: 1199px) {
  .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: 1199px) {
  .c-newspaper__comment {
    display: block;
    padding: 1rem 0 0;
    line-height: 1.75;
  }
}
.c-newspaper__title {
  font-size: 1.125em;
  font-weight: 800;
  margin-bottom: 0.5rem;
  color: var(--deepcolor);
}
.c-newspaper__image {
  margin-top: 1rem;
}
@media only screen and (max-width: 575px) {
  .c-newspaper__image {
    margin: 0 auto 1em;
    padding-right: 0;
  }
}
.c-newspaper__detail {
  width: 10em;
  padding: 0.25em 1.5em;
}
@media only screen and (max-width: 1199px) {
  .c-newspaper__detail {
    margin: 1em 0 0 auto;
    padding: 0.25em 0;
  }
}
@media only screen and (max-width: 575px) {
  .c-newspaper__detail {
    padding: 0.25em 0;
  }
}

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;
  }
  th hr, td hr {
    margin: 0.5rem 0;
  }
}
@media only screen and (max-width: 767px) {
  th, td {
    padding: 0.5rem;
  }
  th hr, td hr {
    margin: 0.25rem 0;
  }
}

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

.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 {
  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: 0.5rem;
  margin-top: 0.5rem;
}
@media only screen and (max-width: 575px) {
  .c-table__break--xs td dl + dl {
    padding-top: 0.25rem;
    margin-top: 0.25rem;
  }
}
.c-table__break--xs td dl dt, .c-table__break--xs td dl dd {
  display: table-cell;
}
@media only screen and (max-width: 575px) {
  .c-table__break--xs td dl {
    display: block;
  }
}
.c-table__break--xs td dl dt {
  width: 6em;
}
.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;
}

.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 {
  position: relative;
  display: block;
  overflow: hidden;
}
.c-hero__link--image {
  background-color: var(--nobudocolor);
  overflow: hidden;
}
.c-hero__link--image img {
  transform: scale(1);
  width: 100%;
  height: auto;
  transition: transform 0.6s;
}
.c-hero__link:hover .c-hero__link--image img {
  transform: scale(1.05);
  transition: transform 1.2s;
}
.c-hero__link--title {
  /*background-color: rgba(0, 0, 0, 0.5);*/
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 1em;
  display: flex;
  flex-flow: column wrap;
  justify-content: center;
  align-items: center;
}
.c-hero__link--title h4 {
  font-size: 1.75em;
  font-weight: 700;
  color: #FFF;
}
@media only screen and (max-width: 991px) {
  .c-hero__link--title h4 {
    font-size: 1.5em;
  }
}
@media only screen and (max-width: 767px) {
  .c-hero__link--title h4 {
    font-size: 1.25em;
  }
}
/*.c-hero__link--title:after {
  background-color: var(--accent-orange);
  color: #FFF;
  border-radius: 6rem;
  font-size: 1em;
  line-height: 1;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  font-family: var(--font-rubik);
  text-transform: uppercase;
  font-weight: 400;
  margin-top: 1em;
  padding: 0.5em 1em;
  display: block;
  content: "View More";
}*/
@media only screen and (max-width: 991px) {
  .c-hero__link--title:after {
    font-size: 0.9em;
  }
}
@media only screen and (max-width: 767px) {
  .c-hero__link--title:after {
    font-size: 0.8em;
  }
}

.c-hero__jostling {
  display: flex;
}
@media only screen and (max-width: 575px) {
  .c-hero__jostling {
    display: block;
  }
}
.c-hero__jostling--link {
  position: relative;
  display: block;
  overflow: hidden;
  width: 50%;
  transition: width 0.8s;
}
@media only screen and (max-width: 575px) {
  .c-hero__jostling--link {
    width: 100%;
  }
}
.c-hero__jostling--link:hover {
  transition: width 0.8s;
}
.c-hero__jostling--image {
  background-color: #000;
  overflow: hidden;
  height: 25rem;
}
@media only screen and (max-width: 991px) {
  .c-hero__jostling--image {
    height: 50vw;
  }
}
@media only screen and (max-width: 575px) {
  .c-hero__jostling--image {
    height: 100vw;
  }
}
.c-hero__jostling--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__jostling--title {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.5rem;
  color: #FFF;
}
@media only screen and (max-width: 991px) {
  .c-hero__jostling--title {
    padding: 1.25rem 0.5rem;
  }
}
.c-hero__jostling--title h4 {
  font-size: 1.25em;
  line-height: 1;
  display: block;
  text-align: center;
  margin-top: 1.5rem;
}
@media only screen and (max-width: 991px) {
  .c-hero__jostling--title h4 {
    font-size: 1.125em;
  }
}
.c-hero__jostling--title h4::first-letter {
  color: var(--accentcolor);
}
.c-hero__jostling--title h4:before {
  font-size: 3em;
  line-height: 0.75;
  text-align: center;
  font-family: var(--font-rubik);
  text-transform: uppercase;
  font-weight: 500;
  margin-bottom: 0.5em;
  display: block;
  content: attr(data-label);
}
@media only screen and (max-width: 991px) {
  .c-hero__jostling--title h4:before {
    font-size: 2.5em;
  }
}

.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 Pro";
  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-heading__] {
  position: relative;
}
[class*=c-heading__] small {
  display: block;
}

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

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

.multiline {
  line-height: 1.5;
}

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

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

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

.c-heading__devider {
  padding-bottom: calc(var(--section-padding) * var(--heading-padding-sm) + 4px);
}
.c-heading__devider::after {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 5em;
  height: 2px;
  content: "";
}
.c-heading__devider.text-center:after {
  left: 50%;
  right: 50%;
  margin: 0 -2.5em;
}
@media only screen and (min-width: 992px) {
  .c-heading__devider.text-center.text-lg-start:after {
    left: 0;
    right: auto;
    margin: 0;
  }
}
.c-heading__devider.text-end:after {
  left: auto;
  right: 0;
}
.c-heading__devider--sm {
  padding-bottom: calc(var(--section-padding) * var(--heading-padding-sm) + 4px);
}
.c-heading__devider--sm::before {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 2em;
  height: 2px;
  content: "";
}
.c-heading__devider--sm.text-center:before {
  left: 50%;
  right: 50%;
  margin: 0 -1em;
}
@media only screen and (min-width: 992px) {
  .c-heading__devider--sm.text-center.text-lg-start:before {
    left: 0;
    right: auto;
    margin: 0;
  }
}
.c-heading__devider--sm.text-end:before {
  left: auto;
  right: 0;
}
.c-heading__margin {
  margin-bottom: calc(var(--clearance-padding) / 1.25 * 0.75);
}
@media only screen and (max-width: 1399px) {
  .c-heading__margin {
    margin-bottom: calc(var(--clearance-padding) / 1.25 * var(--heading-margin));
  }
}
@media only screen and (max-width: 1199px) {
  .c-heading__margin {
    margin-bottom: calc(var(--clearance-padding) / 1.25 * var(--heading-margin));
  }
}
@media only screen and (max-width: 991px) {
  .c-heading__margin {
    margin-bottom: calc(var(--clearance-padding) / 1.25 * var(--heading-margin));
  }
}
@media only screen and (max-width: 767px) {
  .c-heading__margin {
    margin-bottom: calc(var(--clearance-padding) / 1.25 * var(--heading-margin));
  }
}
.c-heading__margin--first {
  margin-bottom: calc(var(--clearance-padding) * var(--heading-margin));
}
.c-heading__margin--sm {
  margin-bottom: calc(var(--clearance-padding) / 1.25 * var(--heading-margin-sm));
}
@media only screen and (max-width: 1399px) {
  .c-heading__margin--sm {
    margin-bottom: calc(var(--clearance-padding) / 1.25 * var(--heading-margin-sm));
  }
}
@media only screen and (max-width: 1199px) {
  .c-heading__margin--sm {
    margin-bottom: calc(var(--clearance-padding) / 1.25 * var(--heading-margin-sm));
  }
}
@media only screen and (max-width: 991px) {
  .c-heading__margin--sm {
    margin-bottom: calc(var(--clearance-padding) / 1 * var(--heading-margin-sm));
  }
}
@media only screen and (max-width: 767px) {
  .c-heading__margin--sm {
    margin-bottom: calc(var(--clearance-padding) / 1 * var(--heading-margin-sm));
  }
}
.c-heading__margin--sm--first {
  margin-bottom: calc(var(--section-padding) * var(--heading-margin-sm));
}
.c-heading__index1 {
  font-size: 1em;
  line-height: 1;
  font-weight: 600;
  position: relative;
  z-index: 1;
}
.c-heading__index1::before {
  font-size: 3em;
  line-height: 0.75;
  white-space: nowrap;
  font-weight: 600;
  margin-bottom: 0.5em;
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
  display: block;
  content: attr(data-label);
}
@media only screen and (max-width: 991px) {
  .c-heading__index1::before {
    font-size: 2.5em;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading__index1::before {
    font-size: 2em;
  }
}
.c-heading__index1.text-center::before {
  text-indent: 0.025em;
  margin-left: auto;
  margin-right: auto;
}
.c-heading__index1.c-heading__devider {
  padding-bottom: calc(1.5em + 2px);
}
.c-heading__index1.c-heading__devider::after {
  background-color: var(--accentcolor);
}
.c-heading__index1--light {
  color: #FFF;
  font-size: 1em;
  line-height: 1;
  font-weight: 600;
  position: relative;
  z-index: 1;
}
.c-heading__index1--light::before {
  font-size: 3em;
  line-height: 0.75;
  white-space: nowrap;
  font-weight: 600;
  margin-bottom: 0.5em;
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
  display: block;
  content: attr(data-label);
}
@media only screen and (max-width: 991px) {
  .c-heading__index1--light::before {
    font-size: 2.5em;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading__index1--light::before {
    font-size: 2em;
  }
}
.c-heading__index1--light.text-center::before {
  margin-left: auto;
  margin-right: auto;
}
.c-heading__index1--light.c-heading__devider:after {
  border-color: #FFF;
}
.c-heading__index1a {
  color: var(--accentcolor);
  font-size: 2em;
  line-height: 1.5;
  font-weight: 600;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 991px) {
  .c-heading__index1a {
    font-size: 1.75em;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading__index1a {
    font-size: 1.5em;
  }
}
.c-heading__index1a:after {
  background-image: radial-gradient(var(--accentcolor) 33%, transparent 33%);
  background-size: 0.5rem 0.5rem;
  margin: 1.5rem auto 0;
  width: 0.5rem;
  height: 3rem;
  display: block;
  content: "";
}
.c-heading__index1a--light {
  color: #FFF;
  font-size: 1em;
  line-height: 1;
  font-weight: 600;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 991px) {
  .c-heading__index1a--light {
    font-size: 1.33em;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading__index1a--light {
    font-size: 1.25em;
  }
}
.c-heading__index1a--light.c-heading__devider:after {
  border-color: #FFF;
}
.c-heading__index2 {
  font-size: 4.5rem;
}
@media only screen and (max-width: 991px) {
  .c-heading__index2 {
    font-size: 3.6rem;
    text-align: center;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading__index2 {
    font-size: 2.4rem;
  }
}
.c-heading__index2 small {
  font-size: 1.5rem;
  margin-top: 1.5rem;
}
@media only screen and (max-width: 991px) {
  .c-heading__index2 small {
    font-size: 1.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading__index2 small {
    font-size: 0.8rem;
  }
}
.c-heading__page1 {
  font-size: 1em;
  line-height: 1;
  font-weight: 600;
  position: relative;
  z-index: 1;
}
.c-heading__page1::before {
  font-size: 3em;
  line-height: 0.75;
  white-space: nowrap;
  font-weight: 600;
  margin-bottom: 0.5em;
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
  display: block;
  content: attr(data-label);
}
@media only screen and (max-width: 991px) {
  .c-heading__page1::before {
    font-size: 2.5em;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading__page1::before {
    font-size: 2em;
  }
}
.c-heading__page1.text-center::before {
  text-indent: 0.025em;
  margin-left: auto;
  margin-right: auto;
}
.c-heading__page1.c-heading__devider {
  padding-bottom: calc(1.5em + 2px);
}
.c-heading__page1.c-heading__devider::after {
  background-color: var(--accentcolor);
}
.c-heading__page1--light {
  color: #FFF;
  font-size: 1em;
  line-height: 1;
  font-weight: 600;
  position: relative;
  z-index: 1;
}
.c-heading__page1--light::before {
  font-size: 3em;
  line-height: 0.75;
  white-space: nowrap;
  font-weight: 600;
  margin-bottom: 0.5em;
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
  display: block;
  content: attr(data-label);
}
@media only screen and (max-width: 991px) {
  .c-heading__page1--light::before {
    font-size: 2.5em;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading__page1--light::before {
    font-size: 2em;
  }
}
.c-heading__page1--light.text-center::before {
  margin-left: auto;
  margin-right: auto;
}
.c-heading__page1--light.c-heading__devider:after {
  border-color: #FFF;
}
.c-heading__page1a {
  color: var(--accentcolor);
  font-size: 2em;
  line-height: 1.5;
  font-weight: 600;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 991px) {
  .c-heading__page1a {
    font-size: 1.75em;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading__page1a {
    font-size: 1.5em;
  }
}
.c-heading__page1a:after {
  background-image: radial-gradient(var(--accentcolor) 33%, transparent 33%);
  background-size: 0.5rem 0.5rem;
  margin: 1.5rem auto 0;
  width: 0.5rem;
  height: 3rem;
  display: block;
  content: "";
}
.c-heading__page1a--light {
  color: #FFF;
  font-size: 1em;
  line-height: 1;
  font-weight: 600;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 991px) {
  .c-heading__page1a--light {
    font-size: 1.33em;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading__page1a--light {
    font-size: 1.25em;
  }
}
.c-heading__page1a--light.c-heading__devider:after {
  border-color: #FFF;
}
.c-heading__page1b {
  font-size: 2em;
  line-height: 1;
  font-weight: 700;
  padding: 0 0 1em;
  position: relative;
}
@media only screen and (max-width: 991px) {
  .c-heading__page1b {
    font-size: 1.33em;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading__page1b {
    font-size: 1.25em;
  }
}
@media only screen and (max-width: 575px) {
  .c-heading__page1b {
    font-size: 1.125em;
  }
}
.c-heading__page1c {
  color: #FFF;
  font-size: 2em;
  line-height: 1;
  font-weight: 700;
  padding: 0 0 1em;
  position: relative;
}
@media only screen and (max-width: 991px) {
  .c-heading__page1c {
    font-size: 1.33em;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading__page1c {
    font-size: 1.25em;
  }
}
@media only screen and (max-width: 575px) {
  .c-heading__page1c {
    font-size: 1.125em;
  }
}
.c-heading__page2 {
  position: relative;
}
.c-heading__page2 strong {
  font-size: var(--page-sm);
  line-height: 1;
  font-weight: 700;
  margin-top: -1.25rem;
  height: 2.5rem;
  position: absolute;
  top: 50%;
  z-index: 1;
  display: flex;
  justify-content: center;
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
  white-space: nowrap;
}
@media only screen and (max-width: 991px) {
  .c-heading__page2 strong {
    font-size: calc(var(--page-sm) * 0.55);
    margin-top: -1.125rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading__page2 strong {
    font-size: calc(var(--page-sm) * 0.4);
    margin-top: -1rem;
  }
}
.c-heading__page2:before {
  color: var(--accent-yellow);
  font-size: 5.75em;
  line-height: 0.9;
  text-transform: uppercase;
  font-weight: 700;
  margin-left: -0.25em;
  display: block;
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
  opacity: 1;
  content: attr(data-label);
}
@media only screen and (max-width: 991px) {
  .c-heading__page2:before {
    font-size: 4.5em;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading__page2:before {
    font-size: 3em;
  }
}
.c-heading__page2a {
  font-size: 1.5em;
  line-height: 1.5;
  margin-bottom: 0.66em;
}
@media only screen and (max-width: 991px) {
  .c-heading__page2a {
    font-size: 1.33rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading__page2a {
    font-size: 1.25rem;
  }
}
@media only screen and (max-width: 575px) {
  .c-heading__page2a {
    line-height: 1.5;
  }
}
.c-heading__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-heading__page2a em {
    font-size: 0.5em;
    margin-top: 0.83em;
    padding: 0.75em 1em 1em;
  }
}
.c-heading__page2b {
  font-size: 2.75rem;
  line-height: 0.75;
  border-bottom: 1px solid #666;
  font-family: "Shippori Minocho B1", serif;
  padding-bottom: 0.66em;
}
@media only screen and (max-width: 991px) {
  .c-heading__page2b {
    font-size: 2.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading__page2b {
    font-size: 1.75rem;
  }
}
.c-heading__page2b small {
  font-size: 0.4em;
  margin-top: 1em;
}
@media only screen and (max-width: 991px) {
  .c-heading__page2b small {
    font-size: 0.425em;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading__page2b small {
    font-size: 0.45em;
  }
}
.c-heading__page3 {
  font-size: 1.125rem;
  margin: 1.5em 0 0.75em;
}
@media only screen and (max-width: 767px) {
  .c-heading__page3 {
    font-size: 1rem;
  }
}
.c-heading__page3.footline {
  border-bottom: 1px dotted #999;
  padding-bottom: 0.66em;
}
.c-heading__page3 small {
  font-size: 0.9rem;
}
@media only screen and (max-width: 767px) {
  .c-heading__page3 small {
    font-size: 0.8rem;
  }
}
.c-heading__page4 {
  font-size: 0.9rem;
  margin: 1.5em 0 1em;
  font-weight: 700;
}
.c-heading__headline {
  border-top: 0.25rem solid var(--maincolor);
  padding-top: 1.25rem;
}
.c-heading__footline {
  border-bottom: 0.25rem solid var(--maincolor);
  padding-bottom: 1.25rem;
}
.c-heading__leftline {
  padding-left: 0.66em;
  border-left: 0.25em solid var(--maincolor);
}

.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: var(--textcolor);
  border: 2px solid transparent;
  white-space: normal;
  text-decoration: none;
  font-size: 1em;
  line-height: 1.5;
  text-transform: uppercase;
  font-weight: 700;
  padding: 2em 1em;
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-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;
}
@media only screen and (max-width: 991px) {
  .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 {
    padding: 1.5em 1em;
  }
}
@media only screen and (max-width: 767px) {
  .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 {
    padding: 1em 1em;
  }
}
.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;
}
.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__dummy {
  background-color: transparent;
  color: var(--textcolor);
  border: 1px solid transparent;
  white-space: normal;
  text-decoration: none;
  font-size: 1em;
  line-height: 1.5;
  text-transform: uppercase;
  font-weight: 700;
  padding: 2em 1em;
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-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;
}
@media only screen and (max-width: 991px) {
  .c-button__dummy {
    padding: 1.5em 1em;
  }
}
@media only screen and (max-width: 767px) {
  .c-button__dummy {
    padding: 1em 1em;
  }
}
.c-button__dummy small {
  flex: 1 1 100%;
  font-weight: 700;
  font-size: 0.5em;
}
.c-button__animation {
  background-color: transparent;
  color: var(--textcolor);
  border: 1px solid transparent;
  white-space: normal;
  text-decoration: none;
  font-size: 1em;
  line-height: 1.5;
  text-transform: uppercase;
  font-weight: 700;
  padding: 2em 1em;
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-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__animation small {
  flex: 1 1 100%;
  font-weight: 700;
  font-size: 0.5em;
}
.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__rounded--all, .c-button__rounded--all:hover, .c-button__rounded--all:active, .c-button__rounded--all:focus {
  border-radius: 100rem;
}

.c-button__size--thin, .c-button__size--thin:hover, .c-button__size--thin:active, .c-button__size--thin:focus {
  padding: 1em 1em;
}
@media only screen and (max-width: 991px) {
  .c-button__size--thin, .c-button__size--thin:hover, .c-button__size--thin:active, .c-button__size--thin:focus {
    padding: 0.75em 1em;
  }
}
@media only screen and (max-width: 767px) {
  .c-button__size--thin, .c-button__size--thin:hover, .c-button__size--thin:active, .c-button__size--thin:focus {
    padding: 0.5em 1em;
  }
}
.c-button__size--heavy, .c-button__size--heavy:hover, .c-button__size--heavy:active, .c-button__size--heavy:focus {
  padding: 3em 1em;
}
@media only screen and (max-width: 991px) {
  .c-button__size--heavy, .c-button__size--heavy:hover, .c-button__size--heavy:active, .c-button__size--heavy:focus {
    padding: 2.5em 1em;
  }
}
@media only screen and (max-width: 767px) {
  .c-button__size--heavy, .c-button__size--heavy:hover, .c-button__size--heavy:active, .c-button__size--heavy:focus {
    padding: 2em 1em;
  }
}
.c-button__size--xxl, .c-button__size--xxl:hover, .c-button__size--xxl:active, .c-button__size--xxl:focus {
  font-size: 2em;
}
@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--xxl--thin, .c-button__size--xxl--thin:hover, .c-button__size--xxl--thin:active, .c-button__size--xxl--thin:focus {
  padding: 1em 1em;
}
@media only screen and (max-width: 991px) {
  .c-button__size--xxl--thin, .c-button__size--xxl--thin:hover, .c-button__size--xxl--thin:active, .c-button__size--xxl--thin:focus {
    padding: 0.75em 1em;
  }
}
@media only screen and (max-width: 767px) {
  .c-button__size--xxl--thin, .c-button__size--xxl--thin:hover, .c-button__size--xxl--thin:active, .c-button__size--xxl--thin:focus {
    padding: 0.5em 1em;
  }
}
.c-button__size--xxl--heavy, .c-button__size--xxl--heavy:hover, .c-button__size--xxl--heavy:active, .c-button__size--xxl--heavy:focus {
  padding: 3em 1em;
}
@media only screen and (max-width: 991px) {
  .c-button__size--xxl--heavy, .c-button__size--xxl--heavy:hover, .c-button__size--xxl--heavy:active, .c-button__size--xxl--heavy:focus {
    padding: 2.5em 1em;
  }
}
@media only screen and (max-width: 767px) {
  .c-button__size--xxl--heavy, .c-button__size--xxl--heavy:hover, .c-button__size--xxl--heavy:active, .c-button__size--xxl--heavy:focus {
    padding: 2em 1em;
  }
}
.c-button__size--xl, .c-button__size--xl:hover, .c-button__size--xl:active, .c-button__size--xl:focus {
  font-size: 1.66em;
}
@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;
}
@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.9em;
}
@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--sm--thin, .c-button__size--sm--thin:hover, .c-button__size--sm--thin:active, .c-button__size--sm--thin:focus {
  font-size: 0.9em;
  padding: 1em 1em;
}
@media only screen and (max-width: 991px) {
  .c-button__size--sm--thin, .c-button__size--sm--thin:hover, .c-button__size--sm--thin:active, .c-button__size--sm--thin:focus {
    padding: 0.75em 1em;
  }
}
@media only screen and (max-width: 767px) {
  .c-button__size--sm--thin, .c-button__size--sm--thin:hover, .c-button__size--sm--thin:active, .c-button__size--sm--thin:focus {
    padding: 0.5em 1em;
  }
}
.c-button__size--sm--heavy, .c-button__size--sm--heavy:hover, .c-button__size--sm--heavy:active, .c-button__size--sm--heavy:focus {
  font-size: 0.75em;
  padding: 3em 1em;
}
@media only screen and (max-width: 991px) {
  .c-button__size--sm--heavy, .c-button__size--sm--heavy:hover, .c-button__size--sm--heavy:active, .c-button__size--sm--heavy:focus {
    padding: 2.5em 1em;
  }
}
@media only screen and (max-width: 767px) {
  .c-button__size--sm--heavy, .c-button__size--sm--heavy:hover, .c-button__size--sm--heavy:active, .c-button__size--sm--heavy:focus {
    padding: 2em 1em;
  }
}
.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__size--xs--thin, .c-button__size--xs--thin:hover, .c-button__size--xs--thin:active, .c-button__size--xs--thin:focus {
  font-size: 0.66em;
  padding: 0.5em 1em;
}
@media only screen and (max-width: 991px) {
  .c-button__size--xs--thin, .c-button__size--xs--thin:hover, .c-button__size--xs--thin:active, .c-button__size--xs--thin:focus {
    padding: 0.75em 1em;
  }
}
@media only screen and (max-width: 767px) {
  .c-button__size--xs--thin, .c-button__size--xs--thin:hover, .c-button__size--xs--thin:active, .c-button__size--xs--thin:focus {
    padding: 0.5em 1em;
  }
}
.c-button__size--xs--heavy, .c-button__size--xs--heavy:hover, .c-button__size--xs--heavy:active, .c-button__size--xs--heavy:focus {
  font-size: 0.66em;
  padding: 3em 1em;
}
@media only screen and (max-width: 991px) {
  .c-button__size--xs--heavy, .c-button__size--xs--heavy:hover, .c-button__size--xs--heavy:active, .c-button__size--xs--heavy:focus {
    padding: 2.5em 1em;
  }
}
@media only screen and (max-width: 767px) {
  .c-button__size--xs--heavy, .c-button__size--xs--heavy:hover, .c-button__size--xs--heavy:active, .c-button__size--xs--heavy:focus {
    padding: 2em 1em;
  }
}

.c-button__texture--main, .c-button__texture--main:hover, .c-button__texture--main:active, .c-button__texture--main:focus {
  background-color: var(--maincolor);
  color: #FFF;
  border-color: transparent;
}
.c-button__texture--main-solid, .c-button__texture--main-solid:hover, .c-button__texture--main-solid:active, .c-button__texture--main-solid:focus {
  background-color: #FFF;
  color: var(--maincolor);
  border-color: var(--maincolor);
}
.c-button__texture--main-solid:hover, .c-button__texture--main-solid:active, .c-button__texture--main-solid:focus {
  background-color: #FFF;
  color: var(--maincolor);
  opacity: 1;
}
.c-button__texture--main-outline, .c-button__texture--main-outline:hover, .c-button__texture--main-outline:active, .c-button__texture--main-outline:focus {
  background-color: transparent;
  color: var(--maincolor);
  border-color: var(--maincolor);
}
.c-button__texture--main-outline:hover, .c-button__texture--main-outline:active, .c-button__texture--main-outline:focus {
  background-color: transparent;
  color: var(--maincolor);
  opacity: 1;
}
.c-button__texture--accent, .c-button__texture--accent:hover, .c-button__texture--accent:active, .c-button__texture--accent:focus {
  background-color: var(--accentcolor);
  color: #FFF;
  border-color: transparent;
}
.c-button__texture--accent-solid, .c-button__texture--accent-solid:hover, .c-button__texture--accent-solid:active, .c-button__texture--accent-solid:focus {
  background-color: #FFF;
  color: var(--accentcolor);
  border-color: var(--accentcolor);
}
.c-button__texture--accent-solid:hover, .c-button__texture--accent-solid:active, .c-button__texture--accent-solid:focus {
  background-color: #FFF;
  color: var(--accentcolor);
  opacity: 1;
}
.c-button__texture--accent-outline, .c-button__texture--accent-outline:hover, .c-button__texture--accent-outline:active, .c-button__texture--accent-outline:focus {
  background-color: transparent;
  color: var(--accentcolor);
  border-color: var(--accentcolor);
}
.c-button__texture--accent-outline:hover, .c-button__texture--accent-outline:active, .c-button__texture--accent-outline:focus {
  background-color: var(--accentcolor);
  color: #FFF;
  opacity: 1;
}
.c-button__texture--accent-orange, .c-button__texture--accent-orange:hover, .c-button__texture--accent-orange:active, .c-button__texture--accent-orange:focus {
  background-color: var(--accent-orange);
  color: #FFF;
  border-color: transparent;
}
.c-button__texture--accent-orange-solid, .c-button__texture--accent-orange-solid:hover, .c-button__texture--accent-orange-solid:active, .c-button__texture--accent-orange-solid:focus {
  background-color: #FFF;
  color: var(--accent-orange);
  border-color: var(--accent-orange);
}
.c-button__texture--accent-orange-solid:hover, .c-button__texture--accent-orange-solid:active, .c-button__texture--accent-orange-solid:focus {
  background-color: #FFF;
  color: var(--accent-orange);
  opacity: 1;
}
.c-button__texture--accent-orange-outline, .c-button__texture--accent-orange-outline:hover, .c-button__texture--accent-orange-outline:active, .c-button__texture--accent-orange-outline:focus {
  background-color: transparent;
  color: var(--accent-orange);
  border-color: var(--accent-orange);
}
.c-button__texture--accent-orange-outline:hover, .c-button__texture--accent-orange-outline:active, .c-button__texture--accent-orange-outline:focus {
  background-color: var(---accent-orange);
  color: #FFF;
  opacity: 1;
}
.c-button__texture--accent-yellow, .c-button__texture--accent-yellow:hover, .c-button__texture--accent-yellow:active, .c-button__texture--accent-yellow:focus {
  background-color: var(--accent-yellow);
  color: var(--textcolor);
  border-color: transparent;
}
.c-button__texture--accent-yellow-solid, .c-button__texture--accent-yellow-solid:hover, .c-button__texture--accent-yellow-solid:active, .c-button__texture--accent-yellow-solid:focus {
  background-color: #FFF;
  color: var(--accent-yellow);
  border-color: var(--accent-yellow);
}
.c-button__texture--accent-yellow-solid:hover, .c-button__texture--accent-yellow-solid:active, .c-button__texture--accent-yellow-solid:focus {
  background-color: #FFF;
  color: var(--accent-yellow);
  opacity: 1;
}
.c-button__texture--accent-yellow-outline, .c-button__texture--accent-yellow-outline:hover, .c-button__texture--accent-yellow-outline:active, .c-button__texture--accent-yellow-outline:focus {
  background-color: transparent;
  color: var(--accent-yellow);
  border-color: var(--accent-yellow);
}
.c-button__texture--accent-yellow-outline:hover, .c-button__texture--accent-yellow-outline:active, .c-button__texture--accent-yellow-outline:focus {
  background-color: var(---accent-yellow);
  color: #FFF;
  opacity: 1;
}
.c-button__texture--flat, .c-button__texture--flat:hover, .c-button__texture--flat:active, .c-button__texture--flat:focus {
  background-color: var(--maincolor);
  color: #FFF;
  border-color: transparent;
}
.c-button__texture--flat-sub, .c-button__texture--flat-sub:hover, .c-button__texture--flat-sub:active, .c-button__texture--flat-sub:focus {
  background-color: #666;
  color: #FFF;
  border-color: transparent;
}
.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--light, .c-button__texture--light:hover, .c-button__texture--light:active, .c-button__texture--light:focus {
  background-color: rgb(255, 255, 255);
  color: var(--textcolor);
  border-color: rgba(0, 0, 0, 0.5);
}
.c-button__texture--light:hover, .c-button__texture--light:active, .c-button__texture--light:focus {
  background-color: rgba(255, 255, 255, 0.75);
  color: var(--textcolor);
  opacity: 1;
}
.c-button__texture--light-outline, .c-button__texture--light-outline:hover, .c-button__texture--light-outline:active, .c-button__texture--light-outline:focus {
  background-color: transparent;
  color: #FFF;
  border-color: #FFF;
}
.c-button__texture--light-outline:hover, .c-button__texture--light-outline:active, .c-button__texture--light-outline:focus {
  background-color: rgba(255, 255, 255, 0.05);
  color: #FFF;
  opacity: 1;
}
.c-button__texture--dark, .c-button__texture--dark:hover, .c-button__texture--dark:active, .c-button__texture--dark:focus {
  background-color: rgba(0, 0, 0, 0);
  color: var(--textcolor);
  border-color: rgba(0, 0, 0, 0.5);
}
.c-button__texture--dark:hover, .c-button__texture--dark:active, .c-button__texture--dark:focus {
  background-color: rgba(0, 0, 0, 0.05);
  color: var(--textcolor);
  opacity: 1;
}
.c-button__texture--dark-outline, .c-button__texture--dark-outline:hover, .c-button__texture--dark-outline:active, .c-button__texture--dark-outline:focus {
  background-color: rgba(0, 0, 0, 0);
  color: var(--textcolor);
  border-color: var(--textcolor);
  filter: invert(100%);
  mix-blend-mode: exclusion;
}
.c-button__texture--dark-outline:hover, .c-button__texture--dark-outline:active, .c-button__texture--dark-outline:focus {
  background-color: rgba(0, 0, 0, 0.05);
  color: var(--textcolor);
  opacity: 1;
  filter: invert(100%);
  mix-blend-mode: exclusion;
}
.c-button__texture--dark-outline.c-button__dummy, .c-button__texture--dark-outline.c-button__dummy:hover, .c-button__texture--dark-outline.c-button__dummy:active, .c-button__texture--dark-outline.c-button__dummy:focus {
  background-color: rgba(0, 0, 0, 0);
  color: var(--textcolor);
  border-color: var(--textcolor);
  filter: invert(100%);
  mix-blend-mode: exclusion;
}

.c-button__hover.c-button__texture--main-solid span, .c-button__hover.c-button__texture--main-solid:after, .c-button__hover.c-button__texture--main-outline span, .c-button__hover.c-button__texture--main-outline:after {
  color: var(--maincolor);
}
.c-button__hover.c-button__texture--main-solid:before, .c-button__hover.c-button__texture--main-outline:before {
  background-color: var(--maincolor);
}
.c-button__hover.c-button__texture--main-solid:hover:before, .c-button__hover.c-button__texture--main-solid:active:before, .c-button__hover.c-button__texture--main-solid:focus:before, .c-button__hover.c-button__texture--main-outline:hover:before, .c-button__hover.c-button__texture--main-outline:active:before, .c-button__hover.c-button__texture--main-outline:focus:before {
  background-color: var(--maincolor);
}
.c-button__hover.c-button__texture--accent-solid span, .c-button__hover.c-button__texture--accent-solid:after, .c-button__hover.c-button__texture--accent-outline span, .c-button__hover.c-button__texture--accent-outline:after {
  color: var(--accentcolor);
}
.c-button__hover.c-button__texture--accent-solid:before, .c-button__hover.c-button__texture--accent-outline:before {
  background-color: var(--accentcolor);
}
.c-button__hover.c-button__texture--accent-solid:hover:before, .c-button__hover.c-button__texture--accent-solid:active:before, .c-button__hover.c-button__texture--accent-solid:focus:before, .c-button__hover.c-button__texture--accent-outline:hover:before, .c-button__hover.c-button__texture--accent-outline:active:before, .c-button__hover.c-button__texture--accent-outline:focus:before {
  background-color: var(--accentcolor);
}
.c-button__hover--animation-left-right {
  border-width: 2px;
  position: relative;
}
.c-button__hover--animation-left-right span, .c-button__hover--animation-left-right:after {
  position: relative;
  z-index: 1;
}
.c-button__hover--animation-left-right:before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  content: "";
  margin-right: 0;
  display: block;
  -webkit-animation: animationout 0.5s ease-out 1 forwards;
          animation: animationout 0.5s ease-out 1 forwards;
}
@-webkit-keyframes animationout {
  0% {
    width: 100%;
  }
  20% {
    width: 100%;
  }
  80% {
    width: 0;
  }
  100% {
    width: 0;
  }
}
@keyframes animationout {
  0% {
    width: 100%;
  }
  20% {
    width: 100%;
  }
  80% {
    width: 0;
  }
  100% {
    width: 0;
  }
}
.c-button__hover--animation-left-right:hover, .c-button__hover--animation-left-right:active, .c-button__hover--animation-left-right:focus {
  background-color: transparent;
  opacity: 1 !important;
}
.c-button__hover--animation-left-right:hover span, .c-button__hover--animation-left-right:hover:after, .c-button__hover--animation-left-right:active span, .c-button__hover--animation-left-right:active:after, .c-button__hover--animation-left-right:focus span, .c-button__hover--animation-left-right:focus:after {
  color: #FFF;
  position: relative;
  z-index: 1;
}
.c-button__hover--animation-left-right:hover:before, .c-button__hover--animation-left-right:active:before, .c-button__hover--animation-left-right:focus:before {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  content: "";
  -webkit-animation: animationhover 0.5s ease-in 1 forwards;
          animation: animationhover 0.5s ease-in 1 forwards;
}
@-webkit-keyframes animationhover {
  0% {
    width: 0;
  }
  20% {
    width: 0;
  }
  80% {
    width: 100%;
  }
  100% {
    width: 100%;
  }
}
@keyframes animationhover {
  0% {
    width: 0;
  }
  20% {
    width: 0;
  }
  80% {
    width: 100%;
  }
  100% {
    width: 100%;
  }
}

.c-box--xs, .c-box--sm, .c-box--md, .c-box--lg, .c-box--xl {
  background-color: #FFF;
  display: block;
  width: 100%;
  position: relative;
  scroll-margin-top: calc(var(--header-height) + 2rem);
}
.c-box__line--light .c-box__body {
  border: 1px solid #DDD;
}
.c-box__line--dark .c-box__body {
  border: 1px solid #DDD;
  border-top: none;
}
.c-box__border--slash {
  background-image: repeating-linear-gradient(135deg, var(--accentcolor) 0, var(--accentcolor) 8px, #FFF 8px, #FFF 12px);
  padding: 4px;
}
.c-box__float {
  box-shadow: 0 0 0.75rem rgba(0, 0, 0, 0.1);
}
.c-box__header {
  color: #FFF;
  line-height: 1.5;
  font-weight: 700;
  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 0.5rem;
  font-size: 1.125em;
}
.c-box--sm .c-box__header {
  padding: 1rem 0.5rem;
  font-size: 1.25em;
}
@media only screen and (max-width: 1399px) {
  .c-box--sm .c-box__header {
    padding: 1.25rem 0.5rem;
    font-size: 1.125em;
  }
}
@media only screen and (max-width: 991px) {
  .c-box--sm .c-box__header {
    padding: 1rem 0.5rem;
    font-size: 1em;
  }
}
.c-box--md .c-box__header {
  padding: 1.5rem 0.5rem;
  font-size: 1.5em;
}
@media only screen and (max-width: 991px) {
  .c-box--md .c-box__header {
    padding: 1rem 0.5rem;
    font-size: 1.25em;
  }
}
@media only screen and (max-width: 767px) {
  .c-box--md .c-box__header {
    padding: 1rem 0.5rem;
    font-size: 1.125em;
  }
}
.c-box--lg .c-box__header {
  padding: 2rem 0.5rem;
  font-size: 1.75em;
}
@media only screen and (max-width: 1399px) {
  .c-box--lg .c-box__header {
    padding: 1rem 0.5rem;
    font-size: 1.5em;
  }
}
@media only screen and (max-width: 991px) {
  .c-box--lg .c-box__header {
    padding: 1rem 0.5rem;
    font-size: 1.25em;
  }
}
@media only screen and (max-width: 767px) {
  .c-box--lg .c-box__header {
    padding: 1rem 0.5rem;
    font-size: 1.125em;
  }
}
.c-box--xl .c-box__header {
  padding: 3rem 0.5rem;
  font-size: 2em;
}
@media only screen and (max-width: 1399px) {
  .c-box--xl .c-box__header {
    padding: 2rem 0.5rem;
    font-size: 1.5em;
  }
}
@media only screen and (max-width: 991px) {
  .c-box--xl .c-box__header {
    padding: 1rem 0.5rem;
    font-size: 1.25em;
  }
}
@media only screen and (max-width: 767px) {
  .c-box--xl .c-box__header {
    padding: 1rem 0.5rem;
    font-size: 1.125em;
  }
}
.c-box__image[class*=u-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;
  }
}
.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(--deepcolor);
}
.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--xxs .c-box__body, .c-box--xxs .c-box__fotorama, .c-box--xxs .c-box__date, .c-box--xxs .c-box__news--title, .c-box--xxs .c-box__file {
  padding: 0.5rem;
}
.c-box--xs .c-box__body, .c-box--xs .c-box__fotorama, .c-box--xs .c-box__date, .c-box--xs .c-box__news--title, .c-box--xs .c-box__file {
  padding: 1rem;
}
.c-box--sm .c-box__body, .c-box__sm .c-box__fotorama, .c-box--sms .c-box__news--title, .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--sms .c-box__news--title, .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__news--title, .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__news--title, .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__news--title, .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__news--title, .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__news--title, .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__news--title, .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__news--title, .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__news--title, .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__news--title, .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__news--title, .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--xxl .c-box__news--title, .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--xxl .c-box__news--title, .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--xxl .c-box__news--title, .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--xxl .c-box__news--title, .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--xxl .c-box__news--title, .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 Pro";
  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 Pro";
  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__top .u-bg__contain, .c-poster__left .u-bg__cover, .c-poster__left .u-bg__contain, .c-poster__right .u-bg__cover, .c-poster__right .u-bg__contain, .c-poster__bottom .u-bg__cover, .c-poster__bottom .u-bg__contain, .c-poster__top--bottom .u-bg__cover, .c-poster__top--bottom .u-bg__contain, .c-poster__ful .u-bg__cover, .c-poster__ful .u-bg__contain {
  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(var(--clearance-padding) * 2);
}
@media only screen and (max-width: 1399px) {
  .c-poster__top {
    top: 0;
    bottom: calc(var(--clearance-padding) * 0.85 * 2);
  }
}
@media only screen and (max-width: 1199px) {
  .c-poster__top {
    top: 0;
    bottom: calc(var(--clearance-padding) * 0.7 * 2);
  }
}
@media only screen and (max-width: 991px) {
  .c-poster__top {
    top: auto;
    bottom: calc(var(--clearance-padding) * 0.55 * 2);
  }
}
@media only screen and (max-width: 767px) {
  .c-poster__top {
    top: 0;
    bottom: calc(var(--clearance-padding) * 0.4 * 2);
  }
}
@media only screen and (max-width: 575px) {
  .c-poster__top {
    top: 0;
    bottom: calc(var(--clearance-padding) * 0.25 * 2);
  }
}
.c-poster__left {
  left: 0;
}
.c-poster__right {
  right: 0;
}
.c-poster__bottom {
  top: calc(var(--clearance-padding) * 2);
  bottom: 0;
}
@media only screen and (max-width: 1399px) {
  .c-poster__bottom {
    top: calc(var(--clearance-padding) * 0.85 * 2);
    bottom: 0;
  }
}
@media only screen and (max-width: 1199px) {
  .c-poster__bottom {
    top: calc(var(--clearance-padding) * 0.7 * 2);
    bottom: 0;
  }
}
@media only screen and (max-width: 991px) {
  .c-poster__bottom {
    top: calc(var(--clearance-padding) * 0.55 * 2);
    bottom: 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-poster__bottom {
    top: calc(var(--clearance-padding) * 0.4 * 2);
    bottom: 0;
  }
}
@media only screen and (max-width: 575px) {
  .c-poster__bottom {
    top: calc(var(--clearance-padding) * 0.25 * 2);
    bottom: 0;
  }
}
@media only screen and (min-width: 992px) {
  .c-poster__left--lg {
    left: 0;
    right: 50%;
  }
}
@media only screen and (max-width: 991px) {
  .c-poster__left--lg {
    opacity: 0.25;
  }
}
@media only screen and (min-width: 992px) {
  .c-poster__right--lg {
    left: 50%;
    right: 0;
  }
}
@media only screen and (max-width: 991px) {
  .c-poster__right--lg {
    opacity: 0.25;
  }
}
.c-poster__ful {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
}
@media only screen and (max-width: 1199px) {
  .c-poster__lg--top {
    padding-top: 30vw !important;
  }
  .c-poster__lg--top .c-poster__left.c-poster__top, .c-poster__lg--top .c-poster__left.c-poster__bottom, .c-poster__lg--top .c-poster__right.c-poster__top, .c-poster__lg--top .c-poster__right.c-poster__bottom {
    top: 0;
    left: 0;
    right: 0;
    bottom: auto;
    width: 100%;
    height: 33vw;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
  }
}
@media only screen and (max-width: 1199px) {
  .c-poster__lg--bottom {
    padding-bottom: 30vw !important;
  }
  .c-poster__lg--bottom .c-poster__left.c-poster__top, .c-poster__lg--bottom .c-poster__left.c-poster__bottom, .c-poster__lg--bottom .c-poster__right.c-poster__top, .c-poster__lg--bottom .c-poster__right.c-poster__bottom {
    top: auto;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 33vw;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
  }
}
@media only screen and (max-width: 991px) {
  .c-poster__md--top {
    padding-top: 30vw !important;
  }
  .c-poster__md--top .c-poster__left.c-poster__top, .c-poster__md--top .c-poster__left.c-poster__bottom, .c-poster__md--top .c-poster__right.c-poster__top, .c-poster__md--top .c-poster__right.c-poster__bottom {
    top: 0;
    left: 0;
    right: 0;
    bottom: auto;
    width: 100%;
    height: 33vw;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
  }
}
@media only screen and (max-width: 991px) {
  .c-poster__md--bottom {
    padding-bottom: 30vw !important;
  }
  .c-poster__md--bottom .c-poster__left.c-poster__top, .c-poster__md--bottom .c-poster__left.c-poster__bottom, .c-poster__md--bottom .c-poster__right.c-poster__top, .c-poster__md--bottom .c-poster__right.c-poster__bottom {
    top: auto;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 33vw;
    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;
  }
}

.l-section__clearance--top .c-poster__top {
  top: 0;
  bottom: calc(var(--clearance-padding));
}
@media only screen and (max-width: 1399px) {
  .l-section__clearance--top .c-poster__top {
    top: 0;
    bottom: calc(var(--clearance-padding) * 0.85);
  }
}
@media only screen and (max-width: 1199px) {
  .l-section__clearance--top .c-poster__top {
    top: 0;
    bottom: calc(var(--clearance-padding) * 0.7);
  }
}
@media only screen and (max-width: 991px) {
  .l-section__clearance--top .c-poster__top {
    top: 0;
    bottom: calc(var(--clearance-padding) * 0.55);
  }
}
@media only screen and (max-width: 767px) {
  .l-section__clearance--top .c-poster__top {
    top: 0;
    bottom: calc(var(--clearance-padding) * 0.4);
  }
}
@media only screen and (max-width: 575px) {
  .l-section__clearance--top .c-poster__top {
    top: 0;
    bottom: calc(var(--clearance-padding) * 0.25);
  }
}

.l-section__clearance--bottom__bottom {
  top: calc(var(--clearance-padding));
  bottom: 0;
}
@media only screen and (max-width: 1399px) {
  .l-section__clearance--bottom__bottom {
    top: calc(var(--clearance-padding) * 0.85);
  }
}
@media only screen and (max-width: 1199px) {
  .l-section__clearance--bottom__bottom {
    top: calc(var(--clearance-padding) * 0.7);
  }
}
@media only screen and (max-width: 991px) {
  .l-section__clearance--bottom__bottom {
    top: calc(var(--clearance-padding) * 0.55);
  }
}
@media only screen and (max-width: 767px) {
  .l-section__clearance--bottom__bottom {
    top: calc(var(--clearance-padding) * 0.4);
  }
}
@media only screen and (max-width: 575px) {
  .l-section__clearance--bottom__bottom {
    top: calc(var(--clearance-padding) * 0.25);
  }
}

.c-poster__tracing-paper {
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.1);
  padding: calc(var(--clearance-padding) / 3 * 2 * 0.85);
}
@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 {
  background: rgb(255, 255, 255);
  padding: var(--clearance-padding);
}
@media only screen and (max-width: 1399px) {
  .c-poster__floating-paper {
    padding: calc(var(--clearance-padding) * 0.85);
  }
}
@media only screen and (max-width: 1199px) {
  .c-poster__floating-paper {
    padding: calc(var(--clearance-padding) * 0.75);
  }
}
@media only screen and (max-width: 991px) {
  .c-poster__floating-paper {
    padding: calc(var(--clearance-padding) * 0.55);
  }
}
@media only screen and (max-width: 767px) {
  .c-poster__floating-paper {
    padding: calc(var(--clearance-padding) * 0.45);
  }
}
@media only screen and (max-width: 575px) {
  .c-poster__floating-paper {
    padding: calc(var(--clearance-padding) * 0.25);
  }
}

.c-lead--xs, .c-lead--sm, .c-lead--md, .c-lead--lg, .c-lead--xl, .c-lead--xxl {
  line-height: 1.75;
  font-weight: 700;
}
@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: 1199px) {
  .c-lead--xs {
    font-size: 1.125em;
  }
}
@media only screen and (max-width: 767px) {
  .c-lead--xs {
    font-size: 1em;
  }
}
.c-lead--sm {
  font-size: 1.33em;
}
@media only screen and (max-width: 991px) {
  .c-lead--sm {
    font-size: 1.25em;
  }
}
@media only screen and (max-width: 767px) {
  .c-lead--sm {
    font-size: 1.125em;
  }
}
.c-lead--md {
  font-size: 1.5em;
}
@media only screen and (max-width: 991px) {
  .c-lead--md {
    font-size: 1.33em;
  }
}
@media only screen and (max-width: 767px) {
  .c-lead--md {
    font-size: 1.25em;
  }
}
.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 Pro";
  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 Pro";
  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 Pro";
  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 {
  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;
  width: 1.5em;
  margin-left: -1.5em;
}

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

p.check:before, div.check:before {
  content: "\f14a";
  font-family: "Font Awesome 5 Pro";
  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 Pro";
  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 Pro";
  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: 991px) {
  .c-box__flow--horizontal {
    display: block;
    width: 50%;
    margin: 0 auto;
  }
}
@media only screen and (max-width: 575px) {
  .c-box__flow--horizontal {
    width: 75%;
  }
}
.c-box__flow--horizontal .c-box__flow--article {
  padding: 2rem;
  position: relative;
  width: 100%;
  background-color: #FFF;
  border: 1px solid var(--maincolor);
}
@media only screen and (max-width: 1399px) {
  .c-box__flow--horizontal .c-box__flow--article {
    padding: 1.5rem;
  }
}
@media only screen and (max-width: 1199px) {
  .c-box__flow--horizontal .c-box__flow--article {
    padding: 1rem;
  }
}
.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: 1.5rem 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .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: 0 -1.25rem;
    top: 100%;
    left: 50%;
    right: 50%;
    bottom: auto;
    border-color: var(--maincolor) transparent transparent transparent;
  }
}
@media only screen and (max-width: 767px) {
  .c-box__flow--horizontal .c-box__flow--article:after {
    border-width: 1rem;
    margin: 0 -1rem;
  }
}
.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: 1rem 0 1.5rem;
  text-align: center;
}
@media only screen and (max-width: 991px) {
  .c-box__flow--horizontal .c-box__flow--article h4 {
    margin: 0.75rem 0 1.25rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-box__flow--horizontal .c-box__flow--article h4 {
    margin: 0.5rem 0 1rem;
  }
}
.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: 1rem 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(--deepcolor);
  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;
}
@media only screen and (max-width: 575px) {
  .c-box__flow--no, .c-box__flow--notes {
    display: block;
  }
}
.c-box__flow--no {
  width: 4.5rem;
  vertical-align: top;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .c-box__flow--no {
    width: 6rem;
    vertical-align: top;
  }
}
.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;
}
@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: 1rem 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: 700;
}
.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 a, .c-box__flow--notes a:hover {
  color: #FFF;
}
.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 Pro";
  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;
  position: relative;
  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.75em;
  line-height: 1.5;
  width: 2.25rem;
  height: 1.25em;
}

.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-floating > label {
  opacity: 0.33;
}

.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label {
  opacity: 0.33;
  transform: scale(0.85) translateY(-0.75rem) translateX(0.15rem);
}

.form-floating > .form-control:not(:-ms-input-placeholder) ~ label {
  opacity: 0.33;
  transform: scale(0.85) translateY(-0.75rem) translateX(0.15rem);
}

.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-select ~ label {
  opacity: 0.33;
  transform: scale(0.85) translateY(-0.75rem) translateX(0.15rem);
}

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

.input-group > .form-floating {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}

/* 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;
  white-space: nowrap;
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
}
@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;
}

.reserve-year {
  display: flex;
  align-items: center;
  white-space: nowrap;
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
}
@media only screen and (max-width: 575px) {
  .reserve-year {
    margin: 0.5em 0;
  }
}

.reserve-date {
  display: flex;
  align-items: center;
  white-space: nowrap;
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
}
@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]: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, .form-control:focus, .form-select:focus-visible, .form-control:focus-visible {
  border: 1px solid var(--maincolor);
  box-shadow: none;
  outline: none;
}

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-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 + .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 + .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 Pro";
  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;
}

.form {
  width: 5em;
}

.form-sm {
  width: 6em;
}

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

.form-lg {
  width: 100%;
}

.c-form__width {
  width: 20%;
  min-width: 5em;
}
.c-form__width--sm {
  width: 25%;
  min-width: 10em;
}
@media only screen and (max-width: 575px) {
  .c-form__width--sm {
    width: 50%;
  }
}
.c-form__width--md {
  width: 50%;
  min-width: 15em;
}
@media only screen and (max-width: 575px) {
  .c-form__width--md {
    width: 100%;
  }
}
.c-form__width--lg {
  width: 75%;
}
@media only screen and (max-width: 575px) {
  .c-form__width--lg {
    width: 100%;
  }
}

.c-form__table--title {
  margin: 1rem 0 0.5rem;
}
@media only screen and (max-width: 767px) {
  .c-form__table--title {
    margin: 0.5rem 0 0.25rem;
  }
}
.c-form__table--title:first-child {
  margin-top: 0;
}

.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(../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(../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(--deepcolor);
}
.c-frame__note--line span {
  display: inline-block;
  width: 5em;
}

.c-category__title {
  background-color: var(--maincolor);
  color: #FFF;
  font-size: 1.25em;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
  font-weight: 600;
  text-transform: uppercase;
  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;
}
@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 {
  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;
}

.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;
}
@media screen and (max-width: 991px) {
  .l-outer__side .c-category__list li {
    border-bottom: none;
  }
}

.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: 20%;
}
.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: #FFF;
  color: var(--textcolor);
  border: none;
  border-bottom: 1px solid #EDEDED;
  font-size: 0.9em;
  line-height: 1.5;
  font-weight: 700;
  margin: 0;
  padding: 1rem 1.5rem;
  display: flex;
  justify-content: space-between;
  width: 100%;
  opacity: 1;
}
@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 {
    background: #FFF;
    color: var(--textcolor);
    border: none;
    opacity: 1;
  }
}
.c-category__item a:hover, .c-category__item a:active, .c-category__item a:focus {
  background: var(--palecolor);
  color: var(--textcolor);
  opacity: 1;
}
.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(--palecolor);
  color: var(--deepcolor);
  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);
}

.c-days__flow--image img {
  width: 100%;
  height: auto;
}
.c-days__flow--text {
  background-color: var(--beigecolor);
  padding: 2.5rem;
  border-radius: 1rem;
}
@media only screen and (max-width: 1199px) {
  .c-days__flow--text {
    padding: 2rem;
    border-radius: 0.75rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-days__flow--text {
    padding: 1.5rem;
    border-radius: 0.5rem;
  }
}
@media only screen and (max-width: 575px) {
  .c-days__flow--text {
    padding: 1rem;
  }
}
.c-days__flow--text strong {
  font-size: 1.5em;
  line-height: 1.75;
  margin-bottom: 1rem;
  padding: 0.5rem 0;
  display: block;
}
@media only screen and (max-width: 1199px) {
  .c-days__flow--text strong {
    font-size: 1.25em;
    line-height: 1.5;
    margin-bottom: 0.75rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-days__flow--text strong {
    font-size: 1.125em;
    line-height: 1.25;
    margin-bottom: 0.5rem;
  }
}
.c-days__flow--morning, .c-days__flow--noon {
  display: flex;
  align-items: flex-start;
  position: relative;
}
@media only screen and (max-width: 575px) {
  .c-days__flow--morning, .c-days__flow--noon {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-end;
  }
}
.c-days__flow--morning dt, .c-days__flow--noon dt {
  padding: 0 2rem;
  flex: 1 1 16%;
  order: 2;
}
@media only screen and (max-width: 1399px) {
  .c-days__flow--morning dt, .c-days__flow--noon dt {
    padding: 0 1.5rem;
  }
}
@media only screen and (max-width: 991px) {
  .c-days__flow--morning dt, .c-days__flow--noon dt {
    padding: 0 1rem;
  }
}
@media only screen and (max-width: 575px) {
  .c-days__flow--morning dt, .c-days__flow--noon dt {
    padding: 0;
    order: 1;
  }
}
.c-days__flow--morning dt strong, .c-days__flow--noon dt strong {
  color: #fff;
  border-radius: 4rem;
  font-size: 1.5em;
  line-height: 1.5;
  text-align: center;
  display: block;
  padding: 0.5rem 0;
}
@media only screen and (max-width: 1199px) {
  .c-days__flow--morning dt strong, .c-days__flow--noon dt strong {
    font-size: 1.25em;
    line-height: 1.25;
    margin-bottom: 0.75rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-days__flow--morning dt strong, .c-days__flow--noon dt strong {
    font-size: 1.125em;
    line-height: 1.125;
  }
}
@media only screen and (max-width: 575px) {
  .c-days__flow--morning dt strong, .c-days__flow--noon dt strong {
    width: 6rem;
  }
}
.c-days__flow--morning dd, .c-days__flow--noon dd {
  flex: 1 1 42%;
}
@media only screen and (max-width: 575px) {
  .c-days__flow--morning dd, .c-days__flow--noon dd {
    padding-left: 6.25rem;
    flex: 1 1 84%;
  }
}
.c-days__flow--morning::after, .c-days__flow--noon::after {
  margin: -2px;
  width: 2px;
  position: absolute;
  top: 2.5rem;
  left: 50%;
  right: 50%;
  bottom: -2.5rem;
  content: "";
  z-index: -2;
}
@media only screen and (max-width: 1399px) {
  .c-days__flow--morning::after, .c-days__flow--noon::after {
    top: 2rem;
    bottom: -2rem;
  }
}
@media only screen and (max-width: 991px) {
  .c-days__flow--morning::after, .c-days__flow--noon::after {
    top: 2rem;
    bottom: -1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-days__flow--morning::after, .c-days__flow--noon::after {
    top: 2rem;
    bottom: -1.25rem;
  }
}
@media only screen and (max-width: 575px) {
  .c-days__flow--morning::after, .c-days__flow--noon::after {
    left: 3rem;
    right: auto;
    z-index: 0;
  }
}
.c-days__flow--morning:last-child::after, .c-days__flow--noon:last-child::after {
  display: none;
}
.c-days__flow--morning + .c-days__flow, .c-days__flow--noon + .c-days__flow {
  margin-top: 3rem;
}
@media only screen and (max-width: 767px) {
  .c-days__flow--morning + .c-days__flow, .c-days__flow--noon + .c-days__flow {
    margin-top: 2rem;
  }
}
.c-days__flow--morning dt strong {
  background-color: var(--nobudocolor);
}
.c-days__flow--morning::after {
  background-color: var(--nobudocolor);
}
.c-days__flow--morning:last-child::after {
  display: none;
}
.c-days__flow--morning + .c-days__flow--morning {
  margin-top: 2.5rem;
}
@media only screen and (max-width: 1399px) {
  .c-days__flow--morning + .c-days__flow--morning {
    margin-top: 2rem;
  }
}
@media only screen and (max-width: 991px) {
  .c-days__flow--morning + .c-days__flow--morning {
    margin-top: 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-days__flow--morning + .c-days__flow--morning {
    margin-top: 1.25rem;
  }
}
.c-days__flow--noon dt strong {
  background-color: var(--aicolor);
}
.c-days__flow--noon::after {
  background-color: var(--aicolor);
}
.c-days__flow--noon + .c-days__flow--noon {
  margin-top: 2.5rem;
}
@media only screen and (max-width: 1399px) {
  .c-days__flow--noon + .c-days__flow--noon {
    margin-top: 2rem;
  }
}
@media only screen and (max-width: 991px) {
  .c-days__flow--noon + .c-days__flow--noon {
    margin-top: 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-days__flow--noon + .c-days__flow--noon {
    margin-top: 1.25rem;
  }
}
.c-days__events--left .c-days__flow--text {
  order: 1;
}
@media only screen and (max-width: 575px) {
  .c-days__events--left .c-days__flow--text {
    order: 2;
  }
}
@media only screen and (max-width: 575px) {
  .c-days__events--left .c-days__flow--text strong {
    text-align: left;
  }
}
.c-days__events--left .c-days__flow--image {
  order: 3;
}
@media only screen and (max-width: 575px) {
  .c-days__events--left .c-days__flow--image {
    order: 3;
    margin-top: 1rem;
  }
}
.c-days__events--right .c-days__flow--text {
  order: 3;
}
@media only screen and (max-width: 575px) {
  .c-days__events--right .c-days__flow--text {
    order: 2;
  }
}
.c-days__events--right .c-days__flow--text strong {
  text-align: left;
}
@media only screen and (max-width: 575px) {
  .c-days__events--right .c-days__flow--text strong {
    text-align: left;
  }
}
.c-days__events--right .c-days__flow--image {
  order: 1;
}
@media only screen and (max-width: 575px) {
  .c-days__events--right .c-days__flow--image {
    order: 3;
    margin-top: 1rem;
  }
}

.c-time__flow {
  width: 100%;
  display: table;
}
.c-time__flow dt, .c-time__flow dd {
  display: table-cell;
  vertical-align: top;
}
.c-time__flow dt {
  background-color: var(--accentcolor);
  color: #fff;
  text-align: center;
  padding: 0 1rem;
  width: 6rem;
}
@media only screen and (max-width: 767px) {
  .c-time__flow dt {
    padding: 0 0.5rem;
    width: 4rem;
  }
}
.c-time__flow dd {
  padding-left: 1em;
}
.c-time__flow + .c-time__flow {
  margin-top: 2rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .c-time__flow + .c-time__flow {
    margin-top: 1rem;
  }
}
.c-time__flow + .c-time__flow::before {
  background-color: var(--accentcolor);
  width: 2px;
  display: block;
  position: absolute;
  top: -2rem;
  left: 2.5rem;
  bottom: 100%;
  content: "";
}
@media only screen and (max-width: 767px) {
  .c-time__flow + .c-time__flow::before {
    top: -1rem;
    left: 1.75rem;
  }
}

.c-events__season {
  background-color: #fff;
  overflow: hidden;
  width: 100%;
}
.c-events__season h3 {
  color: #fff;
  font-size: 2rem;
  text-align: center;
  padding: 1.5rem 2rem;
}
@media only screen and (max-width: 767px) {
  .c-events__season h3 {
    font-size: 1.25rem;
    padding: 1rem;
  }
}

.c-heading__spring {
  background-color: #ff8e8e;
}

.c-heading__summer {
  background-color: #a6cc3e;
}

.c-heading__autumn {
  background-color: #ffbc3b;
}

.c-heading__winter {
  background-color: #33a1db;
}

.js-pagetop {
  background: url(../images/common/pagetop.png) center center/contain no-repeat;
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 999;
  width: 4rem;
  height: 4rem;
  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:hover {
  -webkit-animation: korokoro 0.5s linear 0s 1;
          animation: korokoro 0.5s linear 0s 1;
}
.js-pagetop.is-active {
  opacity: 1;
  transition: 0.6s;
  cursor: pointer;
}

.p-header {
  box-shadow: 0 0 0.75rem rgba(0, 0, 0, 0);
  background: url(../images/common/header-nav__background--left.png) left top no-repeat, url(../images/common/header-nav__background--right.png) right top no-repeat, url(../images/common/header-nav__background.png) center top no-repeat;
  background-size: auto var(--header-height), auto var(--header-height), cover;
  background-color: #FFF;
}
.p-header.js-scroll {
  box-shadow: 0 0 0.75rem rgba(0, 0, 0, 0.1);
  top: -7.5rem;
}
@media only screen and (max-width: 991px) {
  .p-header.js-scroll {
    margin-top: 0;
    top: 0;
  }
}
.p-header__logo a img, .p-header__logo a svg {
  vertical-align: top;
  width: auto;
  height: 4rem;
  filter: drop-shadow(0 0 4px #FFF);
}
@media only screen and (max-width: 991px) {
  .p-header__logo a img, .p-header__logo a svg {
    height: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-header__logo a img, .p-header__logo a svg {
    height: 2.5rem;
  }
}
@media only screen and (max-width: 991px) {
  .p-header__nav--navbar .navbar-toggler {
    background-color: rgba(255, 255, 255, 0.5);
  }
}
.p-header__nav--navbar .navbar-nav {
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 991px) {
  .p-header__nav--navbar .navbar-nav {
    display: block;
  }
}
.p-header__nav--navbar .navbar-nav .nav-item {
  flex: 1 1 20%;
}
@media only screen and (max-width: 991px) {
  .p-header__nav--navbar .navbar-nav .nav-item {
    flex: 1 1 100%;
  }
}
.p-header__nav--navbar .navbar-nav .nav-item .nav-link {
  color: var(--textcolor);
  font-size: 1em;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  font-weight: 700;
  padding: 0.25rem 0 0.75rem;
}
@media only screen and (max-width: 1199px) {
  .p-header__nav--navbar .navbar-nav .nav-item .nav-link {
    font-size: 1em;
  }
}
@media only screen and (max-width: 991px) {
  .p-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;
  }
}
.p-header__nav--navbar .navbar-nav .nav-item .nav-link:hover .l-header__nav--icon img, .p-header__nav--navbar .navbar-nav .nav-item .nav-link:active .l-header__nav--icon img, .p-header__nav--navbar .navbar-nav .nav-item .nav-link:focus .l-header__nav--icon img, .p-header__nav--navbar .navbar-nav .nav-item .nav-link.active .l-header__nav--icon img {
  -webkit-animation: korokoro 0.5s linear 0s 1;
          animation: korokoro 0.5s linear 0s 1;
}
@-webkit-keyframes korokoro {
  0% {
    transform: translate(0%, 0%);
  }
  5% {
    transform: translate(10%, 0%) rotate(10deg);
  }
  25% {
    transform: translate(20%, 0%) rotate(20deg);
  }
  30% {
    transform: translate(-10%, 0%) rotate(-10deg);
  }
  35% {
    transform: translate(-15%, 0%) rotate(-15deg);
  }
  45% {
    transform: translate(10%, 0%) rotate(10deg);
  }
  50% {
    transform: translate(15%, 0%) rotate(15deg);
  }
  60% {
    transform: translate(-5%, 0%) rotate(-5deg);
  }
  65% {
    transform: translate(-7%, 0%) rotate(-7deg);
  }
  75% {
    transform: translate(0%, 0%) rotate(0deg);
  }
  100% {
    transform: translate(0%, 0%) rotate(0deg);
  }
}
@keyframes korokoro {
  0% {
    transform: translate(0%, 0%);
  }
  5% {
    transform: translate(10%, 0%) rotate(10deg);
  }
  25% {
    transform: translate(20%, 0%) rotate(20deg);
  }
  30% {
    transform: translate(-10%, 0%) rotate(-10deg);
  }
  35% {
    transform: translate(-15%, 0%) rotate(-15deg);
  }
  45% {
    transform: translate(10%, 0%) rotate(10deg);
  }
  50% {
    transform: translate(15%, 0%) rotate(15deg);
  }
  60% {
    transform: translate(-5%, 0%) rotate(-5deg);
  }
  65% {
    transform: translate(-7%, 0%) rotate(-7deg);
  }
  75% {
    transform: translate(0%, 0%) rotate(0deg);
  }
  100% {
    transform: translate(0%, 0%) rotate(0deg);
  }
}
@media only screen and (max-width: 991px) {
  .p-header__nav--navbar .navbar-nav .nav-item .nav-link:hover, .p-header__nav--navbar .navbar-nav .nav-item .nav-link:active, .p-header__nav--navbar .navbar-nav .nav-item .nav-link:focus, .p-header__nav--navbar .navbar-nav .nav-item .nav-link.active {
    background-color: var(--beigecolor);
    color: var(--textcolor);
  }
}
@media only screen and (max-width: 991px) and (max-width: 991px) {
  .p-header__nav--navbar .navbar-nav .nav-item .nav-link:hover .l-header__nav--icon i.fa, .p-header__nav--navbar .navbar-nav .nav-item .nav-link:active .l-header__nav--icon i.fa, .p-header__nav--navbar .navbar-nav .nav-item .nav-link:focus .l-header__nav--icon i.fa, .p-header__nav--navbar .navbar-nav .nav-item .nav-link.active .l-header__nav--icon i.fa {
    color: #FFF;
  }
}
.p-header__nav--navbar .navbar-nav .nav-item .nav-link:hover:before, .p-header__nav--navbar .navbar-nav .nav-item .nav-link:active:before, .p-header__nav--navbar .navbar-nav .nav-item .nav-link:focus:before, .p-header__nav--navbar .navbar-nav .nav-item .nav-link.active:before {
  content: "";
  width: 5px;
  background-image: linear-gradient(to bottom, var(--aicolor) 50%, var(--nobudocolor) 50%);
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
}
@media only screen and (min-width: 992px) {
  .p-header__nav--navbar .navbar-nav .nav-item .nav-link:hover:before, .p-header__nav--navbar .navbar-nav .nav-item .nav-link:active:before, .p-header__nav--navbar .navbar-nav .nav-item .nav-link:focus:before, .p-header__nav--navbar .navbar-nav .nav-item .nav-link.active:before {
    display: none;
  }
}
.p-header__nav--navbar .navbar-nav .nav-item .nav-link:hover:after, .p-header__nav--navbar .navbar-nav .nav-item .nav-link:active:after, .p-header__nav--navbar .navbar-nav .nav-item .nav-link:focus:after, .p-header__nav--navbar .navbar-nav .nav-item .nav-link.active:after {
  content: "";
  background-image: linear-gradient(to right, var(--aicolor) 50%, var(--nobudocolor) 50%);
}
@media only screen and (max-width: 991px) {
  .p-header__nav--navbar .navbar-nav .nav-item .nav-link:hover:after, .p-header__nav--navbar .navbar-nav .nav-item .nav-link:active:after, .p-header__nav--navbar .navbar-nav .nav-item .nav-link:focus:after, .p-header__nav--navbar .navbar-nav .nav-item .nav-link.active:after {
    display: none;
  }
}
.p-header__nav--navbar .navbar-nav .nav-item .nav-link:after {
  content: "";
  background-image: none;
  height: 4px;
  border: none;
  display: block;
}
.p-header__nav--call {
  font-size: 1.5em;
  line-height: 1;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  font-family: var(--font-slab);
}
.p-header__nav--call span[data-action=call] {
  font-weight: 700;
}
.p-header__nav--contact {
  height: 3rem;
  display: flex;
  align-items: center;
  border-bottom: 1px solid #DDD;
  margin-bottom: 0;
}
.p-header__nav--post, .p-header__nav--post:hover, .p-header__nav--post:active, .p-header__nav--post:focus {
  background-color: var(--accentcolor);
  color: #FFF;
  font-size: 2em;
  line-height: 1;
  width: 9rem;
  height: var(--header-height);
  display: flex;
  flex-flow: column wrap;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 991px) {
  .p-header__nav--post, .p-header__nav--post:hover, .p-header__nav--post:active, .p-header__nav--post:focus {
    display: none;
  }
}
.p-header__nav--post:hover, .p-header__nav--post:active, .p-header__nav--post:focus {
  opacity: 0.75;
}
.p-header__nav--post:after {
  content: attr(data-label);
  font-size: 0.5em;
  line-height: 0.75em;
  text-transform: uppercase;
  font-weight: 500;
  margin-top: 1rem;
}
.p-header__contact {
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 991px) {
  .p-header__contact {
    padding: .75rem 1.5rem;
    justify-content: center;
    flex-flow:row wrap;
  }
}
@media only screen and (max-width: 575px) {
  .p-header__contact {
    flex-flow:row wrap;
  }
}
.p-header__contact .l-header__nav--call {
  margin-right: 1.5rem;
}
.p-header__contact .l-header__sns {
  margin-right: 1.1rem;
}
.js-scroll .navbar-expand-lg .navbar-nav .nav-item .nav-link {
  color: var(--textcolor);
}
.js-scroll .navbar-expand-lg .navbar-nav .nav-item .nav-link:hover:after, .js-scroll .navbar-expand-lg .navbar-nav .nav-item .nav-link:active:after, .js-scroll .navbar-expand-lg .navbar-nav .nav-item .nav-link:focus:after, .js-scroll .navbar-expand-lg .navbar-nav .nav-item .nav-link.active:after {
  border-color: var(--accentcolor);
}

.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*=container] {
  padding: 0 2.5rem;
}
@media only screen and (max-width: 1399px) {
  [class*=container] {
    padding: 0 2rem;
  }
}
@media only screen and (max-width: 991px) {
  [class*=container] {
    padding: 0 1.5rem;
  }
}
@media only screen and (max-width: 575px) {
  [class*=container] {
    padding: 0 1rem;
  }
}

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

.p-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;
}
.p-box__header--in small {
  font-size: 1em;
  line-height: 1;
  font-weight: 700;
}
.p-box__header--in strong {
  font-size: 1.5em;
  line-height: 1;
  font-weight: 700;
}
.p-box__header--in small + strong {
  margin-top: 0.5rem;
}

.p-footer {
  background: url(../images/common/footer-information__line.png) center top no-repeat, url(../images/common/footer-information__background.png) center center/cover no-repeat;
  position: relative;
}
.p-footer__contact {
  background-color: #000;
  padding: var(--clearance-padding) 0;
  position: relative;
}
.p-footer__contact:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url(../images/common/footer-contact__background.jpg) center center/cover no-repeat;
  opacity: 0.33;
}
.p-footer__contact span[data-action=call] {
  color: var(--textcolor) !important;
  font-weight: 400;
}
.p-footer__contact .c-poster__ful img {
  opacity: 0.5;
}
.p-footer__logo {
  margin-bottom: 2rem;
}
@media only screen and (max-width: 991px) {
  .p-footer__logo {
    text-align: center;
  }
}
.p-footer__logo img {
  width: auto;
  height: 4rem;
}
@media only screen and (max-width: 991px) {
  .p-footer__logo img {
    height: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-footer__logo img {
    height: 2.5rem;
  }
}
.p-footer__information {
  padding: calc(var(--clearance-padding) + 2rem) 0 var(--clearance-padding);
}
.p-footer__information span[data-action=call] {
  color: var(--textcolor) !important;
  font-weight: 400;
}
@media only screen and (max-width: 991px) {
  .p-footer__location {
    justify-content: center;
  }
}
@media only screen and (max-width: 991px) {
  .p-footer__location--pzip {
    text-align: center;
  }
}
.p-footer__location--address {
  margin-left: 1em;
}
@media only screen and (max-width: 991px) {
  .p-footer__location--address {
    text-align: center;
  }
}
.p-footer__location--building {
  margin-left: 0.5em;
}
.p-footer__location--tel-freedial {
  display: flex;
}
@media only screen and (max-width: 991px) {
  .p-footer__location--tel-freedial {
    justify-content: center;
  }
}
.p-footer__location--tel-freedial:before {
  content: "";
  display: block;
  background: url(../images/common/freedial-mark.png) left center/contain no-repeat;
  width: 34px;
  height: 20px;
  margin-right: 0.33em;
}
.p-footer__location--tel, .p-footer__location--fax {
  flex: 0 0 auto;
}
.p-footer__location--tel + .p-footer__location--fax:before {
  content: "|　FAX.";
  margin: 0 0.33em 0 1em;
}
.p-footer__links {
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 991px) {
  .p-footer__links {
    justify-content: center;
  }
}
.p-footer__link {
  display: block;
  border: 1px solid #DDD;
}
.p-footer__link img {
  width: 10rem;
  height: auto;
}
@media only screen and (max-width: 575px) {
  .p-footer__link img {
    max-width: 7.5rem;
  }
}
.p-footer__link + .p-footer__link {
  margin-left: 1em;
}
.p-footer__textmap {
  padding: 0;
  display: flex;
}
.p-footer__textmap .l-footer__textmap--menu {
  line-height: 3;
}
@media only screen and (max-width: 1199px) {
  .p-footer__textmap .l-footer__textmap--item + .l-footer__textmap--item {
    margin-left: 0;
  }
}
.p-footer__textmap .p-footer__textmap--item:before {
  content: "-";
  color: var(--textcolor);
  font-weight: normal;
  width: 1em;
  display: inline-block;
  margin-left: 1em;
}
.p-footer__textmap .l-footer__textmap--link {
  color: var(--textcolor);
}
@media only screen and (max-width: 1199px) {
  .p-footer__textmap .l-footer__textmap--horizontal .l-footer__textmap--link, .p-footer__textmap .l-footer__textmap--horizontal .l-footer__textmap--link:hover, .p-footer__textmap .l-footer__textmap--horizontal .l-footer__textmap--link:active, .p-footer__textmap .l-footer__textmap--horizontal .l-footer__textmap--link:focus {
    margin: -2px 0.25em;
    padding: 2px 0.25em;
  }
}
.p-footer__textmap .l-footer__textmap--horizontal .l-footer__textmap--link:hover, .p-footer__textmap .l-footer__textmap--horizontal .l-footer__textmap--link:active, .p-footer__textmap .l-footer__textmap--horizontal .l-footer__textmap--link:focus {
  background: var(--nobudocolor);
  color: #FFF;
}
.p-footer__textmap .l-footer__textmap--vertical + .l-footer__textmap--vertical {
  margin-left: 4em;
}
@media only screen and (max-width: 1399px) {
  .p-footer__textmap .l-footer__textmap--vertical + .l-footer__textmap--vertical {
    margin-left: 3em;
  }
}
@media only screen and (max-width: 1199px) {
  .p-footer__textmap .l-footer__textmap--vertical + .l-footer__textmap--vertical {
    margin-left: 2em;
  }
}
.p-footer__wave--top, .p-footer__wave--bottom {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 10;
}
.p-footer__wave--top svg, .p-footer__wave--bottom svg {
  width: 100%;
  height: 6rem;
}
.p-footer__wave--top {
  top: 0;
}
.p-footer__wave--bottom {
  bottom: 0;
}

.p-footer__copyright--footer {
  background-color: var(--nobudocolor);
  text-align: center;
  padding: 0.25em 0;
}

@media only screen and (min-width: 992px) {
  .l-section {
    scroll-margin-top: 5rem;
  }
}

.u-bgc--nobudocolor {
  background-color: var(--nobudocolor);
}

.u-text--nobudocolor {
  color: var(--nobudocolor);
}

.c-phone--lg, .c-phone--md, .c-phone--sm, .c-fax--lg, .c-fax--md, .c-fax--sm {
  line-height: 1;
  font-weight: 700;
  margin-top: -0.25em;
}
.c-phone--lg:before, .c-phone--md:before, .c-phone--sm:before, .c-fax--lg:before, .c-fax--md:before, .c-fax--sm:before {
  font-size: 0.75em;
  margin-top: 0.25rem;
}
.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;
  }
}

@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;
  }
}
.p-singlebyte {
  font-size: 1.125em;
  font-weight: 400;
}

.p-singlebyte--lg {
  font-size: 1.33em;
  font-weight: 600;
}

.p-mask--left {
  -webkit-mask-image: url(../images/common/slice-mask-l.svg);
          mask-image: url(../images/common/slice-mask-l.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: right bottom;
          mask-position: right bottom;
  -webkit-mask-size: cover;
          mask-size: cover;
  margin-bottom: 6rem;
}

.p-mask--right {
  -webkit-mask-image: url(../images/common/slice-mask-r.svg);
          mask-image: url(../images/common/slice-mask-r.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: left top;
          mask-position: left top;
  -webkit-mask-size: cover;
          mask-size: cover;
  margin-top: 6rem;
}

.p-features__image .index-features__mask {
  -webkit-mask-image: url(../images/common/shape__mask--ellipse.svg);
          mask-image: url(../images/common/shape__mask--ellipse.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: left top;
          mask-position: left top;
  -webkit-mask-size: auto;
          mask-size: auto;
}
.p-features__image figcaption {
  font-weight: 700;
  margin-top: 0.5rem;
  padding-left: 0.75rem;
  padding-bottom: 0.5rem;
  position: relative;
}
@media only screen and (max-width: 1199px) {
  .p-features__image figcaption {
    margin-top: -0.75em;
    padding-left: 0.25rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-features__image figcaption {
    margin-top: 0.5em;
    padding-left: 0.25rem;
  }
}
.p-features__image figcaption strong {
  font-size: 1.25em;
  line-height: 1.5;
  margin: 0 auto;
  padding-bottom: 0.5em;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  display: flex;
  align-items: flex-start;
  white-space: nowrap;
  position: relative;
}
@media only screen and (max-width: 991px) {
  .p-features__image figcaption strong {
    font-size: 1.125em;
  }
}
@media only screen and (max-width: 767px) {
  .p-features__image figcaption strong {
    font-size: 1.125em;
  }
}
.p-features__image figcaption strong:after {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  border-bottom: 4px dotted var(--accentcolor);
  -webkit-animation: drawline 2s ease infinite;
          animation: drawline 2s ease infinite;
  content: "";
}
@-webkit-keyframes drawline {
  0% {
    width: 0;
    opacity: 0;
  }
  20% {
    width: 0;
    opacity: 1;
  }
  80% {
    width: 100%;
    opacity: 1;
  }
  100% {
    width: 100%;
    opacity: 0;
  }
}
@keyframes drawline {
  0% {
    width: 0;
    opacity: 0;
  }
  20% {
    width: 0;
    opacity: 1;
  }
  80% {
    width: 100%;
    opacity: 1;
  }
  100% {
    width: 100%;
    opacity: 0;
  }
}
.p-features__image figcaption strong span {
  color: var(--accentcolor);
  font-size: 3em;
  line-height: 0.75;
  font-weight: 500;
  margin-top: -0.33em;
  margin-right: 0.25em;
  display: block;
}
@media only screen and (max-width: 1199px) {
  .p-features__image figcaption strong span {
    font-size: 2.75em;
  }
}
@media only screen and (max-width: 991px) {
  .p-features__image figcaption strong span {
    font-size: 2.5em;
  }
}
@media only screen and (max-width: 767px) {
  .p-features__image figcaption strong span {
    font-size: 2.5em;
  }
}
.p-features__image figcaption small {
  color: var(--textcolor);
  font-size: 1em;
  font-weight: 700;
  margin-top: 1em;
  display: block;
}

.p-heading__index1 strong {
  font-size: 2.25em;
  text-transform: uppercase;
  margin-bottom: 0.8em;
}
@media only screen and (max-width: 991px) {
  .p-heading__index1 strong {
    font-size: 2em;
  }
}
@media only screen and (max-width: 767px) {
  .p-heading__index1 strong {
    font-size: 1.75em;
  }
}
.p-heading__index1:before {
  display: none;
}
.p-heading__index1.c-heading__devider {
  padding-bottom: calc(1.5em + 4px);
}
.p-heading__index1.c-heading__devider::after {
  height: 4px;
}
.p-heading__index1--light span {
  background-color: #FFF;
  color: var(--accentcolor);
  border: 1px solid var(--accentcolor);
  white-space: nowrap;
  font-size: 1.125em;
  padding: 0.5rem 1rem;
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
  display: block;
}
.p-heading__index1--light::before {
  font-size: 3.75em;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  margin-bottom: 0.8em;
}
.p-heading__index1--light.text-center::before {
  text-indent: 0.2em;
}
.p-heading__index1--light.text-center span {
  margin: 0 auto;
}

.p-outer .c-button__texture--accent-outline {
  border-width: 2px;
}
.p-outer .c-hero__link {
  border-radius: 2rem;
  overflow: hidden;
}
.p-outer .c-hero__link--title {
  text-align: center;
}
.p-outer .c-hero__link--title h4 {
  font-size: 1.25em;
}
@media only screen and (max-width: 991px) {
  .p-outer .c-hero__link--title h4 {
    font-size: 1.125em;
  }
}
.p-outer .c-hero__link--title h4::before {
  font-size: 3em;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
  font-family: var(--font-handwriting);
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: 0.5em;
  display: block;
  content: attr(data-label);
}
@media only screen and (max-width: 1199px) {
  .p-outer .c-hero__link--title h4::before {
    font-size: 2.75em;
  }
}
@media only screen and (max-width: 991px) {
  .p-outer .c-hero__link--title h4::before {
    font-size: 2.5em;
  }
}
.p-outer .c-hero__link--title::after {
  background-color: var(--accentcolor);
  color: #FFF;
  border: 1px solid var(--accentcolor);
  font-family: inherit;
  margin-top: 2em;
}

.p-button__texture--ai, .p-button__texture--ai:hover, .p-button__texture--ai:active, .p-button__texture--ai:focus {
  background-color: var(--aicolor);
  color: #FFF;
  border-color: transparent;
}
.p-button__texture--ai-outline, .p-button__texture--ai-outline:hover, .p-button__texture--ai-outline:active, .p-button__texture--ai-outline:focus {
  background-color: transparent;
  color: var(--maincolor);
  border-bottom: 1px solid var(--maincolor);
}
.p-button__texture--ai-outline:hover, .p-button__texture--ai-outline:active, .p-button__texture--ai-outline:focus {
  background-color: transparent;
  color: var(--maincolor);
  opacity: 1;
}
.p-button__texture--nobudo, .p-button__texture--nobudo:hover, .p-button__texture--nobudo:active, .p-button__texture--nobudo:focus {
  background-color: var(--nobudocolor);
  color: #FFF;
  border-color: transparent;
}
.p-button__texture--nobudo-outline, .p-button__texture--nobudo-outline:hover, .p-button__texture--nobudo-outline:active, .p-button__texture--nobudo-outline:focus {
  background-color: transparent;
  color: var(--accentcolor);
  border: 1px solid var(--accentcolor);
}
.p-button__texture--nobudo-outline:hover, .p-button__texture--nobudo-outline:active, .p-button__texture--nobudo-outline:focus {
  background-color: var(--accentcolor);
  color: #FFF;
  opacity: 1;
}
.p-button__texture--ai-nobudo, .p-button__texture--ai-nobudo:hover, .p-button__texture--ai-nobudo:active, .p-button__texture--ai-nobudo:focus {
  background: linear-gradient(to right, var(--aicolor), var(--nobudocolor));
  color: #FFF;
  border: none;
}
.p-button__texture--ai-nobudo-outline, .p-button__texture--ai-nobudo-outline:hover, .p-button__texture--ai-nobudo-outline:active, .p-button__texture--ai-nobudo-outline:focus {
  background-color: transparent;
  color: var(--accentcolor);
  border: 1px solid var(--accentcolor);
}
.p-button__texture--ai-nobudo-outline:hover, .p-button__texture--ai-nobudo-outline:active, .p-button__texture--ai-nobudo-outline:focus {
  background-color: var(--accentcolor);
  color: #FFF;
  opacity: 1;
}
.p-button__texture--deep, .p-button__texture--deep:hover, .p-button__texture--deep:active, .p-button__texture--deep:focus {
  background-color: var(--deepcolor);
  color: #FFF;
  border-color: transparent;
}
.p-button__texture--deep-outline, .p-button__texture--deep-outline:hover, .p-button__texture--deep-outline:active, .p-button__texture--deep-outline:focus {
  background-color: transparent;
  color: var(--deepcolor);
  border: 1px solid var(--deepcolor);
}
.p-button__texture--deep-outline:hover, .p-button__texture--deep-outline:active, .p-button__texture--deep-outline:focus {
  background-color: transparent;
  color: var(--maincolor);
  opacity: 1;
}

.p-section__parts-overwrap1:before{background: url(../images/common/section-parts05.png) left center/contain no-repeat !important;}
.p-section__parts-overwrap2:before{background: url(../images/common/section-parts06.png) right center/contain no-repeat !important;}

.p-section__parts--left, .p-section__parts--right, .p-section__parts--left2, .p-section__parts--right2 {
  position: relative;
}
.p-section__parts--left:before, .p-section__parts--right:before, .p-section__parts--left2:before, .p-section__parts--right2:before {
  content: "";
}
.p-section__parts--left:before {
  left: 0;
  background: url(../images/common/section-parts01.png) left center/contain no-repeat;
  width: 360px;
  height: 276px;
  position: absolute;
  top: -6rem;
  z-index: 10;
}
@media only screen and (max-width: 2000px) {
  .p-section__parts--left:before {
    width: 18vw;
    height: 13.5vw;
    top: -4.8vw;
  }
}
.p-section__parts--right:before {
  right: 0;
  background: url(../images/common/section-parts02.png) left center/contain no-repeat;
  width: 360px;
  height: 276px;
  position: absolute;
  top: -6rem;
  z-index: 10;
}
@media only screen and (max-width: 2000px) {
  .p-section__parts--right:before {
    width: 18vw;
    height: 13.5vw;
    top: -4.8vw;
  }
}
.p-section__parts--left2:before {
  left: 0;
  background: url(../images/common/section-parts04.png) left center/contain no-repeat;
  width: 360px;
  height: 504px;
  position: absolute;
  top: -16rem;
  z-index: 10;
}
@media only screen and (max-width: 2000px) {
  .p-section__parts--left2:before {
    width: 18vw;
    height: 25.2vw;
    top: -12.8vw;
  }
}
@media only screen and (max-width: 1399px) {
  .p-section__parts--left2:before {
    top: -32vw;
  }
}
@media only screen and (max-width: 767px) {
  .p-section__parts--left2:before {
    top: -36vw;
  }
}
.p-section__parts--right2:before {
  right: 0;
  background: url(../images/common/section-parts03.png) right center/contain no-repeat;
  width: 360px;
  height: 504px;
  position: absolute;
  top: -16rem;
  z-index: 10;
}
@media only screen and (max-width: 2000px) {
  .p-section__parts--right2:before {
    width: 18vw;
    height: 25.2vw;
    top: -12.8vw;
  }
}
@media only screen and (max-width: 1199px) {
  .p-section__parts--right2:before {
    top: -14.4vw;
  }
}
@media only screen and (max-width: 767px) {
  .p-section__parts--right2:before {
    top: -16vw;
  }
}

.p-heading__devider--ai::after {
  background-color: var(--aicolor) !important;
}
.p-heading__devider--nobudo::after {
  background-color: var(--nobudocolor) !important;
}
.p-heading__leftline--ai {
  border-color: var(--aicolor) !important;
}
.p-heading__leftline--nobudo {
  border-color: var(--nobudocolor) !important;
}

.p-mainimage {
  margin: 4rem 0 -6rem;
}
@media only screen and (max-width: 1199px) {
  .p-mainimage {
    margin: 3rem 0 -4.5rem;
  }
}
@media only screen and (max-width: 991px) {
  .p-mainimage {
    margin: 2rem 0 -3rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-mainimage {
    margin: 1rem 0 -1.5rem;
  }
}
.p-mainimage__cover {
  background-color: #FFF;
  height: 50vw;
  max-height: 660px;
  -webkit-mask-image: url(../images/index-mainvisual__mask.svg);
          mask-image: url(../images/index-mainvisual__mask.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: left top;
          mask-position: left top;
  -webkit-mask-size: auto;
          mask-size: auto;
}
@media only screen and (max-width: 1399px) {
  .p-mainimage__cover {
    max-height: 570px;
  }
}
@media only screen and (max-width: 1199px) {
  .p-mainimage__cover {
    max-height: 450px;
  }
}
@media only screen and (max-width: 991px) {
  .p-mainimage__cover {
    max-height: calc(50vw - 1.5rem);
  }
}
.p-mainimage__cover img {
  opacity: 1;
}
.p-mainimage:before {
  background: url(../images/index-mainvisual__over--shape.svg) center center no-repeat;
  max-width: 1320px;
  max-height: 660px;
  margin: -330px -660px;
  position: absolute;
  top: 50%;
  left: 50%;
  right: 50%;
  bottom: 50%;
  z-index: 10;
  content: "";
}
@media only screen and (max-width: 1399px) {
  .p-mainimage:before {
    max-width: 1140px;
    max-height: 570px;
    margin: -285px -570px;
  }
}
@media only screen and (max-width: 1199px) {
  .p-mainimage:before {
    max-width: 900px;
    max-height: 450px;
    margin: -225px -450px;
  }
}
@media only screen and (max-width: 991px) {
  .p-mainimage:before {
    max-width: calc(100vw - 3rem);
    max-height: calc(50vw - 1.5rem);
    margin: calc((25vw - 0.75rem) * -1) calc((50vw - 1.5rem) * -1);
  }
}
.p-mainimage__decoration--left, .p-mainimage__decoration--right {
  position: absolute;
  top: auto;
  bottom: 50%;
  z-index: 11;
  margin-bottom: -330px;
}
.p-mainimage__decoration--left img, .p-mainimage__decoration--right img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 1399px) {
  .p-mainimage__decoration--left, .p-mainimage__decoration--right {
    margin-bottom: -285px;
  }
}
@media only screen and (max-width: 1199px) {
  .p-mainimage__decoration--left, .p-mainimage__decoration--right {
    margin-bottom: -225px;
  }
}
@media only screen and (max-width: 991px) {
  .p-mainimage__decoration--left, .p-mainimage__decoration--right {
    margin-bottom: -20vw;
  }
}
.p-mainimage__decoration--left {
  margin-left: -690px;
  left: 50%;
  width: 15rem;
}
@media only screen and (max-width: 2000px) {
  .p-mainimage__decoration--left {
    width: 12vw;
  }
}
@media only screen and (max-width: 1399px) {
  .p-mainimage__decoration--left {
    margin-left: -540px;
  }
}
@media only screen and (max-width: 1199px) {
  .p-mainimage__decoration--left {
    margin-left: -450px;
  }
}
@media only screen and (max-width: 991px) {
  .p-mainimage__decoration--left {
    margin-left: calc(-50vw + 1.5rem);
  }
}
.p-mainimage__decoration--right {
  margin-right: -690px;
  right: 50%;
  width: 11.25rem;
}
@media only screen and (max-width: 2000px) {
  .p-mainimage__decoration--right {
    width: 9vw;
  }
}
@media only screen and (max-width: 1399px) {
  .p-mainimage__decoration--right {
    margin-right: -540px;
  }
}
@media only screen and (max-width: 1199px) {
  .p-mainimage__decoration--right {
    margin-right: -450px;
  }
}
@media only screen and (max-width: 991px) {
  .p-mainimage__decoration--right {
    margin-right: calc(-50vw + 1.5rem);
  }
}
.p-mainimage__text {
  top: var(--header-height);
}
.p-mainimage__text--slogan {
  font-size: 4.5em;
  line-height: 1.5;
  text-align: center;
  width: auto;
  font-weight: 600;
}
.p-mainimage__text--lead {
  background-color: var(--accentcolor);
  padding: 1rem;
}
.p-mainimage__text--catch {
  background-color: #FFF;
  color: var(--accentcolor);
  border: 1px solid var(--accentcolor);
  font-size: 2em;
  line-height: 1;
  font-weight: 700;
  margin: 2rem auto 0;
  padding: 1rem 1.5rem;
}

.p-index__message {
  background: url(../images/index-message__background.png) center center/cover #FCF5DE fixed;
  padding-top: calc(var(--clearance-padding) + 4rem);
}
@media only screen and (max-width: 1199px) {
  .p-index__message {
    padding-top: calc(var(--clearance-padding) + 3rem);
  }
}
@media only screen and (max-width: 991px) {
  .p-index__message {
    padding-top: calc(var(--clearance-padding) + 2rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-index__message {
    padding-top: calc(var(--clearance-padding) + 1rem);
  }
}

.p-index__features {
  background: url(../images/index-features__background.png) center center/cover no-repeat #FFF;
}

.p-index__information {
  background: url(../images/index-information__background.png) left top/cover #FCF5DE fixed;
}

:root {
  --news-date:20rem;
  --news-icon:8rem;
  --news-comment:calc(100% - var(--news-detail));
  --news-detail:1rem;
}

@media only screen and (max-width: 1199px) {
  :root {
    --news-date:18rem;
  }
}
@media only screen and (max-width: 575px) {
  :root {
    --news-date:100%;
  }
}
.p-newspaper__detail .c-newspaper__date {
  flex: 0 0 var(--news-date);
  padding-right: 0;
}
@media only screen and (max-width: 1199px) {
  .p-newspaper__detail .c-newspaper__date {
    width: 100%;
  }
}
.p-newspaper__detail .c-newspaper__date--inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: var(--news-date);
}
.p-newspaper__detail .c-newspaper__date--inner .date {
  padding-right: 0;
  width: auto;
  margin-bottom: 0;
}
.p-newspaper__detail .c-newspaper__updated {
  background-color: transparent;
  color: var(--accentcolor);
  font-size: 1;
  line-height: 1;
  padding: 0;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.p-newspaper__detail .c-newspaper__icon {
  font-size: 0.75em;
  background-color: var(--maincolor);
  color: #FFF;
  line-height: 1.5;
  padding: 0.25em;
  text-align: center;
  flex: 0 0 var(--news-icon);
  max-width: var(--news-icon);
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-newspaper__detail .c-newspaper__icon span {
  width: 10em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.p-newspaper__detail .c-newspaper__comment {
  line-height: 1.75;
  padding-left: 3rem;
  display: flex;
  align-items: center;
  flex: 0 0 calc(100% - var(--news-date));
}
@media only screen and (max-width: 1399px) {
  .p-newspaper__detail .c-newspaper__comment {
    padding-left: 2rem;
  }
}
@media only screen and (max-width: 991px) {
  .p-newspaper__detail .c-newspaper__comment {
    width: 100%;
    line-height: 1.75;
    padding-left: 0;
    margin-top: 0.5rem;
  }
}
@media only screen and (max-width: 575px) {
  .p-newspaper__detail .c-newspaper__comment {
    justify-content: space-between;
  }
}
.p-newspaper__detail .c-newspaper__comment--inner {
  display: flex;
  align-items: center;
  flex: 0 0 calc(100% - var(--news-detail));
}
@media only screen and (max-width: 575px) {
  .p-newspaper__detail .c-newspaper__comment--inner {
    flex: 0 0 calc(100% - var(--news-detail) * 2);
  }
}

.p-pagetitle {
  background-color: transparent;
}
.p-pagetitle__image {
  background-color: var(--beigecolor);
  overflow: hidden;
  height: 20rem;
  display: block;
  position: relative;
}
@media only screen and (max-width: 1199px) {
  .p-pagetitle__image {
    height: 15rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-pagetitle__image {
    height: 10rem;
  }
}
.p-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: 1;
}
.p-pagetitle .c-title {
  font-size: 1.75em;
  color: var(--nobudocolor);
  box-shadow: 0 0 0.75rem rgba(0, 0, 0, 0.1) inset;
}
@media only screen and (max-width: 1199px) {
  .p-pagetitle .c-title {
    font-size: 1.5em;
  }
}
@media only screen and (max-width: 767px) {
  .p-pagetitle .c-title {
    font-size: 1.25em;
  }
}
.p-pagetitle .c-title:before {
  font-size: 2.75em;
  line-height: 0.75;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  font-family: var(--font-handwriting);
  font-weight: 400;
  margin-bottom: 0.5em;
  content: attr(data-label);
}
@media only screen and (max-width: 1199px) {
  .p-pagetitle .c-title:before {
    font-size: 2.5em;
  }
}
@media only screen and (max-width: 767px) {
  .p-pagetitle .c-title:before {
    font-size: 2.25em;
  }
}
.p-pagetitle .c-title span {
  font-weight: 700;
}
.breadcrumb {
  background-color: var(--maincolor);
  border-bottom: none;
  padding: 0.5em 0;
}
.breadcrumb-item {
  color: #FFF;
}
.breadcrumb-item + .breadcrumb-item::before {
  color: #FFF;
}
.breadcrumb-item.active {
  color: #FFF;
}
.breadcrumb-item a, .breadcrumb-item a:hover, .breadcrumb-item a:active, .breadcrumb-item a:focus {
  color: #FFF;
  text-decoration: underline;
}

.p-heading__page1 strong {
  font-size: 2.25em;
  text-transform: uppercase;
  margin-bottom: 0.8em;
}
@media only screen and (max-width: 991px) {
  .p-heading__page1 strong {
    font-size: 2em;
  }
}
@media only screen and (max-width: 767px) {
  .p-heading__page1 strong {
    font-size: 1.75em;
  }
}
.p-heading__page1:before {
  display: none;
}
.p-heading__page1.c-heading__devider {
  padding-bottom: calc(1.5em + 4px);
}
.p-heading__page1.c-heading__devider::after {
  height: 4px;
}
.p-heading__page1--light span {
  background-color: #FFF;
  color: var(--accentcolor);
  border: 1px solid var(--accentcolor);
  white-space: nowrap;
  font-size: 1.125em;
  padding: 0.5rem 1rem;
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
  display: block;
}
.p-heading__page1--light::before {
  font-size: 3.75em;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  margin-bottom: 0.8em;
}
.p-heading__page1--light.text-center::before {
  text-indent: 0.2em;
}
.p-heading__page1--light.text-center span {
  margin: 0 auto;
}
.p-heading__page2 {
  position: relative;
  margin: 3em 0 1.5em;
}
@media only screen and (max-width: 991px) {
  .p-heading__page2 {
    margin: 2em 0 1em;
  }
}
@media only screen and (max-width: 991px) {
  .p-heading__page2 {
    margin: 1em 0 0.5em;
  }
}
.p-heading__page2 strong {
  font-size: 1.5em;
  line-height: 1;
  font-weight: 700;
  margin-top: 0;
  height: auto;
  display: block;
  position: static;
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
  white-space: nowrap;
}
@media only screen and (max-width: 991px) {
  .p-heading__page2 strong {
    font-size: 1.25em;
  }
}
@media only screen and (max-width: 767px) {
  .p-heading__page2 strong {
    font-size: 1.125em;
  }
}
.p-heading__page2:before {
  display: none;
}

.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(../images/common/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;
}

.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;
}

.p-box__header {
  text-transform: uppercase;
}
.p-box__header strong {
  font-size: 1em;
  font-weight: 400;
}
.p-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 .p-box__header {
  font-size: 2.5em;
  padding: 2.5rem 3rem 0;
}
@media only screen and (max-width: 991px) {
  .p-box__line .p-box__header {
    font-size: 2em;
    padding: 1.5rem 2rem 0;
  }
}
@media only screen and (max-width: 767px) {
  .p-box__line .p-box__header {
    font-size: 1.5em;
    padding: 1rem 1rem 0;
  }
}
.p-box__line .p-box__header span {
  display: block;
  text-shadow: 0 0 0.5rem #FFF;
  position: relative;
  z-index: 1;
}
.p-box__line .p-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(../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(../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(../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;
}

.c-button__link, .c-button__dummy {
  letter-spacing: 0.1em;
  text-indent: 0.1em;
}

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

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

.p-decoration__left--top, .p-decoration__left--bottom {
  position: absolute;
  left: 2.5rem;
}
.p-decoration__left--top {
  top: 2.5em;
}
.p-decoration__left--bottom {
  bottom: 2.5rem;
}
@media only screen and (max-width: 1399px) {
  .p-decoration__left--top, .p-decoration__left--center, .p-decoration__left--bottom {
    position: absolute;
    left: -7.5rem;
  }
  .p-decoration__left--top {
    top: 2em;
  }
  .p-decoration__left--bottom {
    bottom: 2rem;
  }
}
.p-decoration__right--top, .p-decoration__right--bottom {
  position: absolute;
  right: 2.5rem;
}
.p-decoration__right--top {
  top: 2.5rem;
}
.p-decoration__right--bottom {
  bottom: 2.5rem;
}
@media only screen and (max-width: 1399px) {
  .p-decoration__right--top, .p-decoration__right--center, .p-decoration__right--bottom {
    position: absolute;
    right: -7.5rem;
  }
  .p-decoration__right--top {
    top: 2em;
  }
  .p-decoration__right--bottom {
    bottom: 2rem;
  }
}

.first-letter::first-letter {
  color: var(--accentcolor);
}

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

.p-section__services {
  background: url(../images/sec-services.jpg) center top/cover no-repeat;
  margin-bottom: calc(var(--clearance-padding) * 2);
}
@media only screen and (max-width: 1399px) {
  .p-section__services {
    margin-bottom: calc(var(--clearance-padding) * 2 * 0.85);
  }
}
@media only screen and (max-width: 1199px) {
  .p-section__services {
    margin-bottom: calc(var(--clearance-padding) * 2 * 0.7);
  }
}
@media only screen and (max-width: 991px) {
  .p-section__services {
    margin-bottom: calc(var(--clearance-padding) * 2 * 0.55);
  }
}
@media only screen and (max-width: 767px) {
  .p-section__services {
    margin-bottom: calc(var(--clearance-padding) * 2 * 0.4);
  }
}
@media only screen and (max-width: 575px) {
  .p-section__services {
    margin-bottom: calc(var(--clearance-padding) * 2 * 0.25);
  }
}
.p-section__services:after {
  background-image: linear-gradient(to right, var(--gradstart2) 0%, var(--gradend2) 100%);
  content: "";
  width: calc(50% + 330px);
  height: calc(var(--clearance-padding) * 3);
  display: block;
  position: absolute;
  right: 0;
  top: calc(100% - var(--clearance-padding) * 2);
  -webkit-mask-image: url(../images/common/slice-mask.svg);
          mask-image: url(../images/common/slice-mask.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: left top;
          mask-position: left top;
  -webkit-mask-size: auto;
          mask-size: auto;
}
@media only screen and (max-width: 1399px) {
  .p-section__services:after {
    width: calc(50% + 285px);
    height: calc(var(--clearance-padding) * 3 * 0.85);
    top: calc(100% - var(--clearance-padding) * 2 * 0.85);
  }
}
@media only screen and (max-width: 1199px) {
  .p-section__services:after {
    width: calc(50% + 240px);
    height: calc(var(--clearance-padding) * 3 * 0.7);
    top: calc(100% - var(--clearance-padding) * 2 * 0.7);
  }
}
@media only screen and (max-width: 991px) {
  .p-section__services:after {
    width: calc(50% + 180px);
    height: calc(var(--clearance-padding) * 3 * 0.55);
    top: calc(100% - var(--clearance-padding) * 2 * 0.55);
  }
}
@media only screen and (max-width: 767px) {
  .p-section__services:after {
    width: 75%;
    height: calc(var(--clearance-padding) * 3 * 0.4);
    top: calc(100% - var(--clearance-padding) * 2 * 0.4);
  }
}
@media only screen and (max-width: 575px) {
  .p-section__services:after {
    width: 75%;
    height: calc(var(--clearance-padding) * 3 * 0.25);
    top: calc(100% - var(--clearance-padding) * 2 * 0.25);
  }





}




.about_span{
  display: block;
    color: #8a8482;
    margin-bottom: 10px;
}
.hoikuryo_midashi{
  font-size: 1.1em;
  font-weight: 600;
  margin-bottom: 5px;
}


.footer_p_aisakura{
  font-size: 1.1rem;
  color: #ef3e79;
  font-weight: 600;
}

.footer_p_nobudou{
    font-size: 1.1rem;
    color: #69b220;
    font-weight: 600;
}
.header_aisakura{
  font-size: 1.1rem;
  color: #ef3e79;
  font-weight: 600;
}
.header_nobudou{
  font-size: 1.1rem;
  color: #69b220;
  font-weight: 600;
}
@media only screen and (max-width: 991px){
  .footer_p_aisakura{
    text-align: center;
  }
  
  .footer_p_nobudou{
    text-align: center;
  }
}


@media only screen and (max-width: 1200px) {
  .container-lg {
    max-width: 100%!important;
  }
  .header_tel{
    font-size: 1.4em!important;
  }
  .p-header__contact .l-header__sns{
    width: 2rem!important;
  }
 .header__nav--call_02{
  margin-right: 10px!important;
  }

  .p-header__logo a img, .p-header__logo a svg{
    height: 3rem!important;
  }
}


.top_btn10{
  display: block;
  text-align: center;
  text-indent: 0!important;
}
.top_btn10 span{
  font-size: 0.8rem;
  display: block;
  margin-bottom: 5px;
}


.header_sns_ai_nobu{
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
}
.header_sns_ai_nobu p{
  padding: 10px;
}

.header_tel02{
  justify-content: center;
}


.header_ai_nobu_div{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  width: 473px;
}
.header_txt01{
  font-size: 0.9rem;
  width: 100%;
  text-align: center;
  margin-top: 0.5rem !important;
}
@media only screen and (max-width: 1200px){
  .header_ai_nobu_div{
    width: 395px;
  }
}


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

/* 非表示 */
#navbar .navbar-nav .nav-item:nth-child(5){display: none;}
.l-footer__textmap--menu .l-footer__textmap--item:nth-child(5){display: none;}

.footer_recruitment {
  background-color: #69B220;
  display: grid;
  grid-template-columns: 3fr 1fr;
  width: 90%;
  max-width: 500px;
  padding: 2%;
  margin: 0 auto;
}

.footer_recruitment_txt {
  padding: 0 ;
  display: grid;
  place-content: center;
  place-items: center;
  font-size: 0.8rem;
}

.footer_recruitment_ttl {
  color: #fff;
  font-size: 1.5rem;
  padding: 0 0.5rem 0.5rem 0.5rem;
  border-bottom: solid 1px #fff;
  text-align: center;
  margin-bottom: 10px;
}

.footer_recruitment_img img {
  width: 100%;
  padding-top: 10%;
  padding-right: 10%;
}

@media screen and (min-width:576px){
  .footer_recruitment_txt {
    font-size: 1rem;
  padding: 0 3% ;
}
  
  .footer_recruitment_ttl {
  margin-bottom: 15px;
  font-size: 1.8rem;
  padding: 0 1rem 0.5rem 1rem;
}
}

@media screen and (min-width:992px){
  .footer_recruitment {
    grid-template-columns: 4fr 1fr;
    margin: 25px 0 0 auto;
  }
}
