@charset "utf-8";
/* =======================================
font
*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Bebas+Neue&family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap');
/*
[+] noto sans
font-family: 'Noto Sans JP', sans-serif;
font-weight:
  100 Thin
  200 ExtraLight
  300 Light
  400 Regular
  500 Medium
  600 SemiBold
  700 Bold
  800 ExtraBold
  900 Black

-------------------------------------------

[+] noto serif
font-family: 'Noto Serif JP', serif;
font-weight:
  200 ExtraLight
  300 Light
  400 Regular
  500 Medium
  600 SemiBold
  700 Bold
  800 ExtraBold
  900 Black

-------------------------------------------

[+] Zen Maru Gothic
font-family: 'Zen Maru Gothic', sans-serif;
font-weight:
  300 light
  400 Regular
  500 Medium
  700 Bold
  900 Black

-------------------------------------------

[+] Bebas Neue
font-family: 'Bebas Neue', sans-serif;
font-weight:
  400 Regular

*/

/* ============================
wildcard
---------------------------- */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
::before,
::after {
  box-sizing: border-box;
}

/* ============================
root
---------------------------- */
:root {
  /* color */
  --common_keycolor: #063C84;
  --common_bgcolor: #FFFFFF;
  --common_color: #333333;

  /* font-size (1440px基準)*/
  --common_fsize-1200: 83.33333333333334vw;
  --common_fsize-300: 20.833333333333336vw;
  --common_fsize-160: 11.11111111111111vw;
  --common_fsize-120: 8.333333333333332vw;
  --common_fsize-108: 7.5vw;
  --common_fsize-96: 6.666666666666667vw;
  --common_fsize-70: 4.861111111111112vw;
  --common_fsize-80: 5.555555555555555vw;
  --common_fsize-64: 4.444444444444445vw;
  --common_fsize-62: 4.305555555555555vw;
  --common_fsize-60: 4.166666666666666vw;
  --common_fsize-58: 4.027777777777778vw;
  --common_fsize-56: 3.888888888888889vw;
  --common_fsize-54: 3.75vw;
  --common_fsize-52: 3.6111111111111107vw;
  --common_fsize-50: 3.4722222222222223vw;
  --common_fsize-48: 3.3333333333333335vw;
  --common_fsize-46: 3.194444444444444vw;
  --common_fsize-44: 3.0555555555555554vw;
  --common_fsize-42: 2.9166666666666665vw;
  --common_fsize-40: 2.7777777777777777vw;
  --common_fsize-38: 2.638888888888889vw;
  --common_fsize-36: 2.5vw;
  --common_fsize-34: 2.361111111111111vw;
  --common_fsize-32: 2.2222222222222223vw;
  --common_fsize-30: 2.083333333333333vw;
  --common_fsize-28: 1.9444444444444444vw;
  --common_fsize-26: 1.8055555555555554vw;
  --common_fsize-24: 1.6666666666666667vw;
  --common_fsize-22: 1.5277777777777777vw;
  --common_fsize-20: 1.3888888888888888vw;
  --common_fsize-18: 1.25vw;
  --common_fsize-16: 1.1111111111111112vw; /* default */
  --common_fsize-14: 0.9722222222222222vw;
  --common_fsize-12: 0.8333333333333334vw;
  --common_fsize-10: 0.6944444444444444vw;
  --common_fsize-8:  0.5555555555555556vw;

  /* font-family */
  --common_ffamily-g: 'Noto Sans JP', sans-serif;
  --common_ffamily-m: 'Noto Serif JP', serif;
  --common_ffamily-z: 'Zen Maru Gothic', sans-serif;
  --common_ffamily-b: 'Bebas Neue', sans-serif;
  --common_ffamily-r: 'Roboto', sans-serif;

  /* a color */
  --common_lcolor: #063C84;/* a:link */
  --common_vcolor: #063C84;/* a:visited */
  --common_hcolor: #1351a3;/* a:hover */
  --common_acolor: #063C84;/* a:active */
  --common_fcolor: #063C84;/* a:focus */

  /* header */
  --common_header_height: 8.88888888888889vw;
  --common_header_height_sp: 56px;
}

@media screen and (min-width: 1440px) {
  :root {
    /* font-size */
    --common_fsize-1200: 120rem;
    --common_fsize-300: 30rem;
    --common_fsize-160: 16rem;
    --common_fsize-120: 12rem;
    --common_fsize-108: 7.5rem;
    --common_fsize-96: 9.6rem;
    --common_fsize-70: 7.0rem;
    --common_fsize-80: 8.0rem;
    --common_fsize-64: 6.4rem;
    --common_fsize-60: 6.0rem;
    --common_fsize-58: 5.8rem;
    --common_fsize-56: 5.6rem;
    --common_fsize-54: 5.4rem;
    --common_fsize-52: 5.2rem;
    --common_fsize-50: 5.0rem;
    --common_fsize-48: 4.8rem;
    --common_fsize-44: 4.4rem;
    --common_fsize-40: 4.0rem;
    --common_fsize-38: 3.8rem;
    --common_fsize-36: 3.6rem;
    --common_fsize-34: 3.4rem;
    --common_fsize-32: 3.2rem;
    --common_fsize-30: 3.0rem;
    --common_fsize-28: 2.8rem;
    --common_fsize-26: 2.6rem;
    --common_fsize-24: 2.4rem;
    --common_fsize-22: 2.2rem;
    --common_fsize-20: 2.0rem;
    --common_fsize-18: 1.8rem;
    --common_fsize-16: 1.6rem; /* default */
    --common_fsize-14: 1.4rem;
    --common_fsize-12: 1.2rem;
    --common_fsize-10: 1.0rem;
    --common_fsize-8:  0.8rem;
    /* header */
    --common_header_height: 128px;
  }
}

@media screen and (max-width: 767px) {
  :root {
    /* font-size */
    --common_fsize-1200: 120rem;
    --common_fsize-300: 30rem;
    --common_fsize-160: 16rem;
    --common_fsize-120: 12rem;
    --common_fsize-108: 7.5rem;
    --common_fsize-96: 9.6rem;
    --common_fsize-70: 7.0rem;
    --common_fsize-80: 8.0rem;
    --common_fsize-64: 6.4rem;
    --common_fsize-60: 6.0rem;
    --common_fsize-58: 5.8rem;
    --common_fsize-56: 5.6rem;
    --common_fsize-54: 5.4rem;
    --common_fsize-52: 5.2rem;
    --common_fsize-50: 5.0rem;
    --common_fsize-48: 4.8rem;
    --common_fsize-44: 4.4rem;
    --common_fsize-40: 4.0rem;
    --common_fsize-38: 3.8rem;
    --common_fsize-36: 3.6rem;
    --common_fsize-34: 3.4rem;
    --common_fsize-32: 3.2rem;
    --common_fsize-30: 3.0rem;
    --common_fsize-28: 2.8rem;
    --common_fsize-26: 2.6rem;
    --common_fsize-24: 2.4rem;
    --common_fsize-22: 2.2rem;
    --common_fsize-20: 2.0rem;
    --common_fsize-18: 1.8rem;
    --common_fsize-16: 1.6rem; /* default */
    --common_fsize-14: 1.4rem;
    --common_fsize-12: 1.2rem;
    --common_fsize-10: 1.0rem;
    --common_fsize-8:  0.8rem;
  }
}


/* ============================
loading
---------------------------- */
.loaded {
  display: none;
}
.loaded.active {
  display: block;
}

/* ============================
display responsive
---------------------------- */
.dn {
  display: none !important;
}
.pc {
  display: block;
}
.pci {
  display: inline;
}
.pcib {
  display: inline-block;
}
.sp {
  display: none;
}
.spi {
  display: none;
}
.spib {
  display: none;
}
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
  .pci {
    display: none;
  }
  .pcib {
    display: none;
  }
  .sp {
    display: block;
  }
  .spi {
    display: inline;
  }
  .spib {
    display: inline-block;
  }
}

/* ============================
scrollbar
---------------------------- */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #031b3a;
}
::-webkit-scrollbar-thumb {
  background: #0B7ABF;
}
::-webkit-scrollbar-thumb {
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #2798df;
}

/* ============================
html body
---------------------------- */
html {
  overflow-x: hidden;
  font-size: 10px;
  scroll-behavior: smooth;
}
body {
  position: relative;
  color: var(--common_color);
  background-color: var(--common_bgcolor);
  font-family: var(--common_ffamily-g);
  font-style: normal;
  font-weight: 400;
  font-size: var(--common_fsize-18);
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scrollbar-width: thin;
  scrollbar-color: #888 #F1F1F1;
}
@media screen and (max-width: 767px) {
  body {
    padding-top: var(--common_header_height_sp);
    font-size: var(--common_fsize-16);
  }
}

/* ============================
default style
---------------------------- */
section {
  position: relative;
  margin: calc(var(--common_fsize-16) * 4) auto calc(var(--common_fsize-16) * 4) auto;
  padding: 0;
  width: 100%;
  height: auto;
  overflow: hidden;
  background-color: var(--common_bgcolor);
}
section header {
  position: relative;
  margin: 0 auto;
  padding: 0 4.0rem;
  /* width: 100%; */
  width: var(--common_fsize-1200);
  max-width: 1200px;
  height: auto;
  overflow: visible;
}
section article {/* .inner */
  position: relative;
  margin: 0 auto;
  padding: 0 4.0rem;
  width: 100%;
  max-width: 1200px;
  height: auto;
  overflow: hidden;
}
@media screen and (max-width: 1080px) {
  section header {
    padding: 0 5%;
    width: 100%;
  }
  section article {/* .inner */
    padding: 0 5%;
  }
}
@media screen and (max-width: 767px) {
  section header {
    width: 100%;
  }
}

h1 {
  font-family: var(--common_ffamily-z);
  font-size: calc(var(--common_fsize-14) * 3.5);
  font-weight: 700;
  margin: calc(var(--common_fsize-14) * 3.5) auto;
}
h2 {
  font-family: var(--common_ffamily-z);
  font-size: calc(var(--common_fsize-14) * 3);
  font-weight: 700;
  margin: calc(var(--common_fsize-14) * 3) auto;
}
h3 {
  font-family: var(--common_ffamily-z);
  font-size: calc(var(--common_fsize-14) * 2.5);
  font-weight: 700;
  margin: calc(var(--common_fsize-14) * 2.5) auto;
}
h4 {
  font-family: var(--common_ffamily-z);
  font-size: calc(var(--common_fsize-14) * 2);
  font-weight: 700;
  margin: calc(var(--common_fsize-14) * 2) auto;
}
h5 {
  font-family: var(--common_ffamily-z);
  font-size: calc(var(--common_fsize-14) * 1.5);
  font-weight: 700;
  margin: calc(var(--common_fsize-14) * 1.5) auto;
}
h6 {
  font-family: var(--common_ffamily-z);
  font-size: calc(var(--common_fsize-14) * 1);
  font-weight: 700;
  margin: calc(var(--common_fsize-14) * 1) auto;
}

a {
  text-decoration: none;
}
a:link {
  color: var(--common_lcolor);
}
a:visited {
  color: var(--common_vcolor);
}
a:hover {
  color: var(--common_hcolor);
}
a:active {
  color: var(--common_acolor);
}
a:focus {
  color: var(--common_fcolor);
}

p {
  width: 100%;
  max-width: 100%;
  margin: 1em 0 2em 0;
  padding: 0;
  font-weight: 400;
  font-style: normal;
  font-size: 1em;
  font-optical-sizing: none;/* or auto */
  line-height: calc(1em * 1.75);
  letter-spacing: 0.072rem;
}
@media screen and (max-width: 767px) {
  p {
    /* font-size: 0.8888888em; */
  }
}

img {
  display: block;
  margin: 0;
  padding: 0;
  max-width: 100%;
  image-rendering: -webkit-optimize-contrast;
}

hr {
  width: 100%;
  max-width: 100%;
  height: 1px;
  margin: var(--common_fsize-80) auto;
  border: 1px solid #CC0000;
  padding: 0;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="search"],
input[type="date"],
input[type="datetime-local"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="color"],
textarea,
select {
  width: 100%;
  max-width: 100%;
  padding: calc(var(--common_fsize-8) * 1.907) calc(var(--common_fsize-8) * 2);
  font-family: var(--common_ffamily-g);
  font-size: var(--common_fsize-18);
  line-height: calc(var(--common_fsize-18) * 1.75);
  color: var(--common_color);
  background-color: #FFFFFF;
  border: solid 1px #979797;
}
@media screen and (max-width: 767px) {
  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="number"],
  input[type="tel"],
  input[type="url"],
  input[type="search"],
  input[type="date"],
  input[type="datetime-local"],
  input[type="month"],
  input[type="time"],
  input[type="week"],
  input[type="color"],
  textarea,
  select {
    font-size: var(--common_fsize-16);
  }
}

select::-ms-expand {
  display: none;
}
select {
  width: auto;
  position: relative;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url(../img/bg_select_arrow.svg);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: contain;
  padding-right: calc(var(--common_fsize-64) + 1.5rem);
}
input[type="text"]#postal_code {
  width: 33%;
  max-width: 33%;
}
textarea {
  height: calc(var(--common_fsize-8) * 25); /* 200px */
}
input[type="checkbox"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: var(--common_fsize-24);
  min-width: var(--common_fsize-24);
  height: var(--common_fsize-24);
  border-radius: 2px;
  border: 1px solid #979797;
  background-color: #FFF;
  position: relative;
  cursor: pointer;
  margin-right: var(--common_fsize-12);
}
input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  top: calc(50% - calc(var(--common_fsize-8) / 4));
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg) !important;
  -webkit-transform: translate(-50%, -50%) rotate(45deg) !important;
  -ms-transform: translate(-50%, -50%) rotate(45deg) !important;
  width: var(--common_fsize-8);
  height: var(--common_fsize-16);
  border: solid var(--common_color);
  border-width: 0 3px 3px 0;
}
input[type="radio"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: var(--common_fsize-24);
  min-width: var(--common_fsize-24);
  height: var(--common_fsize-24);
  border: 1px solid #979797;
  background-color: #FFF;
  border-radius: 50%;
  position: relative;
  cursor: pointer;
  margin-right: var(--common_fsize-12);
}
input[type="radio"]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) !important;
  -webkit-transform: translate(-50%, -50%) !important;
  -ms-transform: translate(-50%, -50%) !important;
  width: var(--common_fsize-10);
  height: var(--common_fsize-10);
  border-radius: 50%;
  background-color: var(--common_color);
}

/* Chrome, Safari, Opera */
input[type="file"]::-webkit-file-upload-button {
  background-color: #FFFFFF;
  color: #4D4D4D;
  border: solid 1px #979797;
  padding: 0.5em 1em;
  border-radius: 4px;
  cursor: pointer;
}
/* Firefox */
input[type="file"]::file-selector-button {
  background-color: #FFFFFF;
  color: #4D4D4D;
  border: solid 1px #979797;
  padding: 0.5em 1em;
  border-radius: 4px;
  cursor: pointer;
}
/* Edge, IE (旧仕様) */
input[type="file"]::-ms-browse {
  background-color: #FFFFFF;
  color: #4D4D4D;
  border: solid 1px #979797;
  padding: 0.5em 1em;
  border-radius: 4px;
  cursor: pointer;
}
input[type="file"]::file-selector-button {
  background-color: #EFEFEF;
  color: #333333;
  border: 1px solid #979797;
  padding: 10px 20px;
  border-radius: 5px;
  cursor: pointer;
  transition: all 0.3s ease;
}
input[type="file"]::file-selector-button:hover {
  background-color: #CCCCCC;
}

input[type="file"] {
}
.form-btns {
  text-align: center;
}
.form-btns .btn {
  display: inline-block;
  position: relative;
  width: calc(var(--common_fsize-8) * 40); /* 320px */
  height: var(--common_fsize-64);
  background-color: #FFFFFF;
  color: var(--common_keycolor);
  font-family: var(--common_ffamily-g);
  font-size: var(--common_fsize-16);
  font-weight: 700;
  line-height: 170%; /* 2.72rem */
  border: 1px solid var(--common_keycolor);
  cursor: pointer;
  overflow: hidden;
}
.form-btns .btn::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: -100%;
  background-color: var(--common_keycolor);
  z-index: 0;
  transition: all 0.25s ease-in-out;
  pointer-events: none;
}
.form-btns .btn:hover::before {
  animation: bgColorFlash 0.5s ease-in-out;
}
.form-btns .btn::after {
  content: '';
  display: block;
  width: var(--common_fsize-18);
  height: calc(var(--common_fsize-8) * 1.625);
  background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='17'%20height='13'%20viewBox='0%200%2017%2013'%20fill='none'%3E%3Cpath%20d='M0.0205078%206.5L15.8576%206.5'%20stroke='%23063C84'/%3E%3Cpath%20d='M8.99785%2012.5L15.9969%206.5L8.99785%200.500001'%20stroke='%23063C84'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  left: 50%;
  background-position: center center;
  transition: all 0.25s ease-in-out;
  z-index: 1;
  pointer-events: none;
  opacity: 0;
}
.form-btns .btn:hover::after {
  animation: arrowColorFlashW320 0.5s ease-in-out forwards;
}
.form-btns .btn .label {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  left: var(--common_fsize-20);
  color: #FFFFFF;
  pointer-events: none;
  opacity: 0;
  transition: all 0.25s ease-in-out;
}
.form-btns .btn:hover .label {
  animation: labelColorFlash 0.5s ease-in-out;
}
.form-btns .btn input[type="submit"],
.form-btns .btn input[type="button"] {
  width: 100%;
  height: 100%;
  background: none;
  border: none;
  color: inherit;
  font: inherit;
  cursor: pointer;
  text-align: left;
  padding: 0 var(--common_fsize-20);
}

.wpcf7-list-item {
  display: block !important;
  margin: 0 !important;
}
.wpcf7-list-item label {
  display: flex !important;
  margin: 0 !important;
  align-items: center !important;
}
.wpcf7-list-item-label::before,
.wpcf7-list-item-label::after {
  content: "" !important;
}

/* ============================
loading
---------------------------- */
#loading-screen {
  position: fixed;
  display: block;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #FFFFFF;
  z-index: 100000;
  align-items: center;
  justify-content: center;
}
#progress-bar-container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width: 127px;
  height: 124px;
  background-image: url(../img/loading_logo_mono.png);
  background-position: left bottom;
  background-repeat: no-repeat;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
#progress-bar {
  width: 127px;
  height: 0;
  background-image: url(../img/loading_logo_color.png);
  background-position: left bottom;
  background-repeat: no-repeat;
  transition: height 0.5s ease-in-out;
}
#sp_cover {
  position: fixed;
  background-color: rgba(0,0,0,0.5);
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  display: none;
  z-index: 25;
}
#sp_cover.active {
  display: block;
}

/* ============================
text align
---------------------------- */
.tl {
  text-align: left !important;
}
.tc {
  text-align: center !important;
}
.tr {
  text-align: right !important;
}

/* ============================
margin padding
---------------------------- */
.mt1 {
  margin-top: calc(var(--common_fsize-14) * 1);
}
.mb1 {
  margin-bottom: calc(var(--common_fsize-14) * 1);
}
.pt1 {
  padding-top: calc(var(--common_fsize-14) * 1);
}
.pb1 {
  padding-bottom: calc(var(--common_fsize-14) * 1);
}

.mt2 {
  margin-top: calc(var(--common_fsize-14) * 2);
}
.mb2 {
  margin-bottom: calc(var(--common_fsize-14) * 2);
}
.pt2 {
  padding-top: calc(var(--common_fsize-14) * 2);
}
.pb2 {
  padding-bottom: calc(var(--common_fsize-14) * 2);
}

.mt3 {
  margin-top: calc(var(--common_fsize-14) * 3);
}
.mb3 {
  margin-bottom: calc(var(--common_fsize-14) * 3);
}
.pt3 {
  padding-top: calc(var(--common_fsize-14) * 3);
}
.pb3 {
  padding-bottom: calc(var(--common_fsize-14) * 3);
}

.mt4 {
  margin-top: calc(var(--common_fsize-14) * 4);
}
.mb4 {
  margin-bottom: calc(var(--common_fsize-14) * 4);
}
.pt4 {
  padding-top: calc(var(--common_fsize-14) * 4);
}
.pb4 {
  padding-bottom: calc(var(--common_fsize-14) * 4);
}

.mt5 {
  margin-top: calc(var(--common_fsize-14) * 5);
}
.mb5 {
  margin-bottom: calc(var(--common_fsize-14) * 5);
}
.pt5 {
  padding-top: calc(var(--common_fsize-14) * 5);
}
.pb5 {
  padding-bottom: calc(var(--common_fsize-14) * 5);
}

/* ============================
overflow
---------------------------- */
.ov {
  overflow: visible !important;
}
.oh {
  overflow: hidden !important;
}

/* ============================
flex
---------------------------- */
.flex,
.flex-i {
  list-style-type: none;
  margin: 0;
  padding: 0;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.flex {
  display: -webkit-flex;
  display: flex;
}
.flex-i {
  display: -webkit-inline-flex;
  display: inline-flex;
}
.jc-st {
  justify-content: start;
}
.jc-en {
  justify-content: end;
}
.jc-c {
  justify-content: center;
}
.jc-fs {
  justify-content: flex-start;
}
.jc-fe {
  justify-content: flex-end;
}
.jc-l {
  justify-content: left;
}
.jc-r {
  justify-content: right;
}
.jc-sb {
  justify-content: space-between;
}
.jc-sa {
  justify-content: space-around;
}
.jc-se {
  justify-content: space-evenly;
}
.jc-sc {
  justify-content: stretch;
}
.fw-nw {
  flex-wrap: nowrap;
}
.fw-wr {
  flex-wrap: wrap-reverse;
}
.fd-rr {
  flex-direction: row-reverse;
}
.fd-cm {
  flex-direction: column;
}
.ff-cm {
  flex-flow: column;
}
.ai-s {
  align-items: start;
}
.ai-c {
  align-items: center;
}
.ai-e {
  align-items: end;
}
.ai-fe {
  align-items: flex-end;
}
.ai-st {
  align-items: stretch;
}
.wfit {
  width: fit-content;
}
.hfit {
  height: fit-content;
}

/* ======================
00) common
------------------------- */
/* go2top */
div.go2top {
  display: none;
  position: fixed;
  bottom: 0;
  right: 0;
  width: 56px;
  height: 56px;
  background-color: #000000;
  z-index: 10000;
  opacity: 1;
}
div.go2top a {
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(images/go2top.svg);
  background-position: center center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 1200px) and (orientation: portrait) {
  div.go2top {
    display: none;
  }
}

/* ======================
01) ttl
------------------------- */
/* type1 */
.ttl.type1 {}
.ttl.type1 .jp {
  color: var(--common_keycolor);
  font-size: var(--common_fsize-40);
  font-style: normal;
  font-weight: 700;
  line-height: 120%;
  letter-spacing: 0.16rem;
  margin-bottom: var(--common_fsize-16);
  white-space: nowrap;
}
.ttl.type1 .en {
  font-size: var(--common_fsize-16); /* 16px */
  font-style: normal;
  font-weight: 400;
  line-height: 120%; /* 1.92rem */
  letter-spacing: 0.064rem;
  background-image: url(../img/bg_ttl-type1.svg);
  background-position: left center;
  background-repeat: no-repeat;
  background-size: contain;
  padding-left: calc(var(--common_fsize-16) * 1.75);
  white-space: nowrap;
}
@media screen and (min-width: 1440px) {
  .ttl.type1 .jp {
    font-size: 4.0rem;
    margin-bottom: 1.6rem;
  }
  .ttl.type1 .en {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .ttl.type1 .jp {
    font-size: 2.4rem;
    margin-bottom: 1.6rem;
  }
  .ttl.type1 .en {
    font-size: 1.6rem;
  }
}

/* type2 */
.ttl.type2 {
  color: var(--common_keycolor);
  font-size: 1.3888888888888888vw;
  font-weight: 700;
  line-height: 160%;
  letter-spacing: 0.08rem;
  display: flex;
  align-items: center;
  gap: calc(var(--common_fsize-10) / 2);
  margin-top: 0;
  margin-bottom: calc(var(--common_fsize-14) * 2.5 / 2);
  padding-top: 0;
  padding-bottom: calc(var(--common_fsize-14) * 2.5 / 2);
  background-image: linear-gradient(to right, #C8C8C8 4px, transparent 2px);
  background-size: 6px 1px;
  background-repeat: repeat-x;
  background-position: left bottom;
}
.ttl.type2::before {
  content: '';
  display: block;
  height: 1.3888888888888888vw;
  aspect-ratio: 1 / 1;
  background-color: #E1A760;
  border-radius: 4px;
}
@media screen and (min-width: 1440px) {
  .ttl.type2 {
    font-size: 2.0rem;
  }
}
@media screen and (max-width: 767px) {
  .ttl.type2 {
    font-size: 2.0rem;
  }
}

/* type3 */
.ttl.type3 {
  margin-top: 0;
}
.ttl.type3 .jp {
  color: #FFFFFF;
  text-align: center;
  font-family: var(--common_ffamily-z);
  font-size: var(--common_fsize-40);
  font-style: normal;
  font-weight: 700;
  line-height: 120%;
  letter-spacing: 0.16rem;
}
.ttl.type3 .atent {
  display: block;
  color: #FFFFFF;
  text-align: center;
  font-size: var(--common_fsize-16);
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0.064rem;
}
@media screen and (min-width: 1440px) {
  .ttl.type3 .jp {
    font-size: 4.0rem;
    margin-bottom: 1.6rem;
  }
  .ttl.type3 .atent {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .ttl.type3 .jp {
    font-size: 3.0rem;
  }
  .ttl.type3 .atent {
    font-size: 1.6rem;
  }
}

/* type4 */
.ttl.type4 {
  color: var(--common_keycolor);
  font-family: var(--common_ffamily-z);
  font-style: normal;
  font-weight: 700;
  line-height: 150%;
  margin: calc(var(--common_fsize-30) * 3.254) auto;
}
.ttl.type4 .main {
  font-size: var(--common_fsize-40);
  letter-spacing: 0.16rem;
  line-height: 1.25;
}
.ttl.type4 .sub {
  margin-top: var(--common_fsize-16);
  font-size: var(--common_fsize-20);
  letter-spacing: 0.08rem;
  line-height: 1.25;
}
@media screen and (min-width: 1440px) {
  .ttl.type4 {
    margin: 9.75rem auto;
  }
  .ttl.type4 .main {
    font-size: 4.0rem;
  }
  .ttl.type4 .sub {
    font-size: 2.0rem;
  }
}
@media screen and (max-width: 767px) {
  .ttl.type4 {
    margin: var(--common_fsize-64) auto;
  }
  .ttl.type4 .main {
    font-size: var(--common_fsize-24);
  }
  .ttl.type4 .sub {
    margin-top: calc(var(--common_fsize-8) / 2);
    font-size: var(--common_fsize-14);
  }
}

/* type5 */
.ttl.type5 {
  font-family: var(--common_ffamily-z);
  font-style: normal;
  font-weight: 700;
  background-image: url(../img/bg_ttl_type5.svg);
  background-repeat: no-repeat;
  background-position: left top;
  padding-left: var(--common_fsize-20);
  margin: 0 0 var(--common_fsize-24) 0;
}
.ttl.type5 .main {
  font-size: var(--common_fsize-32);
  letter-spacing: 0.128rem;
}
.ttl.type5 .sub {
  font-size: var(--common_fsize-16);
  letter-spacing: 0.064rem;
}
@media screen and (min-width: 1440px) {
  .ttl.type5 {
    margin: 0 0 2.4rem 0;
  }
  .ttl.type5 .main {
    font-size: 3.2rem;
  }
  .ttl.type5 .sub {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .ttl.type5 {
    margin: 0 0 2.4rem 0;
  }
  .ttl.type5 .main {
    font-size: var(--common_fsize-20);
  }
  .ttl.type5 .sub {
    line-height: 1;
    font-size: var(--common_fsize-12);
  }
}

/* type6 */
.ttl.type6 {
  color: var(--common_keycolor);
  font-family: var(--common_ffamily-z);
  font-size: var(--common_fsize-24);
  font-weight: 700;
  line-height: 170%; /* 4.08rem */
  letter-spacing: 0.096rem;
  border-bottom: dotted 1px var(--common_color);
  margin: 0 0 var(--common_fsize-24) 0;
  padding: 0 0 var(--common_fsize-12) 0;
}
@media screen and (min-width: 1440px) {
  .ttl.type6 {
    margin: 0 0 2.4rem 0;
    padding: 0 0 1.2rem 0;
  }
}
@media screen and (max-width: 767px) {
  .ttl.type6 {
    margin: 0 0 1.8rem 0;
    padding: 0 0 1.2rem 0;
    font-size: var(--common_fsize-20);
  }
}

/* type7 */
.ttl.type7 {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--common_fsize-24);
  margin-bottom: var(--common_fsize-20);
}
.ttl.type7 .main {
  font-family: var(--common_ffamily-z);
  font-size: var(--common_fsize-32);
  font-style: normal;
  font-weight: 700;
  line-height: 170%; /* 5.44rem */
  letter-spacing: 0.128rem;
}
.ttl.type7 .sub {
  font-size: var(--common_fsize-14);
  font-style: normal;
  font-weight: 400;
  line-height: 170%; /* 2.38rem */
  letter-spacing: 0.056rem;
}
@media screen and (min-width: 1440px) {
  .ttl.type7 {
    gap: 2.4rem;
    margin-bottom: 2.0rem;
  }
  .ttl.type7 .main {
    font-size: 3.2rem;
  }
  .ttl.type7 .sub {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .ttl.type7 {
    gap: 2.4rem;
    margin-bottom: 2.0rem;
    display: block;
  }
  .ttl.type7 .main {
    font-size: 3.2rem;
  }
  .ttl.type7 .sub {
    font-size: 1.4rem;
  }
}

/* type8 */
.ttl.type8 {
  width: 100%;
  height: var(--common_fsize-96);
  border-radius: 5px 5px 0 0;
  background-color: #0B7ABF;
  display: flex;
  align-items: center;
  margin-bottom: 0;
  padding: 0 var(--common_fsize-40);
}
.ttl.type8 .main {
  color: #FFFFFF;
  font-family: var(--common_ffamily-z);
  font-size: var(--common_fsize-24);
  font-style: normal;
  font-weight: 700;
  line-height: 170%; /* 4.08rem */
  letter-spacing: 0.096rem;
}
.ttl.type8.for-accordion {
  background-image: url('/img/icn-arrow-down.svg');
  background-position: right var(--common_fsize-40) center;
  background-repeat: no-repeat;
  cursor: pointer;
}
.ttl.type8.for-accordion.active {
  background-image: url('/img/icn-arrow-up.svg');
  background-position: right var(--common_fsize-40) center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 1440px) {
  .ttl.type8 {
    height: 9.6rem;
    padding: 0 4.0rem;
  }
  .ttl.type8 .main {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .ttl.type8 {
    height: 9.6rem;
    padding: 0 5%;
    margin: 0 calc(50% - 50vw);
    width: 100vw;
  }
  .ttl.type8 .main {
    font-size: 2.4rem;
  }
}

/* type9 */
.ttl.type9 {
  width: 100%;
  margin-top: 0;
  margin-bottom: var(--common_fsize-24);
  color: var(--common_keycolor);
  text-align: center;
  font-family: var(--common_ffamily-z);
  font-size: var(--common_fsize-32);
  font-style: normal;
  font-weight: 700;
  line-height: 170%; /* 5.44rem */
  letter-spacing: 0.128rem;
}
@media screen and (max-width: 767px) {
  .ttl.type9 {
    font-size: var(--common_fsize-20);
  }
}

/* type10 */
.ttl.type10 {
  color: var(--common_keycolor);
  font-family: var(--common_ffamily-z);
  font-size: var(--common_fsize-20);
  font-style: normal;
  font-weight: 700;
  line-height: 170%; /* 3.4rem */
  letter-spacing: 0.08rem;
}

/* type11 */
.ttl.type11 {}
.ttl.type11 .dat {
  display: inline;
  color: #FFFFFF;
  font-size: var(--common_fsize-16);
  font-weight: 700;
  line-height: 170%; /* 2.72rem */
  letter-spacing: 0.064rem;
  background-color: var(--common_keycolor);
  padding: var(--common_fsize-8) var(--common_fsize-24);
  border-radius: var(--common_fsize-40);
}
.ttl.type11 .main {
  padding-top: var(--common_fsize-24);
  padding-bottom: var(--common_fsize-24);
  color: var(--common_keycolor);
  font-family: var(--common_ffamily-z);
  font-size: var(--common_fsize-40);
  font-weight: 700;
  line-height: 150%; /* 6rem */
  letter-spacing: 0.16rem;
  border-bottom: 1px solid var(--common_keycolor);
}
@media screen and (max-width: 767px) {
  .ttl.type11 .dat {
    padding: calc(var(--common_fsize-8) / 2) var(--common_fsize-12);
    font-size: var(--common_fsize-12);
  }
  .ttl.type11 .main {
    padding-top: var(--common_fsize-12);
    padding-bottom: var(--common_fsize-12);
    font-size: var(--common_fsize-24);
  }
}

/* type12 */
.ttl.type12 {
  text-align: center;
  font-family: var(--common_ffamily-z);
  font-weight: 700;
}
.ttl.type12 .main {
  font-size: var(--common_fsize-32);
  letter-spacing: 0.128rem;
  margin-bottom: var(--common_fsize-24);
}
.ttl.type12 .sub {
  font-size: var(--common_fsize-20);
  letter-spacing: 0.08rem;
  margin-bottom: var(--common_fsize-24);
}

/* ======================
02) paragraph
------------------------- */
p.lead {
  margin: var(--common_fsize-18) 0 var(--common_fsize-32) 0;
  font-size: var(--common_fsize-18);
  line-height: calc(var(--common_fsize-18) * 1.75);
}
p.lead2 {
  margin: var(--common_fsize-16) 0 var(--common_fsize-32) 0;
  font-size: var(--common_fsize-16);
  line-height: calc(var(--common_fsize-16) * 1.75);
  min-height: 3.5em;
}
@media screen and (max-width: 767px) {
  p.lead {
    margin: 1.8rem 0 4.2rem 0;
  }
  p.lead2 {
    margin: 1.6rem 0 3.2rem 0;
  }
}
@media screen and (min-width: 1440px) {
}

/* ======================
03) btn
------------------------- */
.btn {
  display: block;
}

/* type1 - link → */
.btn.type1 {
  background-color: #FFFFFF;
  width: calc(var(--common_fsize-8) * 33.25);
  height: calc(var(--common_fsize-8) * 8);
  border: 1px solid var(--common_keycolor);
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--common_keycolor);
  font-size: var(--common_fsize-16);
  font-weight: 700;
  line-height: calc(var(--common_fsize-8) * 8);
  margin: 0 auto;
  padding: 0 calc(var(--common_fsize-8) * 3.25);
  position: relative;
  overflow: hidden;
}
.btn.type1.m0 {
  margin: 0;/* 左寄せ */
}
.btn.type1 span {
  display: block;
  position: relative;
  z-index: 1;
  color: var(--common_keycolor);
}
.btn.type1:hover div.txt {
 color: var(--common_keycolor);
}
.btn.type1:hover span,
.btn.type1:hover div.txt {
  animation: textColorFlash 0.5s ease-in-out;
}
.btn.type1::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: -100%;
  background-color: var(--common_keycolor);
  z-index: 0;
}
.btn.type1:hover::before {
  animation: bgColorFlash 0.5s ease-in-out;
}
.btn.type1::after {
  content: '';
  display: block;
  width: var(--common_fsize-18);
  height: calc(var(--common_fsize-8) * 1.625);
  background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='17'%20height='13'%20viewBox='0%200%2017%2013'%20fill='none'%3E%3Cpath%20d='M0.0205078%206.5L15.8576%206.5'%20stroke='%23063C84'/%3E%3Cpath%20d='M8.99785%2012.5L15.9969%206.5L8.99785%200.500001'%20stroke='%23063C84'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  background-position: center center;
  z-index: 1;
  opacity: 0;
}
.btn.type1:hover::after {
  animation: arrowColorFlash 0.5s ease-in-out forwards;
}
.btn.type1.w320 {
  width: calc(var(--common_fsize-8) * 40);
  padding: 0 calc(var(--common_fsize-8) * 2.5);
}
.btn.type1.w320::after {
  top: 50%;
  left: 70%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
.btn.type1.w320:hover::after {
  animation: arrowColorFlashW320 0.5s ease-in-out forwards;
}
.btn.type1.type1-1 {
  width: calc(var(--common_fsize-8) * 40);
  margin-right: unset;
  margin-left: unset;
}
@media screen and (min-width: 1440px) {
}
@media screen and (max-width: 375px) {
  .btn {
    display: block;
    width: 100%;
  }
  .btn.type1.type1-1 {
    width: 100%;
  }
  .btn.type1.w320 {
    width: 100%;
  }
}

/* type2 - download ↓ */
.btn.type2 {
  background-color: #FFFFFF;
  width: calc(var(--common_fsize-8) * 40);
  height: calc(var(--common_fsize-8) * 8);
  border: 1px solid var(--common_keycolor);
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--common_keycolor);
  font-size: var(--common_fsize-16);
  font-weight: 700;
  line-height: calc(var(--common_fsize-8) * 8);
  margin: 0 auto;
  padding: 0 calc(var(--common_fsize-8) * 2.5);
  transition: all 0.25s ease-in-out;
  position: relative;
  overflow: hidden;
}
.btn.type2.subspecies {
  width: 100%;
}
.btn.type2 span {
  display: block;
  position: relative;
  z-index: 1;
  color: var(--common_keycolor);
  transition: all 0.25s ease-in-out;
}
.btn.type2:hover span {
  animation: textColorFlash 0.5s ease-in-out;
}
.btn.type2 span::after {
  content: '';
  display: inline-block;
  margin-left: calc(var(--common_fsize-8) / 2);
  width: var(--common_fsize-12);
  height: var(--common_fsize-14);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='14' viewBox='0 0 12 14' fill='none'><g clip-path='url(%23clip0_40000373_7731)'><path d='M11.9996 3.22145V13.9997H0.306641V-0.000244141H8.77801L10.2786 1.50031L11.9996 3.22145Z' fill='%23063C84'/><path d='M5.60795 0.937256H0V3.44653H5.60795V0.937256Z' fill='%23F2F2F2'/><path d='M2.01117 1.75987C1.98645 1.70009 1.95344 1.6465 1.90811 1.60117C1.86278 1.55584 1.80711 1.51872 1.74322 1.49401C1.67728 1.46719 1.60304 1.45483 1.5206 1.45483H0.904297V3.04609H1.21553V2.44628H1.52059C1.603 2.44628 1.67724 2.43392 1.74322 2.40711C1.80711 2.38239 1.86278 2.34527 1.90811 2.29994C1.95344 2.25461 1.98645 2.20308 2.01117 2.14124C2.03383 2.08146 2.04619 2.01757 2.04619 1.95162C2.04619 1.88355 2.03383 1.81962 2.01117 1.75987ZM1.67518 2.10819C1.63396 2.14736 1.57623 2.16797 1.50618 2.16797H1.21557V1.73101H1.50618C1.57627 1.73101 1.63396 1.75162 1.67518 1.79284C1.71435 1.83202 1.73497 1.8856 1.73497 1.95154C1.73497 2.01543 1.71435 2.06906 1.67518 2.10819Z' fill='%23063C84'/><path d='M3.4999 2.07111C3.49781 2.01548 3.49579 1.966 3.48959 1.92063C3.48339 1.87529 3.47309 1.83407 3.45863 1.7949C3.44422 1.75778 3.42566 1.7207 3.40095 1.68773C3.34531 1.60733 3.27728 1.54755 3.20099 1.51047C3.12269 1.47335 3.02994 1.45483 2.92068 1.45483H2.34766V3.04609H2.92068C3.02994 3.04609 3.12269 3.02754 3.20099 2.99046C3.27728 2.95334 3.34531 2.89359 3.40095 2.8132C3.42566 2.78023 3.44422 2.74311 3.45863 2.70603C3.47309 2.66686 3.48339 2.62563 3.48959 2.5803C3.49579 2.53497 3.4978 2.48549 3.4999 2.42982C3.50195 2.37623 3.50195 2.31645 3.50195 2.2505C3.50195 2.18456 3.50199 2.1247 3.4999 2.07111ZM3.18867 2.41122C3.18867 2.45864 3.18456 2.49572 3.18046 2.52869C3.17635 2.55961 3.17015 2.58848 3.1619 2.60909C3.15369 2.63175 3.14133 2.65237 3.12688 2.67093C3.07535 2.73687 2.99701 2.76779 2.89395 2.76779H2.65691V1.73097H2.89395C2.99701 1.73097 3.07535 1.76394 3.12688 1.82992C3.14129 1.84848 3.15369 1.86704 3.1619 1.88971C3.17015 1.91237 3.17635 1.93919 3.18046 1.97216C3.18456 2.00308 3.18867 2.04225 3.18867 2.08758C3.19076 2.13291 3.19076 2.18859 3.19076 2.25042C3.19076 2.31226 3.19072 2.36585 3.18867 2.41122Z' fill='%23063C84'/><path d='M4.82942 1.73129V1.45508H3.78027V3.04634H4.09154V2.40115H4.7202V2.12289H4.09154V1.73125L4.82942 1.73129Z' fill='%23063C84'/><path d='M11.9996 3.22187V14.0001H0.306641V11.473L5.77285 6.00663L6.09644 5.68299L6.27578 5.50368L6.57465 5.2048L6.92916 4.85025L10.2786 1.50073L11.9996 3.22187Z' opacity='0.08' fill='%23040000'/><path d='M12.0003 3.22185H8.77832V-0.000244141L12.0003 3.22185Z' fill='%23C5F2EF'/><path d='M10.3309 10.1348C10.2628 10.0152 10.1701 9.90188 10.0547 9.79881C9.95985 9.71226 9.84854 9.63186 9.72281 9.55767C9.21577 9.25879 8.49231 9.1145 7.50911 9.1145H7.41015C7.35657 9.06502 7.3009 9.01554 7.24321 8.96401C6.87014 8.62801 6.57333 8.26319 6.34249 7.85714C6.79591 6.85744 7.01237 5.967 6.98556 5.20845C6.98146 5.08067 6.96286 4.9611 6.92993 4.84979C6.88045 4.67048 6.798 4.51174 6.68259 4.3819C6.67848 4.3778 6.49503 4.17167 6.23943 4.0542C5.97974 4.0542 5.71798 4.0542 5.4768 4.16757C5.3016 4.37574 5.1285 4.58187 5.03574 4.86424C5.0316 5.19613 5.0254 5.70319 5.06662 6.18347C5.15321 6.62664 5.26243 7.1337 5.39025 7.51503C5.55514 7.86954 5.36138 8.26323 5.16557 8.60334C5.02954 8.83422 4.92649 9.00942 4.81312 9.19288C4.69561 9.37634 4.16591 9.47115 3.71655 9.58657C3.32497 9.73086 2.79527 9.92257 2.37063 10.1699C2.0656 10.4647 1.86774 10.6543 1.66778 11.0665C1.60184 11.4994 1.68018 11.6931C1.75232 11.8725 1.88219 12.0229 2.0553 12.126C2.18517 12.1899 2.31709 12.2435 2.46137 12.2723C2.61181 12.2723 2.96016 12.2723 3.31881 12.1219C3.62179 11.8518 4.18656 11.3468 4.76985 10.5347C5.11408 10.0214 5.39645 9.97817 5.70357 9.94105C6.04986 9.90397 6.45799 9.86275 6.8187 9.83803C7.14639 9.82563 7.43701 10.0853 7.9523 10.545C8.34392 10.8769 8.69843 11.1098 8.70254 11.1118C8.84271 11.2046 8.97669 11.2808 9.11066 11.3427C9.26115 11.4127 9.41364 11.4498 9.57032 11.4498C9.76818 11.4498 9.95369 11.39 10.1083 11.2808C10.2649 11.1674 10.3783 11.0046 10.4298 10.8211C10.4896 10.6006 10.4545 10.3554 10.3309 10.1348Z' fill='%23F2F2F2'/></g><defs><clipPath id='clip0_40000373_7731'><rect width='12' height='14' fill='white' transform='translate(0 -0.000244141)'/></clipPath></defs></svg>");
  background-repeat: no-repeat;
  background-size: contain;
  transition: all 0.25s ease-in-out;
}
.btn.type2:hover span::after {
  animation: pdfColorFlash 0.5s ease-in-out forwards;
}
.btn.type2::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: -100%;
  left: 0;
  background-color: var(--common_keycolor);
  z-index: 0;
  transition: all 0.25s ease-in-out;
}
.btn.type2:hover::before {
  animation: bgColorFlash2 0.5s ease-in-out;
}
.btn.type2::after {
  content: '';
  display: block;
  width: var(--common_fsize-12);
  height: calc(var(--common_fsize-8) * 1.75);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='15' viewBox='0 0 14 15' fill='none'><path d='M7 0L7 11.8943' stroke='%23063C84'/><path d='M1 6.74293L7 11.9995L13 6.74293' stroke='%23063C84'/><path d='M1 14.5H13.5' stroke='%23063C84'/></svg>");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: calc(var(--common_fsize-8) * 2.5);
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  background-position: center center;
  transition: all 0.25s ease-in-out;
  z-index: 1;
  opacity: 0;
}
.btn.type2:hover::after {
  animation: dlColorFlash 0.5s ease-in-out forwards;
}
.btn.type2.type2-1 {
  width: calc(var(--common_fsize-8) * 40);
  margin-right: unset;
  margin-left: unset;
}
@media screen and (min-width: 1440px) {
}
@media screen and (max-width: 375px) {
  .btn.type2.type2-1 {
    width: 100%;
  }
}

/* ======================
10) header
------------------------- */
body > .loaded > header {
  position: relative;
  z-index: 1;
  width: 100%;
  height: var(--common_header_height);
  background-color: var(--common_bgcolor);
  pointer-events: none;
  padding-right: 2.7777777777777777vw;
  padding-left: 2.7777777777777777vw;
}
@media screen and (min-width: 1440px) {
  body > .loaded > header {
    padding-right: 40px;
    padding-left: 40px;
  }
}
body > .loaded > header .site-ttl {
  pointer-events: all;
}
body > .loaded > header .site-ttl h1 {
  margin: 0;
  width: 14.444444444444443vw;
  height: 3.3333333333333335vw;
  background-image: url(../img/corp-logo.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (min-width: 1440px) {
  body > .loaded > header .site-ttl h1 {
    width: 208px;
    height: 48px;
  }
}
body > .loaded > header .site-ttl h1 a {
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: all;
}
body > .loaded > header .inner>.flex {
  height: var(--common_header_height);
}
body > .loaded > header .inner>.flex>.flex {
  width: calc(100% - 16.11111111111111vw);
}

@media screen and (max-width: 767px) {
  body > .loaded > header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: var(--common_header_height_sp);
    padding-right: 0;
    padding-left: 16px;
    z-index: 10000;
  }
  body > .loaded > header .inner>.flex {
    height: var(--common_header_height_sp);
  }
  body > .loaded > header .site-ttl h1 {
    width: 116px;
    height: 28px;
  }
}

/* ======================
11) nav
------------------------- */
header nav {
  pointer-events: all;
}

/* ul.nav-lst-sub */
header nav ul.nav-lst-sub {
  font-size: var(--common_fsize-14);
  margin-bottom: var(--common_fsize-16);
}
header nav ul.nav-lst-sub li.nav-lst_itm {
  border-right: 1px solid #BDBDBD;
  padding: 0 var(--common_fsize-24);
}
header nav ul.nav-lst-sub li.nav-lst_itm:last-child {
  border-right: none;
  padding: 0 0 0 var(--common_fsize-24);
}
header nav ul.nav-lst-sub li.nav-lst_itm a {
  color: #4D4D4D;
  font-weight: 500;
}
/* ul.nav-lst-main */
header nav ul.nav-lst-main {
  font-size: var(--common_fsize-16);
}
header nav ul.nav-lst-main li.nav-lst_itm {
  padding: 0 var(--common_fsize-18);
}
header nav ul.nav-lst-main li.nav-lst_itm:last-child {
  padding: 0 0 0 var(--common_fsize-18);
}
header nav ul.nav-lst-main li.nav-lst_itm a {
  color: var(--common_color);
  font-weight: 500;
  display: block;
  position: relative;
}
header nav ul.nav-lst-main li.nav-lst_itm a::after {
  content: '';
  display: block;
  width: 0;
  height: 1px;
  background-color: var(--common_keycolor);
  position: absolute;
  bottom: -5px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transition: all 0.25s ease-in-out;
}
header nav ul.nav-lst-main li.nav-lst_itm a:hover::after {
  width: 100%;
}

header header.active nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  overflow: hidden;
  border: none;
  transition: all 0.25s ease-in-out;
}

@media screen and (max-width: 767px) {
  header nav {
    position: fixed;
    bottom: 0;
    padding-right: 5%;
    padding-left: 5%;
    left: -100dvw;
    width: 100%;
    height: calc(100dvh - var(--common_header_height_sp));
    overflow: hidden;
    border: none;
    transition: all 0.25s ease-in-out;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: rgba(2, 17, 37, 0.9);
    backdrop-filter: blur(4px);
    gap: 45px 0;
  }
  header.active nav {
    left: 0;
  }
  header nav ul.nav-lst {
    padding-top: calc(var(--common_fsize-16) * 1.5 / 2);
    padding-bottom: calc(var(--common_fsize-16) * 1.5 / 2);
    padding-right: 0;
    padding-left: 0;
    margin-right: auto;
    margin-left: auto;
    border: 1px solid #FFFFFF;
    border-radius: 4px;
    background-color: rgba(0,0,0,0.5);
    backdrop-filter: blur(4px);
    pointer-events: all;
    box-shadow: 0 0 calc(var(--common_fsize-14) * 0.25) rgba(0,0,0,0.25), 0 calc(var(--common_fsize-14) * 0.25) calc(var(--common_fsize-14) * 0.25) rgba(0,0,0,0.25), calc(var(--common_fsize-14) * 0.25) calc(var(--common_fsize-14) * 0.25) calc(var(--common_fsize-14) * 0.25) rgba(0,0,0,0.25), calc(var(--common_fsize-14) * 0.25) 0 calc(var(--common_fsize-14) * 0.25) rgba(0,0,0,0.25);
  }
  header nav ul.nav-lst li.nav-lst_itm {
    position: relative;
    padding: calc(var(--common_fsize-14) * 1.5 / 4) calc(var(--common_fsize-14) * 1.5 / 3);
  }
  header nav ul.nav-lst-sub {
    order: 1;
    justify-content: space-between;
    font-size: var(--common_fsize-16);
    margin-bottom: 0;
    width: 100%;
  }
  header nav ul.nav-lst-sub li.nav-lst_itm {
    padding: var(--common_fsize-14) 0;
    border-right: none;
    width: 50%;
    text-align: center;
  }
  header nav ul.nav-lst-sub li.nav-lst_itm:last-child {
    padding: 0 0;
    border-right: none;
  }
  header nav ul.nav-lst-main {
    order: 0;
    display: block;
    font-size: var(--common_fsize-16);
    width: 100%;
  }
  header nav ul.nav-lst-sub li.nav-lst_itm a {
    color: #FFFFFF !important;
  }
  header nav ul.nav-lst-main li.nav-lst_itm {
    padding: var(--common_fsize-24) 0;
    border-top: 1px solid #BDBDBD;
  }
  header nav ul.nav-lst-main li.nav-lst_itm:last-child {
    padding: var(--common_fsize-24) 0;
    border-bottom: 1px solid #BDBDBD;
  }
  header nav ul.nav-lst-main li.nav-lst_itm a {
    color: #FFFFFF !important;
  }
  header nav ul.nav-lst-main li.nav-lst_itm a::after {
    display: none;
  }
  header nav .contact-box {
    order: 2;
  }
}

/* ======================
12) contact-btn
------------------------- */
header a.contact-btn {
  width: 13.88888888888889vw;
  height: 4.444444444444445vw;
  border-radius: 50px;
  border: 1px solid var(--common_keycolor);
  background: var(--common_keycolor);
  color: #FFFFFF;
  font-size: var(--common_fsize-18);
  font-weight: 500;
  letter-spacing: 0.064rem;
  padding-right: var(--common_fsize-16);
  padding-left: var(--common_fsize-16);
  gap: var(--common_fsize-16);
  pointer-events: all;
  transition: all 0.25s ease-in-out;
}
header a.contact-btn:hover {
  background: #FFFFFF;
  color: var(--common_keycolor);
}
header a.contact-btn span.icn-arrow-r {
  display: flex;
  width: 2.2222222222222223vw;
  height: 2.2222222222222223vw;
  justify-content: center;
  align-items: center;
  border-radius: 2.2222222222222223vw;
  background: #FFFFFF;
  color: var(--common_keycolor);
  transition: all 0.25s ease-in-out;
}
header a.contact-btn:hover span.icn-arrow-r {
  background: var(--common_keycolor);
  color: #FFFFFF;
}
@media screen and (min-width: 1440px) {
  header a.contact-btn {
    width: 200px;
    height: 64px;
    font-size: 1.6rem;
    padding-right: 1.6rem;
    padding-left: 1.6rem;
  }
  header a.contact-btn span.icn-arrow-r {
    width: 3.2rem;
    height: 3.2rem;
    gap: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  header a.contact-btn {
    width: 200px;
    height: 64px;
  }
  header a.contact-btn span.icn-arrow-r {
    width: 32px;
    height: 32px;
    border-radius: 32px;
  }
}

/* ======================
13) hamburger
------------------------- */
.hamburger {
  width: var(--common_header_height_sp);
  height: var(--common_header_height_sp);
  aspect-ratio: 1 / 1;
  border-left: 1px solid #D1D1D1;
  position: relative;
  cursor: pointer;
  pointer-events: all;
}

.hamburger span {
  display: block;
  position: absolute;
  width: 65%;
  height: 2px;
  border-radius: 2px;
  background-color: var(--common_keycolor);
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transition: all 0.25s ease-in-out;
}

.hamburger span:nth-child(1) {
  top: calc(1.6rem * 1);
}
.hamburger span:nth-child(2) {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
.hamburger span:nth-child(3) {
  bottom: calc(1.6rem * 1);
}

.hamburger.active span:nth-child(1) {
  top: 72%;
  left: 39%;
  transform: rotate(45deg) translate(-50%, -50%);
  -webkit-transform: rotate(45deg) translate(-50%, -50%);
  -ms-transform: rotate(45deg) translate(-50%, -50%);
}
.hamburger.active span:nth-child(2) {
  opacity: 0;
}
.hamburger.active span:nth-child(3) {
  bottom: 69%;
  left: 40%;
  transform: rotate(-45deg) translate(-50%, -50%);
  -webkit-transform: rotate(-45deg) translate(-50%, -50%);
  -ms-transform: rotate(-45deg) translate(-50%, -50%);
}

/* ======================
20) footer
------------------------- */
footer {
  position: relative;
  margin: 0 auto;
  width: 100%;
  overflow: hidden;
}

/* Contact */
footer .contact {
  position: relative;
  width: 100%;
  /* height: 22.22222222222222vw; */
  height: auto;
  padding: 4.861111111111112vw 0;
  overflow: hidden;
  background-color: #0B7ABF;
}
@media screen and (min-width: 1440px) {
  footer .contact {
    padding: 70px 0;
  }
}
@media screen and (max-width: 767px) {
  footer .contact {
    padding: 70px 0;
  }
}
footer .contact .inner {
  /* width: 100%; */
  width: var(--common_fsize-1200);
  height: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 4.0rem;
  overflow: visible;
  position: relative;
}
@media screen and (max-width: 767px) {
  footer .contact .inner {
    padding: 0 5%;
    width: 100%;
  }
}
footer .contact .inner header {
  position: relative;
  width: 100%;
  height: auto;
  margin-bottom: var(--common_fsize-24);
}
footer .contact .inner header .ttl .jp {
  line-height: 150%;
}
footer .contact .inner .contact-box .contact-tel {}
footer .contact .inner .contact-box .contact-tel .contact-tel-1 {
  gap: 0.9027777777777777vw; /* 13px */
  margin: 0.9027777777777777vw 0;
}
footer .contact .inner .contact-box .contact-tel .contact-tel-2 {
  gap: 0.9027777777777777vw; /* 13px */
  margin: 0.9027777777777777vw 0;
}
footer .contact .inner .contact-box .contact-tel .for {
  color: #FFFFFF;
  font-family: var(--common_ffamily-z);
  font-size: var(--common_fsize-18);
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.072rem;
}
@media screen and (min-width: 1440px) {
  footer .contact .inner .contact-box .contact-tel .for {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 1079px) {
  footer .contact .inner .contact-box .contact-tel {
    width: unset;
    height: auto;
    margin-right: auto;
    margin-left: auto;
  }
  footer .contact .inner .contact-box .contact-tel .for {
    font-size: 1.8rem;
  }
  footer .contact .inner .contact-box .contact-tel .contact-tel-1,
  footer .contact .inner .contact-box .contact-tel .contact-tel-1 span {
    display: block;
    width: 100%;
  }
  footer .contact .inner .contact-box .contact-tel .contact-tel-2,
  footer .contact .inner .contact-box .contact-tel .contact-tel-2 span {
    display: block;
    width: 100%;
  }
  footer .contact .inner .contact-box .contact-tel .contact-tel-1,
  footer .contact .inner .contact-box .contact-tel .contact-tel-2 {
    margin-bottom: 2.4rem;
  }
}
footer .contact .inner .contact-box .contact-tel .tel {
  line-height: 1;
}
footer .contact .inner .contact-box .contact-tel .tel a {
  color: #FFFFFF;
  font-size: var(--common_fsize-56);
  font-style: normal;
  font-weight: 700;
  text-decoration: none;
}
@media screen and (min-width: 1440px) {
  footer .contact .inner .contact-box .contact-tel .tel a {
    font-size: 5.6rem;
  }
}
@media screen and (max-width: 1079px) {
  footer .contact .inner .contact-box .contact-tel .tel a {
    font-size: 5.6rem;
  }
}
@media screen and (max-width: 767px) {
  footer .contact .inner .contact-box .contact-tel .tel a {
    font-size: 4.2rem;
  }
}
footer .contact .inner .contact-box .contact-btn {}
footer .contact .inner .contact-box .contact-btn a {
  width: 27.77777777777778vw; /* 400px */
  height: 6.527777777777779vw; /* 94px */
  border-radius: 1px;
  border: none;
  position: relative;
}
footer .contact .inner .contact-box .contact-btn a .icn-txt {
  gap: 0.9027777777777777vw; /* 13px */
}
footer .contact .inner .contact-box .contact-btn a .icn-txt .icn-mail {
  width: 2.8rem;
  height: 2.0rem;
  background-image: url(../img/icn-mail.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  position: relative;
  transition: all 0.25s ease-in-out;
  z-index: 1;
}
footer .contact .inner .contact-box .contact-btn a:hover .icn-txt .icn-mail {
  animation: icnMailFlash 0.5s ease-in-out;
}
footer .contact .inner .contact-box .contact-btn a:hover .icn-txt {
  position: relative;
  z-index: 1;
}
footer .contact .inner .contact-box .contact-btn a:hover .icn-txt .txt {
  position: relative;
  z-index: 2;
  transition: all 0.25s ease-in-out;
}
footer .contact .inner .contact-box .contact-btn a.btn.type1::after {
  left: 70%;
}
footer .contact .inner .contact-box .contact-btn a.btn.type1:hover::after {
  left: calc(100% - var(--common_fsize-8) * 3.25);
}
@media screen and (min-width: 1440px) {
  footer .contact .inner .contact-box .contact-btn a {
    width: 40.0rem;
    height: 9.4rem;
  }
}
@media screen and (max-width: 1079px) {
  footer .contact .inner .contact-box .contact-btn {
    width: 100%;
    height: auto;
  }
  footer .contact .inner .contact-box .contact-btn a {
    width: 100%;
    max-width: calc(var(--common_fsize-8) * 70);
    height: 9.4rem;
    margin-right: auto;
    margin-left: auto;
  }
  footer .contact .inner .contact-box .contact-btn a .icn-txt .txt {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  footer .contact .inner .contact-box .contact-btn {
    margin-right: auto;
    margin-left: auto;
    width: 100%;
    max-width: calc(var(--common_fsize-8) * 40);
    height: auto;
  }
}

/* Sitemap */
footer .sitemap {
  position: relative;
  width: 100%;
  height: auto;
  padding: 5.555555555555555vw 0;
  overflow: hidden;
  background-color: var(--common_bgcolor);
}
footer .sitemap .inner {
  position: relative;
  margin: 0 auto;
  padding: 0 4.0rem;
  width: 100%;
  max-width: var(--common_fsize-1200);
  height: auto;
  overflow: hidden;
  color: #FFFFFF;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}
footer .sitemap .inner .logo-address .logo a img {
  width: 22.083333333333332vw; /* 318px */
}
footer .sitemap .inner .logo-address address {
  color: var(--common_color);
  margin-top: var(--common_fsize-24);
  font-size: var(--common_fsize-14);
  font-style: normal;
  font-weight: 400;
  line-height: 170%; /* 2.38rem */
  letter-spacing: 0.056rem;
}
footer .sitemap .inner .p-lst {
  font-size: var(--common_fsize-16);
  font-weight: 400;
  gap: 5.555555555555555vw;
}
footer .sitemap .inner .c-lst {
  font-size: var(--common_fsize-14);
  font-weight: 400;
}

/* footer .sitemap .inner .p-lst .itm, */
footer .sitemap .inner .p-lst .itm>a,
footer .sitemap .inner .c-lst .itm {
  margin-bottom: var(--common_fsize-16);
}
footer .sitemap .inner .p-lst .itm:last-child,
footer .sitemap .inner .p-lst .itm>a:last-child,
footer .sitemap .inner .c-lst .itm:last-child {
  margin-bottom: 0;
}
footer .sitemap .inner .p-lst .itm .p-lst .itm {
  margin-bottom: var(--common_fsize-16);
}
footer .sitemap .inner .p-lst .itm .p-lst .itm:last-child {
  margin-bottom: 0;
}
footer .sitemap .inner .p-lst .itm a,
footer .sitemap .inner .c-lst .itm a {
  display: block;
  color: var(--common_color);
  transition: all 0.25s ease-in-out;
}
footer .sitemap .inner .p-lst .itm a:hover,
footer .sitemap .inner .c-lst .itm a:hover {
  color: var(--common_keycolor);
}
@media screen and (min-width: 1440px) {
  footer .sitemap {
    padding: 80px 0;
  }
  footer .sitemap .inner {
    max-width: 1200px;
  }
  footer .sitemap .inner .logo-address .logo a img {
    width: 318px;
  }
  footer .sitemap .inner .p-lst {
    gap: 80px;
  }
}
@media screen and (max-width: 767px) {
  footer .sitemap {
    padding: 80px 0;
  }
  footer .sitemap .inner {
    padding: 0 5%;
    max-width: 100%;
    gap: 40px;
  }
  footer .sitemap .inner .logo-address {
    width: 100%;
  }
  footer .sitemap .inner .logo-address .logo a img {
    width: 288px;
  }
  footer .sitemap .inner .p-lst {
    gap: 40px;
    width: 100%;
    display: none;
  }
  footer .sitemap .inner .p-lst .itm {
    width: 100%;
  }
}

/* Copyright */
footer .copyright {
  position: relative;
  width: 100%;
  height: auto;
  padding: 1.3888888888888888vw 0;
  overflow: hidden;
  background-color: var(--common_keycolor);
}
footer .copyright .inner {
  position: relative;
  margin: 0 auto;
  padding: 0 4.0rem;
  width: 100%;
  max-width: var(--common_fsize-1200);
  height: auto;
  overflow: hidden;
  color: #FFFFFF;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}
footer .copyright .lnk {
  gap: var(--common_fsize-24);
}
footer .copyright .lnk li a {
  display: block;
  font-size: var(--common_fsize-12);
  font-weight: 400;
  color: #FFFFFF;
  letter-spacing: 0.048rem;
}
footer .copyright .txt {
  font-size: var(--common_fsize-12);
}
@media screen and (min-width: 1440px) {
  footer .copyright {
    padding: var(--common_fsize-20) 0;
  }
}
@media screen and (max-width: 767px) {
  footer .copyright {
    padding: var(--common_fsize-20) 0;
  }
  footer .copyright .lnk {
    width: 100%;
    justify-content: center;
    margin-bottom: var(--common_fsize-10);
  }
  footer .copyright .txt {
    width: 100%;
    text-align: center;
  }
}

/* ======================
30) main
------------------------- */
main {
  position: relative;
  width: 100%;
  height: auto;
  overflow: hidden;
  background-color: #FFFFFF;
}

/* ======================
40) tpl1 - lower layer
------------------------- */
main.tpl1 {}
main.tpl1 section#sec01.outer {
  margin: 0 auto;
  height: var(--common_fsize-300);
}
main.tpl1 section#sec02.outer {
  background-color: #FBF3E9;
  margin-top: 0;
  margin-bottom: 0;
  padding-top: var(--common_fsize-120);
  padding-bottom: 0;
}
main.tpl1 section#sec02.outer article.inner {
  width: var(--common_fsize-1200);
  margin-bottom: var(--common_fsize-80);
}
@media screen and (min-width: 1440px) {
  main.tpl1 section#sec02.outer {
    padding-top: 12rem;
  }
  main.tpl1 section#sec02.outer article.inner {
    width: 100%;
    margin-bottom: 8.0rem;
  }
}
@media screen and (max-width: 1080px) {
  main.tpl1 section#sec02.outer {
    padding-top: 12rem;
  }
  main.tpl1 section#sec02.outer article.inner {
    width: 100%;
    margin-bottom: 8.0rem;
  }
}
@media screen and (max-width: 767px) {
  main.tpl1 section#sec01.outer {
    height: calc(var(--common_fsize-8) * 23);
  }
  main.tpl1 section#sec02.outer {
    padding-top: var(--common_fsize-80);
  }
  main.tpl1 section#sec02.outer article.inner {
    width: 100%;
    margin-bottom: var(--common_fsize-40);
  }
}
main.tpl1 section#sec02.outer article.inner div.inner2 {
  width: 100%;
  margin-bottom: var(--common_fsize-80);
  padding: var(--common_fsize-40) var(--common_fsize-70) var(--common_fsize-80) var(--common_fsize-70);
  background-color: #FFFFFF;
}
@media screen and (max-width: 767px) {
  main.tpl1 section#sec02.outer article.inner div.inner2 {
    padding: 5%;
    margin: 0 calc(50% - 50vw)  var(--common_fsize-80) calc(50% - 50vw);
    width: 100vw;
  }
}

/* Accordion */
main.tpl1 section#sec02.outer article.inner .accordion {
  display: grid;
  grid-template-rows: 0fr;
  transition: all 0.25s ease-in-out;
}
main.tpl1 section#sec02.outer article.inner .accordion.active {
  grid-template-rows: 1fr;
}
main.tpl1 section#sec02.outer article.inner .accordion div.inner2 {
  padding-top: 0;
  padding-bottom: 0;
  transition: all 0.25s ease-in-out;
  overflow: hidden;
}
main.tpl1 section#sec02.outer article.inner .accordion.active div.inner2 {
  padding: var(--common_fsize-40) var(--common_fsize-70) var(--common_fsize-80) var(--common_fsize-70);
}
@media screen and (max-width: 767px) {
  main.tpl1 section#sec02.outer article.inner .accordion {
    margin-bottom: var(--common_fsize-80);
  }
  main.tpl1 section#sec02.outer article.inner .accordion.active {
    margin-bottom: 0;
  }
  main.tpl1 section#sec02.outer article.inner .accordion.active div.inner2 {
    padding: 5%;
    margin: 0 calc(50% - 50vw) var(--common_fsize-80) calc(50% - 50vw);
    width: 100vw;
  }
}

/* ======================
50) tpl2 - lower layer
------------------------- */
main.tpl2 {}
main.tpl2 #sec01 {
  margin: 0 auto;
}
main.tpl2 #sec01 article {
  width: 100%;
  min-width: 100%;
  height: auto;
  padding: 0;
  object-fit: cover;
}
main.tpl2 #sec01 img {
  width: 100%;
  height: auto;
}
main.tpl2 #sec02 {
  margin: 0 auto;
  padding: var(--common_fsize-120) 0 0 0;
}
main.tpl2 #sec02 article {
  margin: 0 auto var(--common_fsize-80) auto;
}
main.tpl2 #sec02 article.mb-160 {
  margin: 0 auto var(--common_fsize-160) auto;
}
main.tpl2 #sec02 article.arc {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding: 0;
  width: 100vw;
  max-width: 100vw;
}
main.tpl2 #sec02 article.arc::before,
main.tpl2 #sec02 article.arc::after {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 1440 / 113;
  background-size: cover;
  background-repeat: no-repeat;
}
main.tpl2 #sec02 article.arc::before {
  background-position: top center;
}
main.tpl2 #sec02 article.arc::after {
  background-position: bottom center;
}
main.tpl2 #sec02 article.arc .arc-outer .arc-inner {
  position: relative;
  margin: 0 auto calc(var(--common_fsize-8) * 14.125) auto;
  padding: 0 4.0rem;
  width: 100%;
  max-width: 1200px;
  height: auto;
  overflow: hidden;
}
main.tpl2 #sec02 article.arc .arc-outer .arc-inner:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  main.tpl2 #sec02 {
    padding: var(--common_fsize-80) 0 0 0;
  }
}

/* ======================
60) pankuzu
------------------------- */
.pankuzu {
  position: relative;
  margin: var(--common_fsize-160) auto 0 auto;
  padding: 0 4.0rem var(--common_fsize-24) 4.0rem;
  width: var(--common_fsize-1200);
  max-width: 1200px;
  height: auto;
  overflow: hidden;
}
.pankuzu .pankuzu-list {
}
.pankuzu .pankuzu-list li {
  font-size: var(--common_fsize-12);
  font-style: normal;
  font-weight: 400;
  line-height: 150%; /* 1.8rem */
  letter-spacing: 0.048rem;
}
.pankuzu .pankuzu-list li::after {
  content: '＞';
  display: inline-block;
}
.pankuzu .pankuzu-list li:last-child::after {
  content: '';
}
.pankuzu .pankuzu-list li a {
  color: var(--common_color);
  text-decoration: none;
  transition: all 0.25s ease-in-out;
}
.pankuzu .pankuzu-list li a:hover {
  color: var(--common_keycolor);
}
@media screen and (max-width: 1080px) {
  .pankuzu {
    margin-right: 0;
    margin-left: 0;
    padding: 0 5%;
  }
}
@media screen and (max-width: 767px) {
  .pankuzu {
    width: 100%;
    margin: var(--common_fsize-120) auto 0 auto;
    padding-bottom: var(--common_fsize-20)
  }
}

/* ======================
70) voice
------------------------- */
.voice {
  position: relative;
  margin: 0 auto;
  width: 100%;
  max-width: 1200px;
  height: auto;
  overflow: hidden;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stretch;
  gap: var(--common_fsize-24);
}
.voice .voice-inner {
  display: flex;
  align-items: flex-start;
  border-radius: 5px;
  padding: var(--common_fsize-50);
  gap: var(--common_fsize-40);
}
.voice .voice-inner .voice-img {
  flex-shrink: 0;
  width: var(--common_fsize-108);
  margin: calc(-1 * var(--common_fsize-24)) 0 0 calc(-1 * var(--common_fsize-24));
  position: relative;
}
.voice .voice-inner .voice-img img {
  display: block;
  width: 100%;
  object-fit: cover;
  margin: var(--common_fsize-24) 0 0 var(--common_fsize-24);
}
.voice .voice-inner .voice-img .voice-num {
  position: absolute;
  top: 0;
  left: 0;
  color: rgba(11, 122, 191, 0.5);
  font-family: var(--common_ffamily-z);
  font-size: var(--common_fsize-56);
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.224rem;
}
.voice .voice-inner .voice-txt {
  flex-grow: 1;
  margin-left: var(--common_fsize-24);
}
.voice .voice-inner .voice-txt p {
  margin: 0;
  font-size: var(--common_fsize-18);
  font-style: normal;
  font-weight: 400;
  line-height: 170%; /* 3.06rem */
  letter-spacing: 0.072rem;
}
/* type1 */
.voice.type1 .voice-inner {
  background-color: #FFFFFF;
  width: 100%;
}
/* type2 */
.voice.type2 {
  margin-bottom: var(--common_fsize-60);
}
.voice.type2 .voice-inner {
  background-color: #FFFFFF;
  width: calc(50% - var(--common_fsize-12));
}
/* type3 */
.voice.type3 .voice-inner {
  background-color: #E5F2FF;
  width: calc(50% - var(--common_fsize-12));
  padding: var(--common_fsize-34);
  gap: var(--common_fsize-24);
}
.voice.type3 .voice-inner .voice-img {
  margin: 0;
  display: flex;
  flex-direction: column;
}
.voice.type3 .voice-inner .voice-img img {
  margin: 0;
}
.voice.type3 .voice-inner .voice-txt {
    margin-left: 0;
}
.voice.type3 .voice-inner .voice-profile-txt {
  text-align: center;
  font-size: var(--common_fsize-14);
  font-style: normal;
  font-weight: 400;
  line-height: 170%; /* 2.38rem */
  letter-spacing: 0.056rem;
}
@media screen and (min-width: 1440px) {
  .voice .voice-inner .voice-img {
    width: 10.8rem;
  }
  .voice .voice-inner .voice-img img {
    margin: 2.4rem 0 0 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .voice .voice-inner {
    flex-direction: column;
    padding: var(--common_fsize-34);
  }
  .voice .voice-inner .voice-img {
    width: 100%;
    margin: 0;
  }
  .voice .voice-inner .voice-img img {
    width: unset;
    margin: 0 auto;
  }
  .voice .voice-inner .voice-img .voice-num {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    top: -30px;
    margin-left: -50px;
  }
  .voice .voice-inner .voice-txt {
    margin-left: 0;
  }
  .voice.type2 .voice-inner {
    width: 100%;
  }
  .voice.type3 .voice-inner {
    width: 100%;
  }
  .voice.type3 .voice-inner .voice-img {
    width: 80%;
    margin: 0 auto;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    column-gap: var(--common_fsize-12);
  }
  .voice .voice-inner .voice-txt p {
    font-size: var(--common_fsize-16);
  }
  .voice.type3 .voice-inner .voice-profile-txt {
    white-space: nowrap;
    flex: 0;
  }
}

/* ======================
80) card
------------------------- */
.card {
  position: relative;
  margin: 0 auto;
  width: 100%;
  max-width: 1200px;
  height: auto;
  overflow: hidden;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stretch;
}
.card .card-inner {
  border-radius: 5px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.card .card-inner .card-txt {
  flex-grow: 1;
}

/* type1 */
.card.type1 {
  gap: var(--common_fsize-24);
}
.card.type1 .card-inner {
  background-color: #FFFFFF;
  width: calc(50% - var(--common_fsize-12));
}
.card.type1 .card-inner .card-ttl {
  margin: 0;
  background-color: #0B7ABF;
  color: #FFFFFF;
  padding: var(--common_fsize-26) var(--common_fsize-40);
  font-family: var(--common_ffamily-z);
  font-size: var(--common_fsize-24);
  font-style: normal;
  font-weight: 700;
  line-height: 170%; /* 4.08rem */
  letter-spacing: 0.096rem;
}
.card.type1 .card-inner .card-ttl small {
  font-size: var(--common_fsize-18);
  font-style: normal;
  font-weight: 700;
  line-height: 170%; /* 4.08rem */
  letter-spacing: 0.072rem;
}
.card.type1 .card-inner .card-img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.card.type1 .card-inner .card-img img {
  display: block;
  width: 100%;
  height: auto;
}
.card.type1 .card-inner .card-txt {
  padding: var(--common_fsize-24) var(--common_fsize-40) var(--common_fsize-20) var(--common_fsize-40);
}
.card.type1 .card-inner .card-btn {
  padding: var(--common_fsize-20) var(--common_fsize-40) var(--common_fsize-44) var(--common_fsize-40);
}
@media screen and (min-width: 1440px) {
}
@media screen and (max-width: 767px) {
  .card.type1 .card-inner {
    width: 100%;
  }
  .card.type1 .card-inner .card-ttl {
    padding: 5%;
    font-size: var(--common_fsize-20);
  }
  .card.type1 .card-inner .card-ttl small {
    font-size: var(--common_fsize-16);
  }
  .card.type1 .card-inner .card-txt {
    padding: 5% 5% 2.5% 5%;
  }
  .card.type1 .card-inner .card-btn {
    padding: 2.5% 5% 5% 5%;
  }
}

/* type2 */
.card.type2 {
  gap: var(--common_fsize-16);
}
.card.type2 .card-inner {
  background-color: #FFFFFF;
  width: 100%;
  padding: var(--common_fsize-34) var(--common_fsize-40);
  overflow: visible;
  position: relative;
  z-index: 0;
}
.card.type2 .card-inner::before,
.card.type2 .card-inner::after {
  content: '';
  position: absolute;
  display: block;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  width: 100%;
  height: 100%;
  width: var(--common_fsize-26);
  height: var(--common_fsize-30);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='26' height='29' viewBox='0 0 26 29' fill='none'><path d='M12.0305 28.4628L0.320936 16.1001C-0.364651 15.3763 0.120908 14.1387 1.09048 14.1387H24.5095C25.4791 14.1387 25.9647 15.3763 25.2791 16.1001L13.5695 28.4628C13.1445 28.9115 12.4555 28.9115 12.0305 28.4628Z' fill='%23063C84'/><path d='M17.9764 0H7.62735C7.02631 0 6.53906 0.514423 6.53906 1.149V15.3813C6.53906 16.0159 7.02631 16.5303 7.62735 16.5303H17.9764C18.5774 16.5303 19.0647 16.0159 19.0647 15.3813V1.149C19.0647 0.514423 18.5774 0 17.9764 0Z' fill='%23063C84'/></svg>");
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 1;
}
.card.type2 .card-inner::before {
  top: calc(var(--common_fsize-22) * -1);
}
.card.type2 .card-inner::after {
  bottom: calc(var(--common_fsize-24) * -1);
}
.card.type2 .card-inner:first-of-type::before {
  display: none;
}
.card.type2 .card-inner:last-of-type::after {
  display: none;
}
.card.type2 .card-inner .card-ttl {
  margin: 0;
  color: var(--common_keycolor);
  font-size: var(--common_fsize-20);
  font-style: normal;
  font-weight: 700;
  line-height: 170%; /* 3.4rem */
  letter-spacing: 0.08rem;
}
.card.type2 .card-inner .card-txt {}
.card.type2 .card-inner .card-txt p {}
@media screen and (min-width: 1440px) {
}
@media screen and (max-width: 767px) {
  .card.type2 .card-inner {
    padding: 5%;
  }
  .card.type2 .card-inner .card-ttl {
    font-size: var(--common_fsize-18);
  }
}

/* type3 */
.card.type3 {
  display: flex;
  flex-direction: row;
  border-radius: 5px;
  background-color: #FFFFFF;
  background-image: url(../img/bg_check01.png);
  padding: var(--common_fsize-44) var(--common_fsize-44) var(--common_fsize-52) var(--common_fsize-44);
  margin-bottom: var(--common_fsize-40);
  column-gap: var(--common_fsize-42);
}
.card.type3:last-of-type {
  margin-bottom: 0;
}
.card.type3 .ttl-dsc {
  order: 1;
  flex: 1;
}
.card.type3 .ttl-dsc .ttl {
  margin-top: 0;
  margin-bottom: var(--common_fsize-8);
}
.card.type3 .ttl-dsc .ttl .sub {
  display: inline-block;
  padding-right: var(--common_fsize-16);
  padding-left: var(--common_fsize-16);
  border-radius: var(--common_fsize-20);
  background-color: #11AE9D;
  color: #FFFFFF;
  text-align: center;
  font-family: var(--common_ffamily-z);
  font-size: var(--common_fsize-16);
  font-weight: 700;
  line-height: 170%; /* 2.72rem */
  letter-spacing: 0.064rem;
}
.card.type3 .ttl-dsc .ttl .main {
  color: #11AE9D;
  font-family: var(--common_ffamily-z);
  font-size: var(--common_fsize-24);
  font-weight: 700;
  line-height: 170%; /* 4.08rem */
  letter-spacing: 0.096rem;
}
.card.type3 .dsc {
  margin-top: 0;
  order: 0;
  letter-spacing: 0.072rem;
}
.card.type3 .btn a {
  margin-right: 0;
  margin-left: 0;
}
.card.type3 .img {
  /* flex: 1; */
}

@media screen and (max-width: 767px) {
  .card.type3 {
    flex-direction: column;
    flex-wrap: unset;
  }
  .card.type3 .ttl-dsc {
    display: contents; //スマホサイズではボックスを生成しない
  }
  .card.type3 .ttl {
    text-align: center;
  }
  .card.type3 .dsc {
    order: 1;
    margin-bottom: var(--common_fsize-24);
  }
  .card.type3 .btn {
    margin: 0 auto;
    order: 2;
  }
  .card.type3 .btn a {
    margin: 0 auto;
  }
  .card.type3 .img {
    margin-bottom: var(--common_fsize-24);
  }
  .card.type3 .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}


/* ======================
90) lst
------------------------- */
ul.lst.type1 {
  list-style: disc;
  margin: 0 0 0 1em;
  padding-left: 1em;
}
ol.lst.type1 {
  list-style: decimal;
  margin-left: 1em;
  padding-left: 1em;
}
.lst.type1 li {
  line-height: 170%; /* 2.72rem */
  letter-spacing: 0.064rem;
}

/* type1-kome */
ul.lst.type1-kome {
  list-style: none;
  margin-left: 0;
  padding-left: 2em;
}
ul.lst.type1-kome li {
  position: relative;
}
ul.lst.type1-kome li::before {
  content: "※";
  position: absolute;
  left: -1.5em;
}

/* type1-news */
ul.lst.type1-news {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
}
ul.lst.type1-news li {
  border-bottom: 1px solid rgba(8, 61, 133, 0.40);;
}
ul.lst.type1-news li:last-child {
  border-bottom: none;
}
ul.lst.type1-news li a {
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: var(--common_fsize-24);
  margin: var(--common_fsize-24) 0;
  background-image: url(../img/icn-news-arrow.svg);
  background-repeat: no-repeat;
  background-position: right var(--common_fsize-24) center;
  color: var(--common_color);
  transition: all 0.25s ease-in-out;
}
ul.lst.type1-news li a:hover {
  color: var(--common_keycolor);
  background-position: right 0 center;
}
ul.lst.type1-news li a span.dat {
  font-size: var(--common_fsize-16);
}
ul.lst.type1-news li a span.ttl {}
@media screen and (min-width: 1440px) {
}
@media screen and (max-width: 767px) {
  ul.lst.type1-news li a {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: var(--common_fsize-8);
  }
}

/* type1-news-pagination */
div.lst.type1-news-pagination {
  list-style: none;
  margin: auto 0;
  padding-left: 0;
  display: flex;
  gap: var(--common_fsize-48);
  justify-content: center;
}
div.lst.type1-news-pagination a {
  color: var(--common_color);
}
div.lst.type1-news-pagination a:hover {
  color: var(--common_keycolor);
}
@media screen and (min-width: 1440px) {
}
@media screen and (max-width: 767px) {
}

/* type1-recruit-entry-outsite */
ul.lst.type1-recruit-entry-outsite {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: var(--common_fsize-24);
}
ul.lst.type1-recruit-entry-outsite li {
  width: calc(25% - var(--common_fsize-18));
  height: calc(var(--common_fsize-8) * 16);
}
ul.lst.type1-recruit-entry-outsite li a {
  width: 100%;
  height: 100%;
  border-radius: 5px;
  border: 1px solid var(--common_keycolor);
  box-sizing: border-box;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: var(--common_keycolor);
  font-size: var(--common_fsize-16);
  font-style: normal;
  font-weight: 700;
  line-height: 170%; /* 2.72rem */
  letter-spacing: 0.064rem;
  background-image: url(../img/icn-recruit-entry-outsite.svg);
  background-repeat: no-repeat;
  background-position: right var(--common_fsize-8) bottom var(--common_fsize-8);
  transition: all 0.25s ease-in-out;
}
ul.lst.type1-recruit-entry-outsite li a:hover {
  color: #FFFFFF;
  background-color: var(--common_keycolor);
  background-image: url(../img/icn-recruit-entry-outsite_mo.svg);
}
@media screen and (min-width: 1440px) {
}
@media screen and (max-width: 767px) {
  ul.lst.type1-recruit-entry-outsite li {
    width: calc(50% - var(--common_fsize-18));
    height: unset;
    aspect-ratio: 160 / 80;
  }
}

/* ol.type2 */
ol.lst.type2 {
  margin-left: 0;
  padding-left: 0;
}
ol.lst.type2 li {
  margin-bottom: var(--common_fsize-24);
}
ol.lst.type2 li .ol-ttl {
  color: var(--common_keycolor);
  font-family: var(--common_ffamily-z);
  font-size: var(--common_fsize-20);
  font-style: normal;
  font-weight: 700;
  line-height: 170%; /* 3.4rem */
  letter-spacing: 0.08rem;
  width: 100%;
  height: auto;
  margin-bottom: var(--common_fsize-24);
  padding: var(--common_fsize-14) 0;
  background-color: #FFFFFF;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: start;
  flex-wrap: nowrap;
  border-radius: 5px;
}
ol.lst.type2 li .ol-ttl .num {
  padding: var(--common_fsize-10) var(--common_fsize-32);
  font-size: var(--common_fsize-32);
  letter-spacing: 0.128rem;
  width: var(--common_fsize-80);
  text-align: center;
  border-right: 1px solid #A4C0E5;
}
ol.lst.type2 li .ol-ttl .txt {
  padding: 0 var(--common_fsize-28);
}
ol.lst.type2 li .dsc {
  line-height: 170%; /* 3.06rem */
  letter-spacing: 0.072rem;
}
@media screen and (min-width: 1440px) {
}
@media screen and (max-width: 767px) {
  ol.lst.type2 li {
    margin-bottom: var(--common_fsize-40);
  }
  ol.lst.type2 li .ol-ttl {
    margin-bottom: var(--common_fsize-16);
  }
  ol.lst.type2 li .ol-ttl .num {
    padding: var(--common_fsize-10) var(--common_fsize-12);
    font-size: var(--common_fsize-24);
    border-right: none;
    flex: 0;
  }
  ol.lst.type2 li .ol-ttl .txt {
    padding: 0 var(--common_fsize-12);
    font-size: var(--common_fsize-18);
    border-left: 1px solid #A4C0E5;
  }
}

/* ul.type2 */
ul.lst.type2 {
  /*「●」リストのスタイルを設定する*/
  list-style: none;
  margin: 0;
  padding: 0;
  list-style: none;
}
ul.lst.type2 li {
  position: relative;
  padding-left: 1.25em;
  display: flex;
  align-items: flex-start;
}
ul.lst.type2 li::before {
  color: var(--common_keycolor);
  content: "●";
  position: absolute;
  left: 0;
  top: 0;
}
ul.lst.type2 li .dat {
  flex: 0 0 9em; /* 日付部分の幅を固定（必要に応じて調整） */
  white-space: nowrap;
}
ul.lst.type2 li .dsc {
  flex: 1;
}
@media screen and (max-width: 767px) {
  ul.lst.type2 li {
    flex-wrap: wrap;
  }
  ul.lst.type2 li .dat {
    flex: unset;
    width: 100%;
  }
  ul.lst.type2 li .dsc {
    width: 100%;
  }
}

ol.lst.type3 {
  list-style: decimal;
  margin-left: 0.5em;
  padding-left: 0.5em;
  color: var(--common_keycolor);
  font-family: var(--common_ffamily-z);
  font-size: var(--common_fsize-20);
  font-style: normal;
  font-weight: 700;
  line-height: 170%; /* 3.4rem */
  letter-spacing: 0.08rem;
}
ol.lst.type3 li .cnt {
  color: var(--common_color);
  font-family: var(--common_ffamily-g);
  font-size: var(--common_fsize-18);
  font-style: normal;
  font-weight: 400;
  line-height: 170%; /* 3.06rem */
  letter-spacing: 0.072rem;
  margin-bottom: var(--common_fsize-16);
}
@media screen and (max-width: 767px) {
  ol.lst.type3 {
    font-size: var(--common_fsize-16);
  }
  ol.lst.type3 li .cnt {
    font-size: var(--common_fsize-16);
  }
}

/* ======================
100) table
------------------------- */
/* type1 */
dl.tbl.type1 {
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stretch;
  margin: 0 auto;
  padding: 0;
  border-top: 2px solid #0B7ABF;
}
dl.tbl.type1 dt {
  width: 26.8%;/* 300px */
  background-color: #E5F2FF;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: var(--common_fsize-34) var(--common_fsize-50);
  border-right: 1px solid #C5E3F6;
  border-bottom: 1px solid #C5E3F6;
}
dl.tbl.type1 dt .sub {
  display: inline-flex;
  padding: 0 var(--common_fsize-16);
  justify-content: center;
  align-items: center;
  gap: 1.0rem;
  border-radius: 2.0rem;
  background: #0B7ABF;
  color: #FFF;
  font-size: var(--common_fsize-16);
  font-weight: 500;
  line-height: 170%; /* 2.72rem */
  letter-spacing: 0.064rem;
}
dl.tbl.type1 dt .main {
  text-align: center;
  font-family: var(--common_ffamily-z);
  font-size: var(--common_fsize-20);
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 3rem */
  letter-spacing: 0.08rem;
}
dl.tbl.type1 dd {
  width: calc(100% - 26.8%);
  background-color: #FFFFFF;
  padding: var(--common_fsize-34) var(--common_fsize-50);
  border-bottom: 1px solid #C5E3F6;
}
dl.tbl.type1 dd p:first-of-type {
  margin-top: 0;
}
dl.tbl.type1 dd ul.lst,
dl.tbl.type1 dd ol.lst {
  font-size: var(--common_fsize-16);
}
@media screen and (min-width: 1440px) {
}
@media screen and (max-width: 767px) {
  dl.tbl.type1 dt {
    width: 100%;
    border-right: none;
    padding: 5%;
  }
  dl.tbl.type1 dd {
    width: 100%;
    border-bottom: 1px solid #C5E3F6;
    padding: 5%;
  }
}

/* type2 */
dl.tbl.type2 {
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stretch;
  margin: calc(var(--common_fsize-24) * -1) auto var(--common_fsize-80) auto;
  padding: 0;
}
dl.tbl.type2.subspecies {
  margin: var(--common_fsize-24) auto var(--common_fsize-80) auto;
}
dl.tbl.type2 dt {
  width: 22.45%;/* 220px */
  background-color: inherit;
  padding: 1em var(--common_fsize-34) 1em 0;
  border-bottom: 1px dotted var(--common_color);
  font-family: var(--common_ffamily-z);
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 2.4rem */
}
dl.tbl.type2 dd {
  width: calc(100% - 22.45%);
  background-color: inherit;
  padding: 1em 0;
  border-bottom: 1px dotted var(--common_color);
}
@media screen and (min-width: 1440px) {
}
@media screen and (max-width: 767px) {
  dl.tbl.type2 {
    margin: 0 auto var(--common_fsize-80) auto;
  }
  dl.tbl.type2 dt {
    width: 100%;
    border-bottom: none;
    padding: 5% 0 2.5% 0;
  }
  dl.tbl.type2 dt:first-of-type {
    padding: 0 0 2.5% 0;
  }
  dl.tbl.type2 dd {
    width: 100%;
    border-bottom: 1px dotted var(--common_color);
    padding: 0 0 5% 0;
  }
}

/* type3 */
dl.tbl.type3 {
  display: grid;
  grid-template-columns: 16.25% calc(100% - (16.25% + 23.75%)) 23.75%;
  margin: calc(var(--common_fsize-24) * -1) auto var(--common_fsize-24) auto;
  padding: 0;
  border-bottom: 1px dotted var(--common_color);
}
dl.tbl.type3 dt {
  padding: var(--common_fsize-24) var(--common_fsize-36) var(--common_fsize-24) 0;
}
dl.tbl.type3 dd {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
}
dl.tbl.type3 dd .ttl.sub {}
dl.tbl.type3 dd .ttl.sub span {
  display: inline-block;
  border-radius: 5px;
  background-color: #0B7ABF;
  padding: calc(var(--common_fsize-8) * 0.25) var(--common_fsize-22);
  color: #FFFFFF;
  font-size: var(--common_fsize-14);
  font-style: normal;
  font-weight: 700;
  line-height: 170%; /* 2.38rem */
  letter-spacing: 0.056rem;
}
dl.tbl.type3 dd .ttl.main {
  margin-top: calc(var(--common_fsize-8) * 0.75);
  margin-bottom: calc(var(--common_fsize-8) * 0.75);
  font-family: var(--common_ffamily-z);
  color: var(--common_keycolor);
  font-size: var(--common_fsize-20);
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08rem;
}
dl.tbl.type3 dd .dsc {
  font-size: var(--common_fsize-16);
  font-style: normal;
  font-weight: 400;
  line-height: 170%; /* 2.72rem */
  letter-spacing: 0.064rem;
}
dl.tbl.type3 dd .txt {
  padding-right: var(--common_fsize-34);
}
dl.tbl.type3 dd .txt,
dl.tbl.type3 dd .btn {
  flex: 1;
}
dl.tbl.type3:last-of-type {
  border-bottom: none;
  margin-bottom: var(--common_fsize-80);
}
@media screen and (max-width: 767px) {
  dl.tbl.type3 {
    display: flex;
    flex-direction: column;
  }
  dl.tbl.type3 dt {
    padding-right: 0;
  }
  dl.tbl.type3 dd .txt {
    padding-right: 0;
  }
  dl.tbl.type3 dd.txt-box {
    order: 0;
    padding-top: var(--common_fsize-24);
    border-bottom: none;
  }
  dl.tbl.type3 dt.img-box {
    order: 1;
    border-bottom: none;
  }
  dl.tbl.type3 dd.btn-box {
    order: 2;
    padding-bottom: var(--common_fsize-24);
  }
  dl.tbl.type3 dd .ttl.main {
    line-height: 170%;
  }
  dl.tbl.type3 dd .ttl.sub {
    text-align: center;
  }
  dl.tbl.type3 dd .ttl.sub span {
    display: block;
    width: 100%;
  }
  dl.tbl.type3 dd .btn a {
    width: 266px;
    margin-right: 0;
    margin-left: 0;
  }
  dl.tbl.type3:last-of-type {
    margin-bottom: var(--common_fsize-40);
  }
}

/* type99 - form */
dl.tbl.type99 {
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stretch;
  margin: 0 auto var(--common_fsize-80) auto;
  padding: 0;
}
dl.tbl.type99 dt {
  width: 23.8%;/* 266px */
  background-color: inherit;
  padding: var(--common_fsize-12) 0;
  font-family: var(--common_ffamily-z);
  font-style: normal;
  font-weight: 700;
  line-height: 170%; /* 3.06rem */
  letter-spacing: 0.072rem;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: var(--common_fsize-16);
}
dl.tbl.type99 dt.bl1 {
  align-items: baseline;
}
dl.tbl.type99 dt.bl2 {
  padding-top: 1.5em;
  align-items: baseline;
}
dl.tbl.type99 dt .req,
dl.tbl.type99 dt .opt {
  color: #FFFFFF;
  font-size: var(--common_fsize-12);
  font-style: normal;
  font-weight: 700;
  line-height: 170%; /* 2.21rem */
  letter-spacing: 0.052rem;
  padding: 0 calc(var(--common_fsize-8) * 1.375);
  border-radius: 20px;
}
dl.tbl.type99 dt .req {
  background-color: var(--common_keycolor);
}
dl.tbl.type99 dt .opt {
  background-color: #99A9B0;
}
dl.tbl.type99 dt .req::before {
  content: "必須";
}
dl.tbl.type99 dt .opt::before {
  content: "任意";
}
dl.tbl.type99 dd {
  width: calc(100% - 23.8%);
  background-color: inherit;
  padding: var(--common_fsize-12) 0;
}
dl.tbl.type99 dd .atent {
  color: #99A9B0;
}
@media screen and (min-width: 1440px) {
}
@media screen and (max-width: 767px) {
  dl.tbl.type99 dt {
    width: 100%;
    border-bottom: none;
    padding: 5% 0 2.5% 0;
  }
  dl.tbl.type99 dd {
    width: 100%;
    padding: 0 0 5% 0;
  }
}

/* ======================
110) lnk-btns
------------------------- */
.lnk-btns {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--common_fsize-40);
}
@media screen and (min-width: 1440px) {
}
@media screen and (max-width: 767px) {
  .lnk-btns {
    width: 100%;
  }
}

/* ======================
120) txt-inner
------------------------- */
.txt-inner {
  margin-bottom: var(--common_fsize-40);
}
@media screen and (max-width: 767px) {
  .txt-inner {
    margin-bottom: var(--common_fsize-20);
  }
}

/* ======================
130) msg
------------------------- */
.msg {}
.msg.type1 .txt {
  width: 79.46%;
}
.msg.type1 .img {
  width: 16.07%;
}
@media screen and (max-width: 767px) {
  .msg.type1 .txt {
    width: 100%;
    order: 1;
  }
  .msg.type1 .img {
    width: 100%;
    order: 0;
  }
  .msg.type1 .img img {
    margin-right: auto;
    margin-left: auto;
  }
}

/* ======================
140) wavy
------------------------- */
.wavy {
  text-decoration-line: underline;
  text-decoration-style: wavy;
  text-underline-offset: var(--common_fsize-8);
}
.wavy.col1 {
  text-decoration-color: var(--common_color);
}
.wavy.col2 {
  text-decoration-color: var(--common_keycolor);
}
.wavy.col3 {
  text-decoration-color: #F08B36;
}
.wavy.col4 {
  text-decoration-color: #F58B21;
}

/* ======================
150) fieldset
------------------------- */
fieldset.type1,
fieldset.type2,
fieldset.type3 {
  padding: var(--common_fsize-40) var(--common_fsize-54);
  background-color: #FFFFFF;
  border: none;
  border-radius: 5px;
  background-image: url(../img/bg_check01.png);
}
fieldset.type1 legend,
fieldset.type2 legend,
fieldset.type3 legend {
  display: block;
  margin: 0 auto;
  color: #FFFFFF;
  font-family: var(--common_ffamily-z);
  font-size: var(--common_fsize-24);
  font-style: normal;
  font-weight: 700;
  line-height: 120%;
  letter-spacing: 0.096rem;
  padding: var(--common_fsize-12) var(--common_fsize-80);
  border-radius: var(--common_fsize-50);
  background-color: #F08B36;
}

/* type1 */
fieldset.type1 legend {
  background-color: var(--common_keycolor);
}

/* type2 */
fieldset.type2 {
  margin-bottom: var(--common_fsize-26);
}
fieldset.type2 legend {
  background-color: #F08B36;
}
@media only screen and (max-width: 767px) {
  fieldset.type1,
  fieldset.type2,
  fieldset.type3 {
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    width: 100vw;
    padding: 5%;
  }
  fieldset.type1 legend,
  fieldset.type2 legend,
  fieldset.type3 legend {
    width: 100%;
    padding: var(--common_fsize-12) 0;
    font-size: var(--common_fsize-18);
    text-align: center;
  }
}

/* type3 */
fieldset.type3 legend {
  background-color: #0B7ABF;
}

/* ======================
999) font size
------------------------- */
.fs-12 {
  font-size: var(--common_fsize-12);
}
.fs-14 {
  font-size: var(--common_fsize-14);
}
.fs-16 {
  font-size: var(--common_fsize-16);
}
.fs-18 {
  font-size: var(--common_fsize-18);
}
.fs-20 {
  font-size: var(--common_fsize-20);
}
.fs-24 {
  font-size: var(--common_fsize-24);
}
.fs-30 {
  font-size: var(--common_fsize-30);
}
.fs-32 {
  font-size: var(--common_fsize-32);
}
.fs-34 {
  font-size: var(--common_fsize-34);
}
.fs-36 {
  font-size: var(--common_fsize-36);
}
.fs-38 {
  font-size: var(--common_fsize-38);
}
.fs-40 {
  font-size: var(--common_fsize-40) !important;
}
@media only screen and (max-width: 767px) {
  .fs-12 {
    font-size: var(--common_fsize-10);
  }
  .fs-14 {
    font-size: var(--common_fsize-12);
  }
  .fs-16 {
    font-size: var(--common_fsize-14);
  }
  .fs-18 {
    font-size: var(--common_fsize-16);
  }
  .fs-20 {
    font-size: var(--common_fsize-18);
  }
  .fs-24 {
    font-size: var(--common_fsize-22);
  }
  .fs-30 {
    font-size: var(--common_fsize-28);
  }
  .fs-32 {
    font-size: var(--common_fsize-30);
  }
  .fs-34 {
    font-size: var(--common_fsize-32);
  }
  .fs-36 {
    font-size: var(--common_fsize-34);
  }
  .fs-38 {
    font-size: var(--common_fsize-36);
  }
  .fs-40 {
    font-size: var(--common_fsize-24) !important;
  }
}

/* ======================
9999) keyframes
------------------------- */
@keyframes textColorFlash {
  0% {
    color: var(--common_keycolor);
  }
  50% {
    color: #FFFFFF;
  }
  100% {
    color: var(--common_keycolor);
  }
}
@keyframes labelColorFlash {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes bgColorFlash {
  0% {
    left: -100%;
  }
  25% {
    left: 0%;
  }
  75% {
    left: 0%;
  }
  100% {
    left: 100%;
  }
}
@keyframes arrowColorFlash {
  0% {
    left: 50%;
    background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='17'%20height='13'%20viewBox='0%200%2017%2013'%20fill='none'%3E%3Cpath%20d='M0.0205078%206.5L15.8576%206.5'%20stroke='%23063C84'/%3E%3Cpath%20d='M8.99785%2012.5L15.9969%206.5L8.99785%200.500001'%20stroke='%23063C84'/%3E%3C/svg%3E");
    opacity: 0;
  }
  50% {
    left: calc(100% - var(--common_fsize-8) * 3.25);
    background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='17'%20height='13'%20viewBox='0%200%2017%2013'%20fill='none'%3E%3Cpath%20d='M0.0205078%206.5L15.8576%206.5'%20stroke='%23FFFFFF'/%3E%3Cpath%20d='M8.99785%2012.5L15.9969%206.5L8.99785%200.500001'%20stroke='%23FFFFFF'/%3E%3C/svg%3E");
    opacity: 1;
  }
  100% {
    left: calc(100% - var(--common_fsize-8) * 3.25);
    background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='17'%20height='13'%20viewBox='0%200%2017%2013'%20fill='none'%3E%3Cpath%20d='M0.0205078%206.5L15.8576%206.5'%20stroke='%23063C84'/%3E%3Cpath%20d='M8.99785%2012.5L15.9969%206.5L8.99785%200.500001'%20stroke='%23063C84'/%3E%3C/svg%3E");
    opacity: 1;
  }
}
@keyframes arrowColorFlashW320 {
  0% {
    left: 50%;
    background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='17'%20height='13'%20viewBox='0%200%2017%2013'%20fill='none'%3E%3Cpath%20d='M0.0205078%206.5L15.8576%206.5'%20stroke='%23063C84'/%3E%3Cpath%20d='M8.99785%2012.5L15.9969%206.5L8.99785%200.500001'%20stroke='%23063C84'/%3E%3C/svg%3E");
    opacity: 0;
  }
  50% {
    left: calc(100% - var(--common_fsize-8) * 5);
    background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='17'%20height='13'%20viewBox='0%200%2017%2013'%20fill='none'%3E%3Cpath%20d='M0.0205078%206.5L15.8576%206.5'%20stroke='%23FFFFFF'/%3E%3Cpath%20d='M8.99785%2012.5L15.9969%206.5L8.99785%200.500001'%20stroke='%23FFFFFF'/%3E%3C/svg%3E");
    opacity: 1;
  }
  100% {
    left: calc(100% - var(--common_fsize-8) * 5);
    background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='17'%20height='13'%20viewBox='0%200%2017%2013'%20fill='none'%3E%3Cpath%20d='M0.0205078%206.5L15.8576%206.5'%20stroke='%23063C84'/%3E%3Cpath%20d='M8.99785%2012.5L15.9969%206.5L8.99785%200.500001'%20stroke='%23063C84'/%3E%3C/svg%3E");
    opacity: 1;
  }
}
@keyframes pdfColorFlash {
  0% {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='14' viewBox='0 0 12 14' fill='none'><g clip-path='url(%23clip0_40000373_7731)'><path d='M11.9996 3.22145V13.9997H0.306641V-0.000244141H8.77801L10.2786 1.50031L11.9996 3.22145Z' fill='%23063C84'/><path d='M5.60795 0.937256H0V3.44653H5.60795V0.937256Z' fill='%23F2F2F2'/><path d='M2.01117 1.75987C1.98645 1.70009 1.95344 1.6465 1.90811 1.60117C1.86278 1.55584 1.80711 1.51872 1.74322 1.49401C1.67728 1.46719 1.60304 1.45483 1.5206 1.45483H0.904297V3.04609H1.21553V2.44628H1.52059C1.603 2.44628 1.67724 2.43392 1.74322 2.40711C1.80711 2.38239 1.86278 2.34527 1.90811 2.29994C1.95344 2.25461 1.98645 2.20308 2.01117 2.14124C2.03383 2.08146 2.04619 2.01757 2.04619 1.95162C2.04619 1.88355 2.03383 1.81962 2.01117 1.75987ZM1.67518 2.10819C1.63396 2.14736 1.57623 2.16797 1.50618 2.16797H1.21557V1.73101H1.50618C1.57627 1.73101 1.63396 1.75162 1.67518 1.79284C1.71435 1.83202 1.73497 1.8856 1.73497 1.95154C1.73497 2.01543 1.71435 2.06906 1.67518 2.10819Z' fill='%23063C84'/><path d='M3.4999 2.07111C3.49781 2.01548 3.49579 1.966 3.48959 1.92063C3.48339 1.87529 3.47309 1.83407 3.45863 1.7949C3.44422 1.75778 3.42566 1.7207 3.40095 1.68773C3.34531 1.60733 3.27728 1.54755 3.20099 1.51047C3.12269 1.47335 3.02994 1.45483 2.92068 1.45483H2.34766V3.04609H2.92068C3.02994 3.04609 3.12269 3.02754 3.20099 2.99046C3.27728 2.95334 3.34531 2.89359 3.40095 2.8132C3.42566 2.78023 3.44422 2.74311 3.45863 2.70603C3.47309 2.66686 3.48339 2.62563 3.48959 2.5803C3.49579 2.53497 3.4978 2.48549 3.4999 2.42982C3.50195 2.37623 3.50195 2.31645 3.50195 2.2505C3.50195 2.18456 3.50199 2.1247 3.4999 2.07111ZM3.18867 2.41122C3.18867 2.45864 3.18456 2.49572 3.18046 2.52869C3.17635 2.55961 3.17015 2.58848 3.1619 2.60909C3.15369 2.63175 3.14133 2.65237 3.12688 2.67093C3.07535 2.73687 2.99701 2.76779 2.89395 2.76779H2.65691V1.73097H2.89395C2.99701 1.73097 3.07535 1.76394 3.12688 1.82992C3.14129 1.84848 3.15369 1.86704 3.1619 1.88971C3.17015 1.91237 3.17635 1.93919 3.18046 1.97216C3.18456 2.00308 3.18867 2.04225 3.18867 2.08758C3.19076 2.13291 3.19076 2.18859 3.19076 2.25042C3.19076 2.31226 3.19072 2.36585 3.18867 2.41122Z' fill='%23063C84'/><path d='M4.82942 1.73129V1.45508H3.78027V3.04634H4.09154V2.40115H4.7202V2.12289H4.09154V1.73125L4.82942 1.73129Z' fill='%23063C84'/><path d='M11.9996 3.22187V14.0001H0.306641V11.473L5.77285 6.00663L6.09644 5.68299L6.27578 5.50368L6.57465 5.2048L6.92916 4.85025L10.2786 1.50073L11.9996 3.22187Z' opacity='0.08' fill='%23040000'/><path d='M12.0003 3.22185H8.77832V-0.000244141L12.0003 3.22185Z' fill='%23C5F2EF'/><path d='M10.3309 10.1348C10.2628 10.0152 10.1701 9.90188 10.0547 9.79881C9.95985 9.71226 9.84854 9.63186 9.72281 9.55767C9.21577 9.25879 8.49231 9.1145 7.50911 9.1145H7.41015C7.35657 9.06502 7.3009 9.01554 7.24321 8.96401C6.87014 8.62801 6.57333 8.26319 6.34249 7.85714C6.79591 6.85744 7.01237 5.967 6.98556 5.20845C6.98146 5.08067 6.96286 4.9611 6.92993 4.84979C6.88045 4.67048 6.798 4.51174 6.68259 4.3819C6.67848 4.3778 6.49503 4.17167 6.23943 4.0542C5.97974 4.0542 5.71798 4.0542 5.4768 4.16757C5.3016 4.37574 5.1285 4.58187 5.03574 4.86424C5.0316 5.19613 5.0254 5.70319 5.06662 6.18347C5.15321 6.62664 5.26243 7.1337 5.39025 7.51503C5.55514 7.86954 5.36138 8.26323 5.16557 8.60334C5.02954 8.83422 4.92649 9.00942 4.81312 9.19288C4.69561 9.37634 4.16591 9.47115 3.71655 9.58657C3.32497 9.73086 2.79527 9.92257 2.37063 10.1699C2.0656 10.4647 1.86774 10.6543 1.66778 11.0665C1.60184 11.4994 1.68018 11.6931C1.75232 11.8725 1.88219 12.0229 2.0553 12.126C2.18517 12.1899 2.31709 12.2435 2.46137 12.2723C2.61181 12.2723 2.96016 12.2723 3.31881 12.1219C3.62179 11.8518 4.18656 11.3468 4.76985 10.5347C5.11408 10.0214 5.39645 9.97817 5.70357 9.94105C6.04986 9.90397 6.45799 9.86275 6.8187 9.83803C7.14639 9.82563 7.43701 10.0853 7.9523 10.545C8.34392 10.8769 8.69843 11.1098 8.70254 11.1118C8.84271 11.2046 8.97669 11.2808 9.11066 11.3427C9.26115 11.4127 9.41364 11.4498 9.57032 11.4498C9.76818 11.4498 9.95369 11.39 10.1083 11.2808C10.2649 11.1674 10.3783 11.0046 10.4298 10.8211C10.4896 10.6006 10.4545 10.3554 10.3309 10.1348Z' fill='%23F2F2F2'/></g><defs><clipPath id='clip0_40000373_7731'><rect width='12' height='14' fill='white' transform='translate(0 -0.000244141)'/></clipPath></defs></svg>");
  }
  50% {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='14' viewBox='0 0 12 14' fill='none'><g clip-path='url(%23clip0_40000382_7236)'><path d='M11.9996 3.22157V13.9998H0.306641V-0.00012207H8.77801L10.2786 1.50044L11.9996 3.22157Z' fill='%23F2F2F2'/><path d='M5.60795 0.937317H0V3.44659H5.60795V0.937317Z' fill='%23063C84'/><path d='M2.01117 1.75993C1.98645 1.70015 1.95344 1.64657 1.90811 1.60123C1.86278 1.5559 1.80711 1.51879 1.74322 1.49407C1.67728 1.46725 1.60304 1.4549 1.5206 1.4549H0.904297V3.04616H1.21553V2.44634H1.52059C1.603 2.44634 1.67724 2.43398 1.74322 2.40717C1.80711 2.38245 1.86278 2.34533 1.90811 2.3C1.95344 2.25467 1.98645 2.20314 2.01117 2.1413C2.03383 2.08152 2.04619 2.01763 2.04619 1.95168C2.04619 1.88361 2.03383 1.81968 2.01117 1.75993ZM1.67518 2.10825C1.63396 2.14742 1.57623 2.16804 1.50618 2.16804H1.21557V1.73107H1.50618C1.57627 1.73107 1.63396 1.75168 1.67518 1.79291C1.71435 1.83208 1.73497 1.88566 1.73497 1.9516C1.73497 2.0155 1.71435 2.06912 1.67518 2.10825Z' fill='%23F2F2F2'/><path d='M3.4999 2.07117C3.49781 2.01554 3.49579 1.96606 3.48959 1.92069C3.48339 1.87536 3.47309 1.83413 3.45863 1.79496C3.44422 1.75784 3.42566 1.72076 3.40095 1.68779C3.34531 1.60739 3.27728 1.54761 3.20099 1.51053C3.12269 1.47341 3.02994 1.4549 2.92068 1.4549H2.34766V3.04616H2.92068C3.02994 3.04616 3.12269 3.0276 3.20099 2.99052C3.27728 2.9534 3.34531 2.89366 3.40095 2.81326C3.42566 2.78029 3.44422 2.74317 3.45863 2.70609C3.47309 2.66692 3.48339 2.6257 3.48959 2.58036C3.49579 2.53503 3.4978 2.48555 3.4999 2.42988C3.50195 2.37629 3.50195 2.31651 3.50195 2.25057C3.50195 2.18462 3.50199 2.12476 3.4999 2.07117ZM3.18867 2.41128C3.18867 2.4587 3.18456 2.49578 3.18046 2.52875C3.17635 2.55967 3.17015 2.58854 3.1619 2.60915C3.15369 2.63182 3.14133 2.65243 3.12688 2.67099C3.07535 2.73693 2.99701 2.76785 2.89395 2.76785H2.65691V1.73103H2.89395C2.99701 1.73103 3.07535 1.764 3.12688 1.82999C3.14129 1.84855 3.15369 1.8671 3.1619 1.88977C3.17015 1.91243 3.17635 1.93925 3.18046 1.97222C3.18456 2.00314 3.18867 2.04231 3.18867 2.08764C3.19076 2.13297 3.19076 2.18865 3.19076 2.25049C3.19076 2.31232 3.19072 2.36591 3.18867 2.41128Z' fill='%23F2F2F2'/><path d='M4.82942 1.73135V1.45514H3.78027V3.0464H4.09154V2.40122H4.7202V2.12295H4.09154V1.73131L4.82942 1.73135Z' fill='%23F2F2F2'/><path d='M2.01117 1.75993C1.98645 1.70015 1.95344 1.64657 1.90811 1.60123C1.86278 1.5559 1.80711 1.51879 1.74322 1.49407C1.67728 1.46725 1.60304 1.4549 1.5206 1.4549H0.904297V3.04616H1.21553V2.44634H1.52059C1.603 2.44634 1.67724 2.43398 1.74322 2.40717C1.80711 2.38245 1.86278 2.34533 1.90811 2.3C1.95344 2.25467 1.98645 2.20314 2.01117 2.1413C2.03383 2.08152 2.04619 2.01763 2.04619 1.95168C2.04619 1.88361 2.03383 1.81968 2.01117 1.75993ZM1.67518 2.10825C1.63396 2.14742 1.57623 2.16804 1.50618 2.16804H1.21557V1.73107H1.50618C1.57627 1.73107 1.63396 1.75168 1.67518 1.79291C1.71435 1.83208 1.73497 1.88566 1.73497 1.9516C1.73497 2.0155 1.71435 2.06912 1.67518 2.10825Z' fill='%23F2F2F2'/><path opacity='0.08' d='M11.9996 3.22193V14.0002H0.306641V11.4731L5.77285 6.00669L6.09644 5.68306L6.27578 5.50374L6.57465 5.20486L6.92916 4.85031L10.2786 1.50079L11.9996 3.22193Z' fill='%23040000'/><path d='M12.0003 3.22191H8.77832V-0.000183105L12.0003 3.22191Z' fill='%23C5F2EF'/><path d='M10.3309 10.135C10.2628 10.0154 10.1701 9.90206 10.0547 9.799C9.95985 9.71244 9.84854 9.63204 9.72281 9.55785C9.21577 9.25897 8.49231 9.11468 7.50911 9.11468H7.41015C7.35657 9.06521 7.3009 9.01573 7.24321 8.9642C6.87014 8.6282 6.57333 8.26337 6.34249 7.85733C6.79591 6.85763 7.01237 5.96719 6.98556 5.20864C6.98146 5.08085 6.96286 4.96129 6.92993 4.84997C6.88045 4.67066 6.798 4.51192 6.68259 4.38209C6.68122 4.38072 6.67985 4.37935 6.67848 4.37798C6.49503 4.17186 6.23943 4.05438 5.97974 4.05438C5.71798 4.05438 5.4768 4.16775 5.3016 4.37593C5.1285 4.58205 5.03574 4.86443 5.0316 5.19632C5.0254 5.70337 5.06662 6.18366 5.15321 6.62682C5.16147 6.66185 5.16763 6.69691 5.17588 6.73194C5.26243 7.13388 5.39025 7.51521 5.55514 7.86973C5.36138 8.26342 5.16557 8.60352 5.02954 8.8344C4.92649 9.00961 4.81312 9.19307 4.69561 9.37653C4.16591 9.47133 3.71655 9.58675 3.32497 9.73104C2.79527 9.92275 2.37063 10.1701 2.0656 10.4648C1.86774 10.6545 1.73376 10.8565 1.66778 11.0667C1.59773 11.2831 1.60184 11.4996 1.68018 11.6933C1.75232 11.8726 1.88219 12.0231 2.0553 12.1262C2.09656 12.1509 2.13984 12.1715 2.18517 12.1901C2.31709 12.2437 2.46137 12.2725 2.61181 12.2725C2.96016 12.2725 3.31881 12.122 3.62179 11.852C4.18656 11.347 4.76985 10.5349 5.11408 10.0216C5.39645 9.97835 5.70357 9.94123 6.04986 9.90415C6.45799 9.86293 6.8187 9.83821 7.14639 9.82581C7.2474 9.91651 7.34426 10.0031 7.43701 10.0855C7.9523 10.5452 8.34392 10.877 8.69843 11.1099C8.69843 11.112 8.70048 11.112 8.70254 11.112C8.84271 11.2047 8.97669 11.281 9.11066 11.3428C9.26114 11.4129 9.41364 11.45 9.57032 11.45C9.76818 11.45 9.95369 11.3902 10.1083 11.281C10.2649 11.1676 10.3783 11.0048 10.4298 10.8213C10.4896 10.6008 10.4545 10.3556 10.3309 10.135ZM5.77362 6.00636C5.74475 5.75076 5.73239 5.48485 5.7365 5.20453C5.74061 4.93862 5.8375 4.75931 5.97973 4.75931C6.0869 4.75931 6.20026 4.85617 6.25179 5.04168C6.2662 5.09732 6.27651 5.16125 6.2786 5.23339C6.28271 5.31995 6.28066 5.41065 6.27655 5.50341C6.26419 5.76517 6.21882 6.04344 6.14052 6.34232C6.0931 6.53403 6.03126 6.73395 5.95502 6.94213C5.86842 6.64945 5.80659 6.33821 5.77362 6.00636ZM2.33557 11.4315C2.30054 11.345 2.33967 11.178 2.55404 10.9719C2.88178 10.6586 3.39498 10.4112 4.11023 10.2236C3.97416 10.4091 3.84022 10.5781 3.71035 10.7327C3.51249 10.9718 3.32284 11.1738 3.15178 11.3264C3.00545 11.4583 2.84466 11.5407 2.69213 11.5614C2.66531 11.5655 2.63854 11.5676 2.61173 11.5676C2.4778 11.5676 2.36858 11.514 2.33557 11.4315ZM5.62933 9.24041L5.64375 9.21774L5.62108 9.22185C5.62519 9.21154 5.63139 9.20124 5.63759 9.19298C5.72414 9.04664 5.8334 8.85908 5.95087 8.64265L5.96117 8.66531L5.98799 8.60968C6.07454 8.73335 6.16939 8.85497 6.2683 8.97245C6.31572 9.02808 6.36516 9.08171 6.41463 9.13529L6.38166 9.13735L6.41053 9.16416C6.32603 9.17036 6.23738 9.17857 6.14877 9.18682C6.09314 9.19302 6.03537 9.19713 5.97768 9.20333C5.85812 9.21569 5.74065 9.22805 5.62933 9.24041ZM9.0983 10.5266C8.85301 10.37 8.5789 10.1494 8.24086 9.85467C8.72113 9.90415 9.0983 10.0093 9.36625 10.1659C9.48372 10.234 9.57237 10.304 9.63215 10.372C9.7311 10.4772 9.76613 10.572 9.74757 10.6359C9.73106 10.6998 9.65892 10.7431 9.57032 10.7431C9.51879 10.7431 9.46521 10.7307 9.40953 10.7039C9.31472 10.6586 9.21577 10.6029 9.11066 10.5349C9.10651 10.5349 9.10241 10.5308 9.0983 10.5266Z' fill='%23063C84'/></g><defs><clipPath id='clip0_40000382_7236'><rect width='12' height='14' fill='white'/></clipPath></defs></svg>");
  }
  100% {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='14' viewBox='0 0 12 14' fill='none'><g clip-path='url(%23clip0_40000373_7731)'><path d='M11.9996 3.22145V13.9997H0.306641V-0.000244141H8.77801L10.2786 1.50031L11.9996 3.22145Z' fill='%23063C84'/><path d='M5.60795 0.937256H0V3.44653H5.60795V0.937256Z' fill='%23F2F2F2'/><path d='M2.01117 1.75987C1.98645 1.70009 1.95344 1.6465 1.90811 1.60117C1.86278 1.55584 1.80711 1.51872 1.74322 1.49401C1.67728 1.46719 1.60304 1.45483 1.5206 1.45483H0.904297V3.04609H1.21553V2.44628H1.52059C1.603 2.44628 1.67724 2.43392 1.74322 2.40711C1.80711 2.38239 1.86278 2.34527 1.90811 2.29994C1.95344 2.25461 1.98645 2.20308 2.01117 2.14124C2.03383 2.08146 2.04619 2.01757 2.04619 1.95162C2.04619 1.88355 2.03383 1.81962 2.01117 1.75987ZM1.67518 2.10819C1.63396 2.14736 1.57623 2.16797 1.50618 2.16797H1.21557V1.73101H1.50618C1.57627 1.73101 1.63396 1.75162 1.67518 1.79284C1.71435 1.83202 1.73497 1.8856 1.73497 1.95154C1.73497 2.01543 1.71435 2.06906 1.67518 2.10819Z' fill='%23063C84'/><path d='M3.4999 2.07111C3.49781 2.01548 3.49579 1.966 3.48959 1.92063C3.48339 1.87529 3.47309 1.83407 3.45863 1.7949C3.44422 1.75778 3.42566 1.7207 3.40095 1.68773C3.34531 1.60733 3.27728 1.54755 3.20099 1.51047C3.12269 1.47335 3.02994 1.45483 2.92068 1.45483H2.34766V3.04609H2.92068C3.02994 3.04609 3.12269 3.02754 3.20099 2.99046C3.27728 2.95334 3.34531 2.89359 3.40095 2.8132C3.42566 2.78023 3.44422 2.74311 3.45863 2.70603C3.47309 2.66686 3.48339 2.62563 3.48959 2.5803C3.49579 2.53497 3.4978 2.48549 3.4999 2.42982C3.50195 2.37623 3.50195 2.31645 3.50195 2.2505C3.50195 2.18456 3.50199 2.1247 3.4999 2.07111ZM3.18867 2.41122C3.18867 2.45864 3.18456 2.49572 3.18046 2.52869C3.17635 2.55961 3.17015 2.58848 3.1619 2.60909C3.15369 2.63175 3.14133 2.65237 3.12688 2.67093C3.07535 2.73687 2.99701 2.76779 2.89395 2.76779H2.65691V1.73097H2.89395C2.99701 1.73097 3.07535 1.76394 3.12688 1.82992C3.14129 1.84848 3.15369 1.86704 3.1619 1.88971C3.17015 1.91237 3.17635 1.93919 3.18046 1.97216C3.18456 2.00308 3.18867 2.04225 3.18867 2.08758C3.19076 2.13291 3.19076 2.18859 3.19076 2.25042C3.19076 2.31226 3.19072 2.36585 3.18867 2.41122Z' fill='%23063C84'/><path d='M4.82942 1.73129V1.45508H3.78027V3.04634H4.09154V2.40115H4.7202V2.12289H4.09154V1.73125L4.82942 1.73129Z' fill='%23063C84'/><path d='M11.9996 3.22187V14.0001H0.306641V11.473L5.77285 6.00663L6.09644 5.68299L6.27578 5.50368L6.57465 5.2048L6.92916 4.85025L10.2786 1.50073L11.9996 3.22187Z' opacity='0.08' fill='%23040000'/><path d='M12.0003 3.22185H8.77832V-0.000244141L12.0003 3.22185Z' fill='%23C5F2EF'/><path d='M10.3309 10.1348C10.2628 10.0152 10.1701 9.90188 10.0547 9.79881C9.95985 9.71226 9.84854 9.63186 9.72281 9.55767C9.21577 9.25879 8.49231 9.1145 7.50911 9.1145H7.41015C7.35657 9.06502 7.3009 9.01554 7.24321 8.96401C6.87014 8.62801 6.57333 8.26319 6.34249 7.85714C6.79591 6.85744 7.01237 5.967 6.98556 5.20845C6.98146 5.08067 6.96286 4.9611 6.92993 4.84979C6.88045 4.67048 6.798 4.51174 6.68259 4.3819C6.67848 4.3778 6.49503 4.17167 6.23943 4.0542C5.97974 4.0542 5.71798 4.0542 5.4768 4.16757C5.3016 4.37574 5.1285 4.58187 5.03574 4.86424C5.0316 5.19613 5.0254 5.70319 5.06662 6.18347C5.15321 6.62664 5.26243 7.1337 5.39025 7.51503C5.55514 7.86954 5.36138 8.26323 5.16557 8.60334C5.02954 8.83422 4.92649 9.00942 4.81312 9.19288C4.69561 9.37634 4.16591 9.47115 3.71655 9.58657C3.32497 9.73086 2.79527 9.92257 2.37063 10.1699C2.0656 10.4647 1.86774 10.6543 1.66778 11.0665C1.60184 11.4994 1.68018 11.6931C1.75232 11.8725 1.88219 12.0229 2.0553 12.126C2.18517 12.1899 2.31709 12.2435 2.46137 12.2723C2.61181 12.2723 2.96016 12.2723 3.31881 12.1219C3.62179 11.8518 4.18656 11.3468 4.76985 10.5347C5.11408 10.0214 5.39645 9.97817 5.70357 9.94105C6.04986 9.90397 6.45799 9.86275 6.8187 9.83803C7.14639 9.82563 7.43701 10.0853 7.9523 10.545C8.34392 10.8769 8.69843 11.1098 8.70254 11.1118C8.84271 11.2046 8.97669 11.2808 9.11066 11.3427C9.26115 11.4127 9.41364 11.4498 9.57032 11.4498C9.76818 11.4498 9.95369 11.39 10.1083 11.2808C10.2649 11.1674 10.3783 11.0046 10.4298 10.8211C10.4896 10.6006 10.4545 10.3554 10.3309 10.1348Z' fill='%23F2F2F2'/></g><defs><clipPath id='clip0_40000373_7731'><rect width='12' height='14' fill='white' transform='translate(0 -0.000244141)'/></clipPath></defs></svg>");
  }
}
@keyframes bgColorFlash2 {
  0% {
    top: -100%;
  }
  25% {
    top: 0%;
  }
  75% {
    top: 0%;
  }
  100% {
    top: 100%;
  }
}
@keyframes dlColorFlash {
  0% {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='15' viewBox='0 0 14 15' fill='none'><path d='M7 0L7 11.8943' stroke='%23063C84'/><path d='M1 6.74293L7 11.9995L13 6.74293' stroke='%23063C84'/><path d='M1 14.5H13.5' stroke='%23063C84'/></svg>");
  }
  50% {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='15' viewBox='0 0 14 15' fill='none'><path d='M7 0L7 11.8943' stroke='%23FFFFFF'/><path d='M1 6.74293L7 11.9995L13 6.74293' stroke='%23FFFFFF'/><path d='M1 14.5H13.5' stroke='%23FFFFFF'/></svg>");
    opacity: 1;
  }
  100% {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='15' viewBox='0 0 14 15' fill='none'><path d='M7 0L7 11.8943' stroke='%23063C84'/><path d='M1 6.74293L7 11.9995L13 6.74293' stroke='%23063C84'/><path d='M1 14.5H13.5' stroke='%23063C84'/></svg>");
    opacity: 1;
  }
}
@keyframes icnMailFlash {
  0% {
    background-image: url(../img/icn-mail.svg);
  }
  25% {
    background-image: url(../img/icn-mail_mo.svg);
  }
  75% {
    background-image: url(../img/icn-mail_mo.svg);
  }
  100% {
    background-image: url(../img/icn-mail.svg);
  }
}