@charset "UTF-8";
/*USE*/
/*USE*/
/*USE*/
/*USE*/
/*USE*/
/* TRANSPARENT */
/* FONT SIZE */
/* LINE HEIGHT */
/* MARGIN */
/* BREAK POINT */
/* COLUMN WIDTH */
/* BTN SIZE */
/* SHADOW */
/* fonts.css */
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: url("/common/css/fonts/noto-sans-jp-v53-latin-regular.woff2") format("woff2");
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 500;
  src: url("/common/css/fonts/noto-sans-jp-v53-latin-500.woff2") format("woff2");
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 600;
  src: url("/common/css/fonts/noto-sans-jp-v53-latin-600.woff2") format("woff2");
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  src: url("/common/css/fonts/noto-sans-jp-v53-latin-700.woff2") format("woff2");
  font-display: swap;
}
@media (prefers-reduced-motion: no-preference) { /* ここを追加 */
  html:focus-within {
    scroll-behavior: smooth;
  }
}
html {
  min-height: 100vh;
  min-height: 100dvh;
  height: -webkit-fill-available;
  font-size: 100%;
}

body {
  min-height: 100vh;
  min-height: 100dvh;
  font-family: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.02em;
  color: #202124;
  display: flex;
  flex-direction: column;
}
body:has(#loading) {
  overflow: hidden;
}
body.is-fixed {
  overflow: clip;
}
section {
  margin-bottom: 4rem;
}
section:only-child, section:last-child {
  margin-bottom: 0;
}

p {
  margin-bottom: 2rem;
}
p:only-child, p:last-child {
  margin-bottom: 0;
}

ol li,
ul li {
  margin-bottom: 0.5rem;
}
ol.flex li,
ul.flex li {
  margin-bottom: 0;
}

ol li {
  padding-left: 1.5rem;
  position: relative;
}
ol li:first-child::before {
  content: "1.";
}
ol li:nth-of-type(2)::before {
  content: "2.";
}
ol li:nth-of-type(3)::before {
  content: "3.";
}
ol li:nth-of-type(4)::before {
  content: "4.";
}
ol li:nth-of-type(5)::before {
  content: "5.";
}
ol li:nth-of-type(6)::before {
  content: "6.";
}
ol li:nth-of-type(7)::before {
  content: "7.";
}
ol li:nth-of-type(8)::before {
  content: "8.";
}
ol li:nth-of-type(9)::before {
  content: "9.";
}
ol li::before {
  position: absolute;
  top: 0;
  left: 0;
}

img.wideImg, img.autoImg {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}
img.wideImg.f-center, img.autoImg.f-center {
  display: block;
}
img.wideImg.line-2, img.autoImg.line-2 {
  max-width: 48.4%;
}
img.wideImg.line-3, img.autoImg.line-3 {
  max-width: 31.4%;
}
img.wideImg.line-3-wide, img.autoImg.line-3-wide {
  max-width: 65.45%;
}
img.wideImg.line-4, img.autoImg.line-4 {
  max-width: 22.85%;
}
img.wideImg {
  aspect-ratio: 800/450;
}
img.fixedImg {
  width: auto;
  max-width: none;
}

@media screen and (max-width: 47.9375rem) {
  img.autoImg.line-2, img.autoImg.line-3, img.autoImg.line-3-wide, img.autoImg.line-4 {
    max-width: 100%;
  }
}
input[type=date],
input[type=text],
input[type=number],
input[type=tel],
input[type=url],
input[type=email],
select,
textarea {
  width: 100%;
  max-width: 15.625rem;
  height: 2.5rem;
  padding: 0 0.5rem;
  background: #fff;
  font-size: 1rem;
  line-height: normal;
  border: 0.0625rem solid #7aa2b3;
  text-align: left;
  vertical-align: middle;
  outline: none;
  color: #202124;
  border-radius: 0.5rem;
  box-sizing: border-box;
}
input[type=date].is-focus, input[type=date]:focus,
input[type=text].is-focus,
input[type=text]:focus,
input[type=number].is-focus,
input[type=number]:focus,
input[type=tel].is-focus,
input[type=tel]:focus,
input[type=url].is-focus,
input[type=url]:focus,
input[type=email].is-focus,
input[type=email]:focus,
select.is-focus,
select:focus,
textarea.is-focus,
textarea:focus {
  border: 0.125rem solid #1c115a;
}
input[type=date].is-error,
input[type=text].is-error,
input[type=number].is-error,
input[type=tel].is-error,
input[type=url].is-error,
input[type=email].is-error,
select.is-error,
textarea.is-error {
  background: #f6d8d0;
  border: 0.0625rem solid #a00903;
}
input[type=date].is-error.is-focus, input[type=date].is-error:focus,
input[type=text].is-error.is-focus,
input[type=text].is-error:focus,
input[type=number].is-error.is-focus,
input[type=number].is-error:focus,
input[type=tel].is-error.is-focus,
input[type=tel].is-error:focus,
input[type=url].is-error.is-focus,
input[type=url].is-error:focus,
input[type=email].is-error.is-focus,
input[type=email].is-error:focus,
select.is-error.is-focus,
select.is-error:focus,
textarea.is-error.is-focus,
textarea.is-error:focus {
  border: 0.125rem solid #a00903;
}
input[type=date].is-disabled,
input[type=text].is-disabled,
input[type=number].is-disabled,
input[type=tel].is-disabled,
input[type=url].is-disabled,
input[type=email].is-disabled,
select.is-disabled,
textarea.is-disabled {
  background: #F6F6F6;
  border: 0.0625rem solid #727272;
  pointer-events: none;
  -webkit-user-select: none;
  user-select: none;
}
input[type=date].xl,
input[type=text].xl,
input[type=number].xl,
input[type=tel].xl,
input[type=url].xl,
input[type=email].xl,
select.xl,
textarea.xl {
  max-width: 31.25rem;
}
input[type=date].lg,
input[type=text].lg,
input[type=number].lg,
input[type=tel].lg,
input[type=url].lg,
input[type=email].lg,
select.lg,
textarea.lg {
  max-width: 21.875rem;
}
input[type=date].sm,
input[type=text].sm,
input[type=number].sm,
input[type=tel].sm,
input[type=url].sm,
input[type=email].sm,
select.sm,
textarea.sm {
  max-width: 6.25rem;
}
input[type=date].xs,
input[type=text].xs,
input[type=number].xs,
input[type=tel].xs,
input[type=url].xs,
input[type=email].xs,
select.xs,
textarea.xs {
  max-width: 3.5rem;
}
input[type=date].w-full,
input[type=text].w-full,
input[type=number].w-full,
input[type=tel].w-full,
input[type=url].w-full,
input[type=email].w-full,
select.w-full,
textarea.w-full {
  max-width: 100%;
}
input[type=date].auto,
input[type=text].auto,
input[type=number].auto,
input[type=tel].auto,
input[type=url].auto,
input[type=email].auto,
select.auto,
textarea.auto {
  width: auto;
  padding: 0 1rem;
}

input[type=date],
input[type=submit],
input[dojoType=ComboBox],
select,
label,
option {
  cursor: pointer;
}

textarea {
  height: auto;
  min-height: 2.5rem;
  padding: 0.5rem;
}
textarea.line3 {
  min-height: 5.75rem;
}
textarea.line5 {
  min-height: 9.375rem;
}
textarea.line10 {
  min-height: 18.75rem;
}

select {
  padding-right: 2rem !important;
  background-image: url(../images/svg/arrow/bottom_key.svg);
  background-position: right 0.5rem top 1rem;
  background-repeat: no-repeat;
  background-size: 0.875rem auto;
  box-sizing: border-box;
}
select.is-error {
  background-color: #f6d8d0;
  background-position: right 0.5rem top 1rem;
  background-repeat: no-repeat;
  background-size: 0.875rem auto;
}
select.is-disabled {
  cursor: default;
}

label {
  vertical-align: middle;
  display: inline-block;
}
label.is-disabled {
  cursor: auto;
  pointer-events: none;
}

input[type=checkbox],
input[type=radio] {
  width: 0.0625rem;
  height: 0.0625rem;
  /* 透明度0 */
  opacity: 0;
  /* ブラウザのデフォルトのスタイルを削除 */
  -webkit-appearance: none;
  appearance: none;
  /* レイアウトから無視 */
  position: absolute;
}

.inputCheck {
  width: 1.125rem;
  height: 1.125rem;
  margin: 0.125rem 0.125rem 0 0.125rem;
  background: #fff;
  line-height: 1;
  border: 0.0625rem solid #05031d;
  display: inline-block;
  position: relative;
}

input:focus + .inputCheck {
  border: 2px solid #05031d;
}

input[type=checkbox]:checked + .inputCheck::after,
input[type=checkbox].is-indeterminate + .inputCheck::after {
  content: "";
  width: 1.125rem;
  height: 1.125rem;
  display: block;
  position: absolute;
  top: 0.0625rem;
  left: 0.0625rem;
  background-repeat: no-repeat;
}

input[type=checkbox]:checked + .inputCheck::after {
  background-image: url(../images/icon/checkbox.svg);
  background-position: left top;
  background-size: 0.875rem auto;
}

input[type=checkbox].is-indeterminate + .inputCheck::after {
  background-image: url(../images/icon/checkbox_inc.svg);
  background-position: 0.0625rem 0.390625rem;
  background-size: 0.75rem auto;
}

input[type=checkbox]:checked:focus + .inputCheck::after {
  top: 0;
  left: 0;
}

input[type=checkbox].is-error + .inputCheck {
  background-color: #f6d8d0;
  border: 0.0625rem solid #a00903;
}

input[type=checkbox].is-error:focus + .inputCheck {
  border: 0.125rem solid #a00903;
}

input[type=checkbox].is-error:checked + .inputCheck::after {
  background-image: url(../images/icon/checkbox_red.svg);
}

input[type=checkbox]:disabled + .inputCheck {
  background: #F6F6F6;
  border: 0.0625rem solid #e3e3e3;
  cursor: not-allowed;
}

input[type=radio] + .inputCheck {
  border-radius: 50%;
}

input[type=radio]:checked + .inputCheck::after {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  content: "";
  background: #05031d;
  position: absolute;
  top: 0.25rem;
  left: 0.25rem;
}

input[type=radio]:checked:focus + .inputCheck::after {
  top: 0.1875rem;
  left: 0.1875rem;
}

input[type=radio].is-error + .inputCheck {
  background-color: #f6d8d0;
  border: 0.0625rem solid #a00903;
}

input[type=radio].is-error:focus + .inputCheck {
  border: 0.125rem solid #a00903;
}

input[type=radio].is-error:checked + .inputCheck::after {
  background: #a00903;
}

input[type=radio]:disabled + .inputCheck {
  background: #F6F6F6;
  border: 0.0625rem solid #e3e3e3;
  cursor: not-allowed;
}

.errorText {
  display: none;
}

.is-error ~ .errorText {
  display: block;
}

.longSelect,
.editInput {
  width: 100%;
  max-width: 15.625rem;
  min-height: 2.5rem;
  border: 0.0625rem solid #7aa2b3;
  background: #fff;
}
.longSelect.xl,
.editInput.xl {
  max-width: 31.25rem;
}
.longSelect.lg,
.editInput.lg {
  max-width: 21.875rem;
}
.longSelect.sm,
.editInput.sm {
  max-width: 6.25rem;
}
.longSelect.xs,
.editInput.xs {
  max-width: 3.5rem;
}
.longSelect.w-full,
.editInput.w-full {
  max-width: 100%;
}
.longSelect.auto,
.editInput.auto {
  width: auto;
  padding: 0 1rem;
}
.longSelect:focus,
.editInput:focus {
  border: 0.125rem solid #05031d;
}
.longSelect.is-disable,
.editInput.is-disable {
  pointer-events: none;
  border: 0.0625rem solid #e3e3e3 !important;
  color: #e3e3e3;
}

.editInput {
  padding: 0.3125rem 0.5rem 0 0.5rem;
  font-size: 1rem;
  line-height: normal;
  vertical-align: middle;
  text-align: left;
  border-radius: 0.5rem;
  outline: none;
}
.editInput.line1 {
  min-height: 2.5rem;
}
.editInput.line3 {
  min-height: 5.75rem;
}
.editInput.line5 {
  min-height: 9.375rem;
}
.editInput.line10 {
  min-height: 18.75rem;
}

.longSelect {
  margin: 0 0 0.5rem 0;
  padding-top: 0.3125rem;
  border-radius: 0.5rem;
  display: inline-block;
  position: relative;
}
.longSelect.is-disable {
  border: 1px solid #e3e3e3;
}
.longSelect.is-disable button {
  pointer-events: none;
  color: #e3e3e3;
}
.longSelect.is-disable button.selectBtn {
  background: none;
}
.longSelect button {
  width: 100%;
  text-align: left;
  text-decoration: none !important;
}
.longSelect button:hover {
  text-decoration: none !important;
}
.longSelect button.selectBtn {
  min-height: 30px;
  padding: 0 2rem 0 0.5rem;
  background-image: url(../images/svg/arrow/bottom_gray.svg);
  background-position: right 0.3125rem top 0.625rem;
  background-repeat: no-repeat;
  background-size: 1rem auto;
  font-size: 1rem;
  line-height: 1.25;
  vertical-align: middle;
}
.longSelect ul {
  display: none;
}
.longSelect.is-active {
  border-radius: 0.5rem 0.5rem 0 0;
}
.longSelect.is-active button.selectBtn {
  background-image: url(../images/svg/arrow/top_gray.svg);
  background-position: right 0.3125rem top 0.625rem;
  background-repeat: no-repeat;
  background-size: 1rem auto;
}
.longSelect.is-active ul {
  width: 100%;
  margin: 0;
  padding: 0 2rem 2rem 2rem !important;
  background: #fff;
  position: absolute;
  display: block;
  text-align: left;
  border: 0.0625rem solid #727272;
  border-top: none;
  border-radius: 0 0 0.5rem 0.5rem;
  z-index: 100;
  top: -0.0625rem;
  left: -0.0625rem;
}
.longSelect.is-active ul li {
  width: 100%;
  padding: 1rem;
  font-size: 1rem;
  line-height: 1.25;
  border-bottom: 1px solid #e3e3e3;
  display: block;
}

a,
button {
  color: #154d9a;
  pointer-events: auto;
  word-break: break-word;
  overflow-wrap: break-word;
  white-space: normal;
  text-decoration: underline;
}
a:hover,
button:hover {
  text-decoration: none;
}

@media screen and (max-width: 47.9375rem) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
a.noLine,
button.noLine {
  text-decoration: none;
}
a.noLine:focus, a.noLine:hover,
button.noLine:focus,
button.noLine:hover {
  text-decoration: underline;
}
a:focus,
button:focus {
  outline: none;
  background-color: #e6f1fb;
}
a.textBlue, a.textBlack,
button.textBlue,
button.textBlack {
  text-decoration: none;
  font-weight: 550 !important;
  text-decoration: underline;
}
a.textBlue:focus, a.textBlue:hover, a.textBlack:focus, a.textBlack:hover,
button.textBlue:focus,
button.textBlue:hover,
button.textBlack:focus,
button.textBlack:hover {
  text-decoration: none;
}
a.textBlue,
button.textBlue {
  color: #154d9a;
}
a.textBlack,
button.textBlack {
  color: #000;
}
a.textBtn,
button.textBtn {
  font-weight: 550 !important;
}
a.is-active,
button.is-active {
  pointer-events: none;
  color: #05031d;
  font-weight: 500;
}
a.is-disabled,
button.is-disabled {
  pointer-events: none;
  color: #727272;
  text-decoration: none;
}
a.labelType,
button.labelType {
  width: 100%;
  max-width: 6.25rem;
  height: 3rem;
  display: block;
  font-weight: 500;
  text-decoration: none;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
a.labelType:focus, a.labelType:hover,
button.labelType:focus,
button.labelType:hover {
  text-decoration: underline;
}
a.labelType.xs,
button.labelType.xs {
  max-width: 2.5rem;
}
a.labelType.sm,
button.labelType.sm {
  max-width: 4.5rem;
}
a.labelType.lg,
button.labelType.lg {
  max-width: 11.25rem;
}
a.labelType.xl,
button.labelType.xl {
  max-width: 15.625rem;
}
a.labelType.height-sm,
button.labelType.height-sm {
  height: 2.5rem;
}
a.labelType.w-full,
button.labelType.w-full {
  max-width: 100%;
}
a.labelType.w-auto,
button.labelType.w-auto {
  width: auto;
  max-width: auto;
}
a.labelType.main,
button.labelType.main {
  background-color: #05031d;
  color: #fff;
}
a.labelType.sub,
button.labelType.sub {
  border: 0.0625rem solid #05031d;
  color: #05031d;
}
a.labelType.base,
button.labelType.base {
  background-color: #727272;
  color: #F6F6F6;
}
a.labelType.negative,
button.labelType.negative {
  background-color: #e3e3e3;
}
a.labelType.del,
button.labelType.del {
  background-color: #000;
  color: #fff;
}
a.labelType.is-disabled,
button.labelType.is-disabled {
  background-color: #F6F6F6;
  border: 0.0625rem solid #e3e3e3;
}
a.circleType,
button.circleType {
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  text-indent: -9999px;
  overflow: hidden;
}
a.circleType span,
button.circleType span {
  width: 3rem;
  height: 3rem;
  display: block;
}
a.circleType.sm,
button.circleType.sm {
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid #1c115a;
}
a.circleType.main,
button.circleType.main {
  background: #05031d;
}
a.circleType.sub,
button.circleType.sub {
  border: 1px solid #1c115a;
}
a.circleType.sub.is-disabled,
button.circleType.sub.is-disabled {
  border: 1px solid #e3e3e3;
}
a.circleType.is-disabled,
button.circleType.is-disabled {
  background-color: #F6F6F6;
  pointer-events: none;
}
a.circleType.plus span,
button.circleType.plus span {
  background-image: url(../images/svg/icon/plus.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 1.5rem auto;
  display: block;
}
a.circleType.down span,
button.circleType.down span {
  background-image: url(../images/svg/arrow/bottom_gray.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 1.125rem auto;
  display: block;
}
a.circleType.up span,
button.circleType.up span {
  background-image: url(../images/svg/arrow/top_gray.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 1.125rem auto;
  display: block;
}
a.circleType.dotte.is-disabled span,
button.circleType.dotte.is-disabled span {
  background-image: url(../images/svg/icon/dotte_gray.svg);
}
a.circleType.dotte span,
button.circleType.dotte span {
  background-image: url(../images/svg/icon/dotte.svg);
  background-position: 0.3125rem center;
  background-repeat: no-repeat;
  background-size: 1.75rem auto;
  display: block;
}
a .del,
button .del {
  background-image: url(../images/svg/icon/del.svg);
  background-repeat: no-repeat;
}
a .delWhite,
button .delWhite {
  background-image: url(../images/svg/icon/del_white.svg);
  background-repeat: no-repeat;
}
a .copyPlus,
button .copyPlus {
  background-image: url(../images/svg/icon/copy_plus.svg);
  background-repeat: no-repeat;
}
a .add,
button .add {
  background-image: url(../images/svg/icon/add.svg);
  background-repeat: no-repeat;
}
a .remove,
button .remove {
  background-image: url(../images/svg/icon/remove.svg);
  background-repeat: no-repeat;
}
a .addPlus,
button .addPlus {
  background-image: url(../images/svg/icon/add_plus.svg);
  background-repeat: no-repeat;
}
a .edit,
button .edit {
  background-image: url(../images/svg/icon/edit_pen.svg);
  background-repeat: no-repeat;
}
a .calendar,
button .calendar {
  background-image: url(../images/svg/icon/calendar.svg);
  background-repeat: no-repeat;
}
a .upload,
button .upload {
  background-image: url(../images/svg/icon/upload.svg);
  background-repeat: no-repeat;
}
a .download,
button .download {
  background-image: url(../images/svg/icon/download.svg);
  background-repeat: no-repeat;
}
a .del_x,
button .del_x {
  background-image: url(../images/svg/icon/closed.svg);
  background-repeat: no-repeat;
}
a .blank,
button .blank {
  background-image: url(../images/svg/icon/blank.svg);
  background-repeat: no-repeat;
}
a .print,
button .print {
  background-image: url(../images/svg/icon/print.svg);
  background-repeat: no-repeat;
}
a .mail,
button .mail {
  background-image: url(../images/svg/icon/mail.svg);
  background-repeat: no-repeat;
}
a .mailWhite,
button .mailWhite {
  background-image: url(../images/svg/icon/mail_white.svg);
  background-repeat: no-repeat;
}
a .document,
button .document {
  background-image: url(../images/svg/document/document2.svg);
  background-repeat: no-repeat;
}
a .pdf,
button .pdf {
  background-image: url(../images/svg/document/pdf.svg);
  background-repeat: no-repeat;
}
a .xls,
button .xls {
  background-image: url(../images/svg/document/xls.svg);
  background-repeat: no-repeat;
}
a .prev,
button .prev {
  background-image: url(../images/svg/arrow/prev_link.svg);
  background-repeat: no-repeat;
}
a .next,
button .next {
  background-image: url(../images/svg/arrow/next_link.svg);
  background-repeat: no-repeat;
}
a .read-more,
button .read-more {
  background-image: url(../images/svg/arrow/read_more.svg);
  background-repeat: no-repeat;
}
a.iconType,
button.iconType {
  width: 2.5rem;
  min-height: 2.5rem;
  box-sizing: border-box;
}
a.iconType span,
button.iconType span {
  width: 2.4375rem;
  min-height: 2.4375rem;
  text-indent: -9999px;
  display: inline-block;
}
a.iconType.withText,
button.iconType.withText {
  padding-top: 2rem;
}
a.iconType.withText span,
button.iconType.withText span {
  width: 2.5rem;
  line-height: 1;
  text-align: center;
  font-size: 0.75rem;
  color: #000;
  display: inline-block;
  text-indent: 0;
}
a.iconType.withText:hover span,
button.iconType.withText:hover span {
  text-decoration: underline;
}
a.iconType .del,
a.iconType .delWhite,
button.iconType .del,
button.iconType .delWhite {
  background-position: center center;
  background-size: auto 1.75rem;
}
a.iconType .copyPlus,
button.iconType .copyPlus {
  background-position: center center;
  background-size: auto 1.875rem;
}
a.iconType .add,
button.iconType .add {
  background-position: center center;
  background-size: 1.75rem auto;
}
a.iconType .remove,
button.iconType .remove {
  background-position: center center;
  background-size: 1.75rem auto;
}
a.iconType .addPlus,
button.iconType .addPlus {
  background-position: 1px center;
  background-size: 1.5rem auto;
}
a.iconType .edit,
button.iconType .edit {
  background-position: center top;
  background-size: 1.5rem auto;
}
a.iconType .calendar,
button.iconType .calendar {
  background-position: center 0.3125rem;
  background-size: auto 1.5rem;
}
a.iconType .upload,
button.iconType .upload {
  background-position: center 0.1875rem;
  background-size: 1.75rem auto;
}
a.iconType .del_x,
button.iconType .del_x {
  width: 1.75rem;
  height: 1.75rem;
  min-height: auto;
  background-position: center center;
  background-size: 1.375rem auto;
  text-indent: -9999px;
}
a .icon,
button .icon {
  padding-right: 1.875rem;
}
a .icon.read-more, a .icon.next,
button .icon.read-more,
button .icon.next {
  padding-right: 1.375rem;
}
a .icon.prev,
button .icon.prev {
  padding-right: 0;
  padding-left: 1.375rem;
}
a .icon.del, a .icon.delWhite,
button .icon.del,
button .icon.delWhite {
  background-position: center right 0;
  background-size: auto 1.375rem;
}
a .icon.copyPlus,
button .icon.copyPlus {
  background-position: top right 0;
  background-size: auto 1.5625rem;
}
a .icon.add,
button .icon.add {
  background-position: top 0.25rem right 0;
  background-size: 1.375rem auto;
}
a .icon.remove,
button .icon.remove {
  background-position: top 0.25rem right 0;
  background-size: 1.375rem auto;
}
a .icon.addPlus,
button .icon.addPlus {
  background-position: center right 0;
  background-size: 1.5rem auto;
}
a .icon.edit,
button .icon.edit {
  background-position: center right 0;
  background-size: 1.5rem auto;
}
a .icon.calendar,
button .icon.calendar {
  background-position: center right 0;
  background-size: auto 1.25rem;
}
a .icon.upload,
button .icon.upload {
  background-position: center right 0;
  background-size: 1.25rem auto;
}
a .icon.download,
button .icon.download {
  background-position: center right 0;
  background-size: 1.25rem auto;
}
a .icon.del_x,
button .icon.del_x {
  background-position: center right 0;
  background-size: 1.25rem auto;
}
a .icon.blank,
button .icon.blank {
  background-position: center right 0;
  background-size: auto 1.25rem;
}
a .icon.print,
button .icon.print {
  background-position: top 0.3125rem right 0;
  background-size: 1.5rem auto;
}
a .icon.mailWhite, a .icon.mail,
button .icon.mailWhite,
button .icon.mail {
  background-position: top 0.1875rem right 0;
  background-size: 1.5rem auto;
}
a .icon.document,
button .icon.document {
  background-position: top right 0;
  background-size: auto 1.375rem;
}
a .icon.read-more,
button .icon.read-more {
  background-position: top 0.375rem right 0.375rem;
  background-size: auto 0.875rem;
}
a .icon.xls, a .icon.pdf,
button .icon.xls,
button .icon.pdf {
  background-position: top right 0;
  background-size: auto 1.5rem;
}
a .icon.prev,
button .icon.prev {
  background-position: top 0.375rem left 0.375rem;
  background-size: auto 0.875rem;
}
a .icon.next,
button .icon.next {
  background-position: top 0.375rem right 0.375rem;
  background-size: auto 0.875rem;
}

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

h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: inherit;
  font-family: "Noto Sans JP", sans-serif;
}
h1.text-lg, h2.text-lg, h3.text-lg, h4.text-lg, h5.text-lg, h6.text-lg {
  letter-spacing: 0.02em;
}
h1.text-xl, h2.text-xl, h3.text-xl, h4.text-xl, h5.text-xl, h6.text-xl {
  letter-spacing: 0.01em;
}
h1.text-2xl, h2.text-2xl, h3.text-2xl, h4.text-2xl, h5.text-2xl, h6.text-2xl {
  letter-spacing: 0;
}
h1.text-3xl, h2.text-3xl, h3.text-3xl, h4.text-3xl, h5.text-3xl, h6.text-3xl {
  letter-spacing: -0.01em;
}
h1.text-4xl, h2.text-4xl, h3.text-4xl, h4.text-4xl, h5.text-4xl, h6.text-4xl {
  letter-spacing: -0.02em;
}
h1.text-5xl, h2.text-5xl, h3.text-5xl, h4.text-5xl, h5.text-5xl, h6.text-5xl {
  letter-spacing: -0.02em;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  text-decoration: none;
  color: inherit;
}

/*
Tailwind CSS に可能な範囲でクラス名を合せてます。

*/
/* FONT */
.text-xs {
  font-size: 0.75rem !important; /* 12px */
  line-height: 1.25 !important; /* 1.25 */
}

.text-2sm {
  font-size: 0.8125rem !important; /* 13px */
  line-height: 1.25 !important; /* 1.25 */
}

.text-sm {
  font-size: 0.875rem !important; /* 14px */
  line-height: 1.25 !important; /* 1.25 */
}

.text-base {
  font-size: 1rem !important; /* 16px */
  line-height: 1.75 !important; /* 1.75 */
}

.text-lg {
  font-size: 1.125rem !important; /* 18px */
  line-height: 1.5 !important; /* 1.5 */
}
.text-lg.hi {
  line-height: 1.75 !important; /* 1.75 */
}

.text-xl {
  font-size: 1.25rem !important; /* 20px */
  line-height: 1.5 !important; /* 1.5 */
}

.text-2xl {
  font-size: 1.5rem !important; /* 24px */
  line-height: 1.5 !important; /* 1.5 */
}

.text-3xl {
  font-size: 1.875rem !important; /* 30px */
  line-height: 1.25 !important; /* 1.25 */
}

.text-4xl {
  font-size: 2.25rem !important; /* 36px */
  line-height: 1.25 !important; /* 1.25 */
}

.text-5xl {
  font-size: 3rem !important; /* 48px */
  line-height: 1.25 !important; /* 1.25 */
}

@media screen and (max-width: 47.9375rem) {
  .text-3xl {
    font-size: 1.75rem !important; /* 28px */
  }
  .text-4xl {
    font-size: 2rem !important; /* 32px */
  }
  .text-5xl {
    font-size: 2.25rem !important; /* 36px */
  }
}
.font-normal {
  font-weight: 400 !important;
}

.font-medium {
  font-weight: 500 !important;
}

.font-semibold {
  font-weight: 600 !important;
}

.font-bold {
  font-weight: 700 !important;
}

/* TEXT */
.text-left {
  text-align: left !important;
}

.text-center {
  text-align: center !important;
}

.text-right {
  text-align: right !important;
}

/* COLOR */
.attention {
  color: #a00903;
}

.key-color {
  color: #05031d;
}

.sub-color {
  color: #1c115a;
}

/* FLOAT */
.float-left {
  float: left !important;
}

.float-right {
  float: right !important;
}

.float-none {
  float: none !important;
}

.f-center {
  margin: 0 auto !important;
}

.cf:before,
.cf:after {
  content: "";
  display: table !important;
}

.cf:after {
  clear: both !important;
}

.cf {
  zoom: 1 !important; /* for IE6/7 */
}

@media screen and (max-width: 47.9375rem) {
  .sp-clear .float-left {
    float: none !important;
  }
  .sp-clear .float-right {
    float: none !important;
  }
}
/* WIDTH */
.w-auto {
  width: auto !important;
}

.w-1-2 {
  width: 49% !important;
}

.w-1-3 {
  width: 32% !important;
}

.w-2-3 {
  width: 66.666667% !important;
}

.w-1-4 {
  width: 25% !important;
}

.w-2-4 {
  width: 50% !important;
}

.w-3-4 {
  width: 75% !important;
}

.w-full {
  width: 100% !important;
}

.w-15 {
  width: 15% !important;
}

@media screen and (max-width: 47.9375rem) {
  .sp-w-auto {
    width: auto !important;
  }
  .sp-w-full {
    width: 100% !important;
  }
}
.base-wide {
  width: 71.5rem;
  box-sizing: border-box;
}

@media screen and (max-width: 64rem) {
  .base-wide {
    width: 64rem;
  }
}
@media screen and (max-width: 47.9375rem) {
  .base-wide {
    width: 100%;
  }
}
/* MARGIN */
.m-0 {
  margin: 0;
}

.mb-2 {
  margin-bottom: 0.5rem !important;
}

.mb-3 {
  margin-bottom: 0.75rem !important;
}

.mb-4 {
  margin-bottom: 1rem !important;
}

.mb-8 {
  margin-bottom: 2rem !important;
}

.mb-12 {
  margin-bottom: 3rem !important;
}

.mb-16 {
  margin-bottom: 4rem !important;
}

.ml-2 {
  margin-left: 0.5rem !important;
}

.ml-4 {
  margin-left: 1rem !important;
}

.ml-8 {
  margin-left: 2rem !important;
}

.ml-16 {
  margin-left: 4rem !important;
}

.m-auto {
  margin: auto !important;
}

.mb-auto {
  margin-bottom: auto !important;
}

.ml-auto {
  margin-left: auto !important;
}

.my-auto {
  margin-top: auto;
  margin-top: auto !important;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto !important;
}

/* PADDING */
.p-0 {
  padding: 0 !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.p-4 {
  padding: 1rem !important;
}

.pb-2 {
  padding-bottom: 0.5rem !important;
}

.pb-4 {
  padding-bottom: 1rem !important;
}

.pb-8 {
  padding-bottom: 2rem !important;
}

.pl-0 {
  padding-left: 0 !important;
}

.pl-2 {
  padding-left: 0.5rem !important;
}

.pl-4 {
  padding-left: 1rem !important;
}

.pl-8 {
  padding-left: 2rem !important;
}

.pt-8 {
  padding-top: 2rem !important;
}

.px-0 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.px-2 {
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}

.px-4 {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.py-2 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.py-4 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

/* DISPLAY */
.d-block {
  display: block !important;
}

.inline-block {
  display: inline-block !important;
}

.inline {
  display: inline !important;
}

.sp-d-block,
.tb-d-block,
.d-none,
.pc-d-none,
.sp-d-inlineblock,
.tb-d-inlineblock {
  display: none !important;
}

@media screen and (max-width: 64rem) {
  /* 1024px以下に適用されるCSS（タブレット用） */
  .tb-d-none {
    display: none !important;
  }
  .tb-d-block {
    display: block !important;
  }
  .tb-d-inlineblock {
    display: inline-block !important;
  }
  .pc-d-none {
    display: block !important;
  }
}
@media screen and (max-width: 47.9375rem) {
  /* 812px以下に適用されるCSS（スマホ用） */
  .sp-d-none {
    display: none !important;
  }
  .sp-d-block {
    display: block !important;
  }
  .sp-d-inlineblock {
    display: inline-block !important;
  }
}
.radius {
  border-radius: 0.5rem;
}

.bg-key {
  background: #05031d !important;
}

.bg-sub {
  background: #1c115a !important;
}

.bg-point {
  background: #e71f19 !important;
}

.bg-color {
  background: #e5ecf0 !important;
}

.bg-hiligh {
  background: #dff0fa !important;
}

.bg-active {
  background: #374f63 !important;
}

.bg-black {
  background: #000 !important;
}

.bg-text {
  background: #202124 !important;
}

.bg-gray-dark {
  background: #727272 !important;
}

.bg-gray {
  background: #e3e3e3 !important;
}

.bg-gray-bright {
  background: #F6F6F6 !important;
}

.bg-white {
  background: #fff !important;
}

.bg-btn {
  background: #63221d !important;
}

.bg-btn-dark {
  background: #7c211b !important;
}

.bg-btn-bright {
  background: #f8f1f0 !important;
}

.bg-link {
  background: #154d9a !important;
}

.bg-link-hover {
  background: #e6f1fb !important;
}

.bg-caution {
  background: #a00903 !important;
}

.bg-caution-hiligh {
  background: #f6d8d0 !important;
}

.bg-element-dark {
  background: #7aa2b3 !important;
}

.underline {
  border-bottom: 1px solid #e3e3e3;
}

.underline-dark {
  border-bottom: 1px solid #727272;
}

@-moz-document url-prefix() {
  #loading {
    display: none;
  }
}
#loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #1c115a;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 30px auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transition: all 0.3s;
  z-index: 9999;
}

.loader {
  width: 1em;
  height: 1em;
  border-radius: 50%;
  position: relative;
  text-indent: -9999em;
  -webkit-animation: load5 1.1s infinite ease;
  animation: load5 1.1s infinite ease;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
}

@-webkit-keyframes load5 {
  0%, 100% {
    box-shadow: 0em -2.6em 0em 0em #ffffff, 1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2), 2.5em 0em 0 0em rgba(255, 255, 255, 0.2), 1.75em 1.75em 0 0em rgba(255, 255, 255, 0.2), 0em 2.5em 0 0em rgba(255, 255, 255, 0.2), -1.8em 1.8em 0 0em rgba(255, 255, 255, 0.2), -2.6em 0em 0 0em rgba(255, 255, 255, 0.5), -1.8em -1.8em 0 0em rgba(255, 255, 255, 0.7);
  }
  12.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.7), 1.8em -1.8em 0 0em #ffffff, 2.5em 0em 0 0em rgba(255, 255, 255, 0.2), 1.75em 1.75em 0 0em rgba(255, 255, 255, 0.2), 0em 2.5em 0 0em rgba(255, 255, 255, 0.2), -1.8em 1.8em 0 0em rgba(255, 255, 255, 0.2), -2.6em 0em 0 0em rgba(255, 255, 255, 0.2), -1.8em -1.8em 0 0em rgba(255, 255, 255, 0.5);
  }
  25% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.5), 1.8em -1.8em 0 0em rgba(255, 255, 255, 0.7), 2.5em 0em 0 0em #ffffff, 1.75em 1.75em 0 0em rgba(255, 255, 255, 0.2), 0em 2.5em 0 0em rgba(255, 255, 255, 0.2), -1.8em 1.8em 0 0em rgba(255, 255, 255, 0.2), -2.6em 0em 0 0em rgba(255, 255, 255, 0.2), -1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2);
  }
  37.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.2), 1.8em -1.8em 0 0em rgba(255, 255, 255, 0.5), 2.5em 0em 0 0em rgba(255, 255, 255, 0.7), 1.75em 1.75em 0 0em #ffffff, 0em 2.5em 0 0em rgba(255, 255, 255, 0.2), -1.8em 1.8em 0 0em rgba(255, 255, 255, 0.2), -2.6em 0em 0 0em rgba(255, 255, 255, 0.2), -1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2);
  }
  50% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.2), 1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2), 2.5em 0em 0 0em rgba(255, 255, 255, 0.5), 1.75em 1.75em 0 0em rgba(255, 255, 255, 0.7), 0em 2.5em 0 0em #ffffff, -1.8em 1.8em 0 0em rgba(255, 255, 255, 0.2), -2.6em 0em 0 0em rgba(255, 255, 255, 0.2), -1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2);
  }
  62.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.2), 1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2), 2.5em 0em 0 0em rgba(255, 255, 255, 0.2), 1.75em 1.75em 0 0em rgba(255, 255, 255, 0.5), 0em 2.5em 0 0em rgba(255, 255, 255, 0.7), -1.8em 1.8em 0 0em #ffffff, -2.6em 0em 0 0em rgba(255, 255, 255, 0.2), -1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2);
  }
  75% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.2), 1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2), 2.5em 0em 0 0em rgba(255, 255, 255, 0.2), 1.75em 1.75em 0 0em rgba(255, 255, 255, 0.2), 0em 2.5em 0 0em rgba(255, 255, 255, 0.5), -1.8em 1.8em 0 0em rgba(255, 255, 255, 0.7), -2.6em 0em 0 0em #ffffff, -1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2);
  }
  87.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.2), 1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2), 2.5em 0em 0 0em rgba(255, 255, 255, 0.2), 1.75em 1.75em 0 0em rgba(255, 255, 255, 0.2), 0em 2.5em 0 0em rgba(255, 255, 255, 0.2), -1.8em 1.8em 0 0em rgba(255, 255, 255, 0.5), -2.6em 0em 0 0em rgba(255, 255, 255, 0.7), -1.8em -1.8em 0 0em #ffffff;
  }
}
@keyframes load5 {
  0%, 100% {
    box-shadow: 0em -2.6em 0em 0em #ffffff, 1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2), 2.5em 0em 0 0em rgba(255, 255, 255, 0.2), 1.75em 1.75em 0 0em rgba(255, 255, 255, 0.2), 0em 2.5em 0 0em rgba(255, 255, 255, 0.2), -1.8em 1.8em 0 0em rgba(255, 255, 255, 0.2), -2.6em 0em 0 0em rgba(255, 255, 255, 0.5), -1.8em -1.8em 0 0em rgba(255, 255, 255, 0.7);
  }
  12.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.7), 1.8em -1.8em 0 0em #ffffff, 2.5em 0em 0 0em rgba(255, 255, 255, 0.2), 1.75em 1.75em 0 0em rgba(255, 255, 255, 0.2), 0em 2.5em 0 0em rgba(255, 255, 255, 0.2), -1.8em 1.8em 0 0em rgba(255, 255, 255, 0.2), -2.6em 0em 0 0em rgba(255, 255, 255, 0.2), -1.8em -1.8em 0 0em rgba(255, 255, 255, 0.5);
  }
  25% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.5), 1.8em -1.8em 0 0em rgba(255, 255, 255, 0.7), 2.5em 0em 0 0em #ffffff, 1.75em 1.75em 0 0em rgba(255, 255, 255, 0.2), 0em 2.5em 0 0em rgba(255, 255, 255, 0.2), -1.8em 1.8em 0 0em rgba(255, 255, 255, 0.2), -2.6em 0em 0 0em rgba(255, 255, 255, 0.2), -1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2);
  }
  37.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.2), 1.8em -1.8em 0 0em rgba(255, 255, 255, 0.5), 2.5em 0em 0 0em rgba(255, 255, 255, 0.7), 1.75em 1.75em 0 0em #ffffff, 0em 2.5em 0 0em rgba(255, 255, 255, 0.2), -1.8em 1.8em 0 0em rgba(255, 255, 255, 0.2), -2.6em 0em 0 0em rgba(255, 255, 255, 0.2), -1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2);
  }
  50% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.2), 1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2), 2.5em 0em 0 0em rgba(255, 255, 255, 0.5), 1.75em 1.75em 0 0em rgba(255, 255, 255, 0.7), 0em 2.5em 0 0em #ffffff, -1.8em 1.8em 0 0em rgba(255, 255, 255, 0.2), -2.6em 0em 0 0em rgba(255, 255, 255, 0.2), -1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2);
  }
  62.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.2), 1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2), 2.5em 0em 0 0em rgba(255, 255, 255, 0.2), 1.75em 1.75em 0 0em rgba(255, 255, 255, 0.5), 0em 2.5em 0 0em rgba(255, 255, 255, 0.7), -1.8em 1.8em 0 0em #ffffff, -2.6em 0em 0 0em rgba(255, 255, 255, 0.2), -1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2);
  }
  75% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.2), 1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2), 2.5em 0em 0 0em rgba(255, 255, 255, 0.2), 1.75em 1.75em 0 0em rgba(255, 255, 255, 0.2), 0em 2.5em 0 0em rgba(255, 255, 255, 0.5), -1.8em 1.8em 0 0em rgba(255, 255, 255, 0.7), -2.6em 0em 0 0em #ffffff, -1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2);
  }
  87.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.2), 1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2), 2.5em 0em 0 0em rgba(255, 255, 255, 0.2), 1.75em 1.75em 0 0em rgba(255, 255, 255, 0.2), 0em 2.5em 0 0em rgba(255, 255, 255, 0.2), -1.8em 1.8em 0 0em rgba(255, 255, 255, 0.5), -2.6em 0em 0 0em rgba(255, 255, 255, 0.7), -1.8em -1.8em 0 0em #ffffff;
  }
}
.toContents {
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
}
.toContents:focus {
  width: 100%;
  height: auto !important;
  padding: 0.25rem 0.5rem;
  background: #1c115a;
  font-size: 0.875rem;
  color: #fff;
  overflow: auto !important;
  position: static !important;
  display: block;
}

.mainWidth {
  width: 71.5rem;
  margin: 0 auto;
}

@media screen and (max-width: 64rem) {
  .mainWidth {
    width: calc(100% - 2rem);
    margin: 0 1rem;
  }
}
.flex {
  display: flex !important;
  flex-wrap: wrap;
}
.flex.flex-row {
  flex-direction: row !important;
}
.flex.flex-row-reverse {
  flex-direction: row-reverse !important;
}
.flex.flex-col {
  flex-direction: column !important;
}
.flex.flex-wrap {
  flex-wrap: wrap !important;
}
.flex.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}
.flex.flex-nowrap {
  flex-wrap: nowrap !important;
}
.flex.justify-start {
  justify-content: flex-start !important;
}
.flex.justify-end {
  justify-content: flex-end !important;
}
.flex.justify-center {
  justify-content: center !important;
}
.flex.justify-between {
  justify-content: space-between !important;
}
.flex.items-start {
  align-items: flex-start !important;
}
.flex.items-end {
  align-items: flex-end !important;
}
.flex.items-center {
  align-items: center !important;
}
.flex.items-baseline {
  align-items: baseline !important;
}
.flex.items-stretch {
  align-items: stretch !important;
}
.flex.gap-2 {
  gap: 0.5rem !important;
}
.flex.gap-4 {
  gap: 1rem !important;
}
.flex.gap-8 {
  gap: 2rem !important;
}
.flex.gap-16 {
  gap: 4rem !important;
}
.flex.gap-x-2 {
  column-gap: 0.5rem !important;
}
.flex.gap-x-4 {
  column-gap: 1rem !important;
}
.flex.gap-x-8 {
  column-gap: 2rem !important;
}
.flex.gap-x-16 {
  column-gap: 4rem !important;
}
.flex.gap-y-2 {
  row-gap: 0.5rem !important;
}
.flex.gap-y-4 {
  row-gap: 1rem !important;
}
.flex.gap-y-8 {
  row-gap: 2rem !important;
}
.flex.gap-y-16 {
  row-gap: 4rem !important;
}

.line-2 {
  flex: 1 1 48.4%;
  max-width: 48.4%;
}

.line-3 {
  flex: 1 1 31.4%;
  max-width: 31.4%;
}

.line-3-wide {
  flex: 1 1 65.45%;
  max-width: 65.45%;
}

.line-4 {
  flex: 1 1 22.85%;
  max-width: 22.85%;
}

.line-5 {
  flex: 1 1 15%;
  max-width: 15%;
}

.line-auto {
  flex: 1 1 0;
  min-width: 0;
}

@media screen and (max-width: 47.9375rem) {
  .flex:not(.keep-row) {
    display: block;
  }
  .flex:not(.keep-row) > * {
    flex: none;
    width: 100%;
    max-width: 100%;
  }
  .flex > .line-4.gap-2 {
    gap: 0.25rem !important;
  }
  .flex > .line-4.gap-4 {
    gap: 0.5rem !important;
  }
  .flex > .line-4.gap-8 {
    gap: 0.75rem !important;
  }
  .flex > .line-4 .line-4 {
    flex: 1 1 48.4%;
    max-width: 48.4%;
  }
}
.card.shadow > * {
  box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.15);
}
.card.line > * {
  border: 1px solid #e3e3e3;
}
.card.fill > * {
  background: #e5ecf0 !important;
}
.card.radius > * {
  border-radius: 0.5rem;
}
.card.hover a:hover {
  background-color: #e6f1fb;
}
.card a {
  padding: 1rem;
  display: block;
  color: #202124;
  text-decoration: none;
}
.card a:hover {
  text-decoration: none;
}
.card a:hover p {
  text-decoration: underline;
}

ul .meta {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
ul .meta time {
  font-size: 0.875rem;
}
ul.typeA li {
  padding-left: 1rem;
  position: relative;
}
ul.typeA li::before {
  width: 1rem;
  height: 1rem;
  content: "・";
  color: #1c115a;
  position: absolute;
  top: 0;
  left: 0;
}
ul.typeB li {
  padding-left: 1.25rem;
  position: relative;
}
ul.typeB li::before {
  width: 1.25rem;
  height: 1.25rem;
  content: "";
  background-image: url(../images/icon/checkbox.svg);
  background-position: left top;
  background-size: 0.875rem auto;
  background-repeat: no-repeat;
  position: absolute;
  top: 0.5rem;
  left: 0;
}
ul.indexList li {
  margin-bottom: 0;
}
ul.indexList li .indexBox,
ul.indexList li a {
  padding: 1rem;
  border-bottom: 1px solid #e3e3e3;
  display: block;
  color: #000;
  text-decoration: none;
}
ul.indexList li .indexBox:hover,
ul.indexList li a:hover {
  background: #e6f1fb;
}
ul.indexList li .indexBox:hover span,
ul.indexList li a:hover span {
  text-decoration: none;
}
ul.toc li {
  text-align: left;
}
ul.toc li a {
  padding-left: 1.25rem;
  background: url(../images/svg/arrow/bottom_gray.svg) left 0.5rem no-repeat;
  background-size: 0.75rem auto;
  text-decoration: none;
  color: #000;
}
ul.toc li a:hover, ul.toc li a:focus {
  text-decoration: underline;
}

dl.typeA {
  display: grid;
  grid-template-columns: 15% 1fr;
  padding-bottom: 2rem;
}
dl.typeA.w-line-4 {
  grid-template-columns: 22.85% 1fr;
}
dl.typeA.w-line-3 {
  grid-template-columns: 31.4% 1fr;
}
dl.qa {
  padding-bottom: 2rem;
}
dl.qa .question {
  margin-bottom: 0.5rem;
  padding-left: 2.5rem;
  font-size: 1.125rem;
  font-weight: 500;
  position: relative;
}
dl.qa .question::before {
  content: "Q.";
  width: 2rem;
  height: 2rem;
  font-size: 1.875rem;
  color: #05031d;
  position: absolute;
  top: -1rem;
  left: 0;
}
dl.qa .answer {
  margin-bottom: 1rem;
  margin-left: 1.5rem;
  padding: 1rem;
  background: #fff;
}

@media screen and (max-width: 47.9375rem) {
  dl.typeA {
    display: block;
  }
}
.tableWrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.tableWrap table {
  width: max-content;
  min-width: 100%;
  table-layout: auto;
}
.tableWrap table th,
.tableWrap table td {
  min-width: 3rem;
  word-break: normal;
  overflow-wrap: normal;
}

table {
  table-layout: fixed;
}
table.hover tr:hover {
  background: #dff0fa;
}
table th,
table td {
  padding: 0.5rem;
  overflow-wrap: anywhere;
}
table.typeA thead th {
  border-bottom: 1px solid #727272;
}
table.typeA tbody th,
table.typeA tbody td {
  border-bottom: 1px solid #e3e3e3;
}
table.typeB {
  border-top: 1px solid #727272;
  border-right: 1px solid #727272;
}
table.typeB thead th {
  background: #e5ecf0;
  text-align: center;
  border-left: 1px solid #e3e3e3;
  border-bottom: 1px solid #727272;
  font-weight: 500;
}
table.typeB thead th:first-child {
  border-left: 1px solid #727272;
}
table.typeB tbody td {
  border-left: 1px solid #e3e3e3;
  border-bottom: 1px solid #e3e3e3;
}
table.typeB tbody td:first-child {
  border-left: 1px solid #727272;
}
table.typeB tbody tr:last-child td {
  border-bottom: 1px solid #727272;
}
table.typeC th {
  background: #e5ecf0;
  border-bottom: 1px solid #727272;
  font-weight: 500;
}
table.typeC td {
  border-bottom: 1px solid #e3e3e3;
}
table.typeD th {
  border-bottom: 1px solid #727272;
  font-weight: 500;
}
table.typeD thead th {
  background: #e5ecf0;
}
table.typeD tbody th {
  border-bottom: 1px solid #e3e3e3;
}
table.typeD td {
  border-bottom: 1px solid #e3e3e3;
}

.summary {
  padding: 2rem;
  line-height: 1.5; /* 1.5 */
  position: relative;
  box-sizing: border-box;
}
.summary.line {
  border: 1px solid #e3e3e3;
}
.summary.fill {
  background: #e5ecf0 !important;
}
.summary.inner {
  background: #F6F6F6 !important;
}
.summary.cta {
  background: #F6F6F6 !important;
}

.label {
  width: 6.25rem;
  padding: 0.25rem 0.5rem;
  background: #727272;
  display: inline-block;
  color: #fff;
  font-size: 0.875rem;
  line-height: 1;
  text-align: center;
  box-sizing: border-box;
}
.label.w-auto {
  width: auto;
  padding: 0.25rem;
}
.label.w-xs {
  padding: 0.25rem 0.125rem;
  width: 4.5rem;
  font-size: 0.75rem;
}

.bgPop {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
  display: none;
  cursor: pointer;
}
.bgPop.is-active {
  display: block;
}

.cookie-banner {
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 9999;
  width: 100%;
  box-sizing: border-box;
  padding: 1.875rem 0 1.75rem;
  background: #fff;
  border-top: 0.0625rem solid #e3e3e3;
  font-size: 0.875rem;
  transform: translateY(0);
  transition: transform 0.35s ease;
}

.cookie-banner[hidden] {
  display: flex; /* hidden標準のdisplay:noneを打ち消す */
  transform: translateY(100%);
  pointer-events: none;
}

.cookie-close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 9999;
}

@media (max-width: 47.9375rem) {
  .cookie-banner {
    padding: 2.5rem 1.25rem;
    display: block;
  }
  .cookie-actions {
    margin-top: 1rem;
    flex-wrap: wrap;
  }
  .cookie-close {
    top: 0;
    right: 0.5rem;
  }
}
.cookie-setting-panel {
  position: fixed;
  inset: 0;
  z-index: 10000;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
}

.cookie-setting-panel[hidden] {
  display: none;
}

.headerWrap {
  background: #fff;
  border-bottom: 0.0625rem solid #e3e3e3;
  position: sticky;
  top: 0;
  z-index: 1200;
}
.headerWrap.is-scroll {
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.15);
}
.headerWrap.is-scroll .header {
  width: 71.5rem;
  height: 3.5rem;
}
.headerWrap.is-scroll .header .logo {
  margin-top: 0.5rem;
}
.headerWrap .header {
  width: 71.5rem;
  height: 5.25rem;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
.headerWrap .header .logo {
  width: 215px;
  height: 40px;
  margin-top: 1.25rem;
  display: block;
  color: #000;
  box-sizing: border-box;
  background: url(../../temp/images/svg/logo.svg) left center no-repeat;
  background-size: auto 30px;
  text-decoration: none;
}
.headerWrap .header .logo .mainTitle {
  margin-left: 2rem;
  font-size: 1.125rem;
  font-weight: 550;
  display: block;
}
.headerWrap .header .logo:focus {
  background-color: #e6f1fb;
}
.headerWrap .header .headerNav {
  display: flex;
  flex-direction: column-reverse;
  justify-content: center;
}
.headerWrap .header .headerNav .gNav > ul,
.headerWrap .header .headerNav .sNav > ul {
  display: flex;
  justify-content: flex-end;
}
.headerWrap .header .headerNav .gNav > ul li a,
.headerWrap .header .headerNav .sNav > ul li a {
  font-size: 0.875rem;
  color: #000;
  display: block;
}
.headerWrap .header .headerNav .gNav > ul li a.is-disabled,
.headerWrap .header .headerNav .sNav > ul li a.is-disabled {
  color: #727272;
}
.headerWrap .header .headerNav .gNav > ul {
  gap: 1.5rem;
}
.headerWrap .header .headerNav .gNav > ul li a {
  font-weight: 600;
}
.headerWrap .header .headerNav .sNav > ul {
  gap: 0.75rem;
}
.headerWrap .header .headerNav .sNav > ul li a {
  font-size: 0.875rem;
}
.headerWrap .header .hamburgerClosed,
.headerWrap .header .hamburger {
  display: none;
}

@media screen and (max-width: 47.9375rem) {
  .headerWrap {
    position: static;
  }
  .headerWrap.is-scroll .header {
    width: auto;
  }
  .headerWrap.is-scroll .header .logo {
    margin-top: 0;
  }
  .headerWrap .header {
    width: 100%;
    height: 3rem;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .headerWrap .header .logo {
    width: 3rem;
    height: 3rem;
    margin: 0 auto;
  }
  .headerWrap .header .headerNav {
    width: 90%;
    height: 100vh;
    display: block;
    background: #fff;
    position: fixed;
    top: 0;
    left: -90%;
    right: auto;
    transition: all 0.3s ease-out;
    z-index: 1500;
    overflow: scroll;
  }
  .headerWrap .header .headerNav.is-active {
    left: 0;
  }
  .headerWrap .header .headerNav .gNav > ul,
  .headerWrap .header .headerNav .sNav > ul {
    display: block;
  }
  .headerWrap .header .headerNav .gNav > ul li a,
  .headerWrap .header .headerNav .sNav > ul li a {
    padding: 0.5rem 0;
    display: block;
  }
  .headerWrap .header .headerNav .gNav {
    margin-top: 2rem;
    margin-left: 1rem;
  }
  .headerWrap .header .headerNav .sNav {
    margin-left: 1rem;
  }
  .headerWrap .header .hamburger,
  .headerWrap .header .hamburgerClosed {
    display: inline-block;
  }
}
.hamburger,
.hamburgerClosed {
  width: 2.5rem;
  height: 2.5rem;
  text-indent: -9999px;
}

.hamburger {
  background: #fff url(../images/icon/hamburger.svg) center center no-repeat;
  background-size: 1.5rem auto;
  border-radius: 50%;
  position: fixed;
  top: 0.125rem;
  left: 0.5rem;
  z-index: 1500;
}

.hamburgerClosed {
  background: url(../images/icon/closed.svg) center center no-repeat;
  background-size: 1rem auto;
  position: absolute;
  top: 0;
  right: 0.5rem;
  z-index: 1500;
}
.hamburgerClosed:focus {
  background: url(../images/icon/closed.svg) center center no-repeat;
  background-size: 1rem auto;
}

.is-scroll .has-mega-menu .mega-menu {
  top: 55px;
}

.has-mega-menu:focus-within, .has-mega-menu:hover {
  background: rgba(227, 227, 227, 0.75);
}
.has-mega-menu:focus-within .mega-menu, .has-mega-menu:hover .mega-menu {
  pointer-events: auto;
  visibility: visible;
  opacity: 1;
  transition-delay: 0s;
}
.has-mega-menu .circleType {
  display: none;
}
.has-mega-menu .mega-menu {
  width: 100%;
  background: rgba(227, 227, 227, 0.75);
  padding: 0.5rem 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s ease, visibility 0s linear 0.25s;
  position: absolute;
  top: 65px;
  left: 0;
}
.has-mega-menu .mega-menu .inner-mega-menu {
  width: 71.5rem;
  margin: 0 auto;
  display: flex;
  align-items: center;
}
.has-mega-menu .mega-menu .inner-mega-menu.has-multiple-categories {
  display: block;
}
.has-mega-menu .mega-menu .inner-mega-menu.has-multiple-categories div {
  display: flex;
  align-items: center;
}
.has-mega-menu .mega-menu .inner-mega-menu h2 {
  width: 48.4%;
  text-align: center;
}
.has-mega-menu .mega-menu .inner-mega-menu ul {
  width: 48.4%;
  display: flex;
  flex-wrap: wrap;
  column-gap: 2rem;
}
.has-mega-menu .mega-menu .inner-mega-menu ul li {
  margin: 0;
  flex-shrink: 0;
  white-space: nowrap;
}
.has-mega-menu .mega-menu .inner-mega-menu a {
  font-weight: 400 !important;
}
@media screen and (max-width: 47.9375rem) {
  .has-mega-menu {
    position: relative;
  }
  .has-mega-menu:focus-within, .has-mega-menu:hover {
    background: transparent; /**/
  }
  .has-mega-menu.is-open .mega-menu {
    opacity: 1; /**/
    display: block; /**/
  }
  .has-mega-menu .mega-menu {
    width: calc(100% - 1rem);
    margin-right: 1rem;
    background: #F6F6F6; /**/
    padding: 0.5rem; /**/
    pointer-events: auto; /**/
    visibility: visible; /**/
    opacity: 1; /**/
    display: none; /**/
    position: static; /**/
  }
  .has-mega-menu .mega-menu .inner-mega-menu {
    width: auto; /**/
    display: block; /**/
  }
  .has-mega-menu .mega-menu .inner-mega-menu h2 {
    display: none; /**/
  }
  .has-mega-menu .mega-menu .inner-mega-menu ul {
    width: auto; /**/
    display: block; /**/
    margin-left: 1rem; /**/
  }
  .has-mega-menu .circleType {
    display: block;
    position: absolute;
    top: 0;
    right: 0.5rem;
  }
  .has-mega-menu .circleType:focus {
    background-color: transparent;
  }
}
.breadCrumb {
  width: 71.5rem;
  margin: 0 auto;
  padding: 0.5rem;
  box-sizing: border-box;
}
.breadCrumb ol,
.breadCrumb li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.breadCrumb ol {
  display: flex;
  flex-wrap: nowrap;
  white-space: nowrap;
}
.breadCrumb ol li {
  display: flex;
  align-items: center;
  font-size: 0.875rem;
}
.breadCrumb ol li:not(:last-child)::after {
  content: ">";
  margin-left: 0.5em;
}
.breadCrumb ol li::before {
  content: "" !important;
}
.breadCrumb ol li span {
  font-weight: 500;
}
.breadCrumb ol li a {
  text-decoration: none;
}
.breadCrumb ol li a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 47.9375rem) {
  .breadCrumb {
    width: 100%;
    overflow-x: auto;
  }
}
.footer {
  border-top: 1px solid #e3e3e3;
  background: #f5f6f7;
}
.footer .footerInner {
  width: 71.5rem;
  margin: 0 auto;
  padding-bottom: 0.5rem;
}
.footer .footerInner .footerGNav {
  line-height: 1.5;
}
.footer .footerInner .footerGNav ul li a {
  text-decoration: none;
  color: #000;
}
.footer .footerInner .footerGNav ul li a:hover {
  text-decoration: underline;
}
.footer .footerInner .footerGNav > ul {
  width: 100%;
  padding-top: 2rem;
  display: flex;
  justify-content: center;
  gap: 2rem;
}
.footer .footerInner .footerGNav > ul > li > a {
  margin-bottom: 0.75rem;
  display: block;
}
.footer .footerInner .footerGNav > ul .footerLNav li {
  margin-bottom: 0.25rem;
}
.footer .footerInner .footerGNav > ul .footerLNav li a {
  font-size: 0.875rem;
}
.footer .footerInner .footerSNav {
  margin-top: 2rem;
}
.footer .footerInner .footerSNav ul {
  display: flex;
  justify-content: end;
  gap: 1rem;
}
.footer .footerInner .footerSNav ul li a {
  color: #000;
  font-size: 0.875rem;
}
.footer .footerInner .footerSNav ul li a.is-disabled {
  color: #727272;
}

@media screen and (max-width: 47.9375rem) {
  .footer .footerInner {
    width: 100%;
  }
  .footer .footerInner .footerGNav {
    margin-left: 1rem;
  }
  .footer .footerInner .footerGNav ul li a {
    padding: 0.5rem 0;
    border-bottom: 0.0625rem solid #e3e3e3;
    display: block;
  }
  .footer .footerInner .footerGNav > ul {
    display: block; /**/
  }
  .footer .footerInner .footerGNav > ul .footerLNav {
    margin-bottom: 2rem;
    margin-left: 1rem;
  }
  .footer .footerInner .footerGNav > ul .footerLNav li a {
    display: block;
  }
  .footer .footerInner .footerSNav ul {
    justify-content: center;
  }
  .footer .footerInner .footerSNav ul li a {
    display: block;
  }
}
main {
  width: 71.5rem;
  margin: 0 auto 8rem auto;
  flex: 1;
}
main.w-full {
  width: 100%;
}

@media screen and (max-width: 47.9375rem) {
  main {
    width: 100%;
    padding: 0 1rem;
    box-sizing: border-box;
  }
}
.lNav {
  width: 71.5rem;
  margin: 0 auto 4rem auto;
  padding: 0.5rem 0;
  background: #e3e3e3;
  border-radius: 0.5rem;
}
.lNav ul {
  display: flex;
  align-items: center;
  justify-content: center;
}
.lNav ul li {
  margin-right: 1rem;
}
.lNav ul li::after {
  content: "|";
  margin-left: 1rem;
}
.lNav ul li:last-child {
  margin: 0;
}
.lNav ul li:last-child::after {
  content: "";
  margin: 0;
}
.lNav ul li a {
  color: #000;
  text-decoration: none;
}
.lNav ul li a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 47.9375rem) {
  .lNav {
    width: calc(100% - 1rem);
    margin: 0 0.5rem 4rem 0.5rem;
    padding: 2rem;
  }
  .lNav ul {
    display: block;
  }
  .lNav ul li {
    margin: 0;
  }
  .lNav ul li::after {
    content: "";
    margin: 0;
  }
  .lNav ul li a {
    padding: 0.5rem;
    display: block;
  }
}
.subMenuWrap {
  position: relative;
}
.subMenuWrap:focus-within .subMenu, .subMenuWrap:hover .subMenu {
  display: block;
}
.subMenuWrap:focus-within a, .subMenuWrap:hover a {
  background: #05031d;
  color: #fff;
  text-decoration: none;
  font-weight: 600;
}
.subMenuWrap .subMenu {
  width: 240px;
  padding: 0.5rem;
  background: #05031d;
  position: absolute;
  top: 1.5625rem;
  left: 0;
  z-index: 1000;
  box-sizing: border-box;
  box-shadow: 0px 2px 1px 0px rgba(0, 0, 0, 0.3);
  display: none;
}
.subMenuWrap .subMenu li {
  width: auto;
  padding: 0.5rem 0;
  border-bottom: 1px solid #374f63;
}
.subMenuWrap .subMenu li:last-child {
  border-bottom: none;
}
.subMenuWrap .subMenu li::after {
  content: "";
  margin: 0;
}
.subMenuWrap .subMenu li span,
.subMenuWrap .subMenu li a {
  padding: 0 0.5rem;
  color: #fff;
  text-align: left;
  text-decoration: none;
  font-weight: 500;
}
.subMenuWrap .subMenu li span:focus, .subMenuWrap .subMenu li span:hover,
.subMenuWrap .subMenu li a:focus,
.subMenuWrap .subMenu li a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 47.9375rem) {
  .subMenu {
    display: none;
  }
}
.popUpBtnsWrap {
  display: inline-block;
  position: relative;
}
.popUpBtnsWrap .popUpBtns {
  width: 1.875rem;
  margin: 0;
  padding: 0;
  display: inline-block;
  position: absolute;
  top: 0;
  right: -1.875rem;
}
.popUpBtnsWrap .popUpBtns.is-disabled {
  pointer-events: none;
}
.popUpBtnsWrap .popUpBtns.is-disabled li .moreSelectBox {
  background: #F6F6F6;
  border: 0.0625rem solid #e3e3e3;
}
.popUpBtnsWrap .popUpBtns li:hover:not(.is-touch):not(.is-dismissed) .moreSelectBox {
  display: block;
}
.popUpBtnsWrap .popUpBtns li .moreSelectBox.isOpen {
  display: block;
}
.popUpBtnsWrap .popUpBtns li .moreSelectBox {
  width: 12.5rem;
  padding: 1rem;
  background: #fff;
  text-align: left;
  border: 0.0625rem solid #727272;
  position: absolute;
  z-index: 1000;
  display: none;
}

ul.pagingList {
  display: flex;
  gap: 1rem;
  justify-content: center;
}
ul.pagingList li.is-active {
  font-weight: 600;
}
ul.matomeList li {
  margin-bottom: 0;
  display: flex;
}
ul.matomeList li .checkBoxCell {
  width: 1.875rem;
  padding-top: 1rem;
  background: url(../images/tips/tate_line.gif) 0.9375rem top repeat-y;
}
ul.matomeList li:last-child .checkBoxCell {
  background: url(../images/tips/tate_line.gif) 0.9375rem top no-repeat;
}
ul.matomeList li .matomeCell {
  width: calc(100% - 1.875rem);
}
ul.matomeList li a {
  padding: 1rem 0.5rem;
  text-decoration: none;
  color: #000;
  display: block;
  border-bottom: 0.0625rem solid #e3e3e3;
}
ul.matomeList li a:hover {
  background: #dff0fa;
}
ul.matomeList li a .listTitle {
  font-size: 1.125rem;
  display: block;
}
ul.matomeList li a .listMeta {
  font-size: 0.875rem;
  display: block;
}

@media screen and (max-width: 47.9375rem) {
  ul.pagingList {
    justify-content: space-between;
  }
  ul.pagingList li:not(.prev, .next) {
    display: none;
  }
  ul.pagingList li.prev, ul.pagingList li.next {
    width: 2.5rem;
    height: 2.5rem;
    border: 1px solid #e8edf2;
  }
  ul.pagingList li.prev a, ul.pagingList li.next a {
    display: block;
    padding-top: 0.25rem;
    text-align: center;
  }
}
.fukidashi {
  width: 12.5rem;
  padding: 0.5rem;
  text-align: center;
  border: 0.0625rem solid #e3e3e3;
  background: #fff;
  position: absolute;
  top: -2.5rem;
  right: -0.3125rem;
  border-radius: 0.5rem;
  display: none;
  z-index: 1000;
}
.fukidashi::before {
  content: "";
  position: absolute;
  top: 100%;
  right: 0.5rem;
  border: 0.75rem solid transparent;
  border-top: 0.75rem solid #e3e3e3;
}
.fukidashi::after {
  content: "";
  position: absolute;
  top: 100%;
  right: 0.625rem;
  border: 0.625rem solid transparent;
  border-top: 0.625rem solid #fff;
}

.iconBtnWrap {
  position: relative;
}
.iconBtnWrap:hover .fukidashi {
  display: block;
}

.matomeSelect {
  padding-bottom: 0.5rem;
  padding-left: 1.875rem;
  background: url(../images/tips/l_line.gif) 0.9375rem 0.9375rem no-repeat;
}

.tabTypeA,
.tabTypeB,
.tabTypeC {
  min-height: 3rem;
  text-align: left;
  box-sizing: border-box;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.tabTypeA ul,
.tabTypeB ul,
.tabTypeC ul {
  min-height: 3rem;
  font-size: 0;
  display: flex;
  width: max-content;
  white-space: nowrap;
}
.tabTypeA ul li,
.tabTypeB ul li,
.tabTypeC ul li {
  flex: 0 0 auto;
  min-width: 6.25rem;
  height: 3rem;
  margin-bottom: 0;
  display: inline-block;
  box-sizing: border-box;
}
.tabTypeA ul li.is-active,
.tabTypeB ul li.is-active,
.tabTypeC ul li.is-active {
  font-weight: 500;
}
.tabTypeA ul li.fullTab,
.tabTypeB ul li.fullTab,
.tabTypeC ul li.fullTab {
  width: 50%;
  min-width: auto;
}
.tabTypeA ul li a,
.tabTypeA ul li button,
.tabTypeB ul li a,
.tabTypeB ul li button,
.tabTypeC ul li a,
.tabTypeC ul li button {
  width: 100%;
  margin-top: 0.25rem;
  font-size: 1rem;
  text-align: center;
  text-decoration: none;
  display: block;
  box-sizing: border-box;
}
.tabTypeA ul li a:hover,
.tabTypeA ul li button:hover,
.tabTypeB ul li a:hover,
.tabTypeB ul li button:hover,
.tabTypeC ul li a:hover,
.tabTypeC ul li button:hover {
  text-decoration: underline;
}

.tabTypeA li {
  background: #1c115a;
  border-bottom: 1px solid #1c115a;
}
.tabTypeA li.is-active {
  background: #154d9a;
}
.tabTypeA li:last-child a,
.tabTypeA li:last-child button {
  border-right: none;
}
.tabTypeA li a,
.tabTypeA li button {
  min-width: 6.25rem;
  padding: 0.1875rem 1rem 0.125rem 1rem;
  color: #fff;
}
.tabTypeA li a:hover,
.tabTypeA li button:hover {
  color: #e6f1fb;
}

.tabTypeB li {
  background: #fff;
  border-bottom: 1px solid #1c115a;
}
.tabTypeB li.is-active {
  border-bottom: 0.3125rem solid #1c115a;
}
.tabTypeB li:last-child a,
.tabTypeB li:last-child button {
  border-right: none;
}
.tabTypeB li a,
.tabTypeB li button {
  min-width: 6.25rem;
  padding: 0.1875rem 1rem 0.125rem 1rem;
  border-right: 0.0625rem solid #e3e3e3;
}
.tabTypeB li a:hover,
.tabTypeB li button:hover {
  color: #1c115a;
}

.tabTypeC {
  border-bottom: 0.0625rem solid #e3e3e3;
}
.tabTypeC ul {
  border-radius: 0.5rem 0.5rem 0 0;
  border-left: 0.0625rem solid #e3e3e3;
  border-right: 0.0625rem solid #e3e3e3;
  border-top: 0.0625rem solid #e3e3e3;
}
.tabTypeC li {
  background: #fff;
}
.tabTypeC li.is-active {
  border-bottom: 0.125rem solid #1c115a;
}
.tabTypeC li:last-child a,
.tabTypeC li:last-child button {
  border-right: none;
}
.tabTypeC li a,
.tabTypeC li button {
  min-width: 6.25rem;
  padding: 0.1875rem 1rem 0.125rem 1rem;
  border-right: 0.0625rem solid #e3e3e3;
}
.tabTypeC li a:hover,
.tabTypeC li button:hover {
  color: #1c115a;
}

.tabGraoupWrap .tabGraoup {
  display: none;
}
.tabGraoupWrap .tabGraoup.is-active {
  display: block;
}

.switchNavi {
  display: inline-block;
}
.switchNavi ul {
  display: flex;
  flex-wrap: nowrap;
  border: 0.0625rem solid #1c115a;
  border-radius: 0.5rem;
  overflow: hidden;
}
.switchNavi ul li {
  margin-bottom: 0;
  border-left: 0.0625rem solid #1c115a;
}
.switchNavi ul li:first-child {
  border-left: none;
}
.switchNavi ul li.is-active button {
  background: #1c115a;
  color: #fff;
  pointer-events: none;
}
.switchNavi ul li button {
  width: 6.25rem;
  height: 2.5rem;
  padding: 0 0.5rem;
  background: #fff;
  line-height: 2.5rem;
  font-size: 1rem;
  color: #1c115a;
  text-align: center;
  box-sizing: border-box;
}
.switchNavi ul li button.disabled {
  pointer-events: none;
}

.accordion.typeA dl.closed dd, .accordion.typeB dl.closed dd, .accordion.typeC dl.closed dd {
  display: none;
}
.accordion.typeA dl dt, .accordion.typeB dl dt, .accordion.typeC dl dt {
  color: #000;
  border-bottom: 1px solid #727272;
}
.accordion.typeA dl dd, .accordion.typeB dl dd, .accordion.typeC dl dd {
  margin-bottom: 0.5rem;
  padding: 1rem;
  background: #e5ecf0;
  border-radius: 0 0 0.5rem 0.5rem;
}
.accordion.typeA dl dd li, .accordion.typeB dl dd li, .accordion.typeC dl dd li {
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
}
.accordion.typeA dl dd li.is-active button, .accordion.typeB dl dd li.is-active button, .accordion.typeC dl dd li.is-active button {
  font-weight: 600;
}
.accordion.typeA dl dd li button, .accordion.typeB dl dd li button, .accordion.typeC dl dd li button {
  width: 100%;
}

.closed .opnerBtn {
  background-image: url(../images/svg/arrow/bottom_gray.svg);
  background-position: right 0.5rem top 1.75rem;
  background-repeat: no-repeat;
  background-size: 0.75rem auto;
}

.opnerBtn {
  width: 100%;
  padding: 1rem 1rem;
  background-image: url(../images/svg/arrow/top_gray.svg);
  background-position: right 0.5rem top 1rem;
  background-repeat: no-repeat;
  background-size: 0.75rem auto;
  line-height: 1.1;
  box-sizing: border-box;
  display: block;
}
.opnerBtn.is-disabled {
  text-decoration: none;
  pointer-events: none;
  color: #727272;
}
.opnerBtn span {
  margin-right: 1.25rem;
  display: inline-block;
}

.treeList.nonCheckBox ul li {
  padding-left: 2rem;
}
.treeList ul {
  margin-bottom: 1rem;
}
.treeList ul:last-child {
  margin-bottom: 0;
}
.treeList ul.is-hidden {
  display: none;
}
.treeList ul li {
  min-height: 2rem;
  margin-bottom: 0.5rem;
  padding-left: 2rem;
  position: relative;
}
.treeList input[type=button].openerBtn {
  width: 2.25rem;
  height: 2.25rem;
  background-color: transparent;
  background-image: url(../images/svg/arrow/right_gray.svg);
  background-position: 1rem 0.625rem;
  background-repeat: no-repeat;
  background-size: auto 0.875rem;
  border: none;
  display: inline-block;
  vertical-align: top;
  cursor: pointer;
  outline-width: 0;
  position: absolute;
  top: 0;
  left: 0;
}
.treeList input[type=button].openerBtn.is-active {
  background-image: url(../images/svg/arrow/bottom_gray.svg);
  background-position: 0.75rem 0.875rem;
  background-size: 0.875rem auto;
}

.datepickerVal {
  width: auto;
  display: flex;
  align-items: center;
}
.datepickerVal p {
  margin-bottom: 0;
  display: none;
  vertical-align: middle;
}
.datepickerVal p.is-active {
  display: inline-block;
}
.datepickerVal ul {
  margin: 0 0.5rem 0 0 !important;
  display: flex;
  align-items: center;
}
.datepickerVal ul.is-active {
  display: inline-block !important;
}
.datepickerVal ul li {
  margin: 0 0 0 1rem;
  display: inline-block;
}
.datepickerVal ul li:first-child {
  margin-left: 0;
}
.datepickerVal ul li input {
  margin-right: 0.5rem;
}
.datepickerVal img {
  width: 1.5rem;
  height: 1.5625rem;
  margin-left: 0.5rem;
  cursor: pointer;
}
.datepickerVal button.ui-datepicker-trigger {
  width: 1.5rem;
  height: 1.5625rem;
  margin-left: 0.5rem;
  padding: 0;
  border: 0;
  background: transparent;
  flex-shrink: 0;
}
.datepickerVal button.ui-datepicker-trigger img {
  display: block;
  margin: 0;
}
.datepickerVal button.ui-datepicker-trigger:focus-visible {
  outline: 0.125rem solid #05031d;
  outline-offset: 0.125rem;
}
.datepickerVal #dayNum {
  display: none;
}
.datepickerVal #dayNum.is-active {
  display: inline-block;
}
.datepickerVal #dayNum li {
  display: inline-block;
}

.fileSet {
  position: relative;
}
.fileSet p.attention {
  display: inline-block;
  margin-top: 0.1875rem;
}
.fileSet .fileLabel {
  margin-top: 0;
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 600;
}
.fileSet ul.uploadFiles {
  margin-left: 1.25rem;
  display: flex;
}
.fileSet ul.uploadFiles li {
  margin-right: 1rem;
  padding-left: 2rem;
  background-image: url(../images/svg/document/document1.svg);
  background-position: left center;
  background-repeat: no-repeat;
  background-size: auto 1.375rem;
  display: flex;
  align-items: center;
}

.fileUploadWrap {
  text-align: center;
  overflow: hidden;
}
.fileUploadWrap span {
  margin: 0 0.3125rem 0 0;
  padding-left: 1.25rem;
  background-image: url(../images/svg/icon/temp.svg);
  background-position: left 0.1875rem;
  background-repeat: no-repeat;
  background-size: 1.25rem auto;
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 600;
}
.fileUploadWrap span:hover {
  text-decoration: underline;
}
.fileUploadWrap span input[type=file] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  text-indent: 0;
}

ul.uploadList {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
ul.uploadList li {
  width: calc(25% - 0.9375rem);
  /*margin-right: $margin-sm;
  margin-bottom: $margin-base;
  */
  border: 1px solid #e3e3e3;
  border-radius: 0.5rem;
}
ul.uploadList li .pictBox {
  margin-bottom: 0.5rem;
  display: block;
}
ul.uploadList li .pictBoxWrap {
  width: 100%;
  padding: 1rem;
  display: block;
  box-sizing: border-box;
  color: #727272;
  text-decoration: none;
  position: relative;
}
ul.uploadList li .pictBoxWrap img#thisImg {
  width: 17.5rem;
}
ul.uploadList li .pictEnptyBox {
  width: 100%;
  padding: 0 0.75rem;
  position: absolute;
  bottom: 4.5rem;
  text-align: center;
}
ul.uploadList li .pictEnptyBox #progressBarWrap {
  width: 100%;
  height: 0.5rem;
  border-radius: 0.25rem;
  background: #727272;
  overflow: hidden;
}
ul.uploadList li .pictEnptyBox #progressBar {
  height: 0.5rem;
  background: #e71f19;
}
ul.uploadList li.uploadBox, ul.uploadList li#uploadBtn {
  min-height: 12.5rem;
  background: #F6F6F6;
  border: 1px solid #727272;
  position: relative;
}
ul.uploadList li.uploadBox .fileUploadCircle, ul.uploadList li#uploadBtn .fileUploadCircle {
  position: absolute;
  left: 2rem;
  bottom: 2rem;
}

@media screen and (max-width: 47.9375rem) {
  ul.uploadList {
    gap: 0.25rem;
  }
  ul.uploadList li {
    width: 48.4%;
  }
  ul.uploadList li.uploadBox .fileUploadCircle, ul.uploadList li#uploadBtn .fileUploadCircle {
    bottom: 1rem;
  }
}
.fileUploadCircle {
  width: 3rem;
  height: 3rem;
  background: #fff url(../images/svg/icon/plus.svg) center center no-repeat;
  background-size: 1.5625rem auto;
  overflow: hidden;
  border: 0.0625rem solid #05031d;
  border-radius: 50%;
}
.fileUploadCircle span {
  text-indent: -9999px;
  display: block;
}
.fileUploadCircle span input[type=file] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  text-indent: 0;
}

.uploadArea {
  width: 15.625rem;
  height: 12.5rem;
  background: #F6F6F6;
  border: 0.0625rem solid #727272;
  border-radius: 0.5rem;
}
.uploadArea.hover {
  background: #F6F6F6;
  border: 0.1875rem dotted #727272;
}
.uploadArea p {
  padding-top: 3rem;
}
.uploadArea input[type=file] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  text-indent: 0;
}

#insertImg {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
#insertImg li {
  width: 11.25rem;
  position: relative;
}

.js-imgDelBtn {
  width: 2.5rem;
  height: 2.5rem;
  position: absolute;
  z-index: 50;
  top: 0.5rem;
  right: 0.5rem;
  cursor: pointer;
}

.alertWrap {
  max-width: calc(100% - 1.5rem);
  width: 31.25rem;
  padding: 2.5rem 1rem 2rem 1rem;
  background-color: #fff;
  border-radius: 0.5rem;
  border: 1px solid #e3e3e3;
  box-sizing: border-box;
  position: fixed;
  z-index: 1500;
  display: none;
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.alertWrap.attention {
  background: #f6d8d0;
}
.alertWrap.attention #alertContents {
  margin-left: 0.9375rem;
  padding-left: 3.4375rem;
  background: url(../images/icon/icon_attention_red.png) 0.3125rem 0.3125rem no-repeat;
  background-size: 2.5rem auto;
  color: #000;
}
.alertWrap .iconClosed {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
}
.alertWrap.is-active {
  display: block;
}
.alertWrap.xl {
  width: 64rem;
}
.alertWrap.lg {
  width: 46.875rem;
}
.alertWrap.sm {
  width: 18.75rem;
}

@media screen and (max-width: 47.9375rem) {
  .alertWrap {
    width: 18.75rem;
  }
  .alertWrap.middle, .alertWrap.wide {
    width: calc(100% - 1.5rem);
  }
}
.iconClosed {
  width: 1.5625rem;
  height: 1.5625rem;
  background-image: url(../images/svg/icon/closed.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 1rem auto;
  text-indent: -9999px;
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 100;
}

.dsm-cordBord code,
.scroll {
  padding-right: 1rem;
  overflow-y: scroll;
  overflow-x: hidden;
  box-sizing: border-box;
}
.dsm-cordBord code.scrollX,
.scroll.scrollX {
  overflow-y: hidden;
  overflow-x: scroll;
}
.dsm-cordBord code.scrollALL,
.scroll.scrollALL {
  overflow-y: scroll;
  overflow-x: scroll;
}
.dsm-cordBord code::-webkit-scrollbar,
.scroll::-webkit-scrollbar {
  width: 0.5rem;
  height: 0.5rem;
}
.dsm-cordBord code,
.scroll {
  /*スクロールバーの背景色・角丸指定*/
}
.dsm-cordBord code::-webkit-scrollbar-track,
.scroll::-webkit-scrollbar-track {
  border-radius: 0.625rem;
  background: #e5ecf0;
}
.dsm-cordBord code,
.scroll {
  /*スクロールバーの色・角丸指定*/
}
.dsm-cordBord code::-webkit-scrollbar-thumb,
.scroll::-webkit-scrollbar-thumb {
  border-radius: 0.625rem;
  background: #e3e3e3;
  border-radius: 0.25rem;
}
.dsm-cordBord code::-webkit-scrollbar-thumb:hover,
.scroll::-webkit-scrollbar-thumb:hover {
  background: #727272;
}
.dsm-cordBord code {
  overflow-y: hidden;
  overflow-x: scroll;
}

.fileUploadWrap:focus-within,
.fileUploadCircle:focus-within,
.uploadArea:focus-within {
  outline: 0.125rem solid #05031d;
  outline-offset: 0.125rem;
}

ul.uploadList li.uploadBox.is-hidden,
.uploadArea.is-hidden {
  display: none;
}

/*
  12px　→　font-size: 75%;
  13px　→　font-size: 81.25%;
  14px　→  font-size: 87.5%;
  15px　→　font-size: 93.75%;
  16px　→　font-size: 100%;
  17px　→　font-size: 106.25%;
  18px　→　font-size: 113%;
  19px　→　font-size: 119%;
  20px　→　font-size: 125%;
  フォント参考サイト
  http://www.nda.co.jp/memo/pxpt.html
*/
/*

######アクションスタイル　######
### .fixed ###
〇BODY
・対象：body
・状態：スクロール不可
※ハンバーガーメニュー表示時、ページをスクロールさせないため

### Z-INDEX ###
〇ヘッダー
・Z-index:1200
・対象：#headerWrap
〇ページトップへボタン
・Z-index:1000
・対象：#toTop
〇ハンバーガー
・Z-index:1500
・対象：#hamburger
〇CLOSED MENU
・Z-index:2000
・対象：#hamburgerClosed
〇モーダル
・Z-index:1500
・対象：#bgPop
〇黒背景
・Z-index:1000

### .move ###
〇ヘッダー
・対象：#headerWrap
・条件：Npxスクロール
・状態：付与/削除
〇ページトップへボタン
・対象：#toTop
・条件：Npxスクロール
・状態：付与/削除

*/
.headerWrap .header, .headerWrap.is-scroll .header, .footer .footerInner, .mainWidth {
  max-width: calc(100% - 2rem);
  box-sizing: border-box;
}

main, .base-wide {
  max-width: 100%;
  box-sizing: border-box;
}

a:focus-visible, button:focus-visible {
  outline: 2px solid #000;
  outline-offset: 3px;
}

.headerNav[hidden] {
  display: none !important;
}

.borderless {
  position: relative;
  width: 100%;
  height: 272px;
}

.borderless-top,
.borderless-bottom,
.dot {
  position: absolute;
  display: block;
  max-width: none;
}

.borderless-top {
  top: 2.73%;
  right: 22.67%;
  bottom: 53.2%;
  left: 0.82%;
  width: auto;
  height: auto;
}

.borderless-bottom {
  top: 52.69%;
  right: 0.52%;
  bottom: 3.24%;
  left: 0.88%;
  width: auto;
  height: auto;
}

.dot {
  width: 13.143px;
  height: 13.1263px;
}

.dot-b {
  top: 1.45%;
  left: 0.31%;
}

.dot-c {
  top: 63.39%;
  left: 6.58%;
}

.dot-m {
  top: 70.96%;
  left: 21.87%;
}

.dot-r {
  top: 9.1%;
  left: 18.85%;
}

.dot-e {
  top: 18.35%;
  left: 39.05%;
}

.dot-u {
  top: 66.35%;
  left: 37.98%;
}

.dot-n1 {
  top: 79.28%;
  left: 50.18%;
}

.dot-l {
  top: 36.06%;
  left: 50.18%;
}

.dot-e1 {
  top: 8.98%;
  left: 57.16%;
}

.dot-s1 {
  top: 24.36%;
  left: 68.81%;
}

.dot-a {
  top: 77.87%;
  left: 67.21%;
}

.dot-t {
  top: 58.91%;
  left: 75.29%;
}

.dot-n2 {
  top: 64.35%;
  left: 93.32%;
}

.dot-n3 {
  top: 93.33%;
  left: 98.97%;
}

.dot-s2 {
  top: 2.73%;
  left: 75.55%;
}

.architecture {
  width: 100%;
  height: 480px;
}

.decision-label {
  gap: 10px;
  padding: 10px 20px;
  color: #fff;
  background: #1c115a;
  font-family: "Noto Sans JP:Medium", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
}

.decision-label img {
  width: 18px;
  height: 18px;
}

.connector {
  display: block;
  width: 1px;
  background: #d7d8d9;
}

.connector--decision {
  height: 32px;
}

.k2-node {
  gap: 4px;
  padding: 20px 48px;
  border: 1px solid #d7d8d9;
  background: #F6F6F6;
}

.k2-node strong {
  font-family: "Noto Sans JP:Bold", sans-serif;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -1px;
}

.k2-node span {
  font-family: "Inter:Regular", sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 2px;
}

.branch {
  width: 440px;
}

.branch-stem {
  width: 1px;
  height: 24px;
  background: #d7d8d9;
}

.branch-line {
  width: 100%;
  height: 1px;
  background: #d7d8d9;
}

.branch-legs {
  width: 100%;
}

.branch-legs span {
  width: 1px;
  height: 24px;
  background: #d7d8d9;
}

.fields {
  display: grid;
  width: 560px;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.field {
  gap: 12px;
  padding: 20px 16px;
  border: 1px solid #d7d8d9;
}

.field img {
  width: 28px;
  height: 28px;
}

.field div {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  line-height: 1.5;
  white-space: nowrap;
}

.field span {
  color: #555659;
  font-size: 11px;
}

.field strong {
  font-family: "Noto Sans JP:Medium", sans-serif;
  font-size: 14px;
  font-weight: 500;
}

@font-face {
  font-family: "Make JP";
  src: url("https://static.figma.com/font/NotoSansJP-VF_2") format("woff2");
  font-weight: 400 700;
  font-display: swap;
}
@font-face {
  font-family: "Inter:Regular";
  src: url("https://static.figma.com/font/Inter_1") format("woff2");
  font-display: swap;
}
.site {
  --gutter: 80px;
  color: #202124;
  font: 400 1rem/1.5 "Make JP", sans-serif;
  letter-spacing: normal;
}
.site h1,
.site h2,
.site h3 {
  font-family: inherit;
}
.site p,
.site li,
.site section,
.site main {
  margin-bottom: 0;
}
.site img {
  display: block;
}

#contentsWrap {
  padding: 0;
}

.site .mainWidth,
.site .headerWrap .header,
.site .footer .footerInner {
  width: min(1280px, 100% - 2 * var(--gutter));
  max-width: none;
  margin-inline: auto;
}

.site .headerWrap {
  border-color: #d7d8d9;
}
.site .headerWrap .header {
  height: 95px;
  align-items: center;
}
.site .headerWrap .logo {
  width: 258px;
  height: 48px;
  margin: 0;
  background: none;
}
.site .headerWrap .logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left;
}
.site .headerWrap .gNav > ul {
  gap: 32px;
}
.site .headerWrap .gNav > ul > li > a {
  padding-block: 12px;
  font-size: 15px;
  font-weight: 500;
  text-decoration: none;
}

.hero {
  padding-top: 64px;
}

.hero-marker,
.red-marker {
  display: block;
  width: 32px;
  height: 3px;
  background: #b11d18;
}

.hero-marker {
  width: 48px;
  height: 4px;
}

.hero-copy {
  gap: 20px;
  padding: 24px 0 48px;
}

.hero-copy .text-5xl {
  line-height: 1.4 !important;
  letter-spacing: -1.9px;
}

.hero-copy p {
  color: #555659;
  line-height: 1.75;
  letter-spacing: 0.3px;
}

.borderless-top {
  width: min(982.559px, 76.51%);
}

.borderless-bottom {
  width: min(1265px, 98.6%);
}

.fields {
  max-width: 100%;
}

.branch {
  max-width: 80%;
}

.architecture :is(strong, .decision-label) {
  font-family: inherit;
}

.business {
  padding-bottom: 88px;
}

.rule {
  height: 1px;
  background: #d7d8d9;
}

.business-grid {
  display: grid;
  grid-template-columns: minmax(0, 480fr) minmax(0, 720fr);
  gap: 80px;
  align-items: center;
  padding-top: 80px;
}

.business-copy,
.news-title {
  gap: 40px;
}

.business-copy > p {
  line-height: 1.75;
}

.section-heading {
  gap: 24px;
}

.section-heading .text-4xl {
  font-size: 40px !important;
  letter-spacing: -1.6px;
}

.section-heading--compact .text-4xl {
  font-size: 34px !important;
  letter-spacing: -0.7px;
}

.site .text-link {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  min-height: 44px;
  gap: 8px;
  font-size: 15px;
  font-weight: 500 !important;
}

.capabilities {
  padding-block: 72px;
  gap: 48px;
}

.capabilities .line-2 {
  flex-basis: calc((100% - 16px) / 2);
  max-width: calc((100% - 16px) / 2);
}

.capabilities .card.line > li {
  border-color: #d7d8d9;
}

.capabilities .card.radius > li {
  border-radius: 4px;
}

.capability-card {
  min-height: 456px;
  padding: 32px;
  gap: 24px;
}

.capability-card .text-3xl {
  letter-spacing: normal;
}

.capability-icon {
  width: 35px;
  height: 35px;
}

.capability-description {
  gap: 10px;
}

.capability-description strong {
  font-size: 17px;
  font-weight: 500;
}

.capability-description p,
.capability-note {
  color: #555659;
  line-height: 1.75;
}

.capability-note,
.card-link {
  font-size: 13px;
}

.card-link {
  align-self: flex-end;
  margin-top: auto;
  gap: 4px;
  color: #154d9a;
  font-weight: 500;
}

.lab {
  padding-block: 80px;
  gap: 40px;
}

.lab .line-3 {
  flex-basis: calc((100% - 64px) / 3);
  max-width: calc((100% - 64px) / 3);
}

.lab .card a {
  padding: 0;
}

.article-image {
  height: 144px;
  background: #F6F6F6;
  border: 1px solid #d7d8d9;
}

.article-copy {
  padding-top: 20px;
}

.article-copy .label {
  width: auto;
  padding: 0;
  border: 0;
  background: transparent;
  color: #555659;
  font-family: inherit;
  font-size: 12px;
  line-height: 1.75;
  font-weight: 400;
}

.article-copy h3 {
  margin-top: 12px;
  font-size: 17px;
  line-height: 1.6;
}

.card a:hover h3 {
  text-decoration: underline;
}

.news {
  padding-bottom: 96px;
}

.news-grid {
  display: grid;
  grid-template-columns: 256px minmax(0, 1fr);
  gap: 64px;
  padding-top: 64px;
}

.news .indexList li a {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 32px;
  padding: 24px 0;
  border-color: #d7d8d9;
  color: inherit;
  line-height: 1.75;
}

.news .meta {
  align-items: start;
}

.news time {
  color: #555659;
  line-height: 28px;
}

.site .footer {
  background: #F6F6F6;
  border: 0;
}

.site .footerInner {
  padding-block: 48px 40px;
}

.footer-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 15px;
  line-height: 1.75;
}

.site .footer .footerInner .footerGNav > ul {
  padding: 0;
  gap: 32px;
}

.site .footer .footerInner .footerGNav > ul > li > a {
  margin: 0;
  padding-block: 9px;
  font-weight: 500;
  line-height: 26px;
}

.footer .rule {
  margin-block: 32px;
}

.footer small {
  display: block;
  font-size: 13px;
  line-height: 1.75;
  color: #555659;
}

@media (max-width: 1100px) {
  .site {
    --gutter: 40px;
  }
  .business-grid {
    gap: 32px;
  }
  .site .headerWrap .gNav > ul {
    gap: 18px;
  }
  .borderless {
    height: 19vw;
  }
}
@media (max-width: 767px) {
  .site {
    --gutter: 24px;
  }
  .site .headerWrap .header {
    height: 71px;
    justify-content: space-between;
  }
  .site .headerWrap .logo {
    width: 190px;
    height: 40px;
  }
  .site .hamburger {
    position: static;
  }
  .site .headerNav .gNav {
    margin-top: 48px;
  }
  .hero {
    padding-top: 40px;
  }
  .hero-marker {
    width: 40px;
  }
  .hero-copy {
    padding: 20px 0 36px;
  }
  .hero-copy .text-5xl {
    font-size: clamp(29px, 8vw, 40px) !important;
    letter-spacing: -1.2px;
  }
  .hero-copy p {
    font-size: 14px;
  }
  .borderless {
    height: max(86px, 23vw);
  }
  .dot {
    width: 7px;
    height: 7px;
  }
  .business {
    padding-bottom: 56px;
  }
  .business-grid,
  .news-grid {
    grid-template-columns: minmax(0, 1fr);
    padding-top: 56px;
  }
  .business-copy {
    gap: 28px;
  }
  .section-heading .text-4xl {
    font-size: 32px !important;
    letter-spacing: -1px;
  }
  .section-heading--compact .text-4xl {
    font-size: 30px !important;
  }
  .architecture {
    height: auto;
    padding-block: 24px;
  }
  .fields {
    gap: 8px;
  }
  .field {
    padding: 16px 6px;
  }
  .field div {
    white-space: normal;
    text-align: center;
  }
  .field strong {
    font-size: 12px;
  }
  .capabilities,
  .lab {
    padding-block: 56px;
  }
  .capabilities {
    gap: 36px;
  }
  .capabilities .line-2,
  .lab .line-3 {
    flex-basis: 100%;
    max-width: 100%;
  }
  .capability-card {
    min-height: 0;
    padding: 24px;
  }
  .capability-card .text-3xl {
    font-size: 25px !important;
  }
  .lab .card {
    row-gap: 36px !important;
  }
  .article-image {
    height: 42vw;
  }
  .news {
    padding-bottom: 64px;
  }
  .news-grid {
    gap: 28px;
  }
  .news-title {
    gap: 24px;
  }
  .news .indexList li a {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
    padding-block: 20px;
  }
  .site .footerInner {
    padding-block: 40px;
  }
  .footer-top,
  .site .footer .footerInner .footerGNav > ul {
    flex-direction: column;
    align-items: flex-start;
  }
  .footer-top {
    gap: 24px;
  }
  .site .footer .footerInner .footerGNav > ul {
    gap: 0;
  }
  .footer .rule {
    margin-block: 24px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .headerWrap .header .headerNav {
    transition: none;
  }
}
@media (max-width: 767px) {
  .site .footer .footerInner .footerGNav {
    margin-left: 0;
  }
  .site .footer .footerInner .footerGNav > ul > li > a {
    border: 0;
  }
}
