/*
  ver : 6.2.0
  data: 2019.11.12
*/
@charset "UTF-8";
/* Edge */
@supports (-ms-ime-align: auto) {
  /*
    3 -> edge_width = '99.99%'
    6 -> edge_width = '99.99%'
    7 -> edge_width = '99.40%'
    9 -> edge_width = '99.99%'
  */
}
/* IE */
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {}

/***** -- Foundation -- *****/
* {box-sizing: border-box;}
html main{font-size: 62.5%;}
body {
  position: relative;
  width: 100%;
  height: 100%;
  font-family: 'Noto Sans JP', sans-serif;
  text-align: left;
  color: #333;
  line-height: 1.6;
  background: transparent;
  overflow-x: hidden;
  word-break: break-word;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -webkit-print-color-adjust: exact;
}
a {
  color: #333;
  text-decoration: none;
  transition: all .2s ease;
}
figure, img {line-height: 1;}
strong {font-size: 120%;}
small  {font-size: 80%;}
sup {
  font-size: 60%;
  font-weight: normal;
  vertical-align: super;
}
::-webkit-input-placeholder {color: #aaa;}
::-moz-placeholder {
  color: #aaa;
  opacity: 1;
}
:-ms-input-placeholder {color: #bfb6ad;}
input[type="text"], input[type="password"], input[type="email"], input[type="url"], input[type="tel"], input[type="submit"], input[type="button"], select, textarea, button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
input[type="text"], input[type="password"], input[type="email"], input[type="url"], input[type="tel"], select, textarea {
  max-width: 100%;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.3rem;
  padding: 10px;
  border: 1px solid #ccc!important;
  background-color: #fff;
}
input[type="text"], input[type="password"], input[type="email"], input[type="url"], input[type="tel"] {}
select {
  max-width: 100%;
  min-width: 60px;
  padding: 1rem 20px 1rem 1rem;
  cursor: pointer;
}
textarea {
  resize: vertical;
  max-height: 500px;
  min-height: 200px;
}
input[type="checkbox"], input[type="radio"] {
  width: 18px;
  height: 18px;
  font-family: 'Noto Sans JP', sans-serif;
  margin: 0 5px 0 0;
}
input[type="submit"], input[type="button"], button {font-family: 'Noto Sans JP', sans-serif;}
button {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
}
/*
  input:read-only, textarea:read-only, select:disabled {background-color: #eee;}
*/

/***** -- Layout  -- *****/
.l-body {
  position: relative;
  width: 100%;
  padding-top: constant(safe-area-inset-top);
  padding-right: constant(safe-area-inset-right);
  padding-bottom: constant(safe-area-inset-bottom);
  padding-left: constant(safe-area-inset-left);
  z-index: 1;
}
.l-wrap, .l-parlx {
  position: relative;
  padding: 50px 0;
  background-color: #fff;
  transition: all 1s ease;
  z-index: 1;
}
.l-parlx {position: static;}

@media screen and (max-width: 1200px) {}
@media screen and (max-width: 980px) {}
@media screen and (max-width: 768px) {
  .l-wrap, .l-parlx {padding: 40px 0;}
}
@media screen and (max-width: 640px) {}
@media screen and (max-width: 480px) {
  .l-wrap, .l-parlx {padding: 30px 0;}
}
@media screen and (max-width: 370px) {}


/***** -- Component  -- *****/
/* inner */
.c-inner, .c-inner--lg, .c-inner--md, .c-inner--sm, .c-inner--max {
  position: relative;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.c-inner {max-width: 1100px;}
.c-inner--lg {max-width: 900px;}
.c-inner--md {max-width: 720px;}
.c-inner--sm {max-width: 460px;}
.c-inner--max {max-width: 100%;}

/* btn */
.c-btn {
  display: inline-block;
  position: relative;
  max-width: 100%;
  font-family: 'plantin', 'ten-mincho-text', serif;
  text-align: center;
/*
  letter-spacing: 1px;
*/
  padding: 1rem 0;
  transition: all .2s ease;
  cursor: pointer;
}
.c-btn:disabled {
  opacity: .2;
  pointer-events: none;
}
.c-btn:disabled:hover {
  color: inherit;
  background-color: inherit;
}
.c-btn > span {
  display: block;
  position: relative;
  padding-top: 5px;
}
.c-btn--01 {
  color: #fff;
  background-color: #001e62;
}
.c-btn--01::before,
.c-btn--01::after,
.c-btn--01 > *::before,
.c-btn--01 > *::after {color: #fff!important;}
/*
.c-btn--01:hover {
  color: #001e62;
  background-color: #c9cbe0;
}
.c-btn--01:hover::before,
.c-btn--01:hover::after,
.c-btn--01:hover > *::before,
.c-btn--01:hover > *::after {color: #001e62!important;}
*/
.c-btn--02 {
  color: #001e62;
  border: 2px solid #fff;
  background-color: #fff;
}
.c-btn--02::before,
.c-btn--02::after,
.c-btn--02 > *::before,
.c-btn--02 > *::after {color: #001e62!important;}
/*
.c-btn--02:hover {
  color: #fff;
  background-color: #d7000f;
}
.c-btn--02:hover::before,
.c-btn--02:hover::after,
.c-btn--02:hover > *::before,
.c-btn--02:hover > *::after {color: #fff!important;}
*/
.c-btn--03 {
  color: #fff;
  background-color: #7d909e;
}
.c-btn--03::before,
.c-btn--03::after,
.c-btn--03 > *::before,
.c-btn--03 > *::after {color: #fff!important;}

.c-btn--04 {
  color: #fff;
  background-color: #9a9a9a;
}
.c-btn--04::before,
.c-btn--04::after,
.c-btn--04 > *::before,
.c-btn--04 > *::after {color: #fff!important;}


/* flex */
.c-flex {
  display: flex;
  position: relative;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
}
.c-flex > * {
  display: block;
  position: relative;
  max-width: 100%;
}
.c-flex--center {justify-content: center;}
.c-flex--right  {justify-content: flex-end;}
.c-flex--middle {align-items: center;}
.c-flex--bottom {align-items: flex-end;}

/* table */
.c-table {
  display: table;
  width: 100%;
  table-layout: fixed;
}
.c-table > * {
  display: table-cell!important;
  vertical-align: middle;
}

/* inline */
.c-inline {letter-spacing: -.40em;}
.c-inline > * {
  display: inline-block!important;
  position: relative;
  vertical-align: middle;
  letter-spacing: normal;
}
.c-inline > *:last-child {margin-right: 0;}

/* float */
.c-float > * {
  display: block;
  position: relative;
  float: left;
}
.c-float::after {
  display: block;
  clear: both;
  visibility: hidden;
  content: '';
}

/* row */
.c-row--xs > * {margin-top: 10px;}
.c-row--sm > * {margin-top: 20px;}
.c-row > *     {margin-top: 30px;}
.c-row--md > * {margin-top: 40px;}
.c-row--lg > * {margin-top: 60px;}
.c-row--xl > * {margin-top: 80px;}
.c-row > *:first-child, .c-row--xs > *:first-child, .c-row--sm > *:first-child, .c-row--md > *:first-child, .c-row--lg > *:first-child, .c-row--xl > *:first-child {margin-top: 0;}

/* col */
.c-col--xs > * {margin-right: 5px;}
.c-col--sm > * {margin-right: 10px;}
.c-col > *     {margin-right: 2%;}
.c-col--md > * {margin-right: 20px;}
.c-col--lg > * {margin-right: 30px;}
.c-col--xl > * {margin-right: 50px;}
.c-col > *:last-child, .c-col--xs > *:last-child, .c-col--sm > *:last-child, .c-col--md > *:last-child, .c-col--lg > *:last-child, .c-col--xl > *:last-child {margin-right: 0!important;}
.c-col--btn > * {margin: 2%;}
/* .xxx > *:nth-child(-n + 3) {margin-top: 0;} */

/* hover */
.c-hover, .c-hover::before, .c-hover::after {transition: all .2s ease;}
.c-hover--fade:hover  {opacity: 0.5;}
.c-hover--shadow {box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0);}
.c-hover--shadow:hover {box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.15);}
.c-hover--ul {text-decoration: none;}
.c-hover--ul:hover {text-decoration: underline;}
.c-hover--nl {text-decoration: underline;}
.c-hover--nl:hover {text-decoration: none;}
.c-hover--ol {position: relative;}
.c-hover--ol::after {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0);
  z-index: 1;
  content: '';
}
.c-hover--ol:hover::after {background-color: rgba(255, 255, 255, 0.3);}

/* heading */
.c-heading {
  position: relative;
  word-break: break-word;
}

/* icon */
.c-icon::before, .c-icon::after {display: none;}
.c-icon-before::before, .c-icon-after::after {
  display: block;
  position: absolute;
  top: 50%;
  font-family: "Font Awesome 5 Free";
  font-size: inherit;
  font-weight: bold;
  transform: translate(0,-50%);
  transition: all .2s ease;
}
.c-icon-before::before {left: 10px;}
.c-icon-after::after   {right: 10px;}
.c-icon--arrowL::before, .c-icon--arrowL::after {content: '\f104';}
.c-icon--arrowR::before, .c-icon--arrowR::after {content: '\f105';}
.c-icon--arrowT::before, .c-icon--arrowT::after {content: '\f106';}
.c-icon--arrowB::before, .c-icon--arrowB::after {content: '\f107';}
.c-icon--external::before, .c-icon--external::after {content: '\f35d';}

/* show */
.c-show {transition: .5s;}
.c-show--slideInUp {transform: translateY(100px);}
.c-show--slideInUp.is-show {transform: translateY(0);}
.c-show--fadeInUp {
  transform: translateY(100px);
  opacity: 0;
}
.c-show--fadeInUp.is-show {
  transform: translateY(0);
  opacity: 1;
}

/* switch */
.c-switch-tab {
  position: relative;
  border-left: 1px solid #1e1e1e;
  border-top: 1px solid #1e1e1e;
}
.c-switch-tab > * {
  width: calc(100% / 5);
  font-size: 1.3rem;
  text-align: center;
  padding: 1rem;
  background-color: #ffffff;
  border-right: 1px solid #1e1e1e;
  border-bottom: 1px solid #1e1e1e;
  transition: all .2s ease;
  cursor: pointer;
}
.c-switch-tab > *.is-active {
  color: #fff;
  background-color: #1e1e1e;
}
.c-switch-tab > *:hover {opacity: .7;}
.c-switch-select {
  position: relative;
  max-width: 100%;
  cursor: pointer;
}
.c-switch-select__ttl {
  position: relative;
  height: 40px;
  padding-left: 1rem;
  padding-right: 45px;
  background-color: #fff;
  border: 1px solid;
}
.c-switch-select__ttl span {
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translate(0,-50%);
}
.c-switch-select__ttl::before {
  position: absolute;
  right: 0;
  top: 0;
  width: 38px;
  height: 38px;
  background-color: #1e1e1e;
  content: '';
}
.c-switch-select__ttl::after {
  position: absolute;
  right: 13px;
  top: 50%;
  font-family: "Font Awesome 5 Free";
  font-size: 1.5rem;
  font-weight: bold;
  color: #fff;
  transform: translate(0,-50%) rotate(0deg);
  transition: all .2s ease;
  content: '\f107';
}
.c-switch-select.is-active .c-switch-select__ttl::after {transform: translate(0,-50%) rotate(-180deg);}
.c-switch-select__item {
  height: 0;
  transition: height 0.2s ease;
  overflow: hidden;
}
.c-switch-select__item > * {
  position: relative;
  width: 100%;
  padding: 1rem;
  background-color: #eee;
  border-bottom: 1px solid #fff;
  cursor: pointer;
}
.c-switch-select__item > *.is-active {background-color: #ececec;}

/* accordion */
.c-acd {
  position: relative;
  cursor: pointer;
  overflow: hidden;
}
/*
.c-acd::after {
  display: block;
  position: absolute;
  right: 10px;
  top: 50%;
  font-family: "Font Awesome 5 Free";
  font-size: 1.5rem;
  font-weight: bold;
  color: #555;
  transform: translate(0,-50%) rotate(0deg);
  transition: all .2s ease;
  content: '\f107';
}
.c-acd.is-active::after {transform: translate(0,-50%) rotate(180deg);}
*/

.c-acd::before, .c-acd::after {
  position: absolute;
  top: 50%;
  right: 10px;
  width: 10px;
  height: 2px;
  background-color: #001e62;
  transform: translate(0,-50%) rotate(0deg);
  transition: all .2s ease;
  content: '';
}
.c-acd::after {transform: translate(0,-50%) rotate(90deg);}
.c-acd.is-active::after {transform: translate(0,-50%) rotate(0);}
.c-acd-cont {
  height: 0;
  transition: height .2s linear;
  overflow: hidden;
}

.c-acd.is-active + .c-acd-cont {}





/*
.c-acd-cont {
  height: 100%;
  max-height: 0;
  transition: max-height .5s linear;
  overflow: hidden;
}

.c-acd.is-active + .c-acd-cont {
  max-height: 100vh;

  overflow: visible;

}
*/


/* common */
.c-cont h2 {
/*
  font-size: 130%;
  margin-top: 30px;
  padding: 1rem;
  border-bottom: 2px solid #000;
*/
}
.c-cont h3 {
/*
  font-size: 120%;
  margin-top: 25px;
  padding: 5px 10px;
  border-bottom: 1px solid #eeebe8;
*/
}
.c-cont a {
/*
  text-decoration: underline;
*/
}
.c-cont a:hover {/*text-decoration: none;*/}
.c-cont img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}
.c-cont ul, .c-cont ol {padding: 10px 10px 10px 30px;}
.c-cont ul.is-none {list-style-type: none;}
.c-cont ul.is-square {list-style-type: square;}
.c-cont ul > *, .c-cont ol > * {margin-top: 10px;}
.c-cont ul > *:first-child, .c-cont ol > *:first-child {margin-top: 0;}
.c-img {
  max-width: 100%;
  height: auto;
}
.c-movie {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.c-movie iframe, .c-movie video {
  position: absolute;
  right: 0;
  top: 0;
  width: 100%!important;
  height: 100%!important;
}
@media screen and (max-width: 1200px){
  .c-inner, .c-inner--lg, .c-inner--md, .c-inner--sm {width: 96%;}
}
@media screen and (max-width: 980px) {}
@media screen and (max-width: 768px) {
  .c-inner, .c-inner--lg, .c-inner--md, .c-inner--sm {width: 94%;}

  .c-row--xs > * {margin-top: 5px;}
  .c-row--sm > * {margin-top: 15px;}
  .c-row > *     {margin-top: 25px;}
  .c-row--md > * {margin-top: 35px;}
  .c-row--lg > * {margin-top: 50px;}
  .c-row--xl > * {margin-top: 70px;}

}
@media screen and (max-width: 640px) {}
@media screen and (max-width: 480px) {
  .c-inner, .c-inner--lg, .c-inner--md, .c-inner--sm {width: 92%;}

  .c-row--xs > * {margin-top: 8px;}
  .c-row--sm > * {margin-top: 10px;}
  .c-row > *     {margin-top: 20px;}
  .c-row--md > * {margin-top: 30px;}
  .c-row--lg > * {margin-top: 40px;}
  .c-row--xl > * {margin-top: 60px;}

  .c-icon-before::before, .c-icon-after::after {font-size: 1.3rem;}

  .c-cont h2 {
    font-size: 115%;
    margin-top: 20px;
  }
  .c-cont h3 {
    font-size: 110%;
    margin-top: 15px;
  }
}
@media screen and (max-width: 370px){}


/***** -- Project -- *****/
/* loader */
@keyframes am-loader-rotate {
  0%   {transform: rotate(0deg);}
  100% {transform: rotate(360deg);}
}
@keyframes am-loader-fadeout {
  0%   {opacity: 1;}
  90%  {opacity: 0;}
  100% {
    opacity: 0;
    z-index: -1;
  }
}
.l-loader {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #f1f1f1;
  z-index: 100;
}
.l-loader.is-off {animation: am-loader-fadeout 1s 2s forwards;}
.p-loader {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
.p-loader--circle {
  width: 100px;
  height: 100px;
  border-top: 1px solid #00bcd5;
  border-right: 1px solid #eee;
  border-bottom: 1px solid #eee;
  border-left: 1px solid #eee;
  border-radius: 50%;
  animation: am-loader-rotate 1.1s infinite linear;
}

/* header */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: inherit;
  background-color: #fff;
  opacity: 1;
  transition: background-color .2s;
  z-index: 98;
}
.p-header {
  position: relative;
  width: 100%;
  height: inherit;
  margin: auto;
}
.p-header::after {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #f1f1f1;
  content: '';
}
.p-header--H {height: 60px;}
.p-header-logo {
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translate(0,-50%);
}
.p-header-logo a {
  display: block;
  line-height: 1;
}
.p-header-logo img {
  width: 150px;
  height: auto;
}
.p-header-menu {
  position: absolute;
  right: 0;
  top: 0;
  width: 60px;
  height: inherit;
  cursor: pointer;
}
.p-header-menu span {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 30px;
  height: 1px;
  background-color: #ccc;
  transform: translate(-50%,-50%);
  transition: background-color .2s;
}
.p-header-menu span::before, .p-header-menu span::after {
  display: block;
  position: absolute;
  right: 0;
  width: 30px;
  height: 1px;
  background-color: #ccc;
  transition: all .3s cubic-bezier(.215,.61,.355,1);
  /*transition: background-color .3s cubic-bezier(.215,.61,.355,1), transform .3s cubic-bezier(.215,.61,.355,1);*/
  content: '';
}
.p-header-menu span::before {top: -10px;}
.p-header-menu span::after  {top: 10px;}
.p-header-menu:hover {background-color: transparent;}
.p-header-menu:hover span, .p-header-menu:hover span::before, .p-header-menu:hover span::after {}
html.is-drawer .l-header {background-color: #fff;}
html.is-drawer .p-header-menu span {background-color: transparent;}
html.is-drawer .p-header-menu span::before, html.is-drawer .p-header-menu span::after {transition-delay: 0s, .3s;}
html.is-drawer .p-header-menu span::before {transform: translateY(10px) rotate(45deg);}
html.is-drawer .p-header-menu span::after  {transform: translateY(-10px) rotate(-45deg);}

/* drawer */
.l-drawer {
  position: fixed;
  left: 0;
  width: 100%;
  background-color: #2d2d2d;
  z-index: 95;
}
.l-drawer[drawer-scaley] {
  transform: scaleY(0);
  transform-origin: top center;
  transition: transform .2s 0s;
  /*
  transition: transform .6s cubic-bezier(.77,0,.175,1) .3s;
  */
}
.l-drawer[drawer-fade] {
  opacity: 0;
  transform: scale(0);
  transition: opacity .5s, transform 0s .5s;
}
.p-drawer {
  position: relative;
  width: 100%;
  height: 100%!important;
  margin: auto;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
}
.p-drawer > *:nth-child(1) {padding: 25px 0 100px;}

.p-drawer .c-acd::before, .p-drawer .c-acd::after {
  right: 20px;
  background-color: #fff;
}

.p-drawer-1st > * {
  width: 100%;
  border: 1px solid #858dbf;
}
.p-drawer-1st > * > a, .p-drawer-1st > * > p {
  display: block;
  position: relative;
  font-size: 1.6rem;
  font-weight: bold;
  color: #fff;
  line-height: 1.2;
/*
  letter-spacing: 1px;
*/
  padding: 1.5rem;

}
.p-drawer-2nd {background-color: #858dbf;}
.p-drawer-2nd > .c-flex > * {
  width: 100%;
  margin-right: 0;
}
.p-drawer-2nd > .c-flex > * > a, .p-drawer-2nd > .c-flex > * > p {
  display: block;
  position: relative;
  font-size: 1.3rem;
  color: #fff;
  padding: 1.5rem 25px 1.5rem 1rem;
  border-bottom: 1px solid #6f77ab;
}
.p-drawer-2nd > .c-flex > * > a::after {color: #fff;}
.p-drawer-3rd > a {
  display: block;
  position: relative;
  font-size: 1.2rem;
  color: #fff;
  padding: 1rem 25px 1rem 2.5rem;
  border-bottom: 1px solid #868ebf;
}
.p-drawer-3rd > a:last-child {border-bottom: none;}
.p-drawer-3rd > a::after {color: #fff;}
html.is-drawer {overflow: hidden;}
html.is-drawer body {overflow: unset!important;}
html.is-drawer .l-drawer {}
html.is-drawer .l-drawer[drawer-scaley] {transform: scaleY(1);}
html.is-drawer .l-drawer[drawer-fade] {
  opacity: 1;
  transform: scale(1);
  transition: opacity 0.5s;
}

/* drop */
.l-drop {
  display: block;
  position: relative;
  left: 0;
  width: 100%;
  background-color: #001e62;
  transition: transform .2s ease;
  transform: translateY(0);
  transform-origin: top center;
  z-index: 90;
}
.l-drop.is-off {transform: translateY(-100%);}
.p-drop-1st > * {
  width: calc(100% / 8);
  margin-right: 0;
  background-color: inherit;
  border-right: none;
  transition: all .2s ease;
}
.p-drop-1st > *:first-child {border-left: none;}
.p-drop-1st > *:hover {background-color: #6f77ab;}
.p-drop-1st > * > a, .p-drop-1st > * > p {
  display: block;
  position: relative;
  height: 45px;
  font-size: 1.3rem;
  font-weight: bold;
  text-align: center;
  color: #fff;
  line-height: 1.2;
/*
  letter-spacing: 1px;
*/
  overflow: hidden;
  cursor: pointer;
}
.p-drop-1st > *:hover > a, .p-drop-1st > *:hover > p {color: #fff;}
.p-drop-1st > * > a span, .p-drop-1st > * > p span {
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  width: 95%;
  transform: translate(-50%,-50%);
}
.p-drop-2nd {
  position: fixed;
  left: 0;
  width: 100%;
  padding: 2rem 0;
  background-color: transparent;
  transition: all .2s ease;
  transform: scaleY(0);
  transform-origin: top center;
  z-index: -1;
  opacity: 0;
}
.p-drop-1st > *:hover .p-drop-2nd {
  background-color: #6f77ab;
  transform: scaleY(1);
  opacity: 1;
}
.p-drop-2nd > .c-flex > * {width: calc(100% / 5);}
.p-drop-2nd > .c-flex > * > a, .p-drop-2nd > .c-flex > * > p {
  display: block;
  position: relative;
  font-size: 1.3rem;
  color: #fff;
  padding: 1rem;
  border-bottom: 1px solid #c9cbe0;
}
.p-drop-2nd > .c-flex > * > a::after {color: #fff;}
.p-drop-3rd > a {
  display: block;
  position: relative;
  font-size: 1.2rem;
  color: #fff;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #868ebf;
}
.p-drop-3rd > a::after {color: #fff;}

/* footer */
.l-footer {
  position: relative;
  padding: 60px 0;
  background-color: #f5f3f0;
  z-index: 1;
}
.p-footer-copy {
  font-size: 1rem;
  color: #fff;
  text-align: center;
  padding: 10px 0;
}

/* breadcrumbs */
.l-breadcrumbs {
  position: relative;
  width: 100%;
  padding: 1rem 0;
  background-color: #f1f1f1;
  z-index: 1;
}
.p-breadcrumbs-cont {
  position: relative;
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
}
.p-breadcrumbs-cont > * {
  font-size: 1.2rem;
  line-height: 1;
  margin-right: 20px;
}
.p-breadcrumbs-cont > *::after {
  position: absolute;
  right: -12px;
  top: 50%;
  font-family: "Font Awesome 5 Free";
  font-size: 1.2rem;
  font-weight: bold;
  transform: translate(0,-50%);
  content: '\f0da';
}
.p-breadcrumbs-cont > *:last-child::after {display: none;}

/* FORM */
.p-form {
  padding: 3rem 3rem 4rem;
  background-color: #f9f9f9;
}
.p-form-item > .c-table > * {vertical-align: top;}
.p-form-item > .c-table > *:nth-child(1) {width: 220px;}
.p-form-item__ttl {
  font-size: 1.4rem;
  font-weight: bold;
/*
  letter-spacing: 2px;
*/
}
.p-form-item__ttl > * {
  display: inline-block;
  position: relative;
  padding-right: 15px;
}
.p-form-item__ttl > *.is-required::after {
  position: absolute;
  right: 0;
  top: 50%;
  font-size: .8rem;
  font-weight: bold;
  color: #ff0000;
  transform: translate(0,-50%);
  content: '※';
}
.p-form-item__val {font-size: 1.3rem;}
.p-form-item__val > * {
  display: block;
  position: relative;
}
.c-form-date {margin-right: 30px;}
.c-form-date::before {
  position: absolute;
  bottom: 5px;
  right: -20px;
  font-size: 1.3rem;
}
.c-form-date--y::before {content: '年';}
.c-form-date--m::before {content: '月';}
.c-form-date--d::before {content: '日';}
.c-form-select {
  display: inline-block;
  position: relative;
  max-width: 100%;
  overflow: hidden;
}
.c-form-select select::-ms-expand {display: none;}
.c-form-select::before {
  position: absolute;
  right: 10px;
  top: 50%;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 6px solid #000;
  pointer-events: none;
  transform: translate(0,-50%);
  content: '';
}

/* toast */
.p-toast {
  position: fixed;
  left: 50%;
  bottom: 0;
  transform: translate(-50%,0);
  transition: all .5s ease;
  opacity: 0;
  z-index: -1;
}
.p-toast.is-active {
  bottom: 100px;
  opacity: 1;
  z-index: 999;
}
.p-toast-cont {
  width: 100%;
  font-size: 1.3rem;
  text-align: center;
  line-height: 1.5;
  padding: 10px 20px;
  background-color: rgba(238, 235, 232, 0.85);
  border-radius: 30px;
}
@media screen and (max-width: 1200px) {}
@media screen and (max-width: 980px) {}
@media screen and (max-width: 768px) {}
@media screen and (max-width: 640px) {
  .p-form-item > .c-table > * {
    display: block!important;
    width: 100%;
  }
  .p-form-item > .c-table > *:nth-child(2) {margin-top: 10px;}
}
@media screen and (max-width: 480px) {
  .p-form-item__ttl {font-size: 1.3rem;}
  .p-form-item__val {font-size: 1.2rem;}
}
@media screen and (max-width: 370px) {}

/***** -- Utility -- ******/
.u-taC {text-align: center;}
.u-taL {text-align: left;}
.u-taR {text-align: right;}
.u-fcB {color: #000;}
.u-fcR {color: #ff0000;}
.u-fcW {color: #fff!important;}
.u-fc1 {color: #001e62;}
.u-bgCW {background-color: #fff!important;}
.u-bgCG {background-color: #f1f1f1!important;}
.u-bgC1 {background-color: #001e62!important;}
.u-bgC2 {background-color: #f2f2f2!important;}
.u-bgC3 {background-color: #f2f4fe!important;}
.u-bgC4 {background-color: #fff9ef!important;}
.u-ffJp {font-family: 'ten-mincho-text', serif;}
.u-ffEn {font-family: 'plantin', serif;}
.u-fwN {font-weight: normal!important;}
.u-fwB {font-weight: bold!important;}
.u-fs--xl {font-size: 1.25rem;}
.u-fs--lg {font-size: 1.125rem;}
.u-fs--md {font-size: 1rem;}
.u-fs--sm {font-size: 0.855rem;}
.u-fs--xs {font-size: 0.75rem;}
.u-dpN {display: none;}
.u-dpB {display: block;}
.u-tdN {text-decoration: none!important;}
.u-tdU {text-decoration: underline!important;}
.u-w50 {width: 50px!important;}
.u-w80 {width: 80px!important;}
.u-w100 {width: 100px!important;}
.u-w200 {width: 200px!important;}
.u-w300 {width: 300px!important;}
.u-w400 {width: 400px!important;}
.u-w500 {width: 500px!important;}
.u-w100p {width: 100%!important;}
.u-lh1 {line-height: 1;}
.u-lhS {line-height: 1.2;}
.u-lhM {line-height: 1.8;}
.u-lhL {line-height: 2;}
.u-lsS {letter-spacing: 2px;}
.u-lsM {letter-spacing: 4px;}
.u-lsL {letter-spacing: 6px;}
.u-vaT {vertical-align: top!important;}
.u-mT0 {margin-top: 0px!important;}
.u-mT5 {margin-top: 5px!important;}
.u-mT10 {margin-top: 10px!important;}
.u-mT20 {margin-top: 20px!important;}
.u-mT40 {margin-top: 40px!important;}
.u-mT80 {margin-top: 80px!important;}
.u-mB0 {margin-bottom: 0px!important;}
.u-mB5 {margin-bottom: 5px!important;}
.u-mB10 {margin-bottom: 10px!important;}
.u-mB20 {margin-bottom: 20px!important;}
.u-mB40 {margin-bottom: 40px!important;}
.u-mL0 {margin-left: 0px!important;}
.u-mL5 {margin-left: 5px!important;}
.u-mL10 {margin-left: 10px!important;}
.u-mL20 {margin-left: 20px!important;}
.u-mR0 {margin-right: 0px!important;}
.u-mR5 {margin-right: 5px!important;}
.u-mR10 {margin-right: 10px!important;}
.u-mR20 {margin-right: 20px!important;}
.u-mAuto {margin: auto!important;}
.u-mLRAuto {margin-left: auto!important; margin-right: auto!important;}
.u-p0 {padding: 0!important;}
.u-p5 {padding: 5px!important;}
.u-p10 {padding: 10px!important;}
.u-p20 {padding: 20px!important;}
.u-pT0 {padding-top: 0px!important;}
.u-pT5 {padding-top: 5px!important;}
.u-pT10 {padding-top: 10px!important;}
.u-pT20 {padding-top: 20px!important;}
.u-pT30 {padding-top: 30px!important;}
.u-pT40 {padding-top: 40px!important;}
.u-pT80 {padding-top: 80px!important;}
.u-pB0 {padding-bottom: 0px!important;}
.u-pB5 {padding-bottom: 5px!important;}
.u-pB10 {padding-bottom: 10px!important;}
.u-pB20 {padding-bottom: 20px!important;}
.u-pB30 {padding-bottom: 30px!important;}
.u-pB40 {padding-bottom: 40px!important;}
.u-pB80 {padding-bottom: 80px!important;}
.u-pL0 {padding-left: 0px!important;}
.u-pL5 {padding-left: 5px!important;}
.u-pL10 {padding-left: 10px!important;}
.u-pL20 {padding-left: 20px!important;}
.u-pR0 {padding-right: 0px!important;}
.u-pR5 {padding-right: 5px!important;}
.u-pR10 {padding-right: 10px!important;}
.u-pR20 {padding-right: 20px!important;}

.is-pc    {display: block!important;}
.is-pc-tb {display: block!important;}
.is-pc-sp {display: block!important;}
.is-tb    {display: none!important;}
.is-tb-sp {display: none!important;}
.is-sp    {display: none!important;}
@media screen and (max-width: 1200px){}
@media screen and (max-width: 980px){}
@media screen and (max-width: 768px){
  .u-fs--xl {font-size: 1.1875rem;}
  .u-fs--lg {font-size: 1.0625rem;}
  .u-fs--md {font-size: 0.9375rem;}
  .u-fs--sm {font-size: 0.8125rem;}
  .u-fs--xs {font-size: 0.6875rem;}

  .is-pc    {display: none!important;}
  .is-pc-tb {display: block!important;}
  .is-pc-sp {display: none!important;}
  .is-tb    {display: block!important;}
  .is-tb-sp {display: block!important;}
  .is-sp    {display: none!important;}
}
@media screen and (max-width: 640px){}
@media screen and (max-width: 480px){
  .u-fs--xl {font-size: 1.125rem;}
  .u-fs--lg {font-size: 1rem;}
  .u-fs--md {font-size: 0.875rem;}
  .u-fs--sm {font-size: 0.75rem;}
  .u-fs--xs {font-size: 0.625rem;}

  .is-pc    {display: none!important;}
  .is-pc-tb {display: none!important;}
  .is-pc-sp {display: block!important;}
  .is-tb    {display: none!important;}
  .is-tb-sp {display: block!important;}
  .is-sp    {display: block!important;}
}
@media screen and (max-width: 370px){}



/***** -- JS -- ******/
/* SLICK */
.slick-slider {padding-bottom: 20px;}
.slick-dots {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  text-align: center;
  margin: 0;
  padding: 0;
  list-style: none;
}
.slick-dots > li {
  display: inline-block;
  position: relative;
  width: 5px;
  height: 5px;
  margin-right: 20px;
  padding: 0;
  cursor: pointer;
}
.slick-dots > li:last-child {margin-right: 0;}
.slick-dots li button {
  display: block;
  width: inherit;
  height: inherit;
  font-size: 0;
  line-height: 0;
  outline: none;
  cursor: pointer;
}
.slick-dots li button::before {
  position: absolute;
  left: 0;
  top: 50%;
  width: inherit;
  height: inherit;
  text-align: center;
  background-color: transparent;
  border: 2px solid #6f77ab;
  border-radius: 50%;
  transform: translate(0,-50%);
  content: '';
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button::before {
  background-color: #6f77ab;
  border: 2px solid #6f77ab;
}
.slick-prev, .slick-next {
  position: absolute;
  top: 50%;
  color: transparent;
  line-height: 0;
  width: 40px;
  height: 75px;
  padding: 0;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../img/@cmn-icon-arrow-01.png);
  background-size: 30px;
  transform: translate(0, -50%);
  border: none;
  outline: none;
  cursor: pointer;
  z-index: 10;
}
.slick-prev {left: 30px;}
.slick-next {
  right: 30px;
  transform: translate(0, -50%) rotate(180deg);
}
.slick-prev:before, .slick-next:before {display: none;}




/* modal */
.p-modal {display: none;}
.p-modal-header {
  position: relative;
  padding: 2rem 0;
}
.p-modal-header__close {
  position: absolute;
  right: 10px;
  top: 10px;
  width: 25px;
  height: 25px;
  cursor: pointer;
  z-index: 1;
}
.p-modal-header__close span {
  position: absolute;
  left: 50%;
  top: 50%;
  width: inherit;
  height: inherit;
  transform: translate(-50%,-50%);
}
.p-modal-header__close span::before, .p-modal-header__close span::after {
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  width: 25px;
  height: 1px;
  background-color: #000;
  content: '';
}
.p-modal-header__close span::before {transform: translateY(-50%) rotate(45deg);}
.p-modal-header__close span::after  {transform: translateY(-50%) rotate(-45deg);}
.p-modal-cont {
  position: relative;
  max-height: 70vh;
  background-color: #fff;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
}
.p-modal-prev, .p-modal-next {
  position: absolute;
  top: 50%;
  width: 14px;
  height: 38px;
  background-size: cover;
  transform: translate(0,-50%);
  cursor: pointer;
  z-index: 1;
}
.p-modal-prev {
  left: 10px;
  background-image: url(../img/cmn-modal-prev-01.png);
}
.p-modal-next {
  right: 10px;
  background-image: url(../img/cmn-modal-next-01.png);
}

/* iziModal */
html.is-modal {overflow: hidden;}
html.is-modal body {overflow: unset!important;}
.iziModal {
  width: 90%;
  box-shadow: none;
  border-radius: 0!important;
}
.iziModal::after {display: none;}
.iziModal .iziModal-wrap {overflow: hidden!important;}
.iziModal-navigate {display: none!important;}
.iziModal-navigate-caption {display: none!important;}
.iziModal-navigate > button {opacity: 1!important;}
.iziModal-navigate-prev {margin-left: inherit;}
.iziModal-navigate-next {margin-right: inherit;}
.iziModal-overlay {cursor: pointer;}

@media screen and (max-width: 1200px){}
@media screen and (max-width: 980px){}
@media screen and (max-width: 768px){}
@media screen and (max-width: 640px){}
@media screen and (max-width: 480px){}
@media screen and (max-width: 370px){}
@media screen and (max-width: 1200px){}
@media screen and (max-width: 980px){}
@media screen and (max-width: 768px){
  .slick-prev, .slick-next {
    width: 20px;
    height: 33px;
  }
}
@media screen and (max-width: 640px){
  .slick-prev, .slick-next {display: none!important;}
}
@media screen and (max-width: 480px){}
@media screen and (max-width: 370px){}
