@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;700;900&family=Roboto+Condensed:wght@400;700;900&family=Noto+Sans+JP:wght@400;700;900&family=Oswald:wght@400;700&family=Shippori+Mincho+B1:wght@400;700;800&display=swap");
:root {
  --textcolor:#212121;
  --maincolor:#31859B;
  --palecolor:rgba(49,133,155,.75);
  --deepcolor:#31859B;
  --hovercolor:#1F636B;
  --accentcolor:#CF2020;
  --phone-color:#CF2020;
  --faxmili-color:#739642;
  --gradstart:#EB6100;
  --gradend:#FCB03B;
  --font-serif:"Shippori Mincho B1",serif;
  --clearance-padding:7rem;
  --devider-margin:7rem;
}

*, ::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;
}

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

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

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

.mx-auto {
  display: block;
}

.rounded {
  border-radius: 0.25rem;
}

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

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

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

.divider {
  width: 100% !important;
}

/* glid-gutter */
.gg-8 {
  margin: -4rem;
}
.gg-8 > [class*=col-] {
  padding: 4rem;
}
.gg-8 > .divider {
  margin-top: 8rem;
}
.gg-6 {
  margin: -3rem;
}
.gg-6 > [class*=col-] {
  padding: 3rem;
}
.gg-6 > .divider {
  margin-top: 6rem;
}
.gg-4 {
  margin: -2rem;
}
.gg-4 > [class*=col-] {
  padding: 2rem;
}
.gg-4 > .divider {
  margin-top: 4rem;
}
.gg-3 {
  margin: -1.5rem;
}
.gg-3 > [class*=col-] {
  padding: 1.5rem;
}
.gg-3 > .divider {
  margin-top: 3rem;
}
.gg-2 {
  margin: -1rem;
}
.gg-2 > [class*=col-] {
  padding: 1rem;
}
.gg-2 > .divider {
  margin-top: 2rem;
}
.gg-1 {
  margin: -0.5rem;
}
.gg-1 > [class*=col-] {
  padding: 0.5rem;
}
.gg-1 > .divider {
  margin-top: 1rem;
}
.gg-h {
  margin: -0.25rem;
}
.gg-h > [class*=col-] {
  padding: 0.25rem;
}
.gg-h > .divider {
  margin-top: 0.5rem;
}
.gg-q {
  margin: -0.125rem;
}
.gg-q > [class*=col-] {
  padding: 0.125rem;
}
.gg-q > .divider {
  margin-top: 0.25rem;
}

[class*=container] {
  width: 1140px;
  max-width: 1140px;
  position: relative;
  z-index: 9;
}

body, input, select, textarea {
  font-size: 1em;
  line-height: 2;
  font-family: "Roboto", "Noto Sans JP", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, sans-serif;
}

header, main, footer {
  min-width: 1200px;
  max-width: 2000px;
  margin: 0 auto;
  overflow: hidden;
}

body {
  min-width: 100%;
}

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

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

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

b, strong {
  font-weight: 700;
}

small {
  font-size: 0.75em;
}

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

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

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

.text-link:hover, .text-link:active, .text-link:focus {
  text-decoration: none;
}

.img-link:hover img {
  opacity: 0.75;
}

span[data-action=call] {
  display: inline-block;
  white-space: nowrap;
}

button {
  cursor: pointer;
}

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

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

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

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

/* phone,fax */
[class*=phone-] {
  line-height: 0.75;
  font-family: "Oswald", sans-serif;
  font-weight: 700;
}

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

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

[class*=phone-] img {
  margin-right: 0.33rem;
}

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

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

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

@media only screen and (max-width: 1199px) {
  .phone-md {
    font-size: 1.75em;
  }
}
@media only screen and (max-width: 991px) {
  .phone-md {
    font-size: 1.5em;
  }
}
@media only screen and (max-width: 767px) {
  .phone-md {
    font-size: 1.25em;
  }
}
.phone-sm {
  font-size: 1.125em;
}

/* table */
/* drawer */
.box-drawer {
  position: relative;
  word-wrap: break-word;
  background-color: #FFF;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.075);
}
.box-drawer dt {
  padding: 1px;
}
.box-drawer dt a, .box-drawer dt a:hover, .box-drawer dt a:active, .box-drawer dt a:focus, .box-drawer dt span {
  background-color: var(--maincolor);
  display: block;
  position: relative;
  overflow: hidden;
  font-size: 1.125rem;
  line-height: 1.25;
  padding: 1.5rem 6rem 1.5rem 1.5rem;
  color: #FFF;
  opacity: 1;
}
@media only screen and (max-width: 767px) {
  .box-drawer dt a, .box-drawer dt a:hover, .box-drawer dt a:active, .box-drawer dt a:focus, .box-drawer dt span {
    font-size: 1rem;
    padding: 1rem 4rem 1rem 1rem;
  }
}
.box-drawer dt a:after {
  font-family: "Font Awesome 5 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: 700;
  font-weight: 900;
}

.l-wrapper {
  overflow: hidden;
  position: relative;
  background: transparent;
}
.l-wrapper__header--moderate {
  padding-top: 6rem;
}

.l-header {
  background-color: rgba(255, 255, 255, 0.9);
  box-shadow: 0 0 0.75rem rgba(0, 0, 0, 0);
  line-height: 1;
  padding: 0 0 0 3rem;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 6rem;
  transition: top 0.3s;
}
.l-header.js-scroll {
  background-color: rgba(255, 255, 255, 0.9);
  box-shadow: 0 0 0.75rem rgba(0, 0, 0, 0.1);
}
.l-header__logo {
  font-size: 1rem;
}
.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;
}
.l-header__nav {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  height: 6rem;
  position: relative;
}
.l-header__nav--contact {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 1.5rem;
}
.l-header__nav--links {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.l-header__nav--call {
  font-size: 1.5rem;
  line-height: 0.75;
  font-weight: 700;
  white-space: nowrap;
}
.l-header__nav--call:before {
  font-size: 0.75rem;
}
.l-header__nav--call img {
  width: auto;
  height: 24px;
  margin-right: 0.33em;
}
.l-header__nav--call span[data-action=call] {
  color: #212121;
}
.l-header__nav--hour {
  font-size: 0.75rem;
  padding-right: 1rem;
}
.l-header__nav--post {
  margin-left: 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

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;
}
a.l-header__nav--mail:hover, a.l-header__nav--mail:active, a.l-header__nav--mail:focus {
  opacity: 0.75;
  color: #FFF;
}

a.l-header__nav--post-mail {
  background-color: var(--maincolor);
  color: #FFF;
  text-align: center;
  font-size: 1.125em;
  line-height: 1;
  margin: 0;
  padding: 1rem;
  width: 12rem;
  height: 6rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
a.l-header__nav--post-mail:hover, a.l-header__nav--post-mail:active, a.l-header__nav--post-mail:focus {
  opacity: 0.75;
  color: #FFF;
}
a.l-header__nav--post-mail:before {
  content: "\f0e0";
  font-family: "Font Awesome 5 Pro";
  font-weight: 900;
  margin-right: 0.33em;
  font-size: 1.125em;
  display: block;
}
a.l-header__nav--post-mail small {
  font-size: 0.5em;
  margin-top: 0.5em;
}

.l-outer {
  background: transparent;
  min-width: 1200px;
  max-width: 2000px;
  margin: 0 auto;
  overflow: hidden;
}

.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;
}
.l-outer__solid > .l-outer__side {
  flex: 1 1 16rem;
  max-width: 16rem;
  order: 2;
  position: relative;
}
.l-outer__solid > .l-outer__side + .l-outer__side {
  display: none;
}
.l-outer__solid > .l-outer__main {
  flex: 1 1 calc(100% - 20rem);
  max-width: calc(100% - 20rem);
  order: 1;
}
.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;
}

.l-section {
  position: relative;
}
.l-section__clearance {
  padding: var(--clearance-padding) 0;
}
.l-section__clearance--top {
  padding: var(--clearance-padding) 0 0;
}
.l-section__clearance--bottom {
  padding: 0 0 var(--clearance-padding);
}
.l-section__margin + .l-section__margin {
  margin-top: var(--clearance-padding);
}

.l-footer__contact {
  background-color: var(--textcolor);
  position: relative;
  padding: 6rem 0;
}
.l-footer__contact:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url(../images/cmn/bg-contact.jpg) center center/cover no-repeat;
  opacity: 0.5;
}
.l-footer__contact span[data-action=call] {
  color: var(--textcolor) !important;
}
.l-footer__information {
  background-color: var(--deepcolor);
  color: #FFF;
  line-height: 1.5;
  padding: 3rem 0;
  position: relative;
}
.l-footer p > span, .l-footer p > a {
  color: inherit !important;
}
.l-footer__info {
  display: flex;
  justify-content: space-between;
}
.l-footer__outline {
  display: flex;
  flex-flow: column wrap;
  justify-content: space-between;
}
.l-footer__logo {
  margin-bottom: 1.25rem;
}
.l-footer__logo img, .l-footer__logo svg {
  vertical-align: top;
  width: auto;
  height: auto;
}
.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: #FFF !important;
}
.l-footer__location a:hover, .l-footer__location a:active, .l-footer__location a:focus {
  opacity: 1;
}
.l-footer__location-name {
  width: 6em;
  text-align: right;
  white-space: nowrap;
}
.l-footer__location-name:before {
  content: "【";
}
.l-footer__location-name:after {
  content: "】";
}
.l-footer__location--pzip:before {
  content: "〒";
}
.l-footer__location--building {
  margin-left: 1em;
}
.l-footer__location--gmaps {
  margin-left: 1em;
}
.l-footer__location--gmaps img {
  vertical-align: baseline;
  margin-top: -1rem;
}
.l-footer__location--tel:before {
  content: "TEL. ";
}
.l-footer__location--fax:before {
  content: "FAX. ";
}
.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: 0 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;
}
.l-footer__textmap {
  color: #FFF;
  padding: 2.5rem 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:before {
  content: "-";
  color: #FFF;
  font-weight: normal;
  width: 1em;
  display: inline-block;
}
.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;
  text-transform: uppercase;
}
.l-footer__textmap--horizontal .l-footer__textmap--link {
  background: transparent;
  color: #FFF;
}
.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: #FFF;
  color: var(--deepcolor);
  border-radius: 2px;
}
.l-footer__textmap--horizontal.justify-content-start {
  margin-left: -0.5em;
}
.l-footer__textmap--horizontal.justify-content-end {
  margin-right: -0.5em;
}
.l-footer__textmap--vertical {
  flex-flow: column wrap;
}
.l-footer__textmap--vertical .l-footer__textmap--link, .l-footer__textmap--vertical .l-footer__textmap--link:hover, .l-footer__textmap--vertical .l-footer__textmap--link:active, .l-footer__textmap--vertical .l-footer__textmap--link:focus {
  line-height: 1.75;
}
.l-footer__textmap--vertical .l-footer__textmap--link:hover, .l-footer__textmap--vertical .l-footer__textmap--link:active, .l-footer__textmap--vertical .l-footer__textmap--link:focus {
  text-decoration: underline;
}
.l-footer__textmap--link, .l-footer__textmap--link:hover, .l-footer__textmap--link:active, .l-footer__textmap--link:focus {
  color: #212121;
  font-size: 1em;
  white-space: nowrap;
  opacity: 1;
}
.l-footer__textmap--link:before {
  content: "";
  color: var(--textcolor);
  font-size: 1em;
  line-height: 1;
  text-align: center;
  font-family: "Font Awesome 5 Pro";
  width: 1em;
  display: none;
}

.l-footer__copyright {
  display: block;
  font-size: 0.9em;
}

small.l-footer__copyright {
  line-height: 1;
  display: block;
  text-align: center;
  padding: 1em 0;
}

footer.l-footer__copyright {
  background-color: var(--deepcolor);
  color: #FFF;
  line-height: 1;
  text-align: center;
  border-top: 1px solid #FFF;
  padding: 1rem 0;
}

.c-o {
  display: none;
}

.navbar-toggler {
  background-color: var(--deepcolor);
  border: none;
  border-radius: 0;
  overflow: hidden;
  font-size: 1em;
  line-height: 1;
  margin: 0;
  padding: 0;
  width: 6rem;
  height: 6rem;
  position: fixed;
  top: 0;
  right: 50%;
  margin-right: -1000px;
  z-index: 9998;
  display: flex;
  flex-flow: column wrap;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 1999px) {
  .navbar-toggler {
    right: 0;
    margin-right: 0;
  }
}
.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;
}
.navbar-toggler-icon:before, .navbar-toggler-icon:after {
  width: 32px;
  display: block;
  width: 2rem;
  height: 4px;
  content: "";
  position: absolute;
  left: 0;
  right: 0;
}
.navbar-toggler[aria-expanded=false] .navbar-toggler-icon {
  transition: 0.6s;
  background-color: #FFF;
}
.navbar-toggler[aria-expanded=false] .navbar-toggler-icon:before, .navbar-toggler[aria-expanded=false] .navbar-toggler-icon:after {
  transition: 0.6s;
  background-color: #FFF;
}
.navbar-toggler[aria-expanded=false] .navbar-toggler-icon:before {
  transform: rotate(0deg);
  top: -10px;
}
.navbar-toggler[aria-expanded=false] .navbar-toggler-icon:after {
  transform: rotate(0deg);
  bottom: -10px;
}
.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: #FFF;
}
.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;
}
.navbar-toggler[aria-expanded=false] small {
  color: #FFF;
}
.navbar-toggler[aria-expanded=true] small {
  color: #FFF;
}

.navbar {
  display: block;
  padding: 0;
}
.navbar .navbar-collapse {
  border: none;
  margin-top: 0;
  padding: 0;
  width: 20rem;
  position: fixed;
  top: 6rem;
  right: 50%;
  margin-right: -1000px;
  z-index: 999;
}
@media screen and (max-width: 1999px) {
  .navbar .navbar-collapse {
    right: 0;
    margin-right: 0;
  }
}
.navbar > .container {
  padding: 0;
}

#navbar .container-fluid {
  background: transparent;
  padding: 0;
}
#navbar .container-fluid.container {
  padding: 0;
  position: static;
}

.navbar-nav {
  padding: 0;
  display: block;
}
.navbar-nav .nav-item {
  border-bottom: 1px solid #FFF;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  display: block;
  flex: 1 1 100%;
  max-width: 100%;
  height: auto;
}
.navbar-nav .nav-item .nav-link {
  background-color: var(--deepcolor);
  color: #FFF;
  border: none;
  font-size: 1.25em;
  line-height: 1.5;
  white-space: nowrap;
  text-transform: uppercase;
  font-weight: 700;
  padding: 0.5em 1.5em;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
.navbar-nav .nav-item .nav-link:hover, .navbar-nav .nav-item .nav-link:active, .navbar-nav .nav-item .nav-link:focus {
  background-color: var(--hovercolor);
  color: #FFF;
  opacity: 1;
}
.navbar-nav .nav-item .nav-link small {
  font-size: 0.8em;
  line-height: 1em;
  display: block;
}
.navbar-nav .nav-item .nav-link small:before, .navbar-nav .nav-item .nav-link small:after {
  content: "-";
}
.navbar-nav .nav-item .nav-link small:before {
  margin-right: 0.25em;
}
.navbar-nav .nav-item .nav-link small:after {
  margin-left: 0.25em;
}
.navbar-nav .nav-item.active > .nav-link,
.navbar-nav .nav-item.active > .nav-link:hover,
.navbar-nav .nav-item.active > .nav-link:active,
.navbar-nav .nav-item.active > .nav-link:focus {
  background-color: var(--hovercolor);
  color: #FFF;
  opacity: 1;
}

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

.dropdown-menu {
  background: #FFF;
  border-radius: 0;
  margin: 0;
  padding: 0.25rem 0;
  min-width: 100%;
}
.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.25rem 1rem;
}
.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);
}

/* mainvisual */
.l-mainimage {
  position: relative;
}

.js-mainimage__cover {
  position: relative;
  overflow: hidden;
  display: block;
  height: 1076px;
  background: #000;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  display: flex;
}
.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.9;
}

.l-mainimage__text {
  color: #FFF;
  white-space: nowrap;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9;
}

.l-mainimage__text--copy {
  background-color: rgba(0, 0, 0, 0);
  padding: 0;
  white-space: nowrap;
  padding: 0 3rem;
}
.l-mainimage__text--copy h2 {
  font-size: 4.5em;
  line-height: 1.25;
  font-weight: 700;
}
.l-mainimage__text--copy h2 span {
  display: block;
}
.l-mainimage__text--copy h2 span:first-letter {
  color: var(--textcolor);
  display: inline-block;
}
.l-mainimage__text--copy p {
  font-size: 1.5em;
  line-height: 1;
  margin-top: 1em;
  font-weight: 700;
  background-color: var(--maincolor);
  color: #FFF;
  padding: 1rem;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
}
.l-mainimage__text--copy p small {
  font-size: 0.75em;
  display: block;
  margin-top: 1em;
}

.scroll {
  position: absolute;
  right: 2rem;
  bottom: 2rem;
  z-index: 99;
  font-family: "lato", sans-serif;
  font-weight: 700;
}
.scroll img {
  width: auto;
  height: auto;
}
.scroll a {
  transform: translate(0, 0);
  display: block;
}
.scroll a:hover {
  transform: translate(0, 1rem);
}

.c-pagetitle {
  position: relative;
  background: #EFEFEF;
}
.c-pagetitle__image {
  background-color: #EFEFEF;
  overflow: hidden;
  height: 20rem;
  display: block;
  position: relative;
}
.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: 4.5em;
  line-height: 0.75;
  text-align: center;
  font-family: var(--font-serif);
  text-transform: uppercase;
  font-weight: 700;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  width: auto;
  height: auto;
  display: flex;
  flex-flow: column wrap;
  justify-content: center;
  align-items: center;
}
.c-pagetitle .c-title small {
  font-size: 0.33em;
  line-height: 1;
  font-weight: 800;
  text-align: center;
  margin-top: 1em;
  display: block;
}
.c-pagetitle__fixed .c-pagetitle__image {
  height: 24rem;
}
.c-pagetitle__fixed .c-title {
  top: 6rem;
}

.c-subtitle {
  background: #FFF;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  height: 20rem;
  margin: 4rem 0;
}
.c-subtitle__image {
  background-color: #F5F5F5;
  overflow: hidden;
  display: block;
  position: absolute;
  top: 0;
  left: 4rem;
  right: 4rem;
  bottom: 4rem;
}
.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;
}
.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;
}

.c-newspaper__scroll {
  overflow-x: hidden;
  overflow-y: scroll;
  height: 15rem;
  padding-right: 1.5rem;
}
.c-newspaper__article {
  display: table;
  padding: 1em 0;
  width: 100%;
  border-bottom: 1px solid rgba(255, 255, 255, 0.25);
  align-items: center;
}
.c-newspaper__date, .c-newspaper__comment, .c-newspaper__detail {
  display: table-cell;
  vertical-align: top;
}
.c-newspaper__date {
  font-weight: 700;
  width: 10em;
  padding-right: 1em;
  line-height: 1.75;
  font-family: var(--font-serif);
}
.c-newspaper__date .date {
  display: flex;
  align-items: center;
}
.c-newspaper__date .date .new {
  background: transparent;
  color: var(--accentcolor);
  font-size: 0.75em;
  line-height: 1;
  padding: 0 0.25em;
  width: auto;
  height: 1em;
  display: flex;
  align-items: center;
  margin-left: 1em;
}
.c-newspaper__icon {
  font-size: 0.75em;
  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;
}
.c-newspaper__comment {
  line-height: 1.75;
  padding-left: 1em;
  display: table;
  width: 100%;
}
.c-newspaper__image, .c-newspaper__text {
  display: table-cell;
  vertical-align: top;
}
.c-newspaper__image {
  padding-right: 1em;
  width: 11em;
}
.c-newspaper__detail {
  width: 10em;
  padding: 0.25em 1.5em;
}

.nav-pills .nav-item {
  margin-right: 0.25rem;
  margin-bottom: 0.25rem;
}
.nav-pills .nav-item .nav-link {
  color: #666;
  border-radius: 0;
  font-size: 1rem;
  line-height: 1;
  padding: 1rem;
  width: 1.5rem;
  font-weight: 700;
}
.nav-pills .nav-item .nav-link small {
  border-top: 1px solid #999;
  border-radius: 0;
  font-size: 0.75em;
  line-height: 0.75;
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  display: block;
}
.nav-pills .nav-item .nav-link.active small {
  border-color: #FFF;
}

.tab-content {
  padding-top: 2rem;
}

/* .lead */
.lead-xs, .lead-sm, .lead-md, .lead-lg, .lead-xl {
  line-height: 1.75;
  font-weight: 700;
  margin: 1em 0 0.5em;
}
.lead-xs {
  font-size: 1em;
}
.lead-sm {
  font-size: 1.125em;
}
.lead-md {
  font-size: 1.25em;
}
.lead-lg {
  font-size: 1.5em;
}
.lead-xl {
  font-size: 1.75em;
}

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

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

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

.alert {
  margin: 1rem 0;
  padding: 1rem;
}
.alert-sm {
  margin: 1.5rem 0;
  padding: 1.5rem;
}
.alert-md {
  margin: 2rem 0;
  padding: 2rem;
}
.alert-lg {
  margin: 3rem 0;
  padding: 3rem;
}
.alert-xl {
  margin: 4rem 0;
  padding: 4rem;
}

.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;
}
.well-md {
  margin: 2rem 0;
  padding: 2rem;
}
.well-lg {
  margin: 3rem 0;
  padding: 3rem;
}
.well-xl {
  margin: 4rem 0;
  padding: 4rem;
}

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

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

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

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

/* paging */
.paging {
  margin-top: 4rem;
  display: flex;
  justify-content: center;
}
.paging .paging-text, .paging .current {
  border: 1px solid #DDD;
  font-size: 1.125rem;
  font-weight: 700;
  text-decoration: none;
  margin: 0 0.125rem;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 3rem;
  height: 3rem;
}
.paging .paging-text {
  background-color: #FFF;
  color: #999;
  cursor: pointer;
}
.paging .paging-text:hover {
  background-color: #FFF;
  color: var(--maincolor);
  border-color: var(--maincolor);
  opacity: 1;
}
.paging .paging .current {
  background-color: var(--maincolor);
  color: #FFF;
  border-color: var(--maincolor);
}

/* category-nav responsive-accordion */
.c-category__title {
  background-color: var(--maincolor);
  color: #FFF;
  font-size: 1rem;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
  font-weight: 700;
  margin-bottom: 1px;
  padding: 1rem;
  pointer-events: none;
}
.c-category__title .fa {
  display: none;
}
.c-category__title + input[type=checkbox] {
  display: none;
}

.l-outer__main .c-category__title {
  display: none;
}

.l-outer__side .c-category__title {
  display: block;
}

.c-category__list {
  list-style: none;
  display: flex;
  flex-flow: row wrap;
}
.c-category__list li {
  display: flex;
}
.c-category__list li a {
  width: 100%;
}
.main-column .c-category__list {
  margin: -0.5px;
}
.main-column .c-category__list li {
  border-bottom: none;
  padding: 0.5px;
}
.main-column .c-category__list li a {
  display: flex;
  justify-content: center;
  align-items: center;
}

.side-column .c-category__list {
  display: block;
}
.side-column .c-category__list li {
  border-bottom: 1px solid #DDD;
}

.c-category__column1 li {
  flex: 1 1 100%;
  max-width: 100%;
}

.c-category__column2 li {
  flex: 1 1 50%;
  max-width: 50%;
}

.c-category__column3 li {
  flex: 1 1 33.3333333333%;
  max-width: 33.3333333333%;
}

.c-category__column4 li {
  flex: 1 1 25%;
  max-width: 25%;
}

.c-category__column5 li {
  flex: 1 1 20%;
  max-width: 20%;
}

.c-category__column6 li {
  flex: 1 1 16.6666666666%;
  max-width: 16.6666666666%;
}

.cat-link a, .cat-link a:hover, .cat-link a:active, .cat-link a:focus {
  background: #000;
  color: #FFF;
  font-size: 1em;
  line-height: 1.5;
  margin: 0;
  padding: 1em;
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.cat-link.active a, .cat-link.active a:hover, .cat-link.active a:active, .cat-link.active a:focus {
  opacity: 1;
}

.c-category__item a, .c-category__item a:hover, .c-category__item a:active, .c-category__item a:focus {
  background: #FFF;
  color: #212121;
  border: none;
  border-bottom: 1px solid #999;
  line-height: 1.5;
  font-weight: 700;
  margin: 0;
  padding: 15px;
  display: flex;
  justify-content: space-between;
  width: 100%;
  opacity: 1;
}
.c-category__item a:hover, .c-category__item a:active, .c-category__item a:focus {
  background: #EFEFEF;
  color: #000;
  opacity: 1;
}
.c-category__item.active a, .c-category__item.active a:hover, .c-category__item.active a:active, .c-category__item.active a:focus {
  background: #999;
  color: #FFF;
  opacity: 1;
}

.category-collapse {
  background: var(--maincolor);
  color: #FFF;
  border: none;
  border-bottom: 1px solid #DDD;
  font-size: 16px;
  line-height: 1.5;
  font-weight: normal;
  margin: 0;
  padding: 15px;
  display: flex;
  justify-content: space-between;
  width: 100%;
  cursor: pointer;
}
.category-collapse:after {
  font-family: "Font Awesome 5 Pro";
  font-weight: normal;
}

button[aria-expanded=false].category-collapse:after {
  content: "\f067";
}

button[aria-expanded=true].category-collapse:after {
  content: "\f068";
}

.category-list {
  border: 2px solid #212121;
  background: #FFF;
}

.category-list h3 a {
  display: block;
  font-size: 16px;
  line-height: 1.25;
  padding: 13px;
  position: relative;
}

.category-list-icon {
  width: 16px;
  height: 16px;
  position: absolute;
  top: 50%;
  right: 13px;
  bottom: 50%;
  margin: -8px 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.category-list-icon .hr, .category-list-icon .vt {
  background-color: #212121;
  display: block;
  position: absolute;
}

.category-list-icon .hr {
  width: 16px;
  height: 2px;
}

.category-list-icon .vt {
  width: 2px;
  height: 16px;
}

.category-list h3 a[aria-expanded=false] .category-list-icon .vt {
  -webkit-animation-name: collapseClose;
          animation-name: collapseClose;
  -webkit-animation-duration: 0.3s;
          animation-duration: 0.3s;
  -webkit-animation-timing-function: ease-out;
          animation-timing-function: ease-out;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

.category-list h3 a[aria-expanded=true] .category-list-icon .vt {
  -webkit-animation-name: collapseOpen;
          animation-name: collapseOpen;
  -webkit-animation-duration: 0.3s;
          animation-duration: 0.3s;
  -webkit-animation-timing-function: ease-out;
          animation-timing-function: ease-out;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

.category-list ul {
  list-style: none;
}

.category-list li {
  border-top: 1px solid #212121;
}

.category-list li a {
  display: block;
  font-size: 16px;
  padding: 13px;
  line-height: 1.25;
}

.category-list li a:hover {
  background: #EFEFEF;
}

.c-signature {
  font-size: 1.5em;
  font-family: "Yuji Syuku", serif;
}

.c-hero__link {
  position: relative;
  display: block;
  overflow: hidden;
}
.c-hero__link--image {
  background: #EFEFEF;
  overflow: hidden;
}
.c-hero__link--image img {
  transform: scale(1);
  width: 100%;
  height: auto;
  transition: transform 0.3s;
}
.c-hero__link--title {
  background-color: rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 1em;
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-hero__link--title:before, .c-hero__link--title:after {
  content: "";
  width: 5rem;
  height: 5rem;
  position: absolute;
}
.c-hero__link--title:before {
  top: 0;
  right: 0;
  border-top: 1px solid #FFF;
  border-right: 1px solid #FFF;
  transform: translate(-1rem, 1rem);
  transition: transform 0.3s;
}
.c-hero__link--title:after {
  left: 0;
  bottom: 0;
  border-left: 1px solid #FFF;
  border-bottom: 1px solid #FFF;
  transform: translate(1rem, -1rem);
  transition: transform 0.3s;
}
.c-hero__link--title h4 {
  color: #FFF;
  font-size: 1.25em;
  line-height: 1.1;
  text-align: center;
  font-weight: 700;
  font-family: var(--font-serif);
}
.c-hero__link:hover .c-hero__link--image img, .c-hero__link:active .c-hero__link--image img, .c-hero__link:focus .c-hero__link--image img {
  transform: scale(1.1);
  transition: transform 0.6s;
}
.c-hero__link:hover .c-hero__link--title:before, .c-hero__link:hover .c-hero__link--title:after, .c-hero__link:active .c-hero__link--title:before, .c-hero__link:active .c-hero__link--title:after, .c-hero__link:focus .c-hero__link--title:before, .c-hero__link:focus .c-hero__link--title:after {
  content: "";
  transition: opacity 0.6s;
}
.c-hero__link:hover .c-hero__link--title:before, .c-hero__link:active .c-hero__link--title:before, .c-hero__link:focus .c-hero__link--title:before {
  transform: translate(1px, -1px);
  transition: transform 0.6s;
}
.c-hero__link:hover .c-hero__link--title:after, .c-hero__link:active .c-hero__link--title:after, .c-hero__link:focus .c-hero__link--title:after {
  transform: translate(-1px, 1px);
  transition: transform 0.6s;
}

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

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

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

.multiline {
  line-height: 1.5;
}

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

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

[class*=container] > h3[class*=c-title__] {
  margin-bottom: calc(var(--clearance-padding) * 0.75);
}

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

.c-title__devider {
  padding-bottom: 1em;
}
.c-title__devider:after {
  border-bottom: 0.25rem solid var(--deepcolor);
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 2em;
}
.c-title__devider.text-center:after {
  left: 50%;
  right: 50%;
  margin: 0 -1em;
}
.c-title__devider.text-right:after {
  left: auto;
  right: 0;
}
.c-title__index1 {
  color: var(--deepcolor);
  font-size: 3em;
  line-height: 1;
  font-family: var(--font-serif);
  text-transform: uppercase;
  font-weight: 800;
  margin-bottom: 2rem;
  padding: 0 1rem 0 0;
  display: inline-block;
  position: relative;
}
.c-title__index1:before {
  content: "";
  position: absolute;
  top: 1rem;
  left: -1.75rem;
  bottom: -3rem;
  border-left: 1px solid var(--textcolor);
  display: block;
  width: 1px;
}
.c-title__index1 small {
  color: var(--textcolor);
  border-top: 1px solid var(--textcolor);
  font-size: 0.4166666666em;
  font-weight: 600;
  margin: 0.5rem -2rem 0 -3rem;
  padding: 0.75rem 0 0 3rem;
}
.c-title__index1--white {
  color: #FFF;
  font-size: 3em;
  line-height: 1;
  font-family: var(--font-serif);
  text-transform: uppercase;
  font-weight: 800;
  margin-bottom: 2rem;
  padding: 0 1rem 0 0;
  display: inline-block;
  position: relative;
}
.c-title__index1--white:before {
  content: "";
  position: absolute;
  top: 1rem;
  left: -1.75rem;
  bottom: -3rem;
  border-left: 1px solid #FFF;
  display: block;
  width: 1px;
}
.c-title__index1--white small {
  color: #FFF;
  border-top: 1px solid #FFF;
  font-size: 0.4166666666em;
  font-weight: 600;
  margin: 0.5rem -2rem 0 -3rem;
  padding: 0.75rem 0 0 3rem;
}
.c-title__index1a {
  color: var(--deepcolor);
  font-size: 3em;
  line-height: 0.75;
  white-space: nowrap;
  font-family: var(--font-serif);
  text-transform: uppercase;
  font-weight: 800;
  margin-bottom: var(--devider-margin);
  padding: 0 6rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.c-title__index1a:before, .c-title__index1a:after {
  content: "";
  width: 50%;
  height: 1px;
  background-color: var(--palecolor);
  display: block;
}
.c-title__index1a:before {
  margin-right: 4rem;
}
.c-title__index1a:after {
  margin-left: 4rem;
}
.c-title__index1b {
  color: var(--deepcolor);
  font-size: 3em;
  line-height: 0.75;
  white-space: nowrap;
  font-family: var(--font-serif);
  text-transform: uppercase;
  font-weight: 800;
  margin-bottom: 4rem;
}
.c-title__page1 {
  color: var(--deepcolor);
  font-size: 3em;
  line-height: 1;
  font-family: var(--font-serif);
  text-transform: uppercase;
  font-weight: 800;
  margin-bottom: 2rem;
  padding: 0 1rem 0 0;
  display: inline-block;
  position: relative;
}
.c-title__page1:before {
  content: "";
  position: absolute;
  top: 1rem;
  left: -1.75rem;
  bottom: -3rem;
  border-left: 1px solid var(--textcolor);
  display: block;
  width: 1px;
}
.c-title__page1 small {
  color: var(--textcolor);
  border-top: 1px solid var(--textcolor);
  font-size: 0.4166666666em;
  font-weight: 600;
  margin: 0.5rem -2rem 0 -3rem;
  padding: 0.75rem 0 0 3rem;
}
.c-title__page1a {
  color: #FFF;
  font-size: 2em;
  line-height: 1;
  font-weight: 700;
  margin-bottom: 1.5em;
  padding: 1.25em 1em 1em;
  position: relative;
}
.c-title__page1a strong {
  color: rgba(255, 255, 255, 0.1);
  text-align: center;
  font-size: 3.5em;
  line-height: 0.75;
  text-transform: uppercase;
  font-weight: 600;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.c-title__page1a span {
  position: relative;
  z-index: 1;
}
.c-title__page1a small {
  font-size: 0.4em;
  font-weight: 600;
  margin-top: 1em;
}
.c-title__page1b {
  font-size: 2em;
  line-height: 1;
  font-weight: 700;
  margin-bottom: 1.5em;
  padding: 0 0 1em;
  position: relative;
}
.c-title__page1c {
  color: #FFF;
  font-size: 2em;
  line-height: 1;
  font-weight: 700;
  margin-bottom: 1.5em;
  padding: 0 0 1em;
  position: relative;
}
.c-title__page2 {
  font-size: 1.5em;
  margin: 2em 0 1em;
  font-weight: 700;
}
.c-title__page2a {
  font-size: 1.75em;
  margin-bottom: 1em;
}
.c-title__page2a em {
  border-top: 1px solid #666;
  background-color: rgba(0, 0, 0, 0.033);
  font-size: 0.66em;
  line-height: 1;
  letter-spacing: 0;
  text-indent: 0;
  font-weight: 600;
  margin-top: 1em;
  padding: 0.5em 0.75em 0.75em;
  display: block;
  text-align: right;
}
.c-title__page2b {
  font-size: 2.75rem;
  line-height: 0.75;
  border-bottom: 1px solid #666;
  font-family: "Shippori Minocho B1", serif;
  margin-bottom: 0.66em;
  padding-bottom: 0.66em;
}
.c-title__page2b small {
  font-size: 0.4em;
  margin-top: 1em;
}
.c-title__page3 {
  font-size: 1.125rem;
  margin: 1.5em 0 0.75em;
}
.c-title__page3.footline {
  border-bottom: 1px dotted #999;
  padding-bottom: 0.66em;
  margin-bottom: 0.66em;
}
.c-title__page3 small {
  font-size: 0.9rem;
}
.c-title__page4 {
  font-size: 0.9rem;
  margin: 1.5em 0 1em;
  font-weight: 700;
}
.c-title__headline {
  border-top: 0.25rem solid var(--maincolor);
  padding-top: 1.25rem;
}
.c-title__footline {
  border-bottom: 0.25rem solid var(--maincolor);
  padding-bottom: 1.25rem;
}
.c-title__leftline {
  padding-left: 0.66em;
  border-left: 0.25em solid var(--maincolor);
}

.c-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, .c-button__dummy {
  background-color: transparent;
  color: #212121;
  border: 1px solid transparent;
  white-space: normal;
  text-decoration: none;
  font-size: 1em;
  line-height: 1.5;
  text-transform: uppercase;
  font-weight: 700;
  padding: 1em 1.5em;
  width: 100%;
  display: flex;
  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__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, .c-button__dummy small {
  display: block;
  font-weight: 700;
}
.c-button__link:hover, .c-button__link:active, .c-button__link:focus, .c-button__file:hover, .c-button__file:active, .c-button__file:focus {
  opacity: 0.75;
}
.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: flex-start;
}
+ .c-button__link, + .c-button__file {
  margin-top: 0.25rem;
}
.c-button__dummy {
  justify-content: center;
}
.c-button__size--xl, .c-button__size--xl:hover, .c-button__size--xl:active, .c-button__size--xl:focus {
  font-size: 2em;
}
.c-button__size--lg, .c-button__size--lg:hover, .c-button__size--lg:active, .c-button__size--lg:focus {
  font-size: 1.25em;
}
.c-button__size--sm, .c-button__size--sm:hover, .c-button__size--sm:active, .c-button__size--sm:focus {
  font-size: 0.75em;
}
.c-button__size--xs, .c-button__size--xs:hover, .c-button__size--xs:active, .c-button__size--xs:focus {
  font-size: 0.66em;
}
.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(--deepcolor);
  border-color: var(--deepcolor);
}
.c-button__texture--solid:hover, .c-button__texture--solid:active, .c-button__texture--solid:focus {
  background-color: var(--deepcolor);
  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: #FFF;
  border-color: var(--textcolor);
}
.c-button__texture--outline:hover, .c-button__texture--outline:active, .c-button__texture--outline:focus {
  background-color: transparent;
  color: #FFF;
  opacity: 1;
}
.c-button__texture--line, .c-button__texture--line:hover, .c-button__texture--line:active, .c-button__texture--line:focus {
  background-color: transparent;
  color: var(--accentcolor);
  border-bottom: 1px solid var(--accentcolor);
}
.c-button__texture--line:hover, .c-button__texture--line:active, .c-button__texture--line:focus {
  background-color: transparent;
  color: var(--accentcolor);
  opacity: 1;
}
.c-button__texture--disabled {
  background-color: transparent;
  color: var(--deepcolor);
  border-color: var(--deepcolor);
}
.c-button__short--dropshadow {
  width: 14rem;
  position: relative;
  font-family: var(--font-serif);
}
.c-button__short--dropshadow:hover, .c-button__short--dropshadow:active, .c-button__short--dropshadow:focus {
  width: 14rem;
}
.c-button__short--dropshadow:before {
  content: "";
  background-color: var(--maincolor);
  border: 1px solid var(--maincolor);
  position: absolute;
  top: 4px;
  left: 4px;
  right: -5px;
  bottom: -5px;
  display: block;
  z-index: -1;
}
.c-button__short--dropshadow:hover:before, .c-button__short--dropshadow:active:before, .c-button__short--dropshadow:focus:before {
  background-color: var(--palecolor);
  border: 1px solid var(--palecolor);
}
.c-button__long--dropshadow {
  width: 100%;
  position: relative;
  font-family: var(--font-serif);
}
.c-button__long--dropshadow:hover, .c-button__long--dropshadow:active, .c-button__long--dropshadow:focus {
  width: 100%;
}
.c-button__long--dropshadow:before {
  content: "";
  background-color: var(--maincolor);
  border: 1px solid var(--maincolor);
  position: absolute;
  top: 4px;
  left: 4px;
  right: -5px;
  bottom: -5px;
  display: block;
  z-index: -1;
}
.c-button__long--dropshadow:hover:before, .c-button__long--dropshadow:active:before, .c-button__long--dropshadow:focus:before {
  background-color: var(--palecolor);
  border: 1px solid var(--palecolor);
}
.c-button--start {
  display: flex;
  justify-content: flex-start;
}
.c-button--center {
  display: flex;
  justify-content: center;
}
.c-button--end {
  display: flex;
  justify-content: flex-end;
}

.c-box--xs, .c-box--sm, .c-box--md, .c-box--lg, .c-box--xl {
  background-color: #FFF;
  display: block;
  width: 100%;
  position: relative;
}
.c-box__line {
  border: 1px solid #DDD;
  padding: 1px;
}
.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 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;
}
.c-box--xs .c-box__header {
  padding: 0.5rem 1rem;
  font-size: 1em;
}
.c-box--sm .c-box__header {
  padding: 1rem 1.5rem;
  font-size: 1.125em;
}
.c-box--md .c-box__header {
  padding: 1.5rem 2rem;
  font-size: 1.25em;
}
.c-box--lg .c-box__header {
  padding: 2rem 3rem;
  font-size: 1.25em;
}
.c-box--xl .c-box__header {
  padding: 3rem 4rem;
  font-size: 1.25em;
}
.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;
}
.c-box--md .c-box__image--inset {
  padding: 4rem;
}
.c-box--lg .c-box__image--inset {
  padding: 6rem;
}
.c-box--xl .c-box__image--inset {
  padding: 8rem;
}
.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;
}
.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;
}
.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;
}
.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;
}
.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;
}
.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-poster__top, .c-poster__left, .c-poster__right, .c-poster__bottom, .c-poster__top--bottom, .c-poster__ful {
  position: absolute;
  z-index: 1;
}
.c-poster__top .u-bg__cover, .c-poster__left .u-bg__cover, .c-poster__right .u-bg__cover, .c-poster__bottom .u-bg__cover, .c-poster__top--bottom .u-bg__cover, .c-poster__ful .u-bg__cover {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.c-poster__top--bottom {
  top: 0;
  bottom: 0;
}
.c-poster__top {
  top: 0;
  bottom: calc(var(--clearance-padding) * 2);
}
.c-poster__left {
  left: 0;
}
.c-poster__right {
  right: 0;
}
.c-poster__bottom {
  top: calc(var(--clearance-padding) * 2);
  bottom: 0;
}
.c-poster__ful {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
}

.c-poster__tracing-paper {
  padding: 5rem;
  background: rgba(255, 255, 255, 0.75);
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.1);
}

.c-poster__floating-paper {
  padding: 6rem;
  background: white;
}

/* 
.bg-float-left + .w-sl .floating-paper{padding-right: 0;}
.bg-float-right + .w-sl .floating-paper{padding-left: 0;}

.l-section__clearance--top{
	.c-poster__floating-paper{padding-bottom: 0;
	}
}

.l-section__clearance--bottom{
	.c-poster__floating-paper{padding-top: 0;
	}
} */
table {
  border-spacing: 0;
  border-collapse: separate;
  width: 100%;
}

th, td {
  line-height: 1.75;
  padding: 1rem;
}

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 th {
  width: 13em;
}
.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.1);
}
.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 + .c-table {
  margin-top: 2rem;
}
.c-table__vertical th, .c-table__vertical td {
  white-space: nowrap;
}

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

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

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

.line-frame {
  border: 1px solid #DDD;
  padding: 1px;
  background-color: #FFF;
}
.line-frame > img, .line-frame a > img {
  width: 100%;
  height: auto;
}

.mirror-frame {
  position: relative;
}
.mirror-frame:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border: 10px solid rgba(255, 255, 255, 0.5);
}
.mirror-frame img {
  width: 100%;
  height: auto;
}

.img-overlap {
  display: inline-block;
  position: relative;
}
.img-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;
}
.img-overlap:before, .img-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%;
}
.img-overlap:before {
  transform: rotate(4deg);
  z-index: 2;
}
.img-overlap:after {
  transform: rotate(2deg);
  z-index: 1;
}
.img-overlap-long {
  display: inline-block;
  position: relative;
}
.img-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;
}
.img-overlap-long:before, .img-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%;
}
.img-overlap-long:before {
  transform: rotate(2deg);
  z-index: 2;
}
.img-overlap-long:after {
  transform: rotate(1deg);
  z-index: 1;
}
.img-overlap-wrap {
  margin: 2rem 0;
}

.img-polaroid {
  background-color: #FFF;
  box-shadow: 0 0 0.5em rgba(0, 0, 0, 0.1);
  width: 100%;
  padding: 1.5rem;
}
.img-polaroid p {
  text-align: center;
  line-height: 1.125;
  font-size: 0.9rem;
  padding: 0.25rem 0;
}
.img-polaroid img {
  width: 100%;
  height: auto;
}
.img-polaroid-rd {
  background-color: #FFF;
  box-shadow: 0 0 0.5em rgba(0, 0, 0, 0.1);
  width: 100%;
  padding: 1rem;
  border-radius: 2rem;
}
.img-polaroid-rd img {
  width: 100%;
  height: auto;
  position: relative;
  display: inline-block;
  border-radius: 22px;
}

.with-pin {
  position: relative;
}
.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;
}
.with-tape {
  position: relative;
}
.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;
}

.c-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;
}
.c-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;
}
.c-note__line strong {
  display: block;
  color: var(--deepcolor);
}

.fb-hz {
  display: flex;
}
.fb-hz .flow {
  padding: 1rem;
  position: relative;
  width: 100%;
  text-align: center;
  background-color: #FFF;
  border: 1px solid var(--maincolor);
}
.fb-hz .flow-step {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 4rem;
  line-height: 0.75;
}
.fb-hz .flow-step:before {
  content: "STEP";
  display: block;
  margin-bottom: 0.5em;
  font-size: 1em;
}
.fb-hz .flow a {
  text-decoration: underline;
}
.fb-hz .flow small {
  display: block;
  font-size: 16px;
}
.fb-hz .flow:after {
  content: "";
  border-style: solid;
  position: absolute;
  top: 50%;
  left: 100%;
  bottom: 50%;
  margin: -1.5rem 0;
  border-width: 1.5rem;
  border-color: transparent transparent transparent var(--maincolor);
  z-index: 2;
}
.fb-hz .flow:last-child:before, .fb-hz .flow:last-child:after {
  display: none;
}
.fb-hz .flow h4 {
  color: var(--maincolor);
  font-weight: 700;
  font-size: 1.125em;
  margin: 0 0 0.5em;
}
.fb-hz .flow p {
  font-size: 0.9rem;
  line-height: 1.75;
}
+ .fb-hz .flow {
  margin: 0 0 0 2rem;
}
.fb-hz .flow hr {
  margin: 14px 0;
}
.fb-hz .flow-inner {
  padding: 5rem 0;
}
.fb-hz .fb-ico {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0.5em auto;
  width: 4rem;
  height: 4rem;
  font-size: 2rem;
  line-height: 1;
  background: #FFF;
  color: var(--maincolor);
  border-radius: 50%;
  border: 0.125rem solid var(--maincolor);
  text-align: center;
}

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

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

.fb-vt .flow {
  position: relative;
  z-index: 0;
  z-index: 1;
  background: #FFF;
  display: table;
  width: 100%;
  padding: 1.5rem;
  border: 1px solid var(--maincolor);
  border-top: none;
}
.fb-vt .flow:before, .fb-vt .flow:after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-width: 1.75rem 1.75rem 0 1.75rem;
  border-style: solid;
  left: 2.75rem;
}
.fb-vt .flow:before {
  border-color: var(--maincolor) transparent transparent;
  z-index: 7;
  top: 0;
}
.fb-vt .flow:after {
  border-color: #FFF transparent transparent;
  z-index: 8;
  top: -1px;
}
.fb-vt .flow:first-child {
  border-top: 1px solid var(--maincolor);
}
.fb-vt .flow:first-child:before, .fb-vt .flow:first-child:after {
  display: none;
}

.fb-no, .fb-notes {
  display: table-cell;
}

.fb-no {
  width: 6rem;
  vertical-align: top;
}
.fb-no span {
  border: none;
  padding: 0;
  color: var(--maincolor);
  background: #FFF;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 3rem;
  vertical-align: middle;
  font-weight: 700;
  width: 6rem;
  height: 6rem;
  font-size: 3rem;
  line-height: 1;
  border: 1px dashed var(--maincolor);
}
.fb-no small {
  display: block;
  font-weight: 700;
  font-size: 15px;
  line-height: 18px;
}

.fb-notes {
  padding: 0.75em 0;
  padding-left: 2em;
  vertical-align: top;
}
.fb-notes .well {
  background: #FFF;
  border: none;
  color: #212121;
}
.fb-notes h4 {
  border-left: 0.25rem solid var(--maincolor);
  color: var(--maincolor);
  font-size: 1.125em;
  margin-bottom: 0.66em;
  padding-left: 0.66em;
  font-weight: 700;
}
.fb-notes h5 {
  font-weight: 700;
  font-size: 1em;
  margin: 1.25em 0 0.75em;
  border-bottom: 1px dashed var(--maincolor);
  padding-bottom: 0.5em;
  color: var(--maincolor);
}
.fb-notes h5:first-child {
  margin-top: 0;
}
.fb-notes p {
  line-height: 1.75;
}
.fb-notes a, .fb-notes a:hover {
  color: #FFF;
}
.fb-notes hr {
  margin: 0.5em 0;
  border-top: 1px dashed #FF9;
}
.fb-notes dl {
  display: table;
  width: 100%;
}
.fb-notes dl dt, .fb-notes dl dd {
  display: table-cell;
}
.fb-notes dl .fb-notes dt {
  width: 7em;
}

/* contact,inquiry,entry,estimate */
.required-img {
  margin-right: 0.25rem;
}

.required-img small, .required small, .optional small {
  color: #FFF;
  font-size: 0.5rem;
  line-height: 0.9rem;
  width: 1.75rem;
  height: 0.9rem;
}

.required-img small {
  background-color: #DC3545;
  display: inline-block;
  text-align: center;
  vertical-align: middle;
  margin-top: -0.25rem;
}

.required, .optional {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.required.jcs, .optional.jcs {
  width: 7em;
  margin-bottom: 0.5em;
}

.required small, .optional small {
  display: flex;
  justify-content: center;
  align-items: center;
}

.required small {
  background-color: #DC3545;
}

.optional small {
  background-color: #007BFF;
}

.policy-administrator {
  display: flex;
  justify-content: flex-end;
  margin-top: 1rem;
  border-top: 1px solid #DDD;
  padding-top: 1rem;
}

.policy-administrator dl {
  display: table;
}

.policy-administrator dt, .policy-administrator dd {
  display: table-cell;
  vertical-align: top;
}

.policy-administrator dt {
  width: 5em;
}

/* form control */
.radio + .radio, .checkbox + .checkbox {
  margin-top: 0.75rem;
}

.form-inline .radio + .radio, .form-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;
}

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

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

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-inline .checkbox input[type=checkbox], .form-inline .radio input[type=radio] {
  margin-right: 0.5em;
  margin-top: 1px;
}

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

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

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

select {
  padding: 0.5em 1em;
}

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

input[type=text]:focus, input[type=password]:focus, textarea:focus, select:focus {
  background: #F5F5F5;
}

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

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

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

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

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

.form {
  width: 5em;
}

.form-sm {
  width: 6em;
}

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

.form-lg {
  width: 100%;
}

.form-xl {
  width: 100%;
}

.form-check {
  display: flex;
  align-items: center;
  padding-left: 2em;
  margin: 0.75rem 0;
}

.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: 0;
  width: 1.25em;
  height: 1.25em;
  vertical-align: top;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-print-color-adjust: exact;
  color-adjust: exact;
  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 {
  min-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;
}

.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.5rem;
  font-weight: 800;
}
.c-title__chapter--bracket li + li {
  margin-top: 0.5rem;
}
.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;
}

.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: 1.25rem;
  bottom: 1.25rem;
  z-index: 999;
  width: 2.5rem;
  height: 2.5rem;
  opacity: 0;
  cursor: default;
  transition: 0.2s;
}
.js-pagetop.is-active {
  opacity: 1;
  transition: 0.6s;
  cursor: pointer;
}

.navbar-expand-lg .navbar-nav .nav-item .nav-link {
  padding: 0.66em 0;
}

.p-mainimage__text .l-mainimage__text--copy h2 {
  background-color: var(--palecolor);
  color: #FFF;
  font-size: 8em;
  line-height: 0.75;
  font-family: var(--font-serif);
  text-transform: uppercase;
  font-weight: 700;
  width: 60rem;
  height: 9rem;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-bottom: 1rem;
}

.p-hero__link--title p {
  color: var(--textcolor);
}

.p-footer__information {
  padding-bottom: 0;
  color: #FFF;
}
.p-footer__information .l-footer__textmap--link, .p-footer__information .l-footer__textmap--link:hover, .p-footer__information .l-footer__textmap--link:active, .p-footer__information .l-footer__textmap--link:focus {
  color: #FFF;
}
.p-footer__information .l-footer__textmap--horizontal .l-footer__textmap--link:hover, .p-footer__information .l-footer__textmap--horizontal .l-footer__textmap--link:active, .p-footer__information .l-footer__textmap--horizontal .l-footer__textmap--link:focus {
  background: #FFF;
  color: var(--textcolor);
}

.p-footer__textmap {
  padding: 2.5rem 0;
}

.c-pagetitle {
  position: relative;
}
.c-pagetitle .c-pagetitle__image {
  background-color: #000;
}

.p-box__start {
  display: flex;
  justify-content: flex-start;
}
.p-box__end {
  display: flex;
  justify-content: flex-end;
}
.p-box__text--left, .p-box__text--right {
  width: 570px;
  padding: 0 4.5rem;
}
.p-box__text--left {
  padding: 0 4.5rem 0 0;
}
.p-box__text--right {
  padding: 0 0 0 4.5rem;
}
.p-box__image--900 {
  width: 100%;
  height: 900px;
  position: relative;
}
.p-box__image--900 > img {
  -o-object-fit: cover;
     object-fit: cover;
  max-width: inherit;
  max-height: inherit;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.p-box__contact {
  display: flex;
  margin: 0 -2.5rem;
}
.p-box__contact--inner {
  flex: 1 1 33.3333333333%;
  max-width: 33.3333333333%;
}

.p-title__contact {
  text-align: center;
  font-weight: 700;
  margin-bottom: 1em;
}

.p-box__line--vertical {
  padding: 1.25rem 2.5rem;
}

.p-box__contact--inner + .p-box__contact--inner .p-box__line--vertical {
  border-left: 1px solid #A6A6A6;
}
/*# sourceMappingURL=base.css.map */