@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@500;600;700&family=Noto+Sans+JP:wght@400;500;700;900&family=Yuji+Syuku:wght@400&family=Oswald:wght@400&display=swap");
:root {
  --textcolor:#333;
  --maincolor:#468b46;
  --subcolor:#EC9213;
  --palecolor:#FAE0EC;
  --deepcolor:#E84091;
  --lightcolor:#B5B5B5;
  --darkcolor:#002060;
  --navcolor:#E84091;
  --hovercolor:#009CD8;
  --accentcolor:#EC9213;
  --phonecolor:#00A02C;
  --faxmilicolor:#1FB783;
  --gradstart:#2497F0;
  --gradend:#189BAA;
  --gradend:#364CBA;
  --gradstart2:#2497F0;
  --gradend2:#364CBA;
  --newscolor:#DC3545;
  --redcolor:#DC3545;
  --lightgraycolor:#F1F1F1;
  --graycolor:#DDD;
  --darkgraycolor:#646464;
  --beigecolor:#FCF8E2;
  --font-set-sans:"Roboto","Noto Sans JP","メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,sans-serif;
  --font-set-serif:"Shippori Mincho B1","YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho",serif;
  --font-set-zen-kaku:"Roboto","Zen Kaku Gothic New","メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,sans-serif;
  --font-set-zen-maru:"Zen Maru Gothic","メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,sans-serif;
  --font-set-biz-udgothic:"Inter","Biz UDGothic","メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,sans-serif;
  --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-crayon:"Mansalva",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:10rem;
  --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:10rem;
  --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: 8rem;
}

@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:8rem;
  }
}
@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));
  }
}
@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: var(--font-set-sans);
}
@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(--deepcolor);
  color: #FFF;
}

::selection {
  background-color: var(--deepcolor);
  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(--deepcolor);
}

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 2.5rem;
  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;
}
@media only screen and (max-width: 1399px) {
  .l-header {
    padding: 0 2rem;
  }
}
@media only screen and (max-width: 991px) {
  .l-header {
    padding: 0 0 0 1.5rem;
  }
}
@media only screen and (max-width: 575px) {
  .l-header {
    padding: 0 0 0 1rem;
  }
}
.l-header.js-scroll {
  background-color: rgb(255, 255, 255);
  box-shadow: 0 0 0.75rem rgba(0, 0, 0, 0.1);
}
.l-header__logo {
  font-size: 1em;
}
.l-header__logo a, .l-header__logo a:hover, .l-header__logo a:active, .l-header__logo a:focus {
  display: block;
}
.l-header__logo a img, .l-header__logo a svg {
  vertical-align: top;
  width: auto;
  height: auto;
}
@media only screen and (max-width: 991px) {
  .l-header__logo a img, .l-header__logo a svg {
    height: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .l-header__logo a img, .l-header__logo a svg {
    height: 2rem;
  }
}
.l-header__nav {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  height: 6rem;
  position: relative;
}
@media only screen and (max-width: 991px) {
  .l-header__nav {
    height: 9vw;
    position: absolute;
    top: 0;
    right: 0;
  }
}
@media only screen and (max-width: 767px) {
  .l-header__nav {
    height: 9vw;
  }
}
@media only screen and (max-width: 575px) {
  .l-header__nav {
    height: 16vw;
  }
}
.l-header__nav--contact {
  margin-bottom: 0.5rem;
}
@media only screen and (max-width: 991px) {
  .l-header__nav--contact {
    display: none;
  }
}
.l-header__nav--links {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
@media only screen and (max-width: 991px) {
  .l-header__nav--links {
    display: none;
  }
}
.l-header__nav--search {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 0.5rem;
}
@media only screen and (max-width: 991px) {
  .l-header__nav--search {
    margin: 0;
    padding: 0.75rem 1rem;
    background-color: #EFEFEF;
  }
}
.l-header__nav--call {
  font-size: 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;
  }
}

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: #FFF;
  border: none;
  border-radius: 0;
  overflow: hidden;
  font-size: 1em;
  line-height: 1;
  margin: 0;
  padding: 0;
  width: 6rem;
  height: 6rem;
  position: relative;
  z-index: 9998;
  display: flex;
  flex-flow: column wrap;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 991px) {
  .navbar-toggler {
    width: 9vw;
    height: 9vw;
  }
}
@media only screen and (max-width: 767px) {
  .navbar-toggler {
    width: 9vw;
    height: 9vw;
  }
}
@media only screen and (max-width: 575px) {
  .navbar-toggler {
    width: 16vw;
    height: 16vw;
  }
}
.navbar-toggler:focus, .navbar-toggler:hover {
  outline: 0;
  box-shadow: none;
}
.navbar-toggler-icon {
  margin: 16px 0;
  width: 32px;
  height: 4px;
  position: relative;
  display: block;
}
@media only screen and (max-width: 991px) {
  .navbar-toggler-icon {
    margin: 14px 0;
    width: 28px;
    height: 3px;
  }
}
@media only screen and (max-width: 767px) {
  .navbar-toggler-icon {
    margin: 12px 0;
    width: 24px;
    height: 2px;
  }
}
.navbar-toggler-icon:before, .navbar-toggler-icon:after {
  width: 32px;
  display: block;
  width: 2rem;
  height: 4px;
  content: "";
  position: absolute;
  left: 0;
  right: 0;
}
@media only screen and (max-width: 991px) {
  .navbar-toggler-icon:before, .navbar-toggler-icon:after {
    width: 28px;
    height: 3px;
  }
}
@media only screen and (max-width: 767px) {
  .navbar-toggler-icon:before, .navbar-toggler-icon:after {
    width: 24px;
    height: 2px;
  }
}
.navbar-toggler[aria-expanded=false] .navbar-toggler-icon {
  transition: 0.6s;
  background-color: var(--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 {
  justify-content: flex-end;
  flex-flow: row wrap;
}
@media only screen and (max-width: 991px) {
  .navbar-expand-lg .navbar-nav {
    border-top: 1px solid #DDD;
    padding: 0;
    display: block;
  }
}
@media only screen and (max-width: 991px) {
  .navbar-expand-lg .navbar-nav .nav-item {
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    border-bottom: 1px solid #DDD;
    display: block;
    flex: 1 1 100%;
    max-width: 100%;
    height: auto;
  }
}
.navbar-expand-lg .navbar-nav .nav-item + .nav-item {
  margin-left: 2em;
}
@media only screen and (max-width: 1199px) {
  .navbar-expand-lg .navbar-nav .nav-item + .nav-item {
    margin-left: 1em;
  }
}
@media only screen and (max-width: 991px) {
  .navbar-expand-lg .navbar-nav .nav-item + .nav-item {
    margin-left: 0;
  }
}
.navbar-expand-lg .navbar-nav .nav-item .nav-link {
  background-color: transparent;
  color: var(--textcolor);
  font-size: 1em;
  text-align: center;
  white-space: nowrap;
  padding: 0.75rem 0;
  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 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: auto;
  }
}
@media only screen and (max-width: 991px) {
  .navbar-expand-lg .navbar-nav .nav-item .nav-link {
    padding: 1.5rem 1rem;
  }
}
.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: #FFF;
  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: #FFF;
}

@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-header__nav--icon {
  display: block;
  font-size: 1.5em;
  margin-bottom: 0.5rem;
}
.l-header__nav--icon i.fa {
  font-weight: 400;
  color: var(--maincolor);
}

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

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

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

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

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

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

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

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

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

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

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

/* 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: 39vw;
  max-height: 780px;
  background: #FFF;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  display: flex;
}
@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;
  padding: 0 2.5rem;
}
@media only screen and (max-width: 1399px) {
  .c-mainimage {
    padding: 0 2rem;
  }
}
@media only screen and (max-width: 991px) {
  .c-mainimage {
    padding: 0 1.5rem;
  }
}
@media only screen and (max-width: 575px) {
  .c-mainimage {
    padding: 0 1rem;
  }
}
.c-mainimage__text {
  color: #FFF;
  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;
  }
}
@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: 3em;
  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;
}
@media only screen and (max-width: 991px) {
  .c-pagetitle .c-title {
    font-size: 2.5em;
  }
}
@media only screen and (max-width: 767px) {
  .c-pagetitle .c-title {
    font-size: 2em;
  }
}
.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;
}
.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: 12rem;
  overflow-y: auto;
  overflow-x: hidden;
}
.c-newspaper__article {
  display: table;
  padding: 1em 0;
  width: 100%;
  border-bottom: 1px dotted var(--darkgraycolor);
  align-items: center;
}
@media only screen and (max-width: 991px) {
  .c-newspaper__article {
    display: block;
  }
}
.c-newspaper__date, .c-newspaper__comment, .c-newspaper__detail {
  display: table-cell;
  vertical-align: top;
}
@media only screen and (max-width: 991px) {
  .c-newspaper__date, .c-newspaper__comment, .c-newspaper__detail {
    display: block;
  }
}
.c-newspaper__date {
  font-weight: 700;
  width: 12.5em;
  padding-right: 1rem;
  line-height: 1.75;
}
@media only screen and (max-width: 991px) {
  .c-newspaper__date {
    width: 20em;
    display: flex;
    align-items: center;
    padding: 0;
    border: none;
  }
}
@media only screen and (max-width: 575px) {
  .c-newspaper__date {
    width: 100%;
    justify-content: space-between;
  }
}
.c-newspaper__date .date {
  color: var(--textcolor);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media only screen and (max-width: 991px) {
  .c-newspaper__date .date {
    width: 10em;
    padding-right: 1em;
  }
}
.c-newspaper__date .date .new {
  background-color: var(--accentcolor);
  color: #FFF;
  font-size: 0.75em;
  line-height: 1;
  margin-left: 1em;
  padding: 0.25em 0.5em;
}
.c-newspaper__icon {
  font-size: 0.75em;
  background-color: var(--maincolor);
  color: #FFF;
  line-height: 1rem;
  padding: 0 0.25em;
  text-align: center;
  width: 100%;
  min-height: 2em;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 991px) {
  .c-newspaper__icon {
    width: 8rem;
  }
}
@media only screen and (max-width: 575px) {
  .c-newspaper__icon {
    width: 50%;
  }
}
.c-newspaper__comment {
  line-height: 1.75;
  padding-left: 1em;
  display: table;
  width: 100%;
}
@media only screen and (max-width: 991px) {
  .c-newspaper__comment {
    display: block;
    padding: 1rem 0 0;
    line-height: 1.75;
  }
}
.c-newspaper__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 {
    width: 12em;
    margin: 0 auto 1em;
    padding-right: 0;
  }
}
.c-newspaper__detail {
  width: 10em;
  padding: 0.25em 1.5em;
}
@media only screen and (max-width: 991px) {
  .c-newspaper__detail {
    margin: 1em 0 0 auto;
  }
}
@media only screen and (max-width: 575px) {
  .c-newspaper__detail {
    padding: 2.5em 0;
  }
}

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

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

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

.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: 10px;
  margin-top: 10px;
}
.c-table__break--xs td dl + dl dt, .c-table__break--xs td dl + dl dd {
  display: table-cell;
}
@media only screen and (max-width: 575px) {
  .c-table__break--xs td dl + dl {
    display: block;
  }
}
.c-table__break--xs td dl + dl dt {
  width: 9em;
}
.c-table__break--none th, .c-table__break--none td {
  line-height: 1.5;
}
.c-table__break--none th {
  width: 6em;
}
.c-table__break--none td a, .c-table__break--none td span[data-action] {
  color: #212121 !important;
}
.c-table__break--none td dl {
  display: table;
  width: 100%;
}
.c-table__break--none td dl + dl {
  border-top: 1px solid #DDD;
  padding-top: 10px;
  margin-top: 10px;
}
.c-table__break--none td dl + dl dt, .c-table__break--none td dl + dl dd {
  display: table-cell;
}
.c-table__break--none td dl + dl dt {
  width: 9em;
}
.c-table + .c-table {
  margin-top: 2rem;
}
.c-table__vertical th, .c-table__vertical td {
  white-space: nowrap;
}
@media only screen and (max-width: 991px) {
  .c-table__vertical th, .c-table__vertical td {
    font-size: 0.9rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-table__vertical th, .c-table__vertical td {
    font-size: 0.75rem;
  }
}
.c-table__survey {
  border-spacing: 0.5rem;
  border-collapse: separate;
  width: 100%;
  border: none;
  table-layout: fixed;
}
@media only screen and (max-width: 767px) {
  .c-table__survey {
    border-spacing: 0.25rem;
  }
}
.c-table__survey th, .c-table__survey td {
  padding: 0.5em;
}
@media only screen and (max-width: 767px) {
  .c-table__survey th, .c-table__survey td {
    padding: 0.25em;
  }
}
.c-table__survey td {
  text-align: center;
}
.c-table__survey td.empty {
  border: 1px solid transparent;
}
.c-table__survey td.off {
  border: 1px solid #999;
}
.c-table__survey td.on {
  border: 1px solid var(--accentcolor);
  background-color: var(--accentcolor);
  color: #FFF;
}

.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, .c-hero__link:hover, .c-hero__link:active, .c-hero__link:focus {
  background-color: #FFF;
  border-radius: 2rem;
  width: 100%;
  display: block;
  overflow: hidden;
  position: relative;
}
@media only screen and (max-width: 1399px) {
  .c-hero__link, .c-hero__link:hover, .c-hero__link:active, .c-hero__link:focus {
    border-radius: 1.75rem;
  }
}
@media only screen and (max-width: 1199px) {
  .c-hero__link, .c-hero__link:hover, .c-hero__link:active, .c-hero__link:focus {
    border-radius: 1.5rem;
  }
}
@media only screen and (max-width: 991px) {
  .c-hero__link, .c-hero__link:hover, .c-hero__link:active, .c-hero__link:focus {
    border-radius: 1.25rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-hero__link, .c-hero__link:hover, .c-hero__link:active, .c-hero__link:focus {
    border-radius: 1rem;
  }
}
.c-hero__link--image {
  background-color: #000;
  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--text {
  padding: 2em;
  display: flex;
  flex-flow: column wrap;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 1399px) {
  .c-hero__link--text {
    padding: 1.75rem;
  }
}
@media only screen and (max-width: 1199px) {
  .c-hero__link--text {
    padding: 1.5rem;
  }
}
@media only screen and (max-width: 991px) {
  .c-hero__link--text {
    padding: 1.5rem 1.25rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-hero__link--text {
    padding: 1.5rem 1rem;
  }
}
.c-hero__link--text h4 {
  color: var(--textcolor);
  font-size: 1.25em;
  text-align: center;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width: 991px) {
  .c-hero__link--text h4 {
    font-size: 1.5em;
    margin-bottom: 1.25rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-hero__link--text h4 {
    font-size: 1.25em;
    margin-bottom: 1rem;
  }
}
.c-hero__link--text p {
  color: var(--textcolor);
  font-size: 0.9em;
  line-height: 2;
}

.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(--clearance-padding) * var(--heading-padding-sm) + 4px);
}
.c-heading__devider::after {
  background-image: linear-gradient(to right, var(--deepcolor) 0%, var(--deepcolor) 50%, var(--darkgraycolor) 50%, var(--darkgraycolor) 100%);
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 12rem;
  height: 4px;
  content: "";
}
.c-heading__devider.text-center::after {
  left: 50%;
  right: 50%;
  margin: 0 -6rem;
}
@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 strong img {
  width: auto;
  height: 16rem;
}
.c-heading__devider--sm {
  padding-bottom: calc(var(--section-padding) * var(--heading-padding-sm) + 2px);
}
.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) / 2 * var(--heading-margin));
}
@media only screen and (max-width: 1399px) {
  .c-heading__margin {
    margin-bottom: calc(var(--clearance-padding) / 2 * var(--heading-margin));
  }
}
@media only screen and (max-width: 1199px) {
  .c-heading__margin {
    margin-bottom: calc(var(--clearance-padding) / 2 * var(--heading-margin));
  }
}
@media only screen and (max-width: 991px) {
  .c-heading__margin {
    margin-bottom: calc(var(--clearance-padding) / 3 * var(--heading-margin));
  }
}
@media only screen and (max-width: 767px) {
  .c-heading__margin {
    margin-bottom: calc(var(--clearance-padding) / 3 * var(--heading-margin));
  }
}
.c-heading__margin--first {
  margin-bottom: calc(var(--clearance-padding) * var(--heading-margin));
}
.c-heading__margin--sm {
  margin-bottom: calc(var(--section-padding) / 1.25 * var(--heading-margin-sm));
}
@media only screen and (max-width: 1399px) {
  .c-heading__margin--sm {
    margin-bottom: calc(var(--section-padding) / 1.25 * var(--heading-margin-sm));
  }
}
@media only screen and (max-width: 1199px) {
  .c-heading__margin--sm {
    margin-bottom: calc(var(--section-padding) / 1.25 * var(--heading-margin-sm));
  }
}
@media only screen and (max-width: 991px) {
  .c-heading__margin--sm {
    margin-bottom: calc(var(--section-padding) / 1 * var(--heading-margin-sm));
  }
}
@media only screen and (max-width: 767px) {
  .c-heading__margin--sm {
    margin-bottom: calc(var(--section-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: 2.25em;
  line-height: 1;
  font-family: var(--font-round);
  font-weight: 600;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 991px) {
  .c-heading__index1 {
    font-size: 2em;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading__index1 {
    font-size: 1.75em;
  }
}
.c-heading__index1::before {
  font-size: 0.5em;
  line-height: 0.75;
  white-space: nowrap;
  font-weight: 600;
  display: block;
  margin-bottom: 1rem;
  content: attr(data-label);
}
@media only screen and (max-width: 991px) {
  .c-heading__index1::before {
    font-size: 0.66em;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading__index1::before {
    font-size: 0.75em;
  }
}
.c-heading__index1 strong {
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2.5rem;
  z-index: -1;
}
@media only screen and (max-width: 1399px) {
  .c-heading__index1 strong {
    bottom: 3rem;
  }
}
@media only screen and (max-width: 1199px) {
  .c-heading__index1 strong {
    bottom: 3.5rem;
  }
}
@media only screen and (max-width: 991px) {
  .c-heading__index1 strong {
    bottom: 4rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading__index1 strong {
    bottom: 4.5rem;
  }
}
@media only screen and (max-width: 575px) {
  .c-heading__index1 strong {
    bottom: 5rem;
  }
}
.c-heading__index1 strong img {
  margin: 0 auto;
  width: auto;
  height: 9rem;
}
@media only screen and (max-width: 1399px) {
  .c-heading__index1 strong img {
    height: 7.5rem;
  }
}
@media only screen and (max-width: 1199px) {
  .c-heading__index1 strong img {
    height: 6.5rem;
  }
}
@media only screen and (max-width: 991px) {
  .c-heading__index1 strong img {
    height: 4.95rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading__index1 strong img {
    height: 3.75rem;
  }
}
@media only screen and (max-width: 575px) {
  .c-heading__index1 strong img {
    height: 2.25rem;
  }
}
.c-heading__index1.text-center::before {
  text-indent: 0.025em;
  margin-left: auto;
  margin-right: auto;
}
.c-heading__index1.text-center strong {
  text-align: center;
}
.c-heading__index1--light {
  color: #FFF;
  font-size: 2.25em;
  line-height: 1;
  font-family: var(--font-round);
  font-weight: 600;
  position: relative;
  z-index: 1;
}
.c-heading__index1--light::before {
  font-size: 0.5em;
  line-height: 0.75;
  white-space: nowrap;
  font-weight: 600;
  display: block;
  margin-bottom: 1rem;
  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 strong img {
  width: auto;
  height: 9rem;
  display: block;
  position: absolute;
  z-index: -1;
  bottom: 1.5rem;
}
.c-heading__index1--light::after {
  font-size: 0.5em;
  line-height: 0.75;
  white-space: nowrap;
  font-weight: 700;
  display: block;
  content: attr(data-label);
}
@media only screen and (max-width: 991px) {
  .c-heading__index1--light::after {
    font-size: 2.5em;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading__index1--light::after {
    font-size: 2em;
  }
}
.c-heading__index1--light.text-center::before {
  text-indent: 0.025em;
  margin-left: auto;
  margin-right: auto;
}
.c-heading__index1--light.c-heading__devider {
  padding-bottom: calc(1.5em + 2px);
}
.c-heading__index1--light.c-heading__devider::after {
  background-color: var(--accentcolor);
}
.c-heading__index1a {
  color: var(--textcolor);
  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-color: var(--maincolor);
  color: #FFF;
  font-size: 0.5em;
  line-height: 0.75;
  white-space: nowrap;
  text-transform: uppercase;
  font-weight: 700;
  margin-top: calc(var(--section-padding) * var(--heading-padding-sm));
  padding: 0.25em 0.5em;
  display: block;
  content: attr(data-label);
}
@media only screen and (max-width: 991px) {
  .c-heading__index1a::after {
    font-size: 2.5em;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading__index1a::after {
    font-size: 2em;
  }
}
.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: var(--maincolor);
}
.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: 2.25em;
  display: flex;
  flex-flow: column wrap;
  position: relative;
}
@media only screen and (max-width: 991px) {
  .c-heading__page1 {
    font-size: 2em;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading__page1 {
    font-size: 1.5em;
  }
}
.c-heading__page1--white {
  color: #FFF;
  font-size: 2.25em;
  display: flex;
  flex-flow: column wrap;
  position: relative;
}
@media only screen and (max-width: 991px) {
  .c-heading__page1--white {
    font-size: 2em;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading__page1--white {
    font-size: 1.5em;
  }
}
.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;
  margin: 2rem 0 1.5rem;
}
.c-heading__page2 strong {
  font-size: 1.25em;
  line-height: 1;
  font-weight: 700;
}
@media only screen and (max-width: 991px) {
  .c-heading__page2 strong {
    font-size: 1.25em;
    margin-top: -1.125rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading__page2 strong {
    font-size: 1.125em;
    margin-top: -1rem;
  }
}
.c-heading__page2:before {
  color: var(--accentcolor);
  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: 0.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.75em;
}
@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--flat, .c-button__size--flat:hover, .c-button__size--flat:active, .c-button__size--flat:focus {
  padding: 0.5em 1em;
}
@media only screen and (max-width: 991px) {
  .c-button__size--flat, .c-button__size--flat:hover, .c-button__size--flat:active, .c-button__size--flat:focus {
    padding: 0.33em 1em;
  }
}
@media only screen and (max-width: 767px) {
  .c-button__size--flat, .c-button__size--flat:hover, .c-button__size--flat:active, .c-button__size--flat:focus {
    padding: 0.25em 1em;
  }
}
.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--deep, .c-button__texture--deep:hover, .c-button__texture--deep:active, .c-button__texture--deep:focus {
  background-color: var(--deepcolor);
  color: #FFF;
  border-color: transparent;
}
.c-button__texture--deep-solid, .c-button__texture--deep-solid:hover, .c-button__texture--deep-solid:active, .c-button__texture--deep-solid:focus {
  background-color: #FFF;
  color: var(--deepcolor);
  border-color: var(--maincolor);
}
.c-button__texture--deep-solid:hover, .c-button__texture--deep-solid:active, .c-button__texture--deep-solid:focus {
  background-color: #FFF;
  color: var(--deepcolor);
  opacity: 1;
}
.c-button__texture--deep-outline, .c-button__texture--deep-outline:hover, .c-button__texture--deep-outline:active, .c-button__texture--deep-outline:focus {
  background-color: transparent;
  color: var(--deepcolor);
  border-color: var(--maincolor);
}
.c-button__texture--deep-outline:hover, .c-button__texture--deep-outline:active, .c-button__texture--deep-outline:focus {
  background-color: transparent;
  color: var(--deepcolor);
  opacity: 1;
}
.c-button__texture--darkgray, .c-button__texture--darkgray:hover, .c-button__texture--darkgray:active, .c-button__texture--darkgray:focus {
  background-color: var(--darkgraycolor);
  color: #FFF;
  border-color: transparent;
}
.c-button__texture--darkgray-solid, .c-button__texture--darkgray-solid:hover, .c-button__texture--darkgray-solid:active, .c-button__texture--darkgray-solid:focus {
  background-color: #FFF;
  color: var(--darkgraycolor);
  border-color: var(--maincolor);
}
.c-button__texture--darkgray-solid:hover, .c-button__texture--darkgray-solid:active, .c-button__texture--darkgray-solid:focus {
  background-color: #FFF;
  color: var(--darkgraycolor);
  opacity: 1;
}
.c-button__texture--darkgray-outline, .c-button__texture--darkgray-outline:hover, .c-button__texture--darkgray-outline:active, .c-button__texture--darkgray-outline:focus {
  background-color: transparent;
  color: var(--darkgraycolor);
  border-color: var(--maincolor);
}
.c-button__texture--darkgray-outline:hover, .c-button__texture--darkgray-outline:active, .c-button__texture--darkgray-outline:focus {
  background-color: transparent;
  color: var(--darkgraycolor);
  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--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--animation-left-right {
  position: relative;
}
.c-button__hover--animation-left-right.c-button__texture--main-solid span, .c-button__hover--animation-left-right.c-button__texture--main-solid:after, .c-button__hover--animation-left-right.c-button__texture--main-outline span, .c-button__hover--animation-left-right.c-button__texture--main-outline:after, .c-button__hover--animation-left-right.c-button__texture--accent-solid span, .c-button__hover--animation-left-right.c-button__texture--accent-solid:after, .c-button__hover--animation-left-right.c-button__texture--accent-outline span, .c-button__hover--animation-left-right.c-button__texture--accent-outline:after {
  position: relative;
  z-index: 1;
}
.c-button__hover--animation-left-right.c-button__texture--main-solid:before, .c-button__hover--animation-left-right.c-button__texture--main-outline:before, .c-button__hover--animation-left-right.c-button__texture--accent-solid:before, .c-button__hover--animation-left-right.c-button__texture--accent-outline: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.c-button__texture--main-solid:hover, .c-button__hover--animation-left-right.c-button__texture--main-solid:active, .c-button__hover--animation-left-right.c-button__texture--main-solid:focus, .c-button__hover--animation-left-right.c-button__texture--main-outline:hover, .c-button__hover--animation-left-right.c-button__texture--main-outline:active, .c-button__hover--animation-left-right.c-button__texture--main-outline:focus, .c-button__hover--animation-left-right.c-button__texture--accent-solid:hover, .c-button__hover--animation-left-right.c-button__texture--accent-solid:active, .c-button__hover--animation-left-right.c-button__texture--accent-solid:focus, .c-button__hover--animation-left-right.c-button__texture--accent-outline:hover, .c-button__hover--animation-left-right.c-button__texture--accent-outline:active, .c-button__hover--animation-left-right.c-button__texture--accent-outline:focus {
  background-color: transparent;
  opacity: 1 !important;
}
.c-button__hover--animation-left-right.c-button__texture--main-solid:hover span, .c-button__hover--animation-left-right.c-button__texture--main-solid:hover:after, .c-button__hover--animation-left-right.c-button__texture--main-solid:active span, .c-button__hover--animation-left-right.c-button__texture--main-solid:active:after, .c-button__hover--animation-left-right.c-button__texture--main-solid:focus span, .c-button__hover--animation-left-right.c-button__texture--main-solid:focus:after, .c-button__hover--animation-left-right.c-button__texture--main-outline:hover span, .c-button__hover--animation-left-right.c-button__texture--main-outline:hover:after, .c-button__hover--animation-left-right.c-button__texture--main-outline:active span, .c-button__hover--animation-left-right.c-button__texture--main-outline:active:after, .c-button__hover--animation-left-right.c-button__texture--main-outline:focus span, .c-button__hover--animation-left-right.c-button__texture--main-outline:focus:after, .c-button__hover--animation-left-right.c-button__texture--accent-solid:hover span, .c-button__hover--animation-left-right.c-button__texture--accent-solid:hover:after, .c-button__hover--animation-left-right.c-button__texture--accent-solid:active span, .c-button__hover--animation-left-right.c-button__texture--accent-solid:active:after, .c-button__hover--animation-left-right.c-button__texture--accent-solid:focus span, .c-button__hover--animation-left-right.c-button__texture--accent-solid:focus:after, .c-button__hover--animation-left-right.c-button__texture--accent-outline:hover span, .c-button__hover--animation-left-right.c-button__texture--accent-outline:hover:after, .c-button__hover--animation-left-right.c-button__texture--accent-outline:active span, .c-button__hover--animation-left-right.c-button__texture--accent-outline:active:after, .c-button__hover--animation-left-right.c-button__texture--accent-outline:focus span, .c-button__hover--animation-left-right.c-button__texture--accent-outline:focus:after {
  color: #FFF;
  position: relative;
  z-index: 1;
}
.c-button__hover--animation-left-right.c-button__texture--main-solid:hover:before, .c-button__hover--animation-left-right.c-button__texture--main-solid:active:before, .c-button__hover--animation-left-right.c-button__texture--main-solid:focus:before, .c-button__hover--animation-left-right.c-button__texture--main-outline:hover:before, .c-button__hover--animation-left-right.c-button__texture--main-outline:active:before, .c-button__hover--animation-left-right.c-button__texture--main-outline:focus:before, .c-button__hover--animation-left-right.c-button__texture--accent-solid:hover:before, .c-button__hover--animation-left-right.c-button__texture--accent-solid:active:before, .c-button__hover--animation-left-right.c-button__texture--accent-solid:focus:before, .c-button__hover--animation-left-right.c-button__texture--accent-outline:hover:before, .c-button__hover--animation-left-right.c-button__texture--accent-outline:active:before, .c-button__hover--animation-left-right.c-button__texture--accent-outline: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-button__hover--animation-left-right.c-button__texture--main-solid span, .c-button__hover--animation-left-right.c-button__texture--main-solid:after, .c-button__hover--animation-left-right.c-button__texture--main-outline span, .c-button__hover--animation-left-right.c-button__texture--main-outline:after {
  color: var(--maincolor);
}
.c-button__hover--animation-left-right.c-button__texture--main-solid:before, .c-button__hover--animation-left-right.c-button__texture--main-outline:before {
  background-color: var(--maincolor);
}
.c-button__hover--animation-left-right.c-button__texture--main-solid:hover, .c-button__hover--animation-left-right.c-button__texture--main-solid:active, .c-button__hover--animation-left-right.c-button__texture--main-solid:focus, .c-button__hover--animation-left-right.c-button__texture--main-outline:hover, .c-button__hover--animation-left-right.c-button__texture--main-outline:active, .c-button__hover--animation-left-right.c-button__texture--main-outline:focus {
  background-color: transparent;
  opacity: 1 !important;
}
.c-button__hover--animation-left-right.c-button__texture--main-solid:hover span, .c-button__hover--animation-left-right.c-button__texture--main-solid:hover:after, .c-button__hover--animation-left-right.c-button__texture--main-solid:active span, .c-button__hover--animation-left-right.c-button__texture--main-solid:active:after, .c-button__hover--animation-left-right.c-button__texture--main-solid:focus span, .c-button__hover--animation-left-right.c-button__texture--main-solid:focus:after, .c-button__hover--animation-left-right.c-button__texture--main-outline:hover span, .c-button__hover--animation-left-right.c-button__texture--main-outline:hover:after, .c-button__hover--animation-left-right.c-button__texture--main-outline:active span, .c-button__hover--animation-left-right.c-button__texture--main-outline:active:after, .c-button__hover--animation-left-right.c-button__texture--main-outline:focus span, .c-button__hover--animation-left-right.c-button__texture--main-outline:focus:after {
  color: #FFF;
  position: relative;
  z-index: 1;
}
.c-button__hover--animation-left-right.c-button__texture--main-solid:hover:before, .c-button__hover--animation-left-right.c-button__texture--main-solid:active:before, .c-button__hover--animation-left-right.c-button__texture--main-solid:focus:before, .c-button__hover--animation-left-right.c-button__texture--main-outline:hover:before, .c-button__hover--animation-left-right.c-button__texture--main-outline:active:before, .c-button__hover--animation-left-right.c-button__texture--main-outline:focus:before {
  background-color: var(--maincolor);
}
.c-button__hover--animation-left-right.c-button__texture--accent-solid span, .c-button__hover--animation-left-right.c-button__texture--accent-solid:after, .c-button__hover--animation-left-right.c-button__texture--accent-outline span, .c-button__hover--animation-left-right.c-button__texture--accent-outline:after {
  color: var(--accentcolor);
}
.c-button__hover--animation-left-right.c-button__texture--accent-solid:before, .c-button__hover--animation-left-right.c-button__texture--accent-outline:before {
  background-color: var(--accentcolor);
}
.c-button__hover--animation-left-right.c-button__texture--accent-solid:hover, .c-button__hover--animation-left-right.c-button__texture--accent-solid:active, .c-button__hover--animation-left-right.c-button__texture--accent-solid:focus, .c-button__hover--animation-left-right.c-button__texture--accent-outline:hover, .c-button__hover--animation-left-right.c-button__texture--accent-outline:active, .c-button__hover--animation-left-right.c-button__texture--accent-outline:focus {
  background-color: transparent;
  opacity: 1 !important;
}
.c-button__hover--animation-left-right.c-button__texture--accent-solid:hover span, .c-button__hover--animation-left-right.c-button__texture--accent-solid:hover:after, .c-button__hover--animation-left-right.c-button__texture--accent-solid:active span, .c-button__hover--animation-left-right.c-button__texture--accent-solid:active:after, .c-button__hover--animation-left-right.c-button__texture--accent-solid:focus span, .c-button__hover--animation-left-right.c-button__texture--accent-solid:focus:after, .c-button__hover--animation-left-right.c-button__texture--accent-outline:hover span, .c-button__hover--animation-left-right.c-button__texture--accent-outline:hover:after, .c-button__hover--animation-left-right.c-button__texture--accent-outline:active span, .c-button__hover--animation-left-right.c-button__texture--accent-outline:active:after, .c-button__hover--animation-left-right.c-button__texture--accent-outline:focus span, .c-button__hover--animation-left-right.c-button__texture--accent-outline:focus:after {
  color: #FFF;
  position: relative;
  z-index: 1;
}
.c-button__hover--animation-left-right.c-button__texture--accent-solid:hover:before, .c-button__hover--animation-left-right.c-button__texture--accent-solid:active:before, .c-button__hover--animation-left-right.c-button__texture--accent-solid:focus:before, .c-button__hover--animation-left-right.c-button__texture--accent-outline:hover:before, .c-button__hover--animation-left-right.c-button__texture--accent-outline:active:before, .c-button__hover--animation-left-right.c-button__texture--accent-outline:focus:before {
  background-color: var(--accentcolor);
}

.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;
  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--xs .c-box__body, .c-box--xs .c-box__fotorama, .c-box--xs .c-box__date, .c-box--xs .c-box__file {
  padding: 1rem;
}
.c-box--sm .c-box__body, .c-box__sm .c-box__fotorama, .c-box__sm .c-box__file {
  padding: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .c-box--sm .c-box__body, .c-box__sm .c-box__fotorama, .c-box__sm .c-box__file {
    padding: 1rem;
  }
}
.c-box--md .c-box__body, .c-box--md .c-box__fotorama, .c-box--md .c-box__date, .c-box--md .c-box__file {
  padding: 2rem;
}
@media only screen and (max-width: 991px) {
  .c-box--md .c-box__body, .c-box--md .c-box__fotorama, .c-box--md .c-box__date, .c-box--md .c-box__file {
    padding: 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-box--md .c-box__body, .c-box--md .c-box__fotorama, .c-box--md .c-box__date, .c-box--md .c-box__file {
    padding: 1rem;
  }
}
.c-box--lg .c-box__body, .c-box--lg .c-box__fotorama, .c-box--lg .c-box__date, .c-box--lg .c-box__file {
  padding: 3rem;
}
@media only screen and (max-width: 991px) {
  .c-box--lg .c-box__body, .c-box--lg .c-box__fotorama, .c-box--lg .c-box__date, .c-box--lg .c-box__file {
    padding: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-box--lg .c-box__body, .c-box--lg .c-box__fotorama, .c-box--lg .c-box__date, .c-box--lg .c-box__file {
    padding: 1rem;
  }
}
.c-box--xl .c-box__image--inset, .c-box--xl .c-box__body, .c-box--xl .c-box__fotorama, .c-box--xl .c-box__date, .c-box--xl .c-box__file {
  padding: 4rem;
}
@media only screen and (max-width: 1199px) {
  .c-box--xl .c-box__image--inset, .c-box--xl .c-box__body, .c-box--xl .c-box__fotorama, .c-box--xl .c-box__date, .c-box--xl .c-box__file {
    padding: 3rem;
  }
}
@media only screen and (max-width: 991px) {
  .c-box--xl .c-box__image--inset, .c-box--xl .c-box__body, .c-box--xl .c-box__fotorama, .c-box--xl .c-box__date, .c-box--xl .c-box__file {
    padding: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-box--xl .c-box__image--inset, .c-box--xl .c-box__body, .c-box--xl .c-box__fotorama, .c-box--xl .c-box__date, .c-box--xl .c-box__file {
    padding: 1rem;
  }
}
.c-box--xxl .c-box__image--inset, .c-box--xxl .c-box__body, .c-box--xxl .c-box__fotorama, .c-box--xxl .c-box__date, .c-box--xl .c-box__file {
  padding: 5rem;
}
@media only screen and (max-width: 1439px) {
  .c-box--xxl .c-box__image--inset, .c-box--xxl .c-box__body, .c-box--xxl .c-box__fotorama, .c-box--xxl .c-box__date, .c-box--xl .c-box__file {
    padding: 4rem;
  }
}
@media only screen and (max-width: 1199px) {
  .c-box--xxl .c-box__image--inset, .c-box--xxl .c-box__body, .c-box--xxl .c-box__fotorama, .c-box--xxl .c-box__date, .c-box--xl .c-box__file {
    padding: 3rem;
  }
}
@media only screen and (max-width: 991px) {
  .c-box--xxl .c-box__image--inset, .c-box--xxl .c-box__body, .c-box--xxl .c-box__fotorama, .c-box--xxl .c-box__date, .c-box--xl .c-box__file {
    padding: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-box--xxl .c-box__image--inset, .c-box--xxl .c-box__body, .c-box--xxl .c-box__fotorama, .c-box--xxl .c-box__date, .c-box--xl .c-box__file {
    padding: 1rem;
  }
}
.c-box--xs + .c-box--xs {
  margin-top: 1rem;
}
.c-box--sm + .c-box--sm {
  margin-top: 1.25rem;
}
.c-box--md + .c-box--md {
  margin-top: 2rem;
}
.c-box--lg + .c-box--lg {
  margin-top: 3rem;
}
.c-box--xl + .c-box--xl {
  margin-top: 4rem;
}
.c-box__body + .c-box__body {
  border-top: 1px dashed #DDD;
}
a[class*=c-box--]:hover, a[class*=c-box--]:active, a[class*=c-box--]:focus {
  opacity: 0.75;
  background-color: #FFF;
}

.c-box__collapse {
  position: relative;
  word-wrap: break-word;
  background-color: #FFF;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.075);
}
.c-box__collapse dt a, .c-box__collapse dt a:hover, .c-box__collapse dt a:active, .c-box__collapse dt a:focus, .c-box__collapse dt span {
  background-color: var(--maincolor);
  display: block;
  position: relative;
  overflow: hidden;
  font-size: 1.125rem;
  line-height: 1.25;
  padding: 1.5rem 6rem;
  color: #FFF;
  opacity: 1;
}
@media only screen and (max-width: 767px) {
  .c-box__collapse dt a, .c-box__collapse dt a:hover, .c-box__collapse dt a:active, .c-box__collapse dt a:focus, .c-box__collapse dt span {
    font-size: 1rem;
    padding: 1rem 4rem;
  }
}
.c-box__collapse dt a:before, .c-box__collapse dt span:before {
  content: "";
  font-weight: 700;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  opacity: 0.25;
  font-size: 6rem;
  line-height: 0.5;
  color: #FFF;
  width: 6rem;
  text-align: center;
}
@media only screen and (max-width: 991px) {
  .c-box__collapse dt a:before, .c-box__collapse dt span:before {
    font-size: 5rem;
    width: 5rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-box__collapse dt a:before, .c-box__collapse dt span:before {
    font-size: 4rem;
    width: 4rem;
  }
}
.c-box__collapse dt a:after {
  font-family: "Font Awesome 5 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);
}
.c-poster__left, .c-poster__right {
  z-index: 10;
}
.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 (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: 36vw !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__left.c-poster__top--bottom, .c-poster__md--top .c-poster__right.c-poster__top, .c-poster__md--top .c-poster__right.c-poster__bottom, .c-poster__md--top .c-poster__right.c-poster__top--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: 39vw !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__left.c-poster__top--bottom, .c-poster__md--bottom .c-poster__right.c-poster__top, .c-poster__md--bottom .c-poster__right.c-poster__bottom, .c-poster__md--bottom .c-poster__right.c-poster__top--bottom {
    top: auto;
    bottom: 0;
    width: calc(100% - 1.5rem);
    height: 33vw;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
  }
  .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__left.c-poster__top--bottom {
    right: 1.5rem;
  }
  .c-poster__md--bottom .c-poster__right.c-poster__top, .c-poster__md--bottom .c-poster__right.c-poster__bottom, .c-poster__md--bottom .c-poster__right.c-poster__top--bottom {
    left: 1.5rem;
  }
}
@media only screen and (max-width: 575px) {
  .c-poster__md--bottom {
    padding-bottom: 36vw !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__left.c-poster__top--bottom, .c-poster__md--bottom .c-poster__right.c-poster__top, .c-poster__md--bottom .c-poster__right.c-poster__bottom, .c-poster__md--bottom .c-poster__right.c-poster__top--bottom {
    width: calc(100% - 1rem);
  }
  .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__left.c-poster__top--bottom {
    right: 1rem;
  }
  .c-poster__md--bottom .c-poster__right.c-poster__top, .c-poster__md--bottom .c-poster__right.c-poster__bottom, .c-poster__md--bottom .c-poster__right.c-poster__top--bottom {
    left: 1rem;
  }
}
@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));
}

.l-section__clearance--bottom__bottom {
  top: calc(var(--clearance-padding));
  bottom: 0;
}

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

.c-lead--xs, .c-lead--sm, .c-lead--md, .c-lead--lg, .c-lead--xl, .c-lead--xxl {
  line-height: 1.75;
}
@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 {
  font-size: 0.9em;
  line-height: 1.5;
  padding-left: 1.5em;
}
.c-kome:before {
  content: "※";
  display: inline-block;
  width: 1.5em;
  margin-left: -1.5em;
}
.c-kome + .c-kome {
  margin-top: 0;
}
.c-kome__red {
  color: #DC3545;
  padding-left: 1.5em;
}
.c-kome__red:before {
  content: "※";
  display: inline-block;
  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-list__square {
  list-style: none;
  counter-reset: square;
}
.c-list__square li {
  line-height: 1.52;
  padding-left: 3em;
}
.c-list__square li:before {
  background-color: var(--deepcolor);
  color: #FFF;
  border-radius: 0.5rem;
  font-weight: 700;
  counter-increment: square;
  content: "" counter(square) "";
  text-align: center;
  display: inline-block;
  margin-right: 1em;
  margin-left: -3em;
  padding-top: 0.25em;
  width: 2em;
  height: 2em;
}
.c-list__square li + li {
  margin-top: 0.5rem;
}
@media only screen and (max-width: 767px) {
  .c-list__square li + li {
    margin-top: 0.25rem;
  }
}
.c-list__square strong {
  margin-right: 1em;
  font-weight: 800;
}

.c-flow__article {
  background-color: #FFF;
  padding: 2rem;
  width: 100%;
  position: relative;
}
@media only screen and (max-width: 1399px) {
  .c-flow__article {
    padding: 1.5rem;
  }
}
@media only screen and (max-width: 1199px) {
  .c-flow__article {
    padding: 1rem;
  }
}
.c-flow__article--inner {
  padding: 5rem 0;
}
@media only screen and (max-width: 767px) {
  .c-flow__article--inner {
    padding: 4vw 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-flow__article--inner {
    padding: 5vw 0;
  }
}
@media only screen and (max-width: 575px) {
  .c-flow__article--inner {
    padding: 50vw 0 10vw;
  }
}
.c-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;
  border-radius: 50%;
  border-width: 0.125rem;
  border-style: solid;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-flow__icon {
    font-size: 1.5rem;
    width: 3rem;
    height: 3rem;
  }
}
.c-flow__heading {
  color: var(--maincolor);
  font-size: 1.25em;
  text-align: center;
  font-weight: 700;
  margin: 1rem 0 1.5rem;
}
@media only screen and (max-width: 991px) {
  .c-flow__heading {
    margin: 0.75rem 0 1.25rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-flow__heading {
    margin: 0.5rem 0 1rem;
  }
}
.c-flow__horizontal--main.c-flow__break--md, .c-flow__horizontal--deep.c-flow__break--md, .c-flow__horizontal--accent.c-flow__break--md {
  display: flex;
}
@media only screen and (max-width: 991px) {
  .c-flow__horizontal--main.c-flow__break--md, .c-flow__horizontal--deep.c-flow__break--md, .c-flow__horizontal--accent.c-flow__break--md {
    display: block;
    width: 50%;
    margin: 0 auto;
  }
}
.c-flow__horizontal--main.c-flow__break--md .c-flow__article, .c-flow__horizontal--deep.c-flow__break--md .c-flow__article, .c-flow__horizontal--accent.c-flow__break--md .c-flow__article {
  margin-left: 2rem;
}
@media only screen and (max-width: 991px) {
  .c-flow__horizontal--main.c-flow__break--md .c-flow__article, .c-flow__horizontal--deep.c-flow__break--md .c-flow__article, .c-flow__horizontal--accent.c-flow__break--md .c-flow__article {
    margin-left: 0;
    margin-top: 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-flow__horizontal--main.c-flow__break--md .c-flow__article, .c-flow__horizontal--deep.c-flow__break--md .c-flow__article, .c-flow__horizontal--accent.c-flow__break--md .c-flow__article {
    margin-left: 1.25rem;
  }
}
@media only screen and (max-width: 575px) {
  .c-flow__horizontal--main.c-flow__break--md .c-flow__article, .c-flow__horizontal--deep.c-flow__break--md .c-flow__article, .c-flow__horizontal--accent.c-flow__break--md .c-flow__article {
    margin-top: 1.25rem;
    margin-left: 0;
  }
}
.c-flow__horizontal--main.c-flow__break--md .c-flow__article:after, .c-flow__horizontal--deep.c-flow__break--md .c-flow__article:after, .c-flow__horizontal--accent.c-flow__break--md .c-flow__article:after {
  border-style: solid;
  position: absolute;
  top: 50%;
  left: 100%;
  bottom: 50%;
  margin: -1.5rem 0;
  border-width: 1.5rem;
  z-index: 2;
  content: "";
}
@media only screen and (max-width: 991px) {
  .c-flow__horizontal--main.c-flow__break--md .c-flow__article:after, .c-flow__horizontal--deep.c-flow__break--md .c-flow__article:after, .c-flow__horizontal--accent.c-flow__break--md .c-flow__article:after {
    border-width: 1.25rem;
    margin: 0 -1.25rem;
    top: 100%;
    left: 50%;
    right: 50%;
    bottom: auto;
  }
}
@media only screen and (max-width: 767px) {
  .c-flow__horizontal--main.c-flow__break--md .c-flow__article:after, .c-flow__horizontal--deep.c-flow__break--md .c-flow__article:after, .c-flow__horizontal--accent.c-flow__break--md .c-flow__article:after {
    border-width: 1rem;
    margin: 0 -1rem;
  }
}
.c-flow__horizontal--main.c-flow__break--md .c-flow__article:last-child:before, .c-flow__horizontal--main.c-flow__break--md .c-flow__article:last-child:after, .c-flow__horizontal--deep.c-flow__break--md .c-flow__article:last-child:before, .c-flow__horizontal--deep.c-flow__break--md .c-flow__article:last-child:after, .c-flow__horizontal--accent.c-flow__break--md .c-flow__article:last-child:before, .c-flow__horizontal--accent.c-flow__break--md .c-flow__article:last-child:after {
  display: none;
}
.c-flow__horizontal--main.c-flow__break--md .c-flow__article:first-child, .c-flow__horizontal--deep.c-flow__break--md .c-flow__article:first-child, .c-flow__horizontal--accent.c-flow__break--md .c-flow__article:first-child {
  margin-left: 0;
}
@media only screen and (max-width: 575px) {
  .c-flow__horizontal--main.c-flow__break--md .c-flow__article:first-child, .c-flow__horizontal--deep.c-flow__break--md .c-flow__article:first-child, .c-flow__horizontal--accent.c-flow__break--md .c-flow__article:first-child {
    margin-top: 0;
  }
}
.c-flow__horizontal--main.c-flow__break--md .c-flow__article h4, .c-flow__horizontal--deep.c-flow__break--md .c-flow__article h4, .c-flow__horizontal--accent.c-flow__break--md .c-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-flow__horizontal--main.c-flow__break--md .c-flow__article h4, .c-flow__horizontal--deep.c-flow__break--md .c-flow__article h4, .c-flow__horizontal--accent.c-flow__break--md .c-flow__article h4 {
    margin: 0.75rem 0 1.25rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-flow__horizontal--main.c-flow__break--md .c-flow__article h4, .c-flow__horizontal--deep.c-flow__break--md .c-flow__article h4, .c-flow__horizontal--accent.c-flow__break--md .c-flow__article h4 {
    margin: 0.5rem 0 1rem;
  }
}
.c-flow__horizontal--main.c-flow__break--md .c-flow__article p, .c-flow__horizontal--deep.c-flow__break--md .c-flow__article p, .c-flow__horizontal--accent.c-flow__break--md .c-flow__article p {
  line-height: 1.75;
}
@media only screen and (max-width: 991px) {
  .c-flow__horizontal--main.c-flow__break--md .c-flow__article p, .c-flow__horizontal--deep.c-flow__break--md .c-flow__article p, .c-flow__horizontal--accent.c-flow__break--md .c-flow__article p {
    font-size: 1em;
  }
}
@media only screen and (max-width: 767px) {
  .c-flow__horizontal--main.c-flow__break--md .c-flow__article p, .c-flow__horizontal--deep.c-flow__break--md .c-flow__article p, .c-flow__horizontal--accent.c-flow__break--md .c-flow__article p {
    line-height: 1.5;
  }
}
.c-flow__horizontal--main.c-flow__break--md .c-flow__article hr, .c-flow__horizontal--deep.c-flow__break--md .c-flow__article hr, .c-flow__horizontal--accent.c-flow__break--md .c-flow__article hr {
  margin: 1rem 0;
}
.c-flow__horizontal--main.c-flow__break--xs, .c-flow__horizontal--deep.c-flow__break--xs, .c-flow__horizontal--accent.c-flow__break--xs {
  display: flex;
}
@media only screen and (max-width: 575px) {
  .c-flow__horizontal--main.c-flow__break--xs, .c-flow__horizontal--deep.c-flow__break--xs, .c-flow__horizontal--accent.c-flow__break--xs {
    display: block;
    width: 75%;
    margin: 0 auto;
  }
}
.c-flow__horizontal--main.c-flow__break--xs .c-flow__article, .c-flow__horizontal--deep.c-flow__break--xs .c-flow__article, .c-flow__horizontal--accent.c-flow__break--xs .c-flow__article {
  margin-left: 1.75rem;
}
@media only screen and (max-width: 991px) {
  .c-flow__horizontal--main.c-flow__break--xs .c-flow__article, .c-flow__horizontal--deep.c-flow__break--xs .c-flow__article, .c-flow__horizontal--accent.c-flow__break--xs .c-flow__article {
    margin-left: 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-flow__horizontal--main.c-flow__break--xs .c-flow__article, .c-flow__horizontal--deep.c-flow__break--xs .c-flow__article, .c-flow__horizontal--accent.c-flow__break--xs .c-flow__article {
    margin-left: 1.25rem;
  }
}
@media only screen and (max-width: 575px) {
  .c-flow__horizontal--main.c-flow__break--xs .c-flow__article, .c-flow__horizontal--deep.c-flow__break--xs .c-flow__article, .c-flow__horizontal--accent.c-flow__break--xs .c-flow__article {
    margin-left: 0;
    margin-top: 1.25rem;
  }
}
.c-flow__horizontal--main.c-flow__break--xs .c-flow__article:last-child:after, .c-flow__horizontal--deep.c-flow__break--xs .c-flow__article:last-child:after, .c-flow__horizontal--accent.c-flow__break--xs .c-flow__article:last-child:after {
  display: none;
}
.c-flow__horizontal--main.c-flow__break--xs .c-flow__article:after, .c-flow__horizontal--deep.c-flow__break--xs .c-flow__article:after, .c-flow__horizontal--accent.c-flow__break--xs .c-flow__article:after {
  border-style: solid;
  position: absolute;
  top: 50%;
  left: 100%;
  bottom: 50%;
  margin: -1.5rem 0;
  border-width: 1.5rem;
  z-index: 2;
  content: "";
}
@media only screen and (max-width: 991px) {
  .c-flow__horizontal--main.c-flow__break--xs .c-flow__article:after, .c-flow__horizontal--deep.c-flow__break--xs .c-flow__article:after, .c-flow__horizontal--accent.c-flow__break--xs .c-flow__article:after {
    border-width: 1.25rem;
    margin: -1.25rem 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-flow__horizontal--main.c-flow__break--xs .c-flow__article:after, .c-flow__horizontal--deep.c-flow__break--xs .c-flow__article:after, .c-flow__horizontal--accent.c-flow__break--xs .c-flow__article:after {
    border-width: 1rem;
    margin: -1rem 0;
  }
}
@media only screen and (max-width: 575px) {
  .c-flow__horizontal--main.c-flow__break--xs .c-flow__article:after, .c-flow__horizontal--deep.c-flow__break--xs .c-flow__article:after, .c-flow__horizontal--accent.c-flow__break--xs .c-flow__article:after {
    margin: 0 -1rem;
    top: 100%;
    left: 50%;
    right: 50%;
    bottom: auto;
  }
}
.c-flow__horizontal--main.c-flow__break--xs .c-flow__article:first-child, .c-flow__horizontal--deep.c-flow__break--xs .c-flow__article:first-child, .c-flow__horizontal--accent.c-flow__break--xs .c-flow__article:first-child {
  margin-left: 0;
}
@media only screen and (max-width: 575px) {
  .c-flow__horizontal--main.c-flow__break--xs .c-flow__article:first-child, .c-flow__horizontal--deep.c-flow__break--xs .c-flow__article:first-child, .c-flow__horizontal--accent.c-flow__break--xs .c-flow__article:first-child {
    margin-top: 0;
  }
}
.c-flow__horizontal--main .c-flow__article {
  border: 1px solid var(--maincolor);
}
.c-flow__horizontal--main .c-flow__article:after {
  border-color: transparent transparent transparent var(--maincolor);
}
@media only screen and (max-width: 991px) {
  .c-flow__horizontal--main .c-flow__article:after {
    border-color: var(--maincolor) transparent transparent transparent;
  }
}
.c-flow__horizontal--main .c-flow__icon {
  color: var(--maincolor);
  border-color: var(--maincolor);
}
.c-flow__horizontal--deep .c-flow__article {
  border: 1px solid var(--deepcolor);
}
.c-flow__horizontal--deep .c-flow__article:after {
  border-color: transparent transparent transparent var(--deepcolor);
}
@media only screen and (max-width: 575px) {
  .c-flow__horizontal--deep .c-flow__article:after {
    border-color: var(--deepcolor) transparent transparent transparent;
  }
}
.c-flow__horizontal--deep .c-flow__icon {
  color: var(--deepcolor);
  border-color: var(--deepcolor);
}
.c-flow__horizontal--accent .c-flow__article {
  border: 1px solid var(--accentcolor);
}
.c-flow__horizontal--accent .c-flow__article:after {
  border-color: transparent transparent transparent var(--accentcolor);
}
@media only screen and (max-width: 991px) {
  .c-flow__horizontal--accent .c-flow__article:after {
    border-color: var(--accentcolor) transparent transparent transparent;
  }
}
.c-flow__horizontal--accent .c-flow__icon {
  color: var(--accentcolor);
  border-color: var(--accentcolor);
}
.c-flow__break--md.c-flow__horizontal--main .c-flow__article:after {
  border-color: transparent transparent transparent var(--maincolor);
  top: 50%;
  left: 100%;
  bottom: 50%;
  margin: -1.5rem 0;
  border-width: 1.5rem;
  z-index: 2;
  content: "";
}
@media only screen and (max-width: 991px) {
  .c-flow__break--md.c-flow__horizontal--main .c-flow__article:after {
    border-color: var(--maincolor) transparent transparent;
    border-width: 1.25rem;
    margin: 0 -1.25rem;
    top: 100%;
    left: 50%;
    right: 50%;
    bottom: auto;
  }
}
@media only screen and (max-width: 767px) {
  .c-flow__break--md.c-flow__horizontal--main .c-flow__article:after {
    border-width: 1rem;
    margin: 0 -1rem;
  }
}
.c-flow__break--md.c-flow__horizontal--deep .c-flow__article:after {
  border-color: transparent transparent transparent var(--deepcolor);
  top: 50%;
  left: 100%;
  bottom: 50%;
  margin: -1.5rem 0;
  border-width: 1.5rem;
  z-index: 2;
}
@media only screen and (max-width: 991px) {
  .c-flow__break--md.c-flow__horizontal--deep .c-flow__article:after {
    border-color: var(--maincolor) transparent transparent;
    border-width: 1.25rem;
    margin: 0 -1.25rem;
    top: 100%;
    left: 50%;
    right: 50%;
    bottom: auto;
  }
}
@media only screen and (max-width: 767px) {
  .c-flow__break--md.c-flow__horizontal--deep .c-flow__article:after {
    border-width: 1rem;
    margin: 0 -1rem;
  }
}
.c-flow__break--md.c-flow__horizontal--accent .c-flow__article:after {
  border-color: transparent transparent transparent var(--accentcolor);
  top: 50%;
  left: 100%;
  bottom: 50%;
  margin: -1.5rem 0;
  border-width: 1.5rem;
  z-index: 2;
  content: "";
}
@media only screen and (max-width: 991px) {
  .c-flow__break--md.c-flow__horizontal--accent .c-flow__article:after {
    border-color: var(--maincolor) transparent transparent;
    border-width: 1.25rem;
    margin: 0 -1.25rem;
    top: 100%;
    left: 50%;
    right: 50%;
    bottom: auto;
  }
}
@media only screen and (max-width: 767px) {
  .c-flow__break--md.c-flow__horizontal--accent .c-flow__article:after {
    border-width: 1rem;
    margin: 0 -1rem;
  }
}
.c-flow__break--xs.c-flow__horizontal--main .c-flow__article:after {
  border-color: transparent transparent transparent var(--maincolor);
  top: 50%;
  left: 100%;
  bottom: 50%;
  margin: -1.5rem 0;
  border-width: 1.5rem;
  z-index: 2;
}
@media only screen and (max-width: 991px) {
  .c-flow__break--xs.c-flow__horizontal--main .c-flow__article:after {
    border-width: 1.25rem;
    margin: -1.25rem 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-flow__break--xs.c-flow__horizontal--main .c-flow__article:after {
    border-width: 1rem;
    margin: -1rem 0;
  }
}
@media only screen and (max-width: 575px) {
  .c-flow__break--xs.c-flow__horizontal--main .c-flow__article:after {
    border-color: var(--maincolor) transparent transparent;
    top: 100%;
    left: 50%;
    right: 50%;
    bottom: auto;
  }
}
.c-flow__break--xs.c-flow__horizontal--accent .c-flow__article:after {
  border-color: transparent transparent transparent var(--accentcolor);
  border-width: 1.5rem;
  margin: -1.5rem 0;
  top: 50%;
  left: 100%;
  bottom: 50%;
  z-index: 2;
}
@media only screen and (max-width: 991px) {
  .c-flow__break--xs.c-flow__horizontal--accent .c-flow__article:after {
    border-width: 1.25rem;
    margin: -1.25rem 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-flow__break--xs.c-flow__horizontal--accent .c-flow__article:after {
    border-width: 1rem;
    margin: -1rem 0;
  }
}
@media only screen and (max-width: 575px) {
  .c-flow__break--xs.c-flow__horizontal--accent .c-flow__article:after {
    border-color: var(--accentcolor) transparent transparent;
    margin: 0 -1rem;
    top: 100%;
    left: 50%;
    right: 50%;
    bottom: auto;
  }
}
.c-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-flow--step {
    font-size: 1.5rem;
    width: 3rem;
    height: 3rem;
  }
}
.c-flow__vertical--main .c-flow__no, .c-flow__vertical--main .c-flow__notes, .c-flow__vertical--deep .c-flow__no, .c-flow__vertical--deep .c-flow__notes, .c-flow__vertical--accent .c-flow__no, .c-flow__vertical--accent .c-flow__notes {
  display: table-cell;
}
@media only screen and (max-width: 575px) {
  .c-flow__vertical--main .c-flow__no, .c-flow__vertical--main .c-flow__notes, .c-flow__vertical--deep .c-flow__no, .c-flow__vertical--deep .c-flow__notes, .c-flow__vertical--accent .c-flow__no, .c-flow__vertical--accent .c-flow__notes {
    display: block;
  }
}
.c-flow__vertical--main .c-flow__no, .c-flow__vertical--deep .c-flow__no, .c-flow__vertical--accent .c-flow__no {
  width: 4.5rem;
  vertical-align: top;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .c-flow__vertical--main .c-flow__no, .c-flow__vertical--deep .c-flow__no, .c-flow__vertical--accent .c-flow__no {
    width: 3rem;
    vertical-align: top;
  }
}
.c-flow__vertical--main .c-flow__no span, .c-flow__vertical--deep .c-flow__no span, .c-flow__vertical--accent .c-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-flow__vertical--main .c-flow__no span, .c-flow__vertical--deep .c-flow__no span, .c-flow__vertical--accent .c-flow__no span {
    font-size: 3.5em;
    line-height: 1;
  }
}
.c-flow__vertical--main .c-flow__no small, .c-flow__vertical--deep .c-flow__no small, .c-flow__vertical--accent .c-flow__no small {
  display: block;
  font-weight: 700;
  font-size: 15px;
  line-height: 18px;
}
@media only screen and (max-width: 767px) {
  .c-flow__vertical--main .c-flow__no small, .c-flow__vertical--deep .c-flow__no small, .c-flow__vertical--accent .c-flow__no small {
    font-size: 10px;
    line-height: 12px;
  }
}
.c-flow__vertical--main .c-flow__notes, .c-flow__vertical--deep .c-flow__notes, .c-flow__vertical--accent .c-flow__notes {
  padding: 3rem 0;
  padding-left: 3rem;
  vertical-align: top;
}
@media only screen and (max-width: 991px) {
  .c-flow__vertical--main .c-flow__notes, .c-flow__vertical--deep .c-flow__notes, .c-flow__vertical--accent .c-flow__notes {
    padding: 2rem 0;
    padding-left: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-flow__vertical--main .c-flow__notes, .c-flow__vertical--deep .c-flow__notes, .c-flow__vertical--accent .c-flow__notes {
    padding: 1rem 0;
    padding-left: 1rem;
  }
}
@media only screen and (max-width: 575px) {
  .c-flow__vertical--main .c-flow__notes, .c-flow__vertical--deep .c-flow__notes, .c-flow__vertical--accent .c-flow__notes {
    padding: 1rem 0;
  }
}
.c-flow__vertical--main .c-flow__notes .well, .c-flow__vertical--deep .c-flow__notes .well, .c-flow__vertical--accent .c-flow__notes .well {
  background: #FFF;
  border: none;
  color: #212121;
}
.c-flow__vertical--main .c-flow__notes .c-heading__flow, .c-flow__vertical--deep .c-flow__notes .c-heading__flow, .c-flow__vertical--accent .c-flow__notes .c-heading__flow {
  font-size: 1.125em;
  line-height: 1.5;
  margin: 1.5em 0 0.75em;
  font-weight: 700;
}
.c-flow__vertical--main .c-flow__notes .c-heading__flow:first-child, .c-flow__vertical--deep .c-flow__notes .c-heading__flow:first-child, .c-flow__vertical--accent .c-flow__notes .c-heading__flow:first-child {
  margin-top: 0;
}
.c-flow__vertical--main .c-flow__notes h5, .c-flow__vertical--deep .c-flow__notes h5, .c-flow__vertical--accent .c-flow__notes h5 {
  font-weight: 700;
  font-size: 1em;
  margin: 1.25em 0 0.75em;
  padding-bottom: 0.5em;
}
@media only screen and (max-width: 575px) {
  .c-flow__vertical--main .c-flow__notes h5, .c-flow__vertical--deep .c-flow__notes h5, .c-flow__vertical--accent .c-flow__notes h5 {
    text-align: center;
  }
}
.c-flow__vertical--main .c-flow__notes h5:first-child, .c-flow__vertical--deep .c-flow__notes h5:first-child, .c-flow__vertical--accent .c-flow__notes h5:first-child {
  margin-top: 0;
}
.c-flow__vertical--main .c-flow__notes p, .c-flow__vertical--deep .c-flow__notes p, .c-flow__vertical--accent .c-flow__notes p {
  line-height: 1.75;
}
.c-flow__vertical--main .c-flow__notes a, .c-flow__vertical--main .c-flow__notes a:hover, .c-flow__vertical--deep .c-flow__notes a, .c-flow__vertical--deep .c-flow__notes a:hover, .c-flow__vertical--accent .c-flow__notes a, .c-flow__vertical--accent .c-flow__notes a:hover {
  color: #FFF;
}
.c-flow__vertical--main .c-flow__notes hr, .c-flow__vertical--deep .c-flow__notes hr, .c-flow__vertical--accent .c-flow__notes hr {
  margin: 0.5em 0;
  border-top: 1px dashed #FF9;
}
.c-flow__vertical--main .c-flow__notes dl, .c-flow__vertical--deep .c-flow__notes dl, .c-flow__vertical--accent .c-flow__notes dl {
  display: table;
  width: 100%;
}
@media only screen and (max-width: 575px) {
  .c-flow__vertical--main .c-flow__notes dl, .c-flow__vertical--deep .c-flow__notes dl, .c-flow__vertical--accent .c-flow__notes dl {
    display: block;
  }
}
.c-flow__vertical--main .c-flow__notes dl dt, .c-flow__vertical--main .c-flow__notes dl dd, .c-flow__vertical--deep .c-flow__notes dl dt, .c-flow__vertical--deep .c-flow__notes dl dd, .c-flow__vertical--accent .c-flow__notes dl dt, .c-flow__vertical--accent .c-flow__notes dl dd {
  display: table-cell;
}
@media only screen and (max-width: 575px) {
  .c-flow__vertical--main .c-flow__notes dl dt, .c-flow__vertical--main .c-flow__notes dl dd, .c-flow__vertical--deep .c-flow__notes dl dt, .c-flow__vertical--deep .c-flow__notes dl dd, .c-flow__vertical--accent .c-flow__notes dl dt, .c-flow__vertical--accent .c-flow__notes dl dd {
    display: block;
  }
}
.c-flow__vertical--main .c-flow__notes dl .c-flow__notes dt, .c-flow__vertical--deep .c-flow__notes dl .c-flow__notes dt, .c-flow__vertical--accent .c-flow__notes dl .c-flow__notes dt {
  width: 7em;
}
@media only screen and (max-width: 575px) {
  .c-flow__vertical--main .c-flow__notes dl .c-flow__notes dt, .c-flow__vertical--deep .c-flow__notes dl .c-flow__notes dt, .c-flow__vertical--accent .c-flow__notes dl .c-flow__notes dt {
    margin-bottom: 1.25vw;
  }
}
.c-flow__vertical--main .c-flow__article, .c-flow__vertical--deep .c-flow__article, .c-flow__vertical--accent .c-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%);
  padding: 0 1.5rem 0 0;
  position: relative;
  z-index: 1;
  display: table;
  width: 100%;
}
@media only screen and (max-width: 575px) {
  .c-flow__vertical--main .c-flow__article, .c-flow__vertical--deep .c-flow__article, .c-flow__vertical--accent .c-flow__article {
    padding: 0;
  }
}
.c-flow__vertical--main .c-flow__article:before, .c-flow__vertical--main .c-flow__article:after, .c-flow__vertical--deep .c-flow__article:before, .c-flow__vertical--deep .c-flow__article:after, .c-flow__vertical--accent .c-flow__article:before, .c-flow__vertical--accent .c-flow__article:after {
  border-width: 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-flow__vertical--main .c-flow__article:before, .c-flow__vertical--main .c-flow__article:after, .c-flow__vertical--deep .c-flow__article:before, .c-flow__vertical--deep .c-flow__article:after, .c-flow__vertical--accent .c-flow__article:before, .c-flow__vertical--accent .c-flow__article:after {
    border-width: 1.25rem;
  }
}
@media only screen and (max-width: 575px) {
  .c-flow__vertical--main .c-flow__article:before, .c-flow__vertical--main .c-flow__article:after, .c-flow__vertical--deep .c-flow__article:before, .c-flow__vertical--deep .c-flow__article:after, .c-flow__vertical--accent .c-flow__article:before, .c-flow__vertical--accent .c-flow__article:after {
    margin: 0 -1.25rem;
  }
}
.c-flow__vertical--main .c-flow__article:before, .c-flow__vertical--deep .c-flow__article:before, .c-flow__vertical--accent .c-flow__article:before {
  top: 0;
  z-index: 7;
}
.c-flow__vertical--main .c-flow__article:after, .c-flow__vertical--deep .c-flow__article:after, .c-flow__vertical--accent .c-flow__article:after {
  border-color: #FFF transparent transparent transparent;
  top: -1px;
  z-index: 8;
}
.c-flow__vertical--main .c-flow__article:first-child:before, .c-flow__vertical--main .c-flow__article:first-child:after, .c-flow__vertical--deep .c-flow__article:first-child:before, .c-flow__vertical--deep .c-flow__article:first-child:after, .c-flow__vertical--accent .c-flow__article:first-child:before, .c-flow__vertical--accent .c-flow__article:first-child:after {
  display: none;
}
.c-flow__vertical--deep .c-flow__article {
  border-bottom: 1px solid var(--deepcolor);
}
.c-flow__vertical--deep .c-flow__article .c-heading__flow strong {
  border-color: var(--deepcolor);
}
.c-flow__vertical--deep .c-flow__article:before {
  border-color: var(--deepcolor) transparent transparent;
}
.c-flow__vertical--deep .c-flow__article:first-child {
  border-top: 1px solid var(--deepcolor);
}
.c-flow__vertical--deep .c-flow__article .c-flow--notes h4 {
  border-left: 0.25rem solid var(--maincolor);
  color: var(--maincolor);
}
.c-flow__vertical--deep .c-flow__article .c-flow--notes h5 {
  border-bottom: 1px dashed var(--maincolor);
  color: var(--maincolor);
}
.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 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;
}
.c-form__width--md {
  width: 50%;
  min-width: 15em;
}
.c-form__width--lg {
  width: 75%;
}

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

.js-pagetop {
  background-image: url('data:image/svg+xml;utf8,<svg width="41" height="41" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 41 41"><circle cx="20.5" cy="20.5" r="20.5" style="fill:%23999"/><polyline points="10 24.9 20.05 16 31 25" style="fill:none; stroke:%23fff; stroke-miterlimit:10; stroke-width:2px;"/></svg>');
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  position: fixed;
  right: 50%;
  margin-right: calc(1.25rem - 1280px);
  bottom: 1.25rem;
  z-index: 999;
  width: 2.5rem;
  height: 2.5rem;
  opacity: 0;
  cursor: default;
  transition: 0.2s;
}
@media only screen and (max-width: 2560px) {
  .js-pagetop {
    right: 1.25rem;
    margin: 0;
  }
}
@media only screen and (max-width: 991px) {
  .js-pagetop {
    width: 2.25rem;
    height: 2.25rem;
    right: 0.25rem;
    bottom: 0.25rem;
  }
}
.js-pagetop.is-active {
  opacity: 1;
  transition: 0.6s;
  cursor: pointer;
}

.p-header {
  background-color: var(--lightcolor);
  box-shadow: 0 0 0.75rem rgba(0, 0, 0, 0);
  z-index: 99999;
}
.p-header.js-scroll {
  background-color: var(--lightcolor);
  box-shadow: 0 0 0.75rem rgba(0, 0, 0, 0.1);
}
.p-header__logo a img, .p-header__logo a svg {
  vertical-align: top;
  width: auto;
  height: auto;
}
@media only screen and (max-width: 1199px) {
  .p-header__logo a img, .p-header__logo a svg {
    height: 3rem;
  }
}
@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;
  }
}
.p-header__nav .navbar-toggler {
  background-color: var(--navcolor);
}
.p-header__nav .navbar-toggler[aria-expanded=false] .navbar-toggler-icon:before, .p-header__nav .navbar-toggler[aria-expanded=false] .navbar-toggler-icon:after, .p-header__nav .navbar-toggler[aria-expanded=true] .navbar-toggler-icon:before, .p-header__nav .navbar-toggler[aria-expanded=true] .navbar-toggler-icon:after {
  background-color: #FFF;
}
.p-header__nav .navbar-toggler[aria-expanded=false] small, .p-header__nav .navbar-toggler[aria-expanded=true] small {
  color: #FFF;
}
.p-header__nav .navbar-toggler[aria-expanded=false] .navbar-toggler-icon {
  background-color: #FFF;
}
.p-header__nav--navbar {
  display: flex;
  flex-flow: column wrap;
  justify-content: space-between;
  align-items: flex-end;
}
.p-header__nav--navbar .navbar-nav .nav-item + .nav-item {
  margin-left: 2rem;
}
@media only screen and (max-width: 1399px) {
  .p-header__nav--navbar .navbar-nav .nav-item + .nav-item {
    margin-left: 1.25em;
  }
}
@media only screen and (max-width: 1199px) {
  .p-header__nav--navbar .navbar-nav .nav-item + .nav-item {
    margin-left: 1em;
  }
}
@media only screen and (max-width: 991px) {
  .p-header__nav--navbar .navbar-nav .nav-item + .nav-item {
    margin-left: 0;
  }
}
.p-header__nav--navbar .navbar-nav .nav-item .nav-link {
  color: #FFF;
  font-size: 1em;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  font-weight: 500;
  padding: 0.75rem 0;
}
@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, .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 {
  color: var(--navcolor);
}
@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(--navcolor);
    color: #FFF;
  }
}
@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: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: "";
  border-color: var(--navcolor);
}
.p-header__nav--navbar .navbar-nav .nav-item .nav-link:after {
  content: "";
  border-bottom: 3px solid transparent;
  /*display: none; */
}
.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(--navcolor);
  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;
}

.js-scroll .navbar-expand-lg .navbar-nav .nav-item .nav-link {
  color: #FFF;
}
@media only screen and (max-width: 991px) {
  .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, .js-scroll .navbar-expand-lg .navbar-nav .nav-item .nav-link:active, .js-scroll .navbar-expand-lg .navbar-nav .nav-item .nav-link:focus, .js-scroll .navbar-expand-lg .navbar-nav .nav-item .nav-link.active {
  color: var(--navcolor);
}
@media only screen and (max-width: 991px) {
  .js-scroll .navbar-expand-lg .navbar-nav .nav-item .nav-link:hover, .js-scroll .navbar-expand-lg .navbar-nav .nav-item .nav-link:active, .js-scroll .navbar-expand-lg .navbar-nav .nav-item .nav-link:focus, .js-scroll .navbar-expand-lg .navbar-nav .nav-item .nav-link.active {
    color: #FFF;
  }
}
.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(--navcolor);
}
@media only screen and (max-width: 991px) {
  .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 {
    display: none;
  }
}

.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 {
  position: relative;
}
.p-footer__contact {
  background-color: #000;
  padding: var(--clearance-padding) 0;
  position: relative;
}
@media only screen and (max-width: 1399px) {
  .p-footer__contact {
    padding: calc(var(--clearance-padding) * 0.85) 0;
  }
}
@media only screen and (max-width: 1199px) {
  .p-footer__contact {
    padding: calc(var(--clearance-padding) * 0.7) 0;
  }
}
@media only screen and (max-width: 991px) {
  .p-footer__contact {
    padding: calc(var(--clearance-padding) * 0.55) 0;
  }
}
@media only screen and (max-width: 767px) {
  .p-footer__contact {
    padding: calc(var(--clearance-padding) * 0.4) 0;
  }
}
@media only screen and (max-width: 575px) {
  .p-footer__contact {
    padding: calc(var(--clearance-padding) * 0.25) 0;
  }
}
.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.5;
}
.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: 0;
}
@media only screen and (max-width: 991px) {
  .p-footer__logo {
    text-align: center;
  }
}
@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__logo--type {
  font-size: 1.5em;
  font-family: var(--font-round);
  font-weight: 700;
}
.p-footer__information {
  background-color: #FFF;
}
.p-footer__information span[data-action=call] {
  color: var(--textcolor) !important;
  font-weight: 400;
}
@media only screen and (max-width: 575px) {
  .p-footer__location {
    justify-content: center;
  }
}
@media only screen and (max-width: 575px) {
  .p-footer__location--pzip {
    text-align: center;
  }
}
.p-footer__location--address {
  margin-left: 1em;
}
@media only screen and (max-width: 575px) {
  .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: 4.5rem 0;
  display: flex;
}
@media only screen and (max-width: 1399px) {
  .p-footer__textmap {
    padding: 3.75rem 0;
  }
}
@media only screen and (max-width: 1199px) {
  .p-footer__textmap {
    padding: 3.25rem 0;
  }
}
@media only screen and (max-width: 991px) {
  .p-footer__textmap {
    padding: 2.5rem 0;
  }
}
@media only screen and (max-width: 767px) {
  .p-footer__textmap {
    padding: 1.75rem 0;
  }
}
.p-footer__textmap .l-footer__textmap--menu {
  line-height: 3;
}
.p-footer__textmap .p-footer__textmap--item + .p-footer__textmap--item {
  border-left: 1px solid #FFF;
}
.p-footer__textmap .l-footer__textmap--link {
  color: #FFF;
}
.p-footer__textmap .l-footer__textmap--link:hover, .p-footer__textmap .l-footer__textmap--link:active, .p-footer__textmap .l-footer__textmap--link:focus {
  background-color: #FFF;
  color: var(--maincolor);
}
.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(--darkgraycolor);
  text-align: center;
  padding: 0.25em 0;
}

.container-lg {
  max-width: 1140px;
}

.c-phone--lg, .c-phone--md, .c-phone--sm, .c-fax--lg, .c-fax--md, .c-fax--sm {
  font-family: var(--font-round);
  line-height: 0.75;
  font-weight: 600;
}
.c-phone--lg:before, .c-phone--lg [data-action=call], .c-phone--md:before, .c-phone--md [data-action=call], .c-phone--sm:before, .c-phone--sm [data-action=call], .c-fax--lg:before, .c-fax--lg [data-action=call], .c-fax--md:before, .c-fax--md [data-action=call], .c-fax--sm:before, .c-fax--sm [data-action=call] {
  font-weight: 600;
}
.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;
  }
}

.p-poster .p-width__connect {
  width: calc(50% - 215px);
}
@media only screen and (max-width: 2000px) {
  .p-poster .p-width__connect {
    max-width: 785px;
  }
}
@media only screen and (max-width: 1399px) {
  .p-poster .p-width__connect {
    width: calc(50% - 185px);
  }
}
@media only screen and (max-width: 1199px) {
  .p-poster .p-width__connect {
    width: calc(50% - 150px);
  }
}
@media only screen and (max-width: 991px) {
  .p-poster .p-width__connect {
    width: calc(100% - 1.5rem);
  }
}
@media only screen and (max-width: 575px) {
  .p-poster .p-width__connect {
    width: calc(100% - 1rem);
  }
}
.p-poster .c-poster__left img {
  border-radius: 0 3rem 3rem 0;
}
@media only screen and (max-width: 991px) {
  .p-poster .c-poster__left img {
    border-radius: 0 2rem 2rem 0;
  }
}
@media only screen and (max-width: 767px) {
  .p-poster .c-poster__left img {
    border-radius: 0 1rem 1rem 0;
  }
}
.p-poster .c-poster__right img {
  border-radius: 3rem 0 0 3rem;
}
@media only screen and (max-width: 991px) {
  .p-poster .c-poster__right img {
    border-radius: 2rem 0 0 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-poster .c-poster__right img {
    border-radius: 1rem 0 0 1rem;
  }
}

@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;
  }
}
@media only screen and (min-width: 1400px) {
  .c-poster__left + [class*=container] .p-poster__floating-paper {
    padding-right: 0;
    background-image: linear-gradient(to right, rgb(255, 255, 255) 25%, rgba(255, 255, 255, 0) 50%);
    background-color: transparent;
  }
  .c-poster__right + [class*=container] .p-poster__floating-paper {
    padding-left: 0;
    background-image: linear-gradient(to right, rgba(255, 255, 255, 0) 50%, rgb(255, 255, 255) 75%);
    background-color: transparent;
  }
}
.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-outer .c-button__texture--main-solid {
  border-width: 2px;
}
.p-outer .c-hero__link--title {
  text-align: center;
}
.p-outer .c-hero__link--title h4 {
  font-size: 1.125em;
}
.p-outer .c-hero__link--title h4:before {
  font-size: 2.5em;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: 0.5em;
  display: block;
  content: attr(data-label);
}
.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__hover--animation-left-right {
  position: relative;
}
.p-button__hover--animation-left-right span, .p-button__hover--animation-left-right:after {
  color: var(--maincolor);
  position: relative;
  z-index: 1;
}
.p-button__hover--animation-left-right:before {
  background-color: var(--maincolor);
  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;
}
@keyframes animationout {
  0% {
    width: 100%;
  }
  20% {
    width: 100%;
  }
  80% {
    width: 0;
  }
  100% {
    width: 0;
  }
}
.p-button__hover--animation-left-right:hover, .p-button__hover--animation-left-right:active, .p-button__hover--animation-left-right:focus {
  background-color: transparent;
  opacity: 1 !important;
}
.p-button__hover--animation-left-right:hover span, .p-button__hover--animation-left-right:hover:after, .p-button__hover--animation-left-right:active span, .p-button__hover--animation-left-right:active:after, .p-button__hover--animation-left-right:focus span, .p-button__hover--animation-left-right:focus:after {
  color: #FFF;
  position: relative;
  z-index: 1;
}
.p-button__hover--animation-left-right:hover:before, .p-button__hover--animation-left-right:active:before, .p-button__hover--animation-left-right:focus:before {
  background-color: var(--maincolor);
  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;
}
@keyframes animationhover {
  0% {
    width: 0;
  }
  20% {
    width: 0;
  }
  80% {
    width: 100%;
  }
  100% {
    width: 100%;
  }
}

.p-button__link, .p-button__link:hover, .p-button__link:active, .p-button__link:focus {
  font-size: 1.25em;
  font-family: var(--font-round);
  text-transform: initial;
}

.p-button__link--flat, .p-button__link--flat:hover, .p-button__link--flat:active, .p-button__link--flat:focus {
  font-size: 0.9em;
  max-width: 10rem;
  font-family: var(--font-round);
  text-transform: initial;
}
@media only screen and (max-width: 575px) {
  .p-button__link--flat, .p-button__link--flat:hover, .p-button__link--flat:active, .p-button__link--flat:focus {
    max-width: 100%;
  }
}

@media only screen and (max-width: 991px) {
  .l-section__clearance .l-section__clearance--narrow {
    padding-top: 0;
  }
}

@media only screen and (max-width: 991px) {
  .p-mainimage {
    padding-top: 1.5rem;
  }
}
@media only screen and (max-width: 575px) {
  .p-mainimage {
    padding-top: 1rem;
  }
}
.p-mainimage:before {
  background-color: var(--lightcolor);
  height: 28vw;
  max-height: 35rem;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  content: "";
}
@media only screen and (max-width: 1199px) {
  .p-mainimage:before {
    height: 35vw;
  }
}
.p-mainimage__inner {
  border-radius: 6rem;
  overflow: hidden;
  display: flex;
  position: relative;
}
@media only screen and (max-width: 1399px) {
  .p-mainimage__inner {
    border-radius: 5rem;
  }
}
@media only screen and (max-width: 1199px) {
  .p-mainimage__inner {
    border-radius: 4.25rem;
  }
}
@media only screen and (max-width: 991px) {
  .p-mainimage__inner {
    border-radius: 3.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-mainimage__inner {
    border-radius: 2.5rem;
  }
}
@media only screen and (max-width: 575px) {
  .p-mainimage__inner {
    border-radius: 1.5rem;
    flex-flow: row wrap;
  }
}
.p-mainimage__inner .c-mainimage__text,
.p-mainimage__inner .c-mainimage__slider {
  flex: 1 1 50%;
  max-width: 50%;
}
@media only screen and (max-width: 575px) {
  .p-mainimage__inner .c-mainimage__text,
.p-mainimage__inner .c-mainimage__slider {
    flex: 1 1 100%;
    max-width: 100%;
  }
}
.p-mainimage__inner .c-mainimage__text {
  background-color: var(--deepcolor);
}
@media only screen and (max-width: 575px) {
  .p-mainimage__inner .c-mainimage__text {
    padding: 1rem;
  }
}
.p-mainimage__inner .c-mainimage__slider {
  overflow: hidden;
  background-color: #E9F2FF;
}
.p-mainimage__cover {
  background-color: transparent;
  height: 39vw;
  max-height: 780px;
}
@media only screen and (max-width: 1399px) {
  .p-mainimage__cover {
    height: 50vw;
  }
}
@media only screen and (max-width: 991px) {
  .p-mainimage__cover {
    height: 50vw;
  }
}
@media only screen and (max-width: 767px) {
  .p-mainimage__cover {
    height: 45vw;
  }
}
@media only screen and (max-width: 575px) {
  .p-mainimage__cover {
    height: 75vw;
  }
}
.p-mainimage__cover img {
  opacity: 1;
}
@media only screen and (max-width: 991px) {
  .p-mainimage__text {
    top: var(--header-height);
  }
}
.p-mainimage__text--copy h2 {
  display: flex;
  flex-flow: column wrap;
  align-items: center;
}
.p-mainimage__text--catch {
  color: #FFF;
  font-size: 3.75em;
  line-height: 1;
  letter-spacing: 0.12em;
  text-indent: 0.12em;
  font-family: var(--font-round);
  font-weight: 500;
  display: block;
}
@media only screen and (max-width: 1399px) {
  .p-mainimage__text--catch {
    font-size: 3.25em;
  }
}
@media only screen and (max-width: 1199px) {
  .p-mainimage__text--catch {
    font-size: 2.75em;
  }
}
@media only screen and (max-width: 991px) {
  .p-mainimage__text--catch {
    font-size: 2em;
  }
}
@media only screen and (max-width: 767px) {
  .p-mainimage__text--catch {
    font-size: 1.5em;
  }
}
.p-mainimage__text--lead {
  color: #FFF;
  text-align: center;
  font-size: 1.75em;
  line-height: 2;
  letter-spacing: 0.12em;
  text-indent: 0.12em;
}
@media only screen and (max-width: 1399px) {
  .p-mainimage__text--lead {
    font-size: 1.5em;
  }
}
@media only screen and (max-width: 1199px) {
  .p-mainimage__text--lead {
    font-size: 1.25em;
  }
}
@media only screen and (max-width: 991px) {
  .p-mainimage__text--lead {
    font-size: 1em;
  }
}
@media only screen and (max-width: 767px) {
  .p-mainimage__text--lead {
    font-size: 0.9em;
  }
}
.p-mainimage__text .c-text__devider {
  background-color: #FFF;
  border: none;
  border-radius: 6px;
  margin: 4rem auto 3.5rem;
  width: 4.5rem;
  height: 6px;
}
@media only screen and (max-width: 1399px) {
  .p-mainimage__text .c-text__devider {
    margin: 3.5rem auto 3rem;
  }
}
@media only screen and (max-width: 1199px) {
  .p-mainimage__text .c-text__devider {
    margin: 2.75rem auto 2.5rem;
    width: 3rem;
    height: 4px;
  }
}
@media only screen and (max-width: 991px) {
  .p-mainimage__text .c-text__devider {
    margin: 2.25rem auto 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-mainimage__text .c-text__devider {
    margin: 1.75rem auto 1.5rem;
    width: 1.5rem;
    height: 2px;
  }
}
.p-mainimage .p-heading__crayon--decoration {
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
  margin: -6.75rem auto;
  text-align: center;
  position: relative;
  z-index: 999;
}
@media only screen and (max-width: 1399px) {
  .p-mainimage .p-heading__crayon--decoration {
    margin: -7.5rem auto -3.75rem;
  }
}
@media only screen and (max-width: 1199px) {
  .p-mainimage .p-heading__crayon--decoration {
    margin: -6.5rem auto -3.25rem;
  }
}
@media only screen and (max-width: 991px) {
  .p-mainimage .p-heading__crayon--decoration {
    margin: -5rem auto -2.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-mainimage .p-heading__crayon--decoration {
    margin: -3.5rem auto -1.75rem;
  }
}
@media only screen and (max-width: 575px) {
  .p-mainimage .p-heading__crayon--decoration {
    margin: -2.5rem auto -1.25rem;
  }
}
.p-mainimage .p-heading__crayon--decoration img {
  width: auto;
  height: 13.5rem;
}
@media only screen and (max-width: 1399px) {
  .p-mainimage .p-heading__crayon--decoration img {
    height: 11.25rem;
  }
}
@media only screen and (max-width: 1199px) {
  .p-mainimage .p-heading__crayon--decoration img {
    height: 9.75rem;
  }
}
@media only screen and (max-width: 991px) {
  .p-mainimage .p-heading__crayon--decoration img {
    height: 7.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-mainimage .p-heading__crayon--decoration img {
    height: 5.25rem;
  }
}
@media only screen and (max-width: 575px) {
  .p-mainimage .p-heading__crayon--decoration img {
    height: 3.75rem;
  }
}

.p-heading__index1 span {
  color: var(--textcolor);
  display: block;
}
.p-heading__index1.text-center span {
  margin: 0 auto;
}
.p-heading__index1.text-center::before {
  text-indent: 0.2em;
}
.p-heading__index1.c-heading__devider::after {
  margin-top: 1.25rem;
}
@media only screen and (max-width: 1399px) {
  .p-heading__index1.c-heading__devider::after {
    margin-top: 1rem;
  }
}
@media only screen and (max-width: 1199px) {
  .p-heading__index1.c-heading__devider::after {
    margin-top: 0.875rem;
  }
}
@media only screen and (max-width: 991px) {
  .p-heading__index1.c-heading__devider::after {
    margin-top: 0.75rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-heading__index1.c-heading__devider::after {
    margin-top: 0.5rem;
  }
}
.p-heading__index1--light span {
  color: #FFF;
  display: block;
}
.p-heading__index1--light::after {
  background-color: var(--maincolor);
  color: #FFF;
  line-height: 0.75;
  text-transform: uppercase;
  margin-top: calc(var(--section-padding) * var(--heading-padding));
  padding: 0.25em 0.5em;
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
}
.p-heading__index1--light.text-center span {
  margin: 0 auto;
}
.p-heading__index1--light.text-center::before {
  text-indent: 0.2em;
}
.p-index__about {
  position: relative;
}
.p-index__about:before {
  background: url(../images/index-about__background.jpg) center bottom no-repeat fixed;
  background-size: min(100%, 2560px);
  margin: 0 -1280px;
  width: 100%;
  max-width: 2560px;
  position: absolute;
  top: 0;
  left: 50%;
  right: 50%;
  bottom: 0;
  content: "";
}
@media only screen and (max-width: 2560px) {
  .p-index__about:before {
    background-position: left bottom;
    margin: 0;
    left: 0;
    right: 0;
  }
}

.p-index__information {
  background: url(../images/index-news__background.jpg) center center/cover no-repeat;
}

.p-index__works {
  position: relative;
  overflow: hidden;
}
.p-index__works:before {
  background: url(../images/index-works__background.jpg) center bottom no-repeat fixed;
  background-size: min(100%, 2560px);
  margin: 0 -1280px;
  width: 100%;
  max-width: 2560px;
  position: absolute;
  top: 0;
  left: 50%;
  right: 50%;
  bottom: 0;
  content: "";
}
@media only screen and (max-width: 2560px) {
  .p-index__works:before {
    background-position: right bottom;
    margin: 0;
    left: 0;
    right: 0;
  }
}

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

.p-box__catch {
  border-top: 0.5rem solid var(--accentcolor);
  box-shadow: 0 -8rem 4rem rgba(0, 0, 0, 0.125);
  margin-top: calc(var(--clearance-padding) / 2 * -1);
  padding: var(--clearance-padding);
  background-color: #FFF;
}

.p-services__anchor {
  display: block;
}
.p-services__anchor .p-services__image {
  transform: scale(1);
  transition: transform 0.3s;
}
.p-services__anchor:hover .p-services__image, .p-services__anchor:active .p-services__image, .p-services__anchor:focus .p-services__image {
  transform: scale(1.02);
  transition: transform 0.6s;
}

.p-services__image {
  border-top: 0.5rem solid var(--maincolor);
}
.p-services__image figcaption {
  font-weight: 700;
  margin-top: 0.5rem;
  padding-left: 0.75rem;
  padding-bottom: 0.5rem;
  position: relative;
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
}
@media only screen and (max-width: 1199px) {
  .p-services__image figcaption {
    margin-top: -0.75em;
    padding-left: 0.25rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-services__image figcaption {
    margin-top: -0.66em;
    padding-left: 0.25rem;
  }
}
.p-services__image figcaption:after {
  position: absolute;
  left: 0.75rem;
  right: 0;
  bottom: 0;
  border-bottom: 4px solid var(--maincolor);
  -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-services__image figcaption strong {
  color: var(--textcolor);
  font-size: 1.25em;
  line-height: 1.5;
  display: flex;
  align-items: flex-start;
  white-space: nowrap;
}
@media only screen and (max-width: 1199px) {
  .p-services__image figcaption strong {
    font-size: 1.5em;
  }
}
@media only screen and (max-width: 991px) {
  .p-services__image figcaption strong {
    font-size: 1.33em;
  }
}
@media only screen and (max-width: 767px) {
  .p-services__image figcaption strong {
    font-size: 1.125em;
  }
}
.p-services__image figcaption strong span {
  color: var(--maincolor);
  font-size: 3em;
  line-height: 0.75;
  font-weight: 500;
  margin-top: -1.5rem;
  margin-right: 0.25em;
  display: block;
  font-family: var(--font-oswald);
}
.p-services__image figcaption small {
  display: block;
  color: var(--textcolor);
  font-size: 0.5em;
  margin-top: 1em;
  font-weight: 700;
}
@media only screen and (max-width: 1199px) {
  .p-services__image figcaption small {
    font-size: 0.6em;
  }
}

.p-section__connect .u-marker__pink {
  font-size: 1.33em;
  line-height: 2.25;
}
@media only screen and (max-width: 1399px) {
  .p-section__connect .u-marker__pink {
    font-size: 1.25em;
    line-height: 2.125;
  }
}
@media only screen and (max-width: 1199px) {
  .p-section__connect .u-marker__pink {
    font-size: 1.125em;
    line-height: 2;
  }
}

.p-section__cloud .container-lg {
  z-index: 11;
}
.p-section__cloud .p-heading__index1 strong {
  left: auto;
  width: 1110px;
}
@media only screen and (max-width: 1199px) {
  .p-section__cloud .p-heading__index1 strong {
    width: 930px;
  }
}
@media only screen and (max-width: 991px) {
  .p-section__cloud .p-heading__index1 strong {
    width: 100%;
  }
}

.p-decoration__about--left, .p-decoration__about--right, .p-decoration__business--left, .p-decoration__business--right, .p-decoration__cloud--left, .p-decoration__cloud--right, .p-decoration__recruit--left, .p-decoration__recruit--right {
  position: absolute;
  z-index: 99;
}
.p-decoration__about--left, .p-decoration__business--left, .p-decoration__cloud--left, .p-decoration__recruit--left {
  right: calc(50% + 600px);
}
.p-decoration__about--right, .p-decoration__business--right, .p-decoration__cloud--right, .p-decoration__recruit--right {
  left: calc(50% + 600px);
}
.p-decoration__about--left {
  margin-top: -4rem;
}
.p-decoration__business--left {
  margin-top: -6rem;
}
.p-decoration__business--right {
  margin-top: -3.5rem;
}
.p-decoration__cloud--right {
  margin-top: -6rem;
}
.p-decoration__recruit--left {
  margin-top: -4.5rem;
}

.p-pagetitle {
  background-color: transparent;
}
.p-pagetitle__image {
  background-color: var(--darkgraycolor);
  overflow: hidden;
  height: 15rem;
  display: block;
  position: relative;
}
@media only screen and (max-width: 991px) {
  .p-pagetitle__image {
    height: 12rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-pagetitle__image {
    height: 9rem;
  }
}
.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: 0.5;
}
.p-pagetitle .p-heading__crayon--decoration {
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
  margin: -6rem auto -3rem;
  text-align: center;
  position: relative;
  z-index: 999;
}
@media only screen and (max-width: 1399px) {
  .p-pagetitle .p-heading__crayon--decoration {
    margin: -5rem auto -2.5rem;
  }
}
@media only screen and (max-width: 1199px) {
  .p-pagetitle .p-heading__crayon--decoration {
    margin: -4.5rem auto -2.25rem;
  }
}
@media only screen and (max-width: 991px) {
  .p-pagetitle .p-heading__crayon--decoration {
    margin: -3.5rem auto -1.75rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-pagetitle .p-heading__crayon--decoration {
    margin: -2.5rem auto -1.25rem;
  }
}
@media only screen and (max-width: 575px) {
  .p-pagetitle .p-heading__crayon--decoration {
    margin: -1.5rem auto -0.75rem;
  }
}
.p-pagetitle .p-heading__crayon--decoration img {
  width: auto;
  height: 9rem;
}
@media only screen and (max-width: 1399px) {
  .p-pagetitle .p-heading__crayon--decoration img {
    height: 7.5rem;
  }
}
@media only screen and (max-width: 1199px) {
  .p-pagetitle .p-heading__crayon--decoration img {
    height: 6.75rem;
  }
}
@media only screen and (max-width: 991px) {
  .p-pagetitle .p-heading__crayon--decoration img {
    height: 5.25rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-pagetitle .p-heading__crayon--decoration img {
    height: 3.75rem;
  }
}
@media only screen and (max-width: 575px) {
  .p-pagetitle .p-heading__crayon--decoration img {
    height: 2.25rem;
  }
}
.p-pagetitle .c-title {
  bottom: 3rem;
  font-family: var(--font-round);
}
@media only screen and (max-width: 1399px) {
  .p-pagetitle .c-title {
    bottom: 2.5rem;
  }
}
@media only screen and (max-width: 1199px) {
  .p-pagetitle .c-title {
    bottom: 2.25rem;
  }
}
@media only screen and (max-width: 991px) {
  .p-pagetitle .c-title {
    bottom: 1.75rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-pagetitle .c-title {
    bottom: 1.25rem;
  }
}
@media only screen and (max-width: 575px) {
  .p-pagetitle .c-title {
    bottom: 0.75rem;
  }
}

.p-title__index1 {
  padding-bottom: 6rem;
}
@media only screen and (max-width: 1399px) {
  .p-title__index1 {
    padding-bottom: 3rem;
  }
}
@media only screen and (max-width: 1199px) {
  .p-title__index1 {
    padding-bottom: 0;
  }
}

.p-sdgs__activity--cleaning, .p-sdgs__activity--recycle, .p-sdgs__activity--technology {
  height: 10rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-sdgs__activity--cleaning:before, .p-sdgs__activity--recycle:before, .p-sdgs__activity--technology:before {
  color: var(--deepcolor);
  font-size: 6em;
  font-family: "Font Awesome 5 Pro";
  font-weight: 900;
  opacity: 0.25;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-sdgs__activity--cleaning p, .p-sdgs__activity--recycle p, .p-sdgs__activity--technology p {
  position: relative;
  z-index: 1;
  font-weight: 600;
  font-family: var(--font-round);
  font-size: 1.25em;
}
.p-sdgs__activity--cleaning:before {
  content: "\f51a";
}
.p-sdgs__activity--recycle:before {
  content: "\f1b8";
}
.p-sdgs__activity--technology:before {
  content: "\f3b3";
}

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

span[data-action=call] {
  font-weight: 400;
}

.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);
  }
}/*# sourceMappingURL=base.css.map */