@charset "UTF-8";
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: unset;
}

img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

/* Setting & mixin
   ----------------------------------------------------------------- */
:root {
  --bgc:#ffffff;
  --bgtc:#2C2C2C;
  --bgc-acc1:#007bc7;
  --bgtc-acc1:#ffffff;
  --bgc-acc2:#06700f;
  --bgtc-acc2:#ffffff;
  --bgc-suf1:#ecf3ff;
  --bgtc-suf1:#007bc7;
  --bgc-suf2:#cddfff;
  --bgtc-suf2:#007bc7;
  --font-xl:clamp(1.6rem, calc(1.6rem + (1vw - 0.32rem) * (1.4583333333)), 3rem);
  --font-l:clamp(1.4rem, calc(1.4rem + (1vw - 0.32rem) * (1.0416666667)), 2.4rem);
  --font-m:clamp(1.3rem, calc(1.3rem + (1vw - 0.32rem) * (0.5208333333)), 1.8rem);
  --font-s:clamp(1.2rem, calc(1.2rem + (1vw - 0.32rem) * (0.4166666667)), 1.6rem);
  --font-xs:clamp(1.2rem, calc(1.2rem + (1vw - 0.32rem) * (0.2083333333)), 1.4rem);
  --gap: var(--font-m);
  --bp-xs: 420px;
  --bp-s: 440px;
  --bp-m: 800px;
  --bp-l: 1024px;
  --bp-xl: 1280px;
  --logo-base-h: 115;
  --logo-base-w: 376;
  --logo-ratio: var(--logo-base-h) / var(--logo-base-w);
  --logo-w-default: 20vw;
  --logo-w-max: 200px;
  --logo-w-min: 150px;
  --logo-w: clamp(var(--logo-w-min),var(--logo-w-default),var(--logo-w-max));
  --logo-b-gap: calc(var(--gap) * 1);
  --headerheight: calc((var(--logo-w) * var(--logo-ratio)) + (var(--logo-b-gap) * 2));
  --blockgap: min(12.5dvh,calc(var(--gap) * 5));
}
@media only screen and (max-width: 799px) {
  :root {
    --blockgap: min(5.5dvh,calc(var(--gap) * 3));
  }
}

/* Base
   ----------------------------------------------------------------- */
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: url("../font/NotoSansCJKjp-Regular.woff2") format("woff2"), url("../font/NotoSansCJKjp-Regular.woff") format("woff");
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  src: url("../font/NotoSansCJKjp-Bold.woff2") format("woff2"), url("../font/NotoSansCJKjp-Bold.woff") format("woff");
}
html {
  scroll-behavior: smooth;
  font-size: 62.5%;
  overflow-x: hidden;
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  font-optical-sizing: auto;
  font-weight: 458;
  font-style: normal;
  letter-spacing: 0.08em;
}

body {
  width: 100%;
  padding: 0;
  margin: 0;
  -webkit-font-feature-settings: "palt", 1;
          font-feature-settings: "palt", 1;
  position: relative;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; /*Chrome,Safari*/
  -ms-text-size-adjust: 100%; /*EgdeMobile*/
  -moz-text-size-adjust: 100%; /*firefox*/
  color: var(--bgtc);
  background: -webkit-gradient(linear, left top, left bottom, from(var(--bgc-suf1)), to(#fff));
  background: linear-gradient(var(--bgc-suf1) 0%, #fff 100%);
}

*, *:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

a[href="#"]:after {
  content: "（リンク先未適用）";
  color: #f00;
  font-weight: bold;
}
a:where([href^="tel:"]) {
  pointer-events: none;
  color: inherit;
  text-decoration: none;
}
@media only screen and (max-width: 799px) {
  a:where([href^="tel:"]) {
    pointer-events: all;
    text-decoration: underline;
  }
}

/*
.fixwidth {
	width: 100%;
	margin: auto;
	max-width: 1279px;
	@include media(ul) {
		max-width: 1279px;
	}
	@include media(l-ul) {
		max-width: 1023px;
	}
}*/
* sup {
  font-size: 75%;
  vertical-align: super;
}

* sub {
  font-size: 75%;
  vertical-align: baseline;
}

.current {
  cursor: default;
  pointer-events: none;
}

:focus:not([data-focus-visible-added]) {
  outline: none;
}

[data-focus-visible-added] {
  outline: 2px solid #0066cc;
}

/* ==========================================================================
   Layout
   ========================================================================== */
.l-main__wrap {
  min-height: 100vh;
}
/* ==========================================================================
   Object
   ========================================================================== */
/* Component
   ----------------------------------------------------------------- */
.c-unit__box {
  --_blockgapadjast: 1;
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: auto;
  -ms-grid-columns: 1fr minmax(0, 1280px) 1fr;
      grid-template: "before content after" auto/1fr minmax(0, 1280px) 1fr;
  padding: calc(var(--blockgap) * var(--_blockgapadjast)) calc(var(--gap) * 1);
}
.c-text .c-unit__box {
  padding: 1.8rem 0rem;
}
.c-text .c-unit__box:first-of-type {
  padding-top: 0;
}
.c-text .c-unit__box:last-of-type {
  padding-bottom: 0;
}

.c-unit__box > div {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  grid-area: content;
}
.c-unit__box::before, .c-unit__box::after {
  content: "";
}
.c-unit__box::before {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: before;
}
.c-unit__box::after {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  grid-area: after;
}
.c-unit__box--full {
  display: block;
}
.c-unit__box--full::before, .c-unit__box--full::after {
  content: none;
}
.c-unit__box .c-unit__box {
  --_blockgapadjast: 0.5;
}
.c-unit__box .c-unit__box:first-child {
  margin-top: 0;
}
.c-unit__box .c-unit__box:last-child {
  margin-bottom: 0;
}
.c-unit__box + .c-unit__box {
  padding-top: 0;
}
.c-unit__box--bg {
  background: #ecf3ff;
  padding: 2rem !important;
  border-radius: 1rem;
  color: #007bc7;
}
.c-unit__box--bd {
  border: #ecf3ff 2px solid;
  padding: calc(2rem - 2px);
  border-radius: 1rem;
}
.c-unit__box--petit {
  padding: 0 1em;
  margin-bottom: 2.5rem;
}
.c-unit__title--sub {
  line-height: 1.5;
  margin-bottom: 1em;
  font-size: var(--font-l);
  color: var(--bgc-acc1);
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: -webkit-max-content calc(var(--gap) * 1) auto;
  -ms-grid-columns: max-content calc(var(--gap) * 1) auto;
  grid-template-columns: -webkit-max-content auto;
  grid-template-columns: max-content auto;
  grid-gap: calc(var(--gap) * 1);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-unit__title--sub::after {
  content: "";
  display: block;
  border-top: 1px dotted #2C2C2C;
}
.c-unit__title--mini {
  font-size: var(--font-m);
  line-height: 1.5;
  padding: 0 0.6em 0 0.2em;
  color: #007bc7;
  border-bottom: #ecf3ff 3px dotted;
  margin-bottom: 2rem;
}
.c-unit__title--petit {
  margin: 0 auto 0.6rem;
  line-height: 1.5;
  padding: 0 0 0.3em;
  color: #007bc7;
  border-bottom: #ecf3ff 1px solid;
}

.c-headline--h2-default, .p-topcontent__headline {
  --_color: var(--bgc-acc1);
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: auto;
  -ms-grid-columns: 1fr calc(var(--gap) * 1) fit-content(100%) calc(var(--gap) * 1) 1fr;
      grid-template: ". content ." auto/1fr fit-content(100%) 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(var(--gap) * 1);
  font-size: var(--font-xl);
  color: var(--_color);
  line-height: 1.5;
  text-align: left;
}
.c-headline--h2-default::before, .p-topcontent__headline::before, .c-headline--h2-default::after, .p-topcontent__headline::after {
  content: "";
  display: block;
  height: 1px;
  width: 100%;
  background: var(--_color);
}

.c-headline--h3-default {
  line-height: 1.5;
  margin-bottom: 1em;
  font-size: var(--font-l);
  color: var(--bgc-acc1);
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: -webkit-max-content calc(var(--gap) * 1) auto;
  -ms-grid-columns: max-content calc(var(--gap) * 1) auto;
  grid-template-columns: -webkit-max-content auto;
  grid-template-columns: max-content auto;
  grid-gap: calc(var(--gap) * 1);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-headline--h3-default::after {
  content: "";
  display: block;
  border-top: 1px dotted #2C2C2C;
}

.c-headline--h4-default {
  font-size: var(--font-m);
  line-height: 1.5;
  padding: 0 0.6em 0 0.2em;
  color: #007bc7;
  border-bottom: #ecf3ff 3px dotted;
  margin-bottom: 2rem;
}

.c-headline--h5-default {
  margin: 0 auto 0.6rem;
  line-height: 1.5;
  padding: 0 0 0.3em;
  color: #007bc7;
  border-bottom: #ecf3ff 1px solid;
}

.c-separate__box {
  display: -ms-grid;
  display: grid;
  grid-gap: 2rem;
}
.c-separate__box--2columns {
  grid-template-columns: repeat(auto-fill, minmax(min((1280px - 2rem) / 3 + 1px, 100%), 1fr));
}
.c-separate__box--3columns {
  grid-template-columns: repeat(auto-fill, minmax(min((1280px - 3rem) / 4 + 1px, 100%), 1fr));
}
.c-separate__box--4columns {
  grid-template-columns: repeat(auto-fill, minmax(min((1280px - 4rem) / 5 + 1px, 100%), 1fr));
}
.c-separate__box--5columns {
  grid-template-columns: repeat(auto-fill, minmax(min((1280px - 5rem) / 6 + 1px, 100%), 1fr));
}
.c-separate__box--6columns {
  grid-template-columns: repeat(auto-fill, minmax(min((1280px - 6rem) / 7 + 1px, 100%), 1fr));
}
.c-separate__box--7columns {
  grid-template-columns: repeat(auto-fill, minmax(min((1280px - 7rem) / 8 + 1px, 100%), 1fr));
}
.c-separate__box--8columns {
  grid-template-columns: repeat(auto-fill, minmax(min((1280px - 8rem) / 9 + 1px, 100%), 1fr));
}
.c-separate__box--9columns {
  grid-template-columns: repeat(auto-fill, minmax(min((1280px - 9rem) / 10 + 1px, 100%), 1fr));
}
.c-separate__box--10columns {
  grid-template-columns: repeat(auto-fill, minmax(min((1280px - 10rem) / 11 + 1px, 100%), 1fr));
}
.c-separate__box--g {
  -ms-grid-columns: 1.61fr 1fr;
  grid-template-columns: 1.61fr 1fr;
}
.c-separate__box--gr {
  -ms-grid-columns: 1fr 1.61fr;
  grid-template-columns: 1fr 1.61fr;
}
.c-separate__flexible {
  display: -ms-grid;
  display: grid;
  grid-gap: calc(var(--gap) * 2);
  -ms-grid-columns: var(--columns);
  grid-template-columns: var(--columns);
}

.c-readbox__box .c-text {
  background: #ecf3ff;
  color: #007bc7;
  padding: 2em;
}
@media only screen and (min-width: 1280px) {
  .c-readbox__title {
    font-size: 2.4rem;
  }
}
.c-readbox__title {
  font-size: calc(1.6rem + (1vw - 0.32rem) * (0.8342022941));
}
.c-readbox__title {
  color: #007bc7;
}

:where(.c-text) > *:not(:first-child) {
  margin-top: calc(var(--gap) * 1);
}
:where(.c-text) p {
  font-size: var(--font-m);
}
:where(.c-text) p:not([class]), :where(.c-text) p:where(.default) {
  line-height: 1.5;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 1280px) {
  :where(.c-text) p.accent {
    font-size: 2.4rem;
  }
}
:where(.c-text) p.accent {
  font-size: calc(1.6rem + (1vw - 0.32rem) * (0.8342022941));
}
:where(.c-text) p.accent {
  text-align: center;
  font-weight: bold;
  color: rgb(108.5, 255, 127.7763157895);
}
:where(.c-text) figure:not([class]) {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
:where(.c-text) figure img[src=""] {
  width: 100%;
  height: 150px;
}
:where(.c-text) figure img[src$=svg] {
  width: 100%;
  height: 100%;
}
:where(.c-text) figure img.dummyimg {
  display: block;
  position: relative;
  width: 100%;
}
:where(.c-text) figure img.dummyimg::after {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  background: #ecf3ff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: var(--font-s);
  color: red;
  border: 1px solid rgb(134, 178.5789473684, 255);
}
:where(.c-text) table {
  font-size: var(--font-m);
}
:where(.c-text) table th,
:where(.c-text) table td {
  padding: 0.2em 0.5em;
  line-height: 1.5;
}
:where(.c-text) table caption {
  font-weight: bold;
  margin-bottom: 0.5rem;
  color: #007bc7;
}
:where(.c-text) table:not([class]), :where(.c-text) table:where(.default) {
  width: 100%;
}
:where(.c-text) table:not([class]) thead tr:last-child th,
:where(.c-text) table:not([class]) thead tr th.last, :where(.c-text) table:where(.default) thead tr:last-child th,
:where(.c-text) table:where(.default) thead tr th.last {
  border-bottom: none;
}
:where(.c-text) table:not([class]) thead th, :where(.c-text) table:where(.default) thead th {
  background: #007bc7;
  color: #fff;
  border-bottom: rgba(236, 243, 255, 0.5) 1px dotted;
}
:where(.c-text) table:not([class]) thead th:not(:last-child), :where(.c-text) table:where(.default) thead th:not(:last-child) {
  border-right: #ecf3ff 1px solid;
}
:where(.c-text) table:not([class]) tbody tr:nth-child(2n), :where(.c-text) table:where(.default) tbody tr:nth-child(2n) {
  background: #ecf3ff;
}
:where(.c-text) table:not([class]) tbody th, :where(.c-text) table:where(.default) tbody th {
  -webkit-text-emphasis: before;
          text-emphasis: before;
  text-align: left;
  white-space: nowrap;
}
:where(.c-text) table.nostyle thead tr,
:where(.c-text) table.nostyle thead th,
:where(.c-text) table.nostyle thead td,
:where(.c-text) table.nostyle tbody tr,
:where(.c-text) table.nostyle tbody th,
:where(.c-text) table.nostyle tbody td {
  font-weight: normal;
  padding: 0;
  border: none;
  background: none;
  color: #2C2C2C;
}
:where(.c-text) table.thw20p tbody th {
  width: 20%;
}
:where(.c-text) table.zeb tbody tr:nth-child(2n) {
  background: rgba(255, 255, 255, 0.5);
}
:where(.c-text) table.zeb tbody th {
  background: rgba(255, 255, 255, 0.5);
}
:where(.c-text) table.c-history-table {
  max-width: 1024px;
  width: 100%;
  margin: 0 auto;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
}
:where(.c-text) table.c-history-table thead tr:last-child th,
:where(.c-text) table.c-history-table thead tr th.last {
  border-bottom: none;
}
:where(.c-text) table.c-history-table thead th {
  background: #007bc7;
  color: #fff;
  border-bottom: rgba(236, 243, 255, 0.5) 1px dotted;
}
:where(.c-text) table.c-history-table thead th:not(:last-child) {
  border-right: #ecf3ff 1px solid;
}
:where(.c-text) table.c-history-table tbody tr:nth-child(2n) {
  background: #ecf3ff;
}
:where(.c-text) table.c-history-table tbody th {
  -webkit-text-emphasis: before;
          text-emphasis: before;
  white-space: nowrap;
  text-align: right;
  width: 20%;
}
:where(.c-text) table.c-history-table th,
:where(.c-text) table.c-history-table td {
  padding: 0.2em 0.5em;
}
:where(.c-text) ul {
  font-size: var(--font-m);
  margin-left: auto;
  margin-right: auto;
}
:where(.c-text) ul li:not([class]), :where(.c-text) ul:where(.default) {
  line-height: 1.5;
}
:where(.c-text) ul:not([class]), :where(.c-text) ul:where(.default) {
  padding-left: 1.5em;
}
:where(.c-text) ul.c-list-nowidthlimit {
  max-width: 100%;
}
:where(.c-text) ul.c-list-noicon li {
  list-style: none;
}
:where(.c-text) ul.c-list-bg__even li:nth-child(2n) {
  background: #ecf3ff;
}
:where(.c-text) ul.c-list-simple-2column {
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(540px, 1fr));
  grid-gap: 1em;
}
:where(.c-text) ul.c-list-simple-3column {
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  grid-gap: 1em;
}
:where(.c-text) ul.c-list-simple-4column {
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  grid-gap: 1em;
}
@media only screen and (min-width: 1280px) {
  :where(.c-text) ul.c-list-kome li {
    font-size: 1rem;
  }
}
:where(.c-text) ul.c-list-kome li {
  font-size: calc(1rem + (1vw - 0.32rem) * (0));
}
:where(.c-text) ul.c-list-kome li {
  position: relative;
  list-style: none;
  padding-left: 1.5em;
}
:where(.c-text) ul.c-list-kome li:before {
  content: "※";
  position: absolute;
  left: 0;
}
:where(.c-text) ul.c-link li {
  list-style: none;
}
:where(.c-text) ul.c-link a {
  padding-left: 1.5em;
  position: relative;
}
:where(.c-text) ul.c-link a:before {
  content: "";
  position: absolute;
  left: 0.2em;
  top: 0.75em;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border: transparent 0.4em solid;
  border-right: none;
  border-left-color: #007bc7;
  border-left-width: 0.6928em;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
:where(.c-text) ul.c-link a:hover:before {
  left: 0.4em;
}
:where(.c-text) ul.c-side li {
  display: inline-block;
  margin-right: 0.5em;
}
:where(.c-text) ol {
  font-size: var(--font-m);
  margin-left: auto;
  margin-right: auto;
}
:where(.c-text) ol li {
  line-height: 1.5;
}
:where(.c-text) ol:not([class]), :where(.c-text) ol:where(.default) {
  padding-left: 1.5em;
}
:where(.c-text) ol.c-flow {
  counter-reset: li;
}
:where(.c-text) ol.c-flow li:before {
  counter-increment: li;
  content: "" counter(li, decimal);
}
:where(.c-text) ol.c-flow li {
  position: relative;
  list-style: none;
  background: #cddfff;
  padding: 1em 1em 1em 7rem;
  margin-bottom: 1rem;
  border-radius: 0.5em;
}
:where(.c-text) ol.c-flow li:before {
  position: absolute;
  left: 1rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  height: 5rem;
  width: 5rem;
  border-radius: 100%;
  background: #007bc7;
  text-align: center;
  display: -ms-grid;
  display: grid;
  place-content: center;
}
@media only screen and (min-width: 1280px) {
  :where(.c-text) ol.c-flow li:before {
    font-size: 2.4rem;
  }
}
:where(.c-text) ol.c-flow li:before {
  font-size: calc(1.6rem + (1vw - 0.32rem) * (0.8342022941));
}
:where(.c-text) ol.c-flow li:before {
  color: #ffffff;
  line-height: 1;
}
:where(.c-text) ol.c-list-kome {
  counter-reset: li;
}
:where(.c-text) ol.c-list-kome li:before {
  counter-increment: li;
  content: "※" counter(li, decimal);
}
@media only screen and (min-width: 1280px) {
  :where(.c-text) ol.c-list-kome li {
    font-size: 1rem;
  }
}
:where(.c-text) ol.c-list-kome li {
  font-size: calc(1rem + (1vw - 0.32rem) * (0));
}
:where(.c-text) ol.c-list-kome li {
  position: relative;
  list-style: none;
  padding-left: 2em;
}
:where(.c-text) ol.c-list-kome li:before {
  position: absolute;
  left: 0;
}
:where(.c-text) ol.c-list-chu {
  counter-reset: li;
}
:where(.c-text) ol.c-list-chu li:before {
  counter-increment: li;
  content: "注" counter(li, decimal);
}
@media only screen and (min-width: 1280px) {
  :where(.c-text) ol.c-list-chu li {
    font-size: 1rem;
  }
}
:where(.c-text) ol.c-list-chu li {
  font-size: calc(1rem + (1vw - 0.32rem) * (0));
}
:where(.c-text) ol.c-list-chu li {
  position: relative;
  list-style: none;
  padding-left: 2em;
}
:where(.c-text) ol.c-list-chu li:before {
  position: absolute;
  left: 0;
}
:where(.c-text) dl:not([class]) {
  font-size: var(--font-m);
  line-height: 1.5;
  margin-left: auto;
  margin-right: auto;
}
:where(.c-text) dl:not([class]) dt {
  font-weight: bold;
}
:where(.c-text) dl:not([class]) dd {
  padding-left: 1em;
}
:where(.c-text) dl:not([class]) dd + dt {
  margin-top: 1.8rem;
}

.c-acc1__trigger, .c-acc1__closer {
  display: block;
  background: #cddfff;
  width: 100%;
  padding: 0.5em;
  cursor: pointer;
  color: #007bc7;
  overflow: hidden;
  opacity: 1;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.c-acc1__trigger:hover, .c-acc1__closer:hover {
  background: rgb(103, 157.72, 255);
}
.c-acc1__closer {
  opacity: 0;
  padding: 0 0.5em;
  line-height: 0;
  font-size: 0;
}
.c-acc1__checker {
  display: none;
}
.c-acc1__box {
  -webkit-transition: all 1s;
  transition: all 1s;
  margin-top: 0 !important;
}
.c-acc1__box * {
  opacity: 0;
  -webkit-transition: all 1s;
  transition: all 1s;
}
.c-acc1__checker:not(:checked) + .c-acc1__trigger + .c-acc1__box .c-unit {
  line-height: 0;
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 0;
  margin-bottom: 0;
  border-top-width: 0;
  border-bottom-width: 0;
  height: 0;
}
.c-acc1__checker:not(:checked) + .c-acc1__trigger + .c-acc1__box .c-unit:nth-last-child(2) {
  line-height: 0;
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 0;
  margin-bottom: 0;
  border-top-width: 0;
  border-bottom-width: 0;
  height: 0;
}
@media only screen and (max-width: 799px) {
  .c-acc1__checker:not(:checked) + .c-acc1__trigger + .c-acc1__box .c-unit:nth-last-child(2) {
    line-height: 0;
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 0;
    margin-bottom: 0;
    border-top-width: 0;
    border-bottom-width: 0;
    height: 0;
  }
}
.c-acc1__checker:not(:checked) + .c-acc1__trigger + .c-acc1__box .c-unit__box--bg, .c-acc1__checker:not(:checked) + .c-acc1__trigger + .c-acc1__box .c-unit__box--bd, .c-acc1__checker:not(:checked) + .c-acc1__trigger + .c-acc1__box .c-unit__box--petit {
  line-height: 0;
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 0;
  margin-bottom: 0;
  border-top-width: 0;
  border-bottom-width: 0;
  height: 0;
}
.c-acc1__checker:not(:checked) + .c-acc1__trigger + .c-acc1__box .c-unit__title--sub, .c-acc1__checker:not(:checked) + .c-acc1__trigger + .c-acc1__box .c-unit__title--mini, .c-acc1__checker:not(:checked) + .c-acc1__trigger + .c-acc1__box .c-unit__title--petit {
  line-height: 0;
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 0;
  margin-bottom: 0;
  border-top-width: 0;
  border-bottom-width: 0;
  height: 0;
}
.c-acc1__checker:not(:checked) + .c-acc1__trigger + .c-acc1__box .c-text > *:not(:first-child),
.c-acc1__checker:not(:checked) + .c-acc1__trigger + .c-acc1__box .c-text * {
  line-height: 0;
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 0;
  margin-bottom: 0;
  border-top-width: 0;
  border-bottom-width: 0;
  height: 0;
}
.c-acc1__checker:checked + .c-acc1__trigger + .c-acc1__box {
  margin-top: 1.8rem !important;
}
.c-acc1__checker:checked + .c-acc1__trigger + .c-acc1__box * {
  opacity: 1;
}
.c-acc1__checker:checked + .c-acc1__trigger + .c-acc1__box .c-unit {
  margin-top: 2.5rem;
  margin-bottom: 4.5rem;
}
.c-acc1__checker:checked + .c-acc1__trigger + .c-acc1__box .c-unit:last-child {
  margin-bottom: 7rem;
}
@media only screen and (max-width: 799px) {
  .c-acc1__checker:checked + .c-acc1__trigger + .c-acc1__box .c-unit:last-child {
    margin-bottom: 3rem;
  }
}
.c-acc1__checker:checked + .c-acc1__trigger + .c-acc1__box .c-unit__box--bg {
  background: #ecf3ff;
  padding: 2rem !important;
  border-radius: 1rem;
  color: #007bc7;
}
.c-acc1__checker:checked + .c-acc1__trigger + .c-acc1__box .c-unit__box--bd {
  border: #ecf3ff 2px solid;
  padding: calc(2rem - 2px);
  border-radius: 1rem;
}
.c-acc1__checker:checked + .c-acc1__trigger + .c-acc1__box .c-unit__box--petit {
  padding: 0 1em;
  margin-bottom: 2.5rem;
}
.c-acc1__checker:checked + .c-acc1__trigger + .c-acc1__box .c-unit__title--sub {
  line-height: 1.5;
  margin-bottom: 1em;
  font-size: var(--font-l);
  color: var(--bgc-acc1);
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: -webkit-max-content calc(var(--gap) * 1) auto;
  -ms-grid-columns: max-content calc(var(--gap) * 1) auto;
  grid-template-columns: -webkit-max-content auto;
  grid-template-columns: max-content auto;
  grid-gap: calc(var(--gap) * 1);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-acc1__checker:checked + .c-acc1__trigger + .c-acc1__box .c-unit__title--sub::after {
  content: "";
  display: block;
  border-top: 1px dotted #2C2C2C;
}
.c-acc1__checker:checked + .c-acc1__trigger + .c-acc1__box .c-unit__title--mini {
  font-size: var(--font-m);
  line-height: 1.5;
  padding: 0 0.6em 0 0.2em;
  color: #007bc7;
  border-bottom: #ecf3ff 3px dotted;
  margin-bottom: 2rem;
}
.c-acc1__checker:checked + .c-acc1__trigger + .c-acc1__box .c-unit__title--petit {
  margin: 0 auto 0.6rem;
  line-height: 1.5;
  padding: 0 0 0.3em;
  color: #007bc7;
  border-bottom: #ecf3ff 1px solid;
}
.c-acc1__checker:checked + .c-acc1__trigger + .c-acc1__box .c-text > *:not(:first-child) {
  margin-top: 1.8rem;
}
.c-acc1__checker:checked + .c-acc1__trigger + .c-acc1__box .c-text p {
  line-height: 1.5;
}
.c-acc1__checker:checked + .c-acc1__trigger + .c-acc1__box .c-acc1__closer {
  opacity: 1;
  padding: 0.5em;
  line-height: 1.5;
}
.c-acc1__checker:checked + .c-acc1__trigger {
  padding-top: 0;
  padding-bottom: 0;
  line-height: 0;
  opacity: 0;
}

.c-form .S {
  width: 50%;
}
.c-form .M {
  width: 66.6%;
}
.c-form .L {
  width: 100%;
}
@media only screen and (max-width: 799px) {
  .c-form .S,
  .c-form .M,
  .c-form .L {
    width: 100%;
  }
}
.c-form label {
  cursor: pointer;
  padding: 1rem 0;
  display: inline-block;
  margin-right: 1em;
}
.c-form label:last-child {
  margin-right: 0;
}
.c-form input[type=text], .c-form input[type=number], .c-form input[type=tel] {
  font-size: var(--font-m);
  border: 1px solid #707070;
  padding: 1rem;
  border-radius: 10px;
}
.c-form input[type=button] {
  background: #007bc7;
  color: #ffffff;
  border: none;
  padding: 0.3rem 1.5rem;
  border-radius: 0.5em;
  cursor: pointer;
}
.c-form input[type=button]:hover {
  background: #007bc7;
}
.c-form input[type=number] {
  -moz-appearance: textfield;
}
.c-form input[type=number]::-webkit-outer-spin-button, .c-form input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.c-form select {
  font-size: var(--font-m);
  border: 1px solid #707070;
  padding: 1rem;
  border-radius: 10px;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding-right: 2em;
}
.c-form textarea {
  font-size: var(--font-m);
  border: 1px solid #707070;
  padding: 1rem;
  border-radius: 10px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  height: 7.5em;
}
.c-form .c-select__container {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  position: relative;
}
.c-form .c-select__container:after {
  position: absolute;
  content: "";
  display: block;
  right: 0.5em;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0;
  height: 0;
  border: 0.3464em transparent solid;
  border-bottom: none;
  border-top-color: #2C2C2C;
  border-top-width: 0.4em;
}
.c_work_item:not(:root) {
  max-width: 1280px;
  width: 100%;
  margin: 0 auto;
}
.c_work_item__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.c_work_item__item {
  list-style: none;
  width: calc((100% - 1em) / 2);
}
.c_work_item__item:not(:nth-child(1)):not(:nth-child(2)) {
  margin-top: 1em;
}
@media only screen and (max-width: 439px) {
  .c_work_item__item {
    width: 100%;
  }
  .c_work_item__item:not(:nth-child(1)):not(:root) {
    margin-top: 1em;
  }
}
.c_work_item__fig {
  position: relative;
}
.c_work_item__figc {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.66);
  padding: 1em;
}
@media only screen and (min-width: 1280px) {
  .c_work_item__name {
    font-size: 2.4rem;
  }
}
.c_work_item__name {
  font-size: calc(1.6rem + (1vw - 0.32rem) * (0.8342022941));
}
.c_work_item__name {
  color: #fff;
  line-height: 1;
  font-weight: normal;
}
.c_work_item__text {
  color: #b2c5fa;
  line-height: 1;
}

.c_reform_item:not(:root) {
  max-width: 1280px;
  width: 100%;
  margin: 0 auto;
  margin-top: 3rem;
}
.c_reform_item__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.c_reform_item__item {
  list-style: none;
  width: calc((100% - 1em) / 3);
}
.c_reform_item__item:not(:nth-child(1)):not(:nth-child(2)):not(:nth-child(3)) {
  margin-top: 0.5em;
}
.c_reform_item__fig {
  position: relative;
}
.c_reform_item__figc {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.66);
  padding: 0.5em;
}
.c_reform_item__name {
  text-align: center;
  color: #fff;
  line-height: 1;
  font-weight: normal;
}

.c-contact-number__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.c-contact-number__list > * {
  width: 100%;
  list-style: none;
  text-align: center;
}
@media only screen and (min-width: 1280px) {
  .c-contact-number__list > * {
    font-size: 2.4rem;
  }
}
.c-contact-number__list > * {
  font-size: calc(1.6rem + (1vw - 0.32rem) * (0.8342022941));
}
.c-contact-number__list > * {
  margin-top: 0;
}

.c-contact_table__box {
  margin-bottom: 2rem;
}
.c-contact_table__title {
  width: 25%;
  min-width: 200px;
}
.c-contact_table__content input[type=text] {
  height: 1.5em;
  line-height: 1.5;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-width: 200px;
}
.c-contact_table__content input[type=text].S {
  width: 25%;
}
.c-contact_table__content input[type=text].M {
  width: 50%;
}
.c-contact_table__content input[type=text].L {
  width: 100%;
}
.c-contact_table__content textarea {
  width: 100%;
  height: 18em;
  line-height: 1.2;
  vertical-align: top;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media only screen and (min-width: 1280px) {
  .c-contact_table__notes {
    font-size: 1rem;
  }
}
.c-contact_table__notes {
  font-size: calc(1rem + (1vw - 0.32rem) * (0));
}
.c-contact_table__notes {
  display: block;
}
.c-contact_table__button--submit {
  background: #007bc7;
  color: #ffffff;
}
@media only screen and (min-width: 1280px) {
  .c-contact_table__button--submit {
    font-size: 2.4rem;
  }
}
.c-contact_table__button--submit {
  font-size: calc(1.6rem + (1vw - 0.32rem) * (0.8342022941));
}
.c-contact_table__button--submit {
  padding: 0.8em 2em;
  line-height: 1;
  border-radius: 0.5em;
  border: none;
  cursor: pointer;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.c-contact_table {
  width: 100%;
}
.c-contact_table tbody tr:nth-child(2n) {
  background: #ecf3ff;
}
.c-contact_table tbody th {
  -webkit-text-emphasis: before;
          text-emphasis: before;
  text-align: left;
  width: 20%;
}
.c-contact_table th,
.c-contact_table td {
  padding: 0.2em 0.5em;
}

.c-anctarget:not(:root) {
  padding-top: 110px !important;
  margin-top: -110px !important;
}

.c-flr {
  float: right;
}

.tal {
  text-align: left;
}

.tac {
  text-align: center;
}

.tar {
  text-align: right;
}

.fs-xl {
  font-size: var(--font-xl);
}

.fs-l {
  font-size: var(--font-l);
}

.fs-m {
  font-size: var(--font-m);
}

.fs-s {
  font-size: var(--font-s);
}

.fs-xs {
  font-size: var(--font-xs);
}

.c-2columns {
  display: -ms-grid;
  display: grid;
  grid-gap: 1rem;
  grid-template-columns: repeat(auto-fill, minmax(calc((100% - 2rem) / 3 + 1px), 1fr));
}

.c-3columns {
  display: -ms-grid;
  display: grid;
  grid-gap: 1rem;
  grid-template-columns: repeat(auto-fill, minmax(calc((100% - 3rem) / 4 + 1px), 1fr));
}

.c-4columns {
  display: -ms-grid;
  display: grid;
  grid-gap: 1rem;
  grid-template-columns: repeat(auto-fill, minmax(calc((100% - 4rem) / 5 + 1px), 1fr));
}

.c-5columns {
  display: -ms-grid;
  display: grid;
  grid-gap: 1rem;
  grid-template-columns: repeat(auto-fill, minmax(calc((100% - 5rem) / 6 + 1px), 1fr));
}

.c-6columns {
  display: -ms-grid;
  display: grid;
  grid-gap: 1rem;
  grid-template-columns: repeat(auto-fill, minmax(calc((100% - 6rem) / 7 + 1px), 1fr));
}

.c-7columns {
  display: -ms-grid;
  display: grid;
  grid-gap: 1rem;
  grid-template-columns: repeat(auto-fill, minmax(calc((100% - 7rem) / 8 + 1px), 1fr));
}

.c-8columns {
  display: -ms-grid;
  display: grid;
  grid-gap: 1rem;
  grid-template-columns: repeat(auto-fill, minmax(calc((100% - 8rem) / 9 + 1px), 1fr));
}

.c-9columns {
  display: -ms-grid;
  display: grid;
  grid-gap: 1rem;
  grid-template-columns: repeat(auto-fill, minmax(calc((100% - 9rem) / 10 + 1px), 1fr));
}

.c-10columns {
  display: -ms-grid;
  display: grid;
  grid-gap: 1rem;
  grid-template-columns: repeat(auto-fill, minmax(calc((100% - 10rem) / 11 + 1px), 1fr));
}

.p-cta__wrap {
  padding: 5rem 0;
  text-align: center;
  background: #ecf3ff;
}
@media only screen and (max-width: 799px) {
  .p-cta__wrap {
    padding: 5rem 3rem;
  }
}
@media only screen and (min-width: 1280px) {
  .p-cta__title {
    font-size: 2.4rem;
  }
}
.p-cta__title {
  font-size: calc(1.6rem + (1vw - 0.32rem) * (0.8342022941));
}
.p-cta__title {
  margin-bottom: 1rem;
}
@media only screen and (min-width: 1280px) {
  .p-cta__lead {
    font-size: 1.8rem;
  }
}
.p-cta__lead {
  font-size: calc(1.4rem + (1vw - 0.32rem) * (0.417101147));
}
.p-cta__lead {
  margin-bottom: 1rem;
}
.p-cta__button {
  margin-bottom: 1rem;
}
@media only screen and (min-width: 1280px) {
  .p-cta__link {
    font-size: 1.8rem;
  }
}
.p-cta__link {
  font-size: calc(1.4rem + (1vw - 0.32rem) * (0.417101147));
}
.p-cta__link {
  display: inline-block;
}
.p-cta__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media only screen and (max-width: 799px) {
  .p-cta__nav {
    display: block;
  }
}
.p-cta__tel {
  padding: 1rem 0;
}
@media only screen and (min-width: 1280px) {
  .p-cta__teltext {
    font-size: 1.8rem;
  }
}
.p-cta__teltext {
  font-size: calc(1.4rem + (1vw - 0.32rem) * (0.417101147));
}
.p-cta__teltext {
  margin-bottom: 0.5rem;
}
@media only screen and (min-width: 1280px) {
  .p-cta__tellink {
    font-size: 1.4rem;
  }
}
.p-cta__tellink {
  font-size: calc(1.2rem + (1vw - 0.32rem) * (0.2085505735));
}
@media only screen and (min-width: 1280px) {
  .p-cta__worktime {
    font-size: 1rem;
  }
}
.p-cta__worktime {
  font-size: calc(1rem + (1vw - 0.32rem) * (0));
}
.p-cta__worktime {
  margin-left: 0.5rem;
}
.p-cta__faq {
  margin-left: 2rem;
  border-left: #999 1px solid;
  padding: 1rem 0 1rem 2rem;
  text-align: center;
  display: -ms-grid;
  display: grid;
  place-content: center;
}
@media only screen and (max-width: 799px) {
  .p-cta__faq {
    border: none;
    margin-left: 0;
    padding-left: 0;
  }
}
@media only screen and (min-width: 1280px) {
  .p-cta__faqlink {
    font-size: 1.4rem;
  }
}
.p-cta__faqlink {
  font-size: calc(1.2rem + (1vw - 0.32rem) * (0.2085505735));
}
.p-cta__faqlink {
  display: inline-block;
}

.c-contactbox__table {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto 2em;
}
@media only screen and (min-width: 1280px) {
  .c-contactbox__th, .c-contactbox__td {
    font-size: 1.8rem;
  }
}
.c-contactbox__th, .c-contactbox__td {
  font-size: calc(1.4rem + (1vw - 0.32rem) * (0.417101147));
}
.c-contactbox__th, .c-contactbox__td {
  padding: 0.5em;
  color: #2C2C2C;
  text-align: left;
  vertical-align: top;
}
.c-contactbox__th {
  color: #4d4d4d;
}
.c-contactbox__th {
  white-space: nowrap;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
@media only screen and (max-width: 799px) {
  .c-contactbox__th {
    white-space: unset;
  }
}
.c-contactbox__td {
  width: 100%;
}
.c-contactbox__td--noneBtn {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: auto;
  -ms-grid-columns: auto 0.5em -webkit-max-content;
  -ms-grid-columns: auto 0.5em max-content;
      grid-template: auto/auto -webkit-max-content;
      grid-template: auto/auto max-content;
  grid-gap: 0.5em;
}
@media only screen and (max-width: 799px) {
  .c-contactbox__table, .c-contactbox__tbody {
    display: block;
    max-width: 100%;
    width: 100%;
    margin: auto;
  }
  .c-contactbox__tr, .c-contactbox__th, .c-contactbox__td {
    display: block;
    width: 100%;
  }
}
.c-contactbox__required {
  background: #C50202;
  color: #fff;
}
@media only screen and (min-width: 1280px) {
  .c-contactbox__required {
    font-size: 1.4rem;
  }
}
.c-contactbox__required {
  font-size: calc(1.2rem + (1vw - 0.32rem) * (0.2085505735));
}
.c-contactbox__required {
  padding: 0.2em 0.5em;
  margin-left: 0.5em;
  vertical-align: middle;
}
.c-contactbox__btnwrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media only screen and (min-width: 1280px) {
  .c-contactbox__btn {
    font-size: 2.4rem;
  }
}
.c-contactbox__btn {
  font-size: calc(1.6rem + (1vw - 0.32rem) * (0.8342022941));
}
.c-contactbox__btn {
  padding: 0.5em 2.5em;
  border-radius: 0.5em;
  border: none;
}
.c-contactbox__btn--cancel {
  background: #cddfff;
  color: #007bc7;
  cursor: pointer;
}
.c-contactbox__btn--cancel:hover {
  background: #bbb;
}
.c-contactbox__btn--submit {
  background: #007bc7;
  color: #ffffff;
  cursor: pointer;
}
.c-contactbox__btn--submit:hover {
  opacity: 0.6;
}
.c-contactbox__btn--submit:disabled {
  background: #ddd;
  color: #666;
  cursor: default;
  pointer-events: none;
}
.c-contactbox__btn {
  display: block;
  margin: 0 1rem;
}
.c-contactbox__privacy--box {
  max-height: 33vh;
  border: #ddd 1px solid;
  padding: 1.6rem;
  margin-bottom: 1.6rem;
  overflow: auto;
}
@media only screen and (min-width: 1280px) {
  .c-contactbox__privacy--box p, .c-contactbox__privacy--box li {
    font-size: 1.4rem;
  }
}
.c-contactbox__privacy--box p, .c-contactbox__privacy--box li {
  font-size: calc(1.2rem + (1vw - 0.32rem) * (0.2085505735));
}
.c-contactbox__privacy--box > *:not(:last-child) {
  margin-bottom: 0.8rem;
}
@media only screen and (min-width: 1280px) {
  .c-contactbox__privacy--box h2 {
    font-size: 1.8rem;
  }
}
.c-contactbox__privacy--box h2 {
  font-size: calc(1.4rem + (1vw - 0.32rem) * (0.417101147));
}
.c-contactbox__privacy--input {
  margin-right: 1em;
}
.c-contactbox__privacy--label {
  display: block !important;
  text-align: center !important;
  padding: 0 !important;
  margin: 0 !important;
}

.c-error__box {
  background: #dbdbdb;
  padding: 1.6rem;
}
.c-error__text {
  color: #C50202;
  line-height: 1.6;
}

.c-breadcrumbs__wrap {
  background: #ecf3ff;
}
@media only screen and (min-width: 1280px) {
  .c-breadcrumbs__wrap {
    font-size: 1.4rem;
  }
}
.c-breadcrumbs__wrap {
  font-size: calc(1.2rem + (1vw - 0.32rem) * (0.2085505735));
}
.c-breadcrumbs__wrap {
  padding: 1em;
}
.c-breadcrumbs__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.c-breadcrumbs__item {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-breadcrumbs__item:not(:last-child):after {
  content: ">";
  display: block;
  padding: 0 1em;
}
.c-breadcrumbs__link {
  display: block;
  text-decoration: none;
  background: #007bc7;
  color: #ffffff;
  padding: 0.5em 1em;
  border-radius: 1em;
}
.c-breadcrumbs__link:hover {
  color: #ffffff;
  opacity: 0.6;
}
.c-breadcrumbs__dummylink {
  display: block;
  padding: 0.5em 0;
}
.c-btn__link {
  --_color: var(--bgc-acc1);
  --_txtcolor: var(--bgtc-acc1);
  --_arrowcolor: var(--bgtc-acc1);
  padding: calc(var(--gap) * 1) calc(var(--gap) * 2);
  border-radius: 0.2em;
  text-decoration: none;
  display: block;
  margin: auto;
  text-align: center;
  width: 50vw;
  max-width: var(--bp-m);
  min-width: min(300px, 100%);
  font-size: var(--font-m);
}
.c-btn__link--fill {
  background: var(--_color);
  color: var(--_txtcolor);
}
.c-btn__link--fill:hover {
  --_color: var(--bgc-acc1);
  --_txtcolor: var(--bgtc-acc1);
}
.c-btn__link--bd {
  border: var(--_color) 1px solid;
  color: var(--_color);
  --_arrowcolor: var(--bgc-acc1);
}
.c-btn__link--arrow {
  --_arrow-position-x: 1em;
  padding-right: calc(var(--gap) * 3);
  position: relative;
}
.c-btn__link--arrow::before {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  display: block;
  position: absolute;
  right: var(--_arrow-position-x);
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
  content: "";
  width: 0.8em;
  height: 0.8em;
  border: var(--_arrowcolor) 0.2em solid;
  border-bottom: none;
  border-left: none;
}
.c-btn__link--arrow:hover {
  --_arrow-position-x: 0.5em;
}
.c-btn__link:not(:last-child) {
  margin-bottom: calc(var(--gap) * 1);
}

/* Project
   ----------------------------------------------------------------- */
.p-siteheader__wrap {
  --header_gap: calc(var(--gap) / 2);
  padding: var(--header_gap) calc(var(--gap) * 1);
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: auto;
  -ms-grid-columns: 1fr min(var(--bp-xl), 100%) 1fr;
      grid-template: ". limitter ." auto/1fr min(var(--bp-xl), 100%) 1fr;
}
#top .p-siteheader__wrap {
  padding: var(--header_gap) 0;
  -ms-grid-rows: auto 1fr;
  -ms-grid-columns: calc(var(--gap) * 1) 1fr calc(min(var(--bp-xl), 100%) - var(--gap) * 2) 1fr calc(var(--gap) * 1);
      grid-template: ". . limitter . ." auto "mainvisualarea mainvisualarea mainvisualarea mainvisualarea mainvisualarea" 1fr/calc(var(--gap) * 1) 1fr calc(min(var(--bp-xl), 100%) - var(--gap) * 2) 1fr calc(var(--gap) * 1);
}

.p-siteheader__limitter {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  grid-area: limitter;
  width: min(var(--bp-xl), 100%);
  margin-inline: auto;
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: auto;
  -ms-grid-columns: 1fr;
      grid-template: "logoarea" auto/1fr;
  position: relative;
}

#top .p-siteheader__wrap > .p-siteheader__limitter {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}

.p-sitefooter__wrap > .p-siteheader__limitter {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
}
.p-siteheader__logoarea {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: logoarea;
  position: absolute;
  inset: 0 0 auto auto;
  z-index: calc(infinity);
}
.p-siteheader__mainvisualarea {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
  -ms-grid-column-span: 5;
  -webkit-margin-before: var(--header_gap);
          margin-block-start: var(--header_gap);
  grid-area: mainvisualarea;
}
.p-siteheader__homelink {
  display: block;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-margin-start: auto;
          margin-inline-start: auto;
}
.p-siteheader__headline {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.p-siteheader__logo {
  width: 100%;
  max-width: 30vw;
  height: auto;
  max-height: 60px;
  background: #fff;
  padding: calc(var(--gap) * 0.5);
}
.p-siteheader__figcaption {
  position: absolute;
  inset: 0 0 auto auto;
  height: 1px;
  width: 1px;
  overflow: hidden;
}
.p-gNav__wrap {
  --_gap: calc(var(--gap) * 1);
  --_translateX: 100%;
  position: absolute;
  height: 100dvh;
  inset: calc(var(--gap) * -1) calc(var(--gap) * -1) auto auto;
  z-index: calc(infinity);
  width: 100%;
  padding: calc(var(--headerheight) + var(--_gap) + var(--_gap)) var(--_gap) calc(var(--gap) * 4);
  background: rgba(0, 0, 0, 0.8666666667);
  backdrop-filter: blur(10px);
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: var(--_gap);
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  -webkit-transform: translateX(var(--_translateX));
          transform: translateX(var(--_translateX));
}
.p-gNav__wrap.active {
  --_translateX: 0%;
}
.p-gNav__box {
  height: 100%;
  overflow-y: auto;
}
.p-gNav__closer {
  position: absolute;
  inset: calc(var(--gap) * 1) calc(var(--gap) * 2) auto auto;
  cursor: pointer;
  width: 3.5em;
  height: 3.5em;
}
.p-gNav__closer::before, .p-gNav__closer::after {
  position: absolute;
  inset: 0 0 auto auto;
  translate: -20% 350%;
  content: "";
  width: 4em;
  height: 4px;
  background: #fff;
}
@media only screen and (max-width: 799px) {
  .p-gNav__closer::before, .p-gNav__closer::after {
    translate: 20% 350%;
  }
}
.p-gNav__closer::before {
  rotate: 45deg;
}
.p-gNav__closer::after {
  rotate: -45deg;
}
.p-gNav__lang {
  max-width: min(800px, 100%);
  margin-inline: auto;
  -webkit-margin-after: calc(var(--gap) * 2);
          margin-block-end: calc(var(--gap) * 2);
  text-align: right;
}
.p-gNav__langlink {
  color: #fff;
  text-decoration: none;
  font-size: var(--font-m);
}
.p-gNav__langlink:hover {
  text-decoration: underline;
}
.p-gNav__list--primary {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: var(--_gap);
  max-width: min(800px, 100%);
  margin-inline: auto;
  max-height: 100%;
}
.p-gNav__list--secondary {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: calc(var(--gap) * 1);
  padding: calc(var(--gap) * 1) calc(var(--gap) * 1);
}
.p-gNav__list--tertiary {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: calc(var(--gap) * 1);
  padding: calc(var(--gap) * 1) 1em 0;
}
.p-gNav__item {
  list-style: none;
}
.p-gNav__link {
  --_color: #fff;
  color: var(--_color);
  text-decoration: none;
}
.p-gNav__link:hover, .p-gNav__link.current {
  --_color: var(--bgc-acc1);
}
.p-gNav__link--primary {
  display: block;
  padding: calc(var(--gap) / 2);
  font-size: var(--font-l);
  -webkit-border-after: 1px solid var(--_color);
          border-block-end: 1px solid var(--_color);
}
.p-gNav__link--secondary {
  font-size: var(--font-m);
}
.p-gNav__link--tertiary {
  font-size: var(--font-m);
}

.p-gNav_trigger__wrap {
  padding: var(--headerpadding) var(--headerpadding) 0;
}
.p-gNav_trigger__box {
  background: #8fcedf;
  border: 2px solid #fff8ef;
  border-radius: 9999px;
  aspect-ratio: 1/1;
  height: min(13vw, var(--headerheight));
  max-height: 80px;
  display: -ms-grid;
  display: grid;
  place-items: center;
  cursor: pointer;
  position: relative;
  z-index: calc(infinity);
}
.p-gNav_trigger__bars {
  aspect-ratio: 4/3;
  width: 50%;
  position: relative;
}
.p-gNav_trigger__bar {
  --_deg: 40deg;
  position: absolute;
  -webkit-transform: translateY(-1px);
          transform: translateY(-1px);
  display: block;
  background: #fff;
  height: 2px;
  width: 100%;
}
.p-gNav_trigger__bar:nth-child(1) {
  top: 0%;
  rotate: 0deg;
}
@-webkit-keyframes bar1-deactivate {
  0% {
    top: 50%;
    rotate: calc(360deg + var(--_deg));
  }
  100% {
    top: 0%;
    rotate: -360deg;
  }
}
@keyframes bar1-deactivate {
  0% {
    top: 50%;
    rotate: calc(360deg + var(--_deg));
  }
  100% {
    top: 0%;
    rotate: -360deg;
  }
}
.p-gNav_trigger__bar:nth-child(1) {
  -webkit-animation: bar1-deactivate 0.3s ease-in-out forwards;
          animation: bar1-deactivate 0.3s ease-in-out forwards;
}
@-webkit-keyframes bar1-activate {
  0% {
    top: 0%;
    rotate: 0deg;
  }
  100% {
    top: 50%;
    rotate: calc(360deg + var(--_deg));
  }
}
@keyframes bar1-activate {
  0% {
    top: 0%;
    rotate: 0deg;
  }
  100% {
    top: 50%;
    rotate: calc(360deg + var(--_deg));
  }
}
.active .p-gNav_trigger__bar:nth-child(1) {
  -webkit-animation: bar1-activate 0.3s ease-in-out forwards;
          animation: bar1-activate 0.3s ease-in-out forwards;
}

.p-gNav_trigger__bar:nth-child(2) {
  top: 50%;
  rotate: 0deg;
}
@-webkit-keyframes bar2-deactivate {
  0% {
    top: 50%;
    rotate: calc(360deg + var(--_deg));
  }
  100% {
    top: 50%;
    rotate: -360deg;
  }
}
@keyframes bar2-deactivate {
  0% {
    top: 50%;
    rotate: calc(360deg + var(--_deg));
  }
  100% {
    top: 50%;
    rotate: -360deg;
  }
}
.p-gNav_trigger__bar:nth-child(2) {
  -webkit-animation: bar2-deactivate 0.3s ease-in-out forwards;
          animation: bar2-deactivate 0.3s ease-in-out forwards;
}
@-webkit-keyframes bar2-activate {
  0% {
    top: 50%;
    rotate: 0deg;
  }
  100% {
    top: 50%;
    rotate: calc(360deg + var(--_deg));
  }
}
@keyframes bar2-activate {
  0% {
    top: 50%;
    rotate: 0deg;
  }
  100% {
    top: 50%;
    rotate: calc(360deg + var(--_deg));
  }
}
.active .p-gNav_trigger__bar:nth-child(2) {
  -webkit-animation: bar2-activate 0.3s ease-in-out forwards;
          animation: bar2-activate 0.3s ease-in-out forwards;
}

.p-gNav_trigger__bar:nth-child(3) {
  top: 100%;
  rotate: 0deg;
}
@-webkit-keyframes bar3-deactivate {
  0% {
    top: 50%;
    rotate: calc(360deg - var(--_deg));
  }
  100% {
    top: 100%;
    rotate: -360deg;
  }
}
@keyframes bar3-deactivate {
  0% {
    top: 50%;
    rotate: calc(360deg - var(--_deg));
  }
  100% {
    top: 100%;
    rotate: -360deg;
  }
}
.p-gNav_trigger__bar:nth-child(3) {
  -webkit-animation: bar3-deactivate 0.3s ease-in-out forwards;
          animation: bar3-deactivate 0.3s ease-in-out forwards;
}
@-webkit-keyframes bar3-activate {
  0% {
    top: 100%;
    rotate: 0deg;
  }
  100% {
    top: 50%;
    rotate: calc(360deg - var(--_deg));
  }
}
@keyframes bar3-activate {
  0% {
    top: 100%;
    rotate: 0deg;
  }
  100% {
    top: 50%;
    rotate: calc(360deg - var(--_deg));
  }
}
.active .p-gNav_trigger__bar:nth-child(3) {
  -webkit-animation: bar3-activate 0.3s ease-in-out forwards;
          animation: bar3-activate 0.3s ease-in-out forwards;
}

.p-mainvisual__wrap {
  position: relative;
  padding-block: calc(var(--gap) * 4) calc(var(--gap) * 2);
}
.p-mainvisual__fig {
  height: 100%;
  position: relative;
  z-index: 1;
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: auto calc(var(--gap) * 2) auto;
  -ms-grid-columns: 1fr;
      grid-template: "logo" "figcaption" auto/1fr;
  place-content: center;
  padding: calc(var(--gap) * 1) 0;
  gap: calc(var(--gap) * 2);
  max-width: calc(min(var(--bp-xl), 100%) - var(--gap) * 2);
  margin-inline: auto;
}
.p-mainvisual__logo {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: logo;
  height: 100%;
  width: auto;
  display: block;
  margin: 0 auto;
  aspect-ratio: 300/85;
}
@media only screen and (max-width: 799px) {
  .p-mainvisual__logo {
    aspect-ratio: 71/75;
  }
}
.p-mainvisual__figcaption {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  grid-area: figcaption;
  background: #06700f;
  color: #ffffff;
  border-radius: calc(var(--gap) * 0.5);
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto calc(var(--gap) * 1) auto;
  grid-template-columns: repeat(2, auto);
  gap: calc(var(--gap) * 1);
  padding: calc(var(--gap) * 0.5);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1.3;
  text-align: center;
}
@media only screen and (max-width: 439px) {
  .p-mainvisual__figcaption {
    -ms-grid-columns: auto;
    grid-template-columns: repeat(1, auto);
    gap: calc(var(--gap) * 0);
  }
}
.p-mainvisual__campaign_title {
  font-size: var(--font-l);
}
.p-mainvisual__campaign_period-year {
  font-size: var(--font-l);
}
.p-mainvisual__campaign_period-date {
  font-size: var(--font-xl);
}
.p-mainvisual__bg {
  position: absolute;
  inset: 0;
  height: 100%;
  width: 100%;
  overflow: hidden;
  z-index: -1;
  -webkit-perspective: 1000px;
          perspective: 1000px;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
}
.p-mainvisual__confetti {
  position: absolute;
  width: clamp(8px, 1.5vw, 16px);
  height: clamp(8px, 1.5vw, 16px);
  opacity: 0;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
  will-change: transform, opacity;
}
.p-mainvisual__confetti::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: inherit;
  -webkit-transform: rotateY(90deg);
          transform: rotateY(90deg);
}
.p-mainvisual__confetti--1 {
  background-color: rgba(255, 105, 180, 0.9);
}
.p-mainvisual__confetti--2 {
  background-color: rgba(135, 206, 235, 0.9);
}
.p-mainvisual__confetti--3 {
  background-color: rgba(152, 251, 152, 0.9);
}
.p-mainvisual__confetti--4 {
  background-color: rgba(221, 160, 221, 0.9);
}
.p-mainvisual__confetti--5 {
  background-color: rgba(255, 215, 0, 0.9);
}

.p-pageTitle__box {
  --_fz: clamp(1.6rem, calc(1.6rem + (1vw - 0.32rem) * (1.25)), 2.8rem);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: auto;
  -ms-grid-columns: 1fr min(1280px, 100%) 1fr;
      grid-template: ". text ." auto/1fr min(1280px, 100%) 1fr;
  padding: calc(min(100px, 28.6493288591vw) - min(50px, 9vw) - var(--gap) * 1 + 5rem) calc(var(--gap) * 1) 0;
}
.p-pageTitle__title {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  grid-area: text;
  font-size: var(--_fz);
  line-height: 1.3;
  color: var(--bgc-acc1);
}
.p-pageTitle__fig {
  min-height: 320px;
  height: calc(52dvh - var(--headerheight) - var(--gap) * 6 - var(--_fz));
  max-height: 50dvw;
}
.p-pageTitle__img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.sparkle-container .sparkle-item {
  -webkit-animation: sparkle-animation 1s ease-in-out infinite;
          animation: sparkle-animation 1s ease-in-out infinite;
  -webkit-animation-delay: calc(var(--sparkle-delay) * -1);
          animation-delay: calc(var(--sparkle-delay) * -1);
  -webkit-transform-origin: center;
          transform-origin: center;
}
@-webkit-keyframes sparkle-animation {
  0% {
    opacity: 0;
    scale: 0;
    -webkit-animation-timing-function: cubic-bezier(0.42, 0, 1, 1);
            animation-timing-function: cubic-bezier(0.42, 0, 1, 1);
  }
  50% {
    opacity: 1;
    scale: var(--sparkle-scale);
    -webkit-animation-timing-function: 0, 0, 0.58, 1;
            animation-timing-function: 0, 0, 0.58, 1;
  }
  100% {
    opacity: 0;
    scale: 0;
  }
}
@keyframes sparkle-animation {
  0% {
    opacity: 0;
    scale: 0;
    -webkit-animation-timing-function: cubic-bezier(0.42, 0, 1, 1);
            animation-timing-function: cubic-bezier(0.42, 0, 1, 1);
  }
  50% {
    opacity: 1;
    scale: var(--sparkle-scale);
    -webkit-animation-timing-function: 0, 0, 0.58, 1;
            animation-timing-function: 0, 0, 0.58, 1;
  }
  100% {
    opacity: 0;
    scale: 0;
  }
}

.p-lead__wrap {
  background: var(--bgc-suf2);
  -webkit-padding-before: 0;
          padding-block-start: 0;
  -webkit-margin-after: calc(var(--gap) * 1.5);
          margin-block-end: calc(var(--gap) * 1.5);
}
.p-lead__titlegroup .c-text {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: auto auto auto;
  -ms-grid-columns: 1fr min(640px, 33.3vw);
      grid-template: ". fig" "title fig" ". fig" auto/1fr min(640px, 33.3vw);
}
@media only screen and (max-width: 799px) {
  .p-lead__titlegroup .c-text {
    -ms-grid-rows: auto auto;
    -ms-grid-columns: 1fr;
        grid-template: "title" "fig" auto/1fr;
  }
  .p-lead__titlegroup .c-text::before {
    grid-row: 1/-1;
  }
}
.p-lead__title {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
  grid-area: title;
  margin: 0 calc(var(--gap) * 1);
  padding: calc(var(--gap) * 1);
  font-weight: normal;
}
.p-lead__title strong {
  font-weight: normal;
  color: var(--bgc-acc1);
}
.p-lead__titlefig {
  font-size: var(--font-xl);
}
.p-lead__titleimg {
  max-width: 15em;
  position: relative;
  left: -1.5em;
}
.p-lead__titlefigcaption {
  line-height: 1.5;
}
.p-lead__text {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  grid-area: text;
  margin: 0 calc(var(--gap) * 1);
  padding: calc(var(--gap) * 1);
  font-size: var(--font-m);
  -webkit-border-before: 2px dotted var(--bgc-acc1);
          border-block-start: 2px dotted var(--bgc-acc1);
  line-height: 1.5;
}
.p-lead__fig {
  -ms-grid-row: 1;
  -ms-grid-row-span: 3;
  -ms-grid-column: 2;
  grid-area: fig;
  text-align: center;
}
.p-features__item > .p-lead__fig {
  -ms-grid-row: 1;
  -ms-grid-row-span: 5;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
}
.p-lead__img {
  max-width: 480px;
}

.p-aprication__title {
  font-size: var(--font-l);
  background: var(--bgc-acc1);
  color: var(--bgtc-acc1);
  line-height: 1.5;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: min(15em, 100%);
  padding: calc(var(--gap) * 0.5) calc(var(--gap) * 1.5);
  border-radius: 100vmax;
  -webkit-margin-after: calc(var(--gap) * -2.5);
          margin-block-end: calc(var(--gap) * -2.5);
  position: relative;
  z-index: 10;
}
.p-aprication__content {
  background: var(--bgc);
  line-height: 1.5;
  font-size: var(--font-m);
  padding: calc(var(--gap) * 2.5) calc(var(--gap) * 1) calc(var(--gap) * 1);
  border-radius: calc(var(--gap) * 1);
}
.p-aprication__caution-title {
  color: #d82828;
  font-size: var(--font-m);
  line-height: 1.5;
}

.p-caution__wrap {
  -webkit-margin-before: calc(var(--gap) * 1);
          margin-block-start: calc(var(--gap) * 1);
  border: 1px solid #000;
  padding: calc(var(--gap) * 1);
  background: #fff;
}
.p-caution__title {
  color: #d82828;
  font-size: var(--font-m);
  line-height: 1.5;
}
.p-caution__text {
  font-size: var(--font-s);
  line-height: 1.5;
}

.p-application-link__wrap {
  max-width: var(--bp-l);
  margin-inline: auto;
}
.p-application-link__button {
  background: var(--bgc-acc2);
  color: var(--bgtc-acc2);
  text-decoration: none;
  display: block;
  padding: calc(var(--gap) * 1) calc(var(--gap) * 2);
  border-radius: calc(var(--gap) * 1);
  text-align: center;
  line-height: 1.3;
}
.p-application-link__button:hover {
  background: var(--bgc-acc2);
}
.p-application-link__maintext {
  font-size: var(--font-xl);
}
.p-application-link__subtext {
  font-size: var(--font-m);
}
.p-application-link__notes {
  -webkit-margin-before: calc(var(--gap) * 1);
          margin-block-start: calc(var(--gap) * 1);
  font-size: var(--font-xs);
  line-height: 1.5;
}
.p-application-link__notes a {
  color: currentColor;
}
.p-application-link__contents {
  -webkit-margin-before: calc(var(--gap) * 1);
          margin-block-start: calc(var(--gap) * 1);
}

.p-features__items {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: calc(var(--gap) * 1);
}
.p-features__item {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: calc(var(--gap) * 1) calc(var(--gap) * 1) auto calc(var(--gap) * 1) calc(var(--gap) * 1);
  -ms-grid-columns: calc(var(--gap) * 1) 0 clamp(100px, 20vw, 240px) 0 1fr;
      grid-template: "fig fig ." calc(var(--gap) * 1) "fig fig text" auto "fig fig ." calc(var(--gap) * 1)/calc(var(--gap) * 1) clamp(100px, 20vw, 240px) 1fr;
  gap: calc(var(--gap) * 1) 0;
}
.p-features__item::before {
  content: "";
  display: block;
  background: var(--bgc-suf2);
  border-radius: calc(var(--gap) * 1);
  grid-column: 2/-1;
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  grid-row: 2/3;
}
@media only screen and (max-width: 439px) {
  .p-features__item {
    -ms-grid-rows: auto;
    -ms-grid-columns: calc(var(--gap) * 1) clamp(100px, 20vw, 240px) 1fr;
        grid-template: "fig fig text" auto/calc(var(--gap) * 1) clamp(100px, 20vw, 240px) 1fr;
  }
  .p-features__item > .p-lead__fig {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
  }
}
.p-features__fig {
  -ms-grid-row: 1;
  -ms-grid-row-span: 3;
  -ms-grid-column: 2;
  grid-area: fig;
}
.p-features__item > .p-features__fig {
  -ms-grid-row: 1;
  -ms-grid-row-span: 5;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
}
.p-features__text {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  grid-area: text;
  padding: calc(var(--gap) * 1);
  -ms-grid-row-align: center;
      align-self: center;
  font-size: var(--font-l);
  line-height: 1.5;
}
@media only screen and (max-width: 799px){
  .p-lead__title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-lead__fig {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
  }
  .p-features__fig {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
  }
}
@media only screen and (max-width: 439px){
  .p-features__item > .p-features__fig {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
  }
}
.p-features__text--blue {
  color: var(--bgc-acc1);
}
.p-features__text--red {
  color: #d82828;
}

.p-about__title {
  font-size: var(--font-xl);
  color: #603813;
  line-height: 1.5;
  font-weight: normal;
}
.p-about__contents {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1.61fr 1fr;
  grid-template-columns: 1.61fr 1fr;
}
@media only screen and (max-width: 439px) {
  .p-about__contents {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
.p-about__fig {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.p-about__text {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: calc(var(--gap) * 1);
  font-size: var(--font-m);
  line-height: 1.5;
}
.p-about__button {
  background: var(--bgc-acc1);
  color: var(--bgtc-acc1);
  text-decoration: none;
  display: block;
  max-width: var(--bp-m);
  margin-inline: auto;
  padding: calc(var(--gap) * 0.8) calc(var(--gap) * 2);
  border-radius: calc(var(--gap) * 0.5);
  font-size: var(--font-m);
  text-align: center;
  line-height: 1.3;
}
.p-about__button:hover {
  background: var(--bgc-acc2);
}

.p-top_message__wrap {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: auto calc(var(--gap) * 2) auto;
  -ms-grid-columns: 1fr calc(var(--gap) * 2) 1.61fr;
      grid-template: "headline headline" "aside article" auto/1fr 1.61fr;
  gap: calc(var(--gap) * 2);
}
@media only screen and (max-width: 799px) {
  .p-top_message__wrap {
    -ms-grid-rows: auto auto auto;
    -ms-grid-columns: 1fr;
        grid-template: "headline" "aside" "article" auto/1fr;
  }
}
.p-top_message__headline {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  grid-area: headline;
}
.p-top_message__article {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
  grid-area: article;
}
.p-top_message__text {
  font-size: var(--font-m);
  line-height: 1.8;
  -webkit-margin-after: calc(var(--gap) * 1);
          margin-block-end: calc(var(--gap) * 1);
}
.p-top_message__aside {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  grid-area: aside;
}
@media only screen and (max-width: 799px){
  .p-top_message__headline {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
  .p-top_message__article {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .p-top_message__aside {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
}
.p-top_message__figure {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: calc(var(--gap) * 1);
}
.p-top_message__img {
  -ms-flex-item-align: 1/1;
      -ms-grid-row-align: 1/1;
      align-self: 1/1;
  height: 100%;
  max-width: 50vw;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 100%;
  margin-inline: auto;
  display: block;
}
.p-top_message__figcaption {
  font-size: var(--font-m);
  line-height: 1.5;
  text-align: center;
}

.p-accordion__button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin: 0;
  cursor: pointer;
  display: block;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  text-align: center;
  font: inherit;
  margin-inline: auto 0;
  padding: calc(var(--gap) / 2);
  background: var(--bgc);
  border: 1px solid var(--bgtc);
  color: var(--bgtc);
  font-size: var(--font-m);
  position: relative;
  --arrow-width: 1em;
  --arrow-height: 4px;
  --arrow-skew: 45deg;
  padding-right: calc(var(--arrow-width) * 2);
}
.p-accordion__button::before, .p-accordion__button::after {
  position: absolute;
  top: 50%;
  left: auto;
  content: "";
  width: calc(var(--arrow-width) / 2);
  height: var(--arrow-height);
  background: var(--bgtc);
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
.p-accordion__button::before {
  right: var(--arrow-width);
  -webkit-transform: skewY(var(--arrow-skew));
          transform: skewY(var(--arrow-skew));
}
.p-accordion__button::after {
  right: calc(var(--arrow-width) / 2);
  -webkit-transform: skewY(calc(var(--arrow-skew) * -1));
          transform: skewY(calc(var(--arrow-skew) * -1));
}
.p-accordion__button[aria-expanded=true] {
  --arrow-skew: -45deg;
}
.p-accordion__label {
  text-decoration: none;
  color: var(--bgtc);
}

.p-pagetopanchor__box {
  position: sticky;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  bottom: -2em;
}
@media only screen and (min-width: 1280px) {
  .p-pagetopanchor__box {
    font-size: 1.4rem;
  }
}
.p-pagetopanchor__box {
  font-size: calc(1.2rem + (1vw - 0.32rem) * (0.2085505735));
}
.p-pagetopanchor__box.pcactive {
  bottom: 0;
}
.p-pagetopanchor__btn {
  display: block;
  background: #cddfff;
  color: #007bc7;
  padding: 0.5em;
  line-height: 1;
  text-align: center;
  text-decoration: none;
}
.p-pagetopanchor__btn:hover {
  opacity: 0.6;
}

.p-sitefooter__wrap {
  background: var(--bgc-acc1);
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: auto;
  -ms-grid-columns: 1fr min(var(--bp-xl), 100%) 1fr;
      grid-template: ". limitter ." auto/1fr min(var(--bp-xl), 100%) 1fr;
  padding: calc(var(--gap) * 4) calc(var(--gap) * 1);
}
.p-sitefooter__limitter {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  grid-area: limitter;
}
#top .p-siteheader__wrap > .p-sitefooter__limitter {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}
.p-sitefooter__wrap > .p-sitefooter__limitter {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
}

.p-fnav__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr calc(var(--gap) * 2) 1fr calc(var(--gap) * 2) 1fr calc(var(--gap) * 2) 1fr;
  grid-template-columns: repeat(4, 1fr);
  gap: calc(var(--gap) * 2);
}
@media only screen and (max-width: 799px) {
  .p-fnav__list {
    -ms-grid-columns: 1fr calc(var(--gap) * 1) 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(var(--gap) * 1);
  }
}
.p-fnav__item {
  list-style: none;
}
.p-fnav__link {
  display: -ms-grid;
  display: grid;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  text-decoration: none;
}
.p-fnav__link:hover {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.p-fnav__fig {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: calc(var(--gap) / 2);
}
.p-fnav__figcaption {
  text-align: center;
  color: var(--bgtc-acc1);
  font-size: var(--font-m);
}

/* Utility
   ----------------------------------------------------------------- */
.ouxs {
  display: inherit !important;
}

td.ouxs, th.ouxs {
  display: table-cell !important;
}

.olxs {
  display: none !important;
}

@media only screen and (max-width: 419px) {
  .ouxs {
    display: none !important;
  }
  td.ouxs, th.ouxs {
    display: none !important;
  }
  .olxs {
    display: inherit !important;
  }
  td.olxs, th.olxs {
    display: table-cell !important;
  }
}
.ouxs-s {
  display: inherit !important;
}

td.ouxs-s, th.ouxs-s {
  display: table-cell !important;
}

.olxs-s {
  display: none !important;
}

@media only screen and (min-width: 420px) and (max-width: 439px) {
  .ouxs-s {
    display: none !important;
  }
  td.ouxs-s, th.ouxs-s {
    display: none !important;
  }
  .olxs-s {
    display: inherit !important;
  }
  td.olxs-s, th.olxs-s {
    display: table-cell !important;
  }
}
.ous {
  display: inherit !important;
}

td.ous, th.ous {
  display: table-cell !important;
}

.ols {
  display: none !important;
}

@media only screen and (max-width: 439px) {
  .ous {
    display: none !important;
  }
  td.ous, th.ous {
    display: none !important;
  }
  .ols {
    display: inherit !important;
  }
  td.ols, th.ols {
    display: table-cell !important;
  }
}
.ousmin {
  display: inherit !important;
}

td.ousmin, th.ousmin {
  display: table-cell !important;
}

.olsmin {
  display: none !important;
}

@media only screen and (min-width: 439px) {
  .ousmin {
    display: none !important;
  }
  td.ousmin, th.ousmin {
    display: none !important;
  }
  .olsmin {
    display: inherit !important;
  }
  td.olsmin, th.olsmin {
    display: table-cell !important;
  }
}
.ous-m {
  display: inherit !important;
}

td.ous-m, th.ous-m {
  display: table-cell !important;
}

.ols-m {
  display: none !important;
}

@media only screen and (min-width: 440px) and (max-width: 799px) {
  .ous-m {
    display: none !important;
  }
  td.ous-m, th.ous-m {
    display: none !important;
  }
  .ols-m {
    display: inherit !important;
  }
  td.ols-m, th.ols-m {
    display: table-cell !important;
  }
}
.oum {
  display: inherit !important;
}

td.oum, th.oum {
  display: table-cell !important;
}

.olm {
  display: none !important;
}

@media only screen and (max-width: 799px) {
  .oum {
    display: none !important;
  }
  td.oum, th.oum {
    display: none !important;
  }
  .olm {
    display: inherit !important;
  }
  td.olm, th.olm {
    display: table-cell !important;
  }
}
.oummin {
  display: inherit !important;
}

td.oummin, th.oummin {
  display: table-cell !important;
}

.olmmin {
  display: none !important;
}

@media only screen and (min-width: 799px) {
  .oummin {
    display: none !important;
  }
  td.oummin, th.oummin {
    display: none !important;
  }
  .olmmin {
    display: inherit !important;
  }
  td.olmmin, th.olmmin {
    display: table-cell !important;
  }
}
.oum-l {
  display: inherit !important;
}

td.oum-l, th.oum-l {
  display: table-cell !important;
}

.olm-l {
  display: none !important;
}

@media only screen and (min-width: 800px) and (max-width: 1023px) {
  .oum-l {
    display: none !important;
  }
  td.oum-l, th.oum-l {
    display: none !important;
  }
  .olm-l {
    display: inherit !important;
  }
  td.olm-l, th.olm-l {
    display: table-cell !important;
  }
}
.oul {
  display: inherit !important;
}

td.oul, th.oul {
  display: table-cell !important;
}

.oll {
  display: none !important;
}

@media only screen and (max-width: 1023px) {
  .oul {
    display: none !important;
  }
  td.oul, th.oul {
    display: none !important;
  }
  .oll {
    display: inherit !important;
  }
  td.oll, th.oll {
    display: table-cell !important;
  }
}
.oulmin {
  display: inherit !important;
}

td.oulmin, th.oulmin {
  display: table-cell !important;
}

.ollmin {
  display: none !important;
}

@media only screen and (min-width: 1023px) {
  .oulmin {
    display: none !important;
  }
  td.oulmin, th.oulmin {
    display: none !important;
  }
  .ollmin {
    display: inherit !important;
  }
  td.ollmin, th.ollmin {
    display: table-cell !important;
  }
}
.oul-ul {
  display: inherit !important;
}

td.oul-ul, th.oul-ul {
  display: table-cell !important;
}

.oll-ul {
  display: none !important;
}

@media only screen and (min-width: 1024px) and (max-width: 1279px) {
  .oul-ul {
    display: none !important;
  }
  td.oul-ul, th.oul-ul {
    display: none !important;
  }
  .oll-ul {
    display: inherit !important;
  }
  td.oll-ul, th.oll-ul {
    display: table-cell !important;
  }
}
.ouul {
  display: inherit !important;
}

td.ouul, th.ouul {
  display: table-cell !important;
}

.olul {
  display: none !important;
}

@media only screen and (max-width: 1279px) {
  .ouul {
    display: none !important;
  }
  td.ouul, th.ouul {
    display: none !important;
  }
  .olul {
    display: inherit !important;
  }
  td.olul, th.olul {
    display: table-cell !important;
  }
}
.ouulmin {
  display: inherit !important;
}

td.ouulmin, th.ouulmin {
  display: table-cell !important;
}

.olulmin {
  display: none !important;
}

@media only screen and (min-width: 1280px) {
  .ouulmin {
    display: none !important;
  }
  td.ouulmin, th.ouulmin {
    display: none !important;
  }
  .olulmin {
    display: inherit !important;
  }
  td.olulmin, th.olulmin {
    display: table-cell !important;
  }
}
.oud {
  display: inherit !important;
}

td.oud, th.oud {
  display: table-cell !important;
}

.old {
  display: none !important;
}

@media only screen and (min-width: 1280px) {
  .oud {
    display: none !important;
  }
  td.oud, th.oud {
    display: none !important;
  }
  .old {
    display: inherit !important;
  }
  td.old, th.old {
    display: table-cell !important;
  }
}
.ouh {
  display: inherit !important;
}

td.ouh, th.ouh {
  display: table-cell !important;
}

.olh {
  display: none !important;
}

@media (orientation: landscape) {
  .ouh {
    display: none !important;
  }
  td.ouh, th.ouh {
    display: none !important;
  }
  .olh {
    display: inherit !important;
  }
  td.olh, th.olh {
    display: table-cell !important;
  }
}
.ouv {
  display: inherit !important;
}

td.ouv, th.ouv {
  display: table-cell !important;
}

.olv {
  display: none !important;
}

@media (orientation: portrait) {
  .ouv {
    display: none !important;
  }
  td.ouv, th.ouv {
    display: none !important;
  }
  .olv {
    display: inherit !important;
  }
  td.olv, th.olv {
    display: table-cell !important;
  }
}
.oup {
  display: inherit !important;
}

td.oup, th.oup {
  display: table-cell !important;
}

.olp {
  display: none !important;
}

@media print {
  .oup {
    display: none !important;
  }
  td.oup, th.oup {
    display: none !important;
  }
  .olp {
    display: inherit !important;
  }
  td.olp, th.olp {
    display: table-cell !important;
  }
}
.ml0 {
  margin-left: 0 !important;
}

.dib {
  display: inline-block;
  font-size: inherit;
  color: inherit;
  font-weight: inherit;
}

.displaynone {
  display: none;
}

.wating {
  color: #f00;
  font-weight: bold;
}

.mp {
  text-align: center;
  display: -ms-grid;
  display: grid;
  place-content: center;
}

.mawmc {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin-left: auto;
  margin-right: auto;
}

.maw1 {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}

.maw2 {
  max-width: 1024px;
  margin-left: auto;
  margin-right: auto;
}

.maw3 {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.ggmap,
.youtube {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.ggmap video,
.ggmap iframe,
.ggmap object,
.ggmap embed,
.youtube video,
.youtube iframe,
.youtube object,
.youtube embed {
  aspect-ratio: 1.7777777778;
  max-height: 80vh;
  display: block;
  margin-inline: auto;
  width: 100%;
  height: 100%;
}

.clearfix {
  zoom: 1;
}
.clearfix:before, .clearfix:after {
  content: "";
  display: table;
}
.clearfix:after {
  clear: both;
}

.btnsHoverList > *,
.btnsHover {
  cursor: pointer !important;
}

.px8 {
  font-size: 0.8rem;
}

.px9 {
  font-size: 0.9rem;
}

.px10 {
  font-size: 1rem;
}

.px11 {
  font-size: 1.1rem;
}

.px12 {
  font-size: 1.2rem;
}

.px13 {
  font-size: 1.3rem;
}

.px14 {
  font-size: 1.4rem;
}

.px15 {
  font-size: 1.5rem;
}

.px16 {
  font-size: 1.6rem;
}

.px17 {
  font-size: 1.7rem;
}

.px18 {
  font-size: 1.8rem;
}

.px19 {
  font-size: 1.9rem;
}

.px20 {
  font-size: 2rem;
}

.px21 {
  font-size: 2.1rem;
}

.px22 {
  font-size: 2.2rem;
}

.px23 {
  font-size: 2.3rem;
}

.px24 {
  font-size: 2.4rem;
}

.red {
  color: red;
}

.clear {
  clear: both;
}

.txtAlignC,
.allTxtAlignC th,
.allTxtAlignC td {
  text-align: center;
}

.txtAlignL {
  text-align: left;
}

.txtAlignR,
.tar {
  text-align: right;
}

.vAlignMiddle {
  vertical-align: middle;
  margin: 0 5px;
}

.flr {
  float: right;
}

.fll {
  float: left;
}

.flr,
.fll {
  margin-bottom: calc(var(--gap) * 1);
  max-width: 30%;
  max-width: calc(33.3% - var(--gap) * 1);
}
.flr img,
.fll img {
  width: 100%;
}

@media only screen and (max-width: 1023px) {
  .flr,
  .fll {
    max-width: 33%;
  }
}
ol.zengokakko {
  counter-reset: li;
}
ol.zengokakko li:before {
  counter-increment: li;
  content: "（" counter(li, decimal) "）";
}
ol.zengokakko {
  padding-left: 0;
}
ol.zengokakko > li {
  list-style: none;
  position: relative;
  padding-left: 2.5em;
}
ol.zengokakko > li:before {
  position: absolute;
  left: 0;
  color: #2C2C2C !important;
}

ul.comelist {
  padding-left: 0;
}
ul.comelist > li {
  list-style: none;
  position: relative;
  padding-left: 1.5em;
}
ul.comelist > li:before {
  position: absolute;
  left: 0;
  color: #2C2C2C !important;
}
ul.comelist > li {
  margin-top: 0;
  font-size: 1rem;
}
ul.comelist > li:before {
  content: "※";
}

.tabledl {
  overflow: hidden;
}
.tabledl dt {
  float: left;
}
.tabledl dd {
  margin-bottom: 0.5em;
}
.tabledl.tdl1em dt {
  width: "1em";
}
.tabledl.tdl1em dd {
  margin-left: "1.5em";
}
.tabledl.tdl2em dt {
  width: "2em";
}
.tabledl.tdl2em dd {
  margin-left: "2.5em";
}
.tabledl.tdl3em dt {
  width: "3em";
}
.tabledl.tdl3em dd {
  margin-left: "3.5em";
}
.tabledl.tdl4em dt {
  width: "4em";
}
.tabledl.tdl4em dd {
  margin-left: "4.5em";
}
.tabledl.tdl5em dt {
  width: "5em";
}
.tabledl.tdl5em dd {
  margin-left: "5.5em";
}

.widthbox-1-harf {
  width: 50%;
  margin: auto;
}

.widthbox-3-quarter {
  width: 75%;
  margin: auto;
}

img[src=""] {
  background: #f00;
}

.icon i {
  margin-left: 5px;
}

.fa-file-pdf {
  color: #f21d1d;
}

.fa-file-word {
  color: #121b83;
}

.fa-file-excel {
  color: #0e9a2f;
}

.fa-file-powerpoint {
  color: #ff9300;
}

.fa-clone {
  color: #007bc7;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.sr-only:focus {
  position: static;
  width: auto;
  height: auto;
  padding: initial;
  margin: initial;
  overflow: visible;
  clip: auto;
  white-space: inherit;
}