@charset "UTF-8";
/* bootstrap内のCSSを補正 */
body {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック体",
    "Yu Gothic", YuGothic, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック",
    "MS PGothic", sans-serif !important;
  font-weight: normal;
	
  line-height: 1.65;
}
.container {
  max-width: 960px;
}
.container-fluid {
  padding-left: 0;
  padding-right: 0;
}
h1 {

  font-size: 1.6rem;
  font-weight: bold;
  padding-bottom: 0px !important;
  margin-bottom: 2px !important;
}
h2 {
  padding-top: 50px;
  font-size: 1.6rem;
  color: #2b3b94;
  font-weight: bold;
  padding-bottom: 0px !important;
  margin-bottom: 2px !important;
}

h3 {
  padding-top: 20px;
  font-size: 1.3rem;
  line-height: 1.35;
  font-weight: bold;
  padding-bottom: 0px !important;
  margin-bottom: 2px !important;
}
h4 {
  padding-top: 15px;
  font-size: 1.1rem;
  font-weight: bold;
  padding-bottom: 0px !important;
  margin-bottom: 2px !important;
}
h5 {
  padding-top: 15px;
  font-size: 1rem;
  font-weight: bold;
  padding-bottom: 0px !important;
  margin-bottom: 2px !important;
}


hr {
    margin: 0.3rem 0;
    color: inherit;
    border: 0;
    border-top: var(--bs-border-width) solid;
    opacity: .25;
}
pre {
    margin-top: 0rem;
    margin-bottom: 0rem;
}
p {
  margin-top: 0;
  margin-bottom: 0;
}
a {
  color: #0349cf;
}
a:hover {
  color: #cf5503;
}
.lead {
  font-size: 1rem;
  font-weight: bold;
}

.breadcrumb-item + .breadcrumb-item::before {
  content: ">>";
}

/* 装飾のために追加*/
.title_border {
  border-bottom: thick solid #2b3b94;
  border-width: 2px;
}
.list_border {
  border-bottom: thick solid #9b9b9b;
  border-width: 1px;
}
.dott_border {
  border-bottom: dotted #9b9b9b;
  border-width: 2px;
}
.list_border_bold {
  border-bottom: thick solid #4a4a4a;
  border-width: 2px;
}

/* ヘッダー */
header {
  background-color: #2B3A94;
  margin-bottom: 20px;
  min-height: 80px;
  display: flex;
  align-items: center;
}

/* フッター */
footer {
  background-color: #2B3A94;
  padding-top: 10px;
  padding-bottom: 10px;
  margin-top: 60px;
  min-height: 80px;
  display: flex;
  align-items: center;
}


.back-to-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 1030;
  text-decoration: none;
  background-color: #0d6efd; /* Bootstrapのprimary色 */
  color: white;
  padding: 10px 15px;
  border-radius: 5px;
  font-weight: bold;
}
.back-to-top:hover {
  background-color: #0b5ed7;
}



/*フォーム関係*/
.cs-form .label-title,
.cs-form .label-title-required {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: bold;
}
.cs-form .label-title-required::after {
  content: "";
  display: inline-block;
  width: 30px;
  height: 15px;
  margin-left: 3px;
  background-image: url(../img/form-required.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.cs-form .form-control {
  font-size: 1rem;
  border-radius: 4px;
  min-height: 45px;
}
.input-group .form-control-year {
  flex: 2 2 auto;
}
.cs-form .form-control::placeholder {
  color: #b2b2b2;
}
/* 旧Edge対応 */
.cs-form .form-control::-ms-input-placeholder {
  color: #b2b2b2;
}
/* IE対応 */
.cs-form .form-control:-ms-input-placeholder {
  color: #b2b2b2;
}
.was-validated .form-control:invalid {
  border-color: #890707;
  background-image: url(../img/invalid-feedback.svg);
  background-color: #ffffff;
}
.was-validated .form-control:valid {
  background-image: url(../img/valid-feedback.svg);
  background-color: #ffffff;
}
.cs-form .form-control::file-selector-button,
.cs-form .form-control::-webkit-file-upload-button {
  min-height: 45px;
}
.cs-form .form-select {
  background-image: url(../img/form-select.svg);
  background-color: #ffffff;
  min-height: 45px;
}
.cs-form .form-select-multiple {
  background-image: none;
  min-height: 45px;
}
.cs-form .input-group-text {
  min-height: 45px;
}
.cs-form .form-text {
  font-size: 0.875rem;
  color: black;
}
.cs-form .invalid-feedback {
  background-image: url(../img/invalid-feedback.svg);
  background-color: #ffffff;
  background-repeat: no-repeat;
  background-size: 12px;
  background-position: left center;
  padding-left: 14px;
  font-size: 0.875rem;
  line-height: 1.5;
  font-weight: bold;
  color: #890707;
}
.cs-form .valid-feedback {
  background-image: url(../img/valid-feedback.svg);
  background-color: #ffffff;
  background-repeat: no-repeat;
  background-size: 12px;
  background-position: left center;
  padding-left: 14px;
  font-size: 0.875rem;
  line-height: 1.5;
  font-weight: bold;
  color: #53815b;
}
.cs-form .form-check {
  margin-top: 5px;
  margin-bottom: 5px;
}
.cs-form .form-check-box {
  margin-top: 5px;
  padding: 5px 13px;
  border: 1px solid #dfe2e6;
  border-radius: 3px;
}
.cs-form legend {
  margin-bottom: 0;
  font-size: 1rem;
}


/* ボタン関係 */
.btn {
  font-size: 0.75rem;
  font-weight: bold;
  border-radius: 0px;
}
.btn-lg {
  font-size: 1rem;
}
.btn-darkblue {
  background-color: #2b3b94;
  border-color: #2b3b94;
  color: white;
}
.btn-darkblue:hover {
  background-color: #2eacae;
  border-color: #2eacae;
  color: white;
}
.btn-lightblue {
  background-color: #eff3f6;
  border-color: #2b3b94;
  color: black;
}
.btn-lightblue:hover {
  background-color: #f7f9fb;
  border-color: #989fa7;
  color: #808080;
}


/* パディング　マージン指定 */
.add-padding-v-5 {
  padding-top: 5px;
  padding-bottom: 5px;
}
.add-padding-v-10 {
  padding-top: 10px;
  padding-bottom: 10px;
}
.add-padding-v-15 {
  padding-top: 15px;
  padding-bottom: 15px;
}
.add-padding-v-20 {
  padding-top: 20px;
  padding-bottom: 20px;
}
.add-padding-v-30 {
  padding-top: 30px;
  padding-bottom: 30px;
}
.add-padding-v-35 {
  padding-top: 35px;
  padding-bottom: 35px;
}
.add-padding-v-40 {
  padding-top: 40px;
  padding-bottom: 40px;
}
.add-padding-v-50 {
  padding-top: 50px;
  padding-bottom: 50px;
}
.add-padding-v-60 {
  padding-top: 60px;
  padding-bottom: 60px;
}
.add-padding-v-65 {
  padding-top: 65px;
  padding-bottom: 65px;
}
.add-padding-v-75 {
  padding-top: 75px;
  padding-bottom: 75px;
}
.add-padding-v-85 {
  padding-top: 85px;
  padding-bottom: 85px;
}
.add-padding-v-100 {
  padding-top: 100px;
  padding-bottom: 100px;
}
.add-padding-v-120 {
  padding-top: 120px;
  padding-bottom: 120px;
}
.add-padding-v-130 {
  padding-top: 130px;
  padding-bottom: 130px;
}
.add-padding-v-150 {
  padding-top: 150px;
  padding-bottom: 150px;
}
.add-padding-v-200 {
  padding-top: 200px;
  padding-bottom: 200px;
}
.add-padding-h-5 {
  padding-left: 5px;
  padding-right: 5px;
}
.add-padding-h-10 {
  padding-left: 10px;
  padding-right: 10px;
}
.add-padding-h-20 {
  padding-left: 20px;
  padding-right: 20px;
}
.add-padding-h-30 {
  padding-left: 30px;
  padding-right: 30px;
}
.add-padding-h-90 {
  padding-left: 90px;
  padding-right: 90px;
}
.add-padding-top-10 {
  padding-top: 10px;
}
.add-padding-top-15 {
  padding-top: 15px;
}
.add-padding-top-20 {
  padding-top: 20px;
}
.add-padding-top-30 {
  padding-top: 30px;
}
.add-padding-top-40 {
  padding-top: 40px;
}
.add-padding-top-50 {
  padding-top: 50px;
}
.add-padding-top-60 {
  padding-top: 60px;
}
.add-padding-top-80 {
  padding-top: 80px;
}
.add-padding-top-100 {
  padding-top: 100px;
}
.add-padding-top-120 {
  padding-top: 120px;
}
.add-padding-top-150 {
  padding-top: 150px;
}
.add-padding-bottom-10 {
  padding-bottom: 10px;
}
.add-padding-bottom-15 {
  padding-bottom: 15px;
}
.add-padding-bottom-20 {
  padding-bottom: 20px;
}
.add-padding-bottom-25 {
  padding-bottom: 25px;
}
.add-padding-bottom-30 {
  padding-bottom: 30px;
}
.add-padding-bottom-40 {
  padding-bottom: 40px;
}
.add-padding-bottom-60 {
  padding-bottom: 60px;
}
.add-padding-bottom-70 {
  padding-bottom: 70px;
}
.add-padding-bottom-80 {
  padding-bottom: 80px;
}
.add-padding-right-20 {
  padding-right: 20px;
}
.add-padding-left-10 {
  padding-left: 10px;
}
.add-padding-left-5 {
  padding-left: 5px;
}
.add-no-h-padding {
  padding-left: 0px;
  padding-right: 0px;
}
.add-no-padding {
  padding: 0px;
}
/* Margin */
.add-margin-v-10 {
  margin: 10px 0;
}
.add-margin-v-20 {
  margin: 20px 0;
}
.add-margin-v-30 {
  margin: 30px 0;
}
.add-margin-v-40 {
  margin: 40px 0;
}
.add-margin-v-50 {
  margin: 50px 0;
}
.add-margin-v-80 {
  margin: 80px 0;
}
.add-margin-v-90 {
  margin: 90px 0;
}
.add-margin-v-100 {
  margin: 100px 0;
}
.add-margin-h-10 {
  margin-left: 10px;
  margin-right: 10px;
}
.add-margin-h-20 {
  margin-left: 20px;
  margin-right: 20px;
}
.add-margin-h-40 {
  margin-left: 40px;
  margin-right: 40px;
}
.add-margin-top-5 {
  margin-top: 5px;
}
.add-margin-top-10 {
  margin-top: 10px;
}
.add-margin-top-20 {
  margin-top: 20px;
}
.add-margin-top-30 {
  margin-top: 30px;
}
.add-margin-top-40 {
  margin-top: 40px;
}
.add-margin-top-50 {
  margin-top: 50px;
}
.add-margin-top-60 {
  margin-top: 60px;
}
.add-margin-top-80 {
  margin-top: 80px;
}
.add-margin-top-100 {
  margin-top: 100px;
}
.add-margin-bottom-10 {
  margin-bottom: 10px;
}
.add-margin-bottom-15 {
  margin-bottom: 15px;
}
.add-margin-bottom-20 {
  margin-bottom: 20px;
}
.add-margin-bottom-22 {
  margin-bottom: 22px;
}
.add-margin-bottom-30 {
  margin-bottom: 30px;
}
.add-margin-bottom-40 {
  margin-bottom: 40px;
}
.add-margin-bottom-50 {
  margin-bottom: 50px;
}
.add-margin-right-5 {
  margin-right: 5px;
}
.add-margin-right-10 {
  margin-right: 10px;
}
.add-margin-right-20 {
  margin-right: 20px;
}
.add-no-margin {
  margin: 0px;
}
.add-no-margin-top {
  margin-top: 0px;
}
.add-no-margin-bottom {
  margin-bottom: 0px;
}
.add-no-h-margin {
  margin-left: 0px;
  margin-right: 0px;
}
/* Negative margin */
.add-margin-fix-top {
  position: relative;
  top: -3px;
}
/* フォントサイズ指定 */
.tx10 {
  font-size: 0.625rem;
  line-height: 1.5;
}
.tx12 {
  font-size: 0.75rem;
  line-height: 1.5;
}
.tx14 {
  font-size: 0.875rem;
  line-height: 1.5;
}
.tx16 {
  font-size: 1rem;
  line-height: 1.5;
}
.tx18 {
  font-size: 1.125rem;
  line-height: 1.5;
}
.tx21 {
  font-size: 1.313rem;
  line-height: 1.5;
}
.tx24 {
  font-size: 1.5rem;
  line-height: 1.5;
}
.tx26 {
  font-size: 1.625rem;
  line-height: 1.5;
}
.tx28 {
  font-size: 1.75rem;
  line-height: 1.5;
}
.tx30 {
  font-size: 1.875rem;
  line-height: 1.5;
}
.tx32 {
  font-size: 2rem;
  line-height: 1.5;
}
.tx34 {
  font-size: 2.125rem;
  line-height: 1.5;
}
.tx36 {
  font-size: 2.25rem;
  line-height: 1.5;
}
.tx38 {
  font-size: 2.375rem;
  line-height: 1.5;
}
.tx48 {
  font-size: 3rem;
  line-height: 1.5;
}
.w10 {
  width: 10px;
}
.w20 {
  width: 20px;
}
.w30 {
  width: 30px;
}
.w40 {
  width: 40px;
}
.w50 {
  width: 50px;
}
.w60 {
  width: 60px;
}
.w70 {
  width: 70px;
}
.w80 {
  width: 80px;
}
.w90 {
  width: 90px;
}
.w100 {
  width: 100px;
}
.w200 {
  width: 200px;
}
.mw10 {
  min-width: 10px;
}
.mw20 {
  min-width: 20px;
}
.mw30 {
  min-width: 30px;
}
.mw40 {
  min-width: 40px;
}
.mw50 {
  min-width: 50px;
}
.mw60 {
  min-width: 60px;
}
.mw70 {
  min-width: 70px;
}
.mw80 {
  min-width: 80px;
}
.mw90 {
  min-width: 90px;
}
.mw100 {
  min-width: 100px;
}
.mw150 {
  min-width: 150px;
}
.mw200 {
  min-width: 200px;
}
.mw250 {
  min-width: 250px;
}
.mw300 {
  min-width: 300px;
}
.mh10 {
  min-height: 10px;
}
.mh20 {
  min-height: 20px;
}
.mh30 {
  min-height: 30px;
}
.mh40 {
  min-height: 40px;
}
.mh50 {
  min-height: 50px;
}
.mh60 {
  min-height: 60px;
}
.mh70 {
  min-height: 70px;
}
.mh80 {
  min-height: 80px;
}
.mh90 {
  min-height: 90px;
}
.mh100 {
  min-height: 100px;
}

/*  Colors  */
.bd-blue-100 {
  color: #000;
  background-color: #cfe2ff;
}
.bd-blue-200 {
  color: #000;
  background-color: #9ec5fe;
}
.bd-blue-300 {
  color: #000;
  background-color: #6ea8fe;
}
.bd-blue-400 {
  color: #000;
  background-color: #3d8bfd;
}
.bd-blue-500 {
  color: #fff;
  background-color: #0d6efd;
}
.bd-blue-600 {
  color: #fff;
  background-color: #0a58ca;
}
.bd-blue-700 {
  color: #fff;
  background-color: #084298;
}
.bd-blue-800 {
  color: #fff;
  background-color: #052c65;
}
.bd-blue-900 {
  color: #fff;
  background-color: #031633;
}
.bd-indigo-100 {
  color: #000;
  background-color: #e0cffc;
}
.bd-indigo-200 {
  color: #000;
  background-color: #c29ffa;
}
.bd-indigo-300 {
  color: #000;
  background-color: #a370f7;
}
.bd-indigo-400 {
  color: #fff;
  background-color: #8540f5;
}
.bd-indigo-500 {
  color: #fff;
  background-color: #6610f2;
}
.bd-indigo-600 {
  color: #fff;
  background-color: #520dc2;
}
.bd-indigo-700 {
  color: #fff;
  background-color: #3d0a91;
}
.bd-indigo-800 {
  color: #fff;
  background-color: #290661;
}
.bd-indigo-900 {
  color: #fff;
  background-color: #140330;
}
.bd-purple-100 {
  color: #000;
  background-color: #e2d9f3;
}
.bd-purple-200 {
  color: #000;
  background-color: #c5b3e6;
}
.bd-purple-300 {
  color: #000;
  background-color: #a98eda;
}
.bd-purple-400 {
  color: #000;
  background-color: #8c68cd;
}
.bd-purple-500 {
  color: #fff;
  background-color: #6f42c1;
}
.bd-purple-600 {
  color: #fff;
  background-color: #59359a;
}
.bd-purple-700 {
  color: #fff;
  background-color: #432874;
}
.bd-purple-800 {
  color: #fff;
  background-color: #2c1a4d;
}
.bd-purple-900 {
  color: #fff;
  background-color: #160d27;
}
.bd-pink-100 {
  color: #000;
  background-color: #f7d6e6;
}
.bd-pink-200 {
  color: #000;
  background-color: #efadce;
}
.bd-pink-300 {
  color: #000;
  background-color: #e685b5;
}
.bd-pink-400 {
  color: #000;
  background-color: #de5c9d;
}
.bd-pink-500 {
  color: #fff;
  background-color: #d63384;
}
.bd-pink-600 {
  color: #fff;
  background-color: #ab296a;
}
.bd-pink-700 {
  color: #fff;
  background-color: #801f4f;
}
.bd-pink-800 {
  color: #fff;
  background-color: #561435;
}
.bd-pink-900 {
  color: #fff;
  background-color: #2b0a1a;
}
.bd-red-100 {
  color: #000;
  background-color: #f8d7da;
}
.bd-red-200 {
  color: #000;
  background-color: #f1aeb5;
}
.bd-red-300 {
  color: #000;
  background-color: #ea868f;
}
.bd-red-400 {
  color: #000;
  background-color: #e35d6a;
}
.bd-red-500 {
  color: #fff;
  background-color: #dc3545;
}
.bd-red-600 {
  color: #fff;
  background-color: #b02a37;
}
.bd-red-700 {
  color: #fff;
  background-color: #842029;
}
.bd-red-800 {
  color: #fff;
  background-color: #58151c;
}
.bd-red-900 {
  color: #fff;
  background-color: #2c0b0e;
}
.bd-orange-100 {
  color: #000;
  background-color: #ffe5d0;
}
.bd-orange-200 {
  color: #000;
  background-color: #fecba1;
}
.bd-orange-300 {
  color: #000;
  background-color: #feb272;
}
.bd-orange-400 {
  color: #000;
  background-color: #fd9843;
}
.bd-orange-500 {
  color: #000;
  background-color: #fd7e14;
}
.bd-orange-600 {
  color: #000;
  background-color: #ca6510;
}
.bd-orange-700 {
  color: #fff;
  background-color: #984c0c;
}
.bd-orange-800 {
  color: #fff;
  background-color: #653208;
}
.bd-orange-900 {
  color: #fff;
  background-color: #331904;
}
.bd-yellow-100 {
  color: #000;
  background-color: #fff3cd;
}
.bd-yellow-200 {
  color: #000;
  background-color: #ffe69c;
}
.bd-yellow-300 {
  color: #000;
  background-color: #ffda6a;
}
.bd-yellow-400 {
  color: #000;
  background-color: #ffcd39;
}
.bd-yellow-500 {
  color: #000;
  background-color: #ffc107;
}
.bd-yellow-600 {
  color: #000;
  background-color: #cc9a06;
}
.bd-yellow-700 {
  color: #000;
  background-color: #997404;
}
.bd-yellow-800 {
  color: #fff;
  background-color: #664d03;
}
.bd-yellow-900 {
  color: #fff;
  background-color: #332701;
}
.bd-green-100 {
  color: #000;
  background-color: #d1e7dd;
}
.bd-green-200 {
  color: #000;
  background-color: #a3cfbb;
}
.bd-green-300 {
  color: #000;
  background-color: #75b798;
}
.bd-green-400 {
  color: #000;
  background-color: #479f76;
}
.bd-green-500 {
  color: #fff;
  background-color: #198754;
}
.bd-green-600 {
  color: #fff;
  background-color: #146c43;
}
.bd-green-700 {
  color: #fff;
  background-color: #0f5132;
}
.bd-green-800 {
  color: #fff;
  background-color: #0a3622;
}
.bd-green-900 {
  color: #fff;
  background-color: #051b11;
}
.bd-teal-100 {
  color: #000;
  background-color: #d2f4ea;
}
.bd-teal-200 {
  color: #000;
  background-color: #a6e9d5;
}
.bd-teal-300 {
  color: #000;
  background-color: #79dfc1;
}
.bd-teal-400 {
  color: #000;
  background-color: #4dd4ac;
}
.bd-teal-500 {
  color: #000;
  background-color: #20c997;
}
.bd-teal-600 {
  color: #000;
  background-color: #1aa179;
}
.bd-teal-700 {
  color: #fff;
  background-color: #13795b;
}
.bd-teal-800 {
  color: #fff;
  background-color: #0d503c;
}
.bd-teal-900 {
  color: #fff;
  background-color: #06281e;
}
.bd-cyan-100 {
  color: #000;
  background-color: #cff4fc;
}
.bd-cyan-200 {
  color: #000;
  background-color: #9eeaf9;
}
.bd-cyan-300 {
  color: #000;
  background-color: #6edff6;
}
.bd-cyan-400 {
  color: #000;
  background-color: #3dd5f3;
}
.bd-cyan-500 {
  color: #000;
  background-color: #0dcaf0;
}
.bd-cyan-600 {
  color: #000;
  background-color: #0aa2c0;
}
.bd-cyan-700 {
  color: #fff;
  background-color: #087990;
}
.bd-cyan-800 {
  color: #fff;
  background-color: #055160;
}
.bd-cyan-900 {
  color: #fff;
  background-color: #032830;
}
.bd-gray-100 {
  color: #000;
  background-color: #f8f9fa;
}
.bd-gray-200 {
  color: #000;
  background-color: #e9ecef;
}
.bd-gray-300 {
  color: #000;
  background-color: #dee2e6;
}
.bd-gray-400 {
  color: #000;
  background-color: #ced4da;
}
.bd-gray-500 {
  color: #000;
  background-color: #adb5bd;
}
.bd-gray-600 {
  color: #fff;
  background-color: #6c757d;
}
.bd-gray-700 {
  color: #fff;
  background-color: #495057;
}
.bd-gray-800 {
  color: #fff;
  background-color: #343a40;
}
.bd-gray-900 {
  color: #fff;
  background-color: #212529;
}
.bd-white {
  color: #000;
  background-color: #fff;
}
.bd-black {
  color: #fff;
  background-color: #000;
}



.check-icon-none {
  display: none;
}

.check-icon-show {
  display: block;
}

.check-icon-wrapper {
  width: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.errorMessage {
  color: #cf5503;
}

.errorMessage:empty {
  display: none;
}

.required {
  margin-left: 5px;
  background-color: #2b3b94;
  padding: 2px;
  color: white;
  font-size: 0.8rem;
}

.input-wrapper {
  display: flex;
  flex: 1;
}

.button-none {
  display: none;
}

.button-show {
  display: block;
}

.file-label {
  background-color: #f5f5f5;
}

legend {
  width: auto !important;
  margin-bottom: 0 !important;
  font-size: 1rem;
}

.alert:empty {
  display: none;
}

.caption-component {
  .link-wrapper {
    margin-bottom: 0.5rem;
  }
}

.form-control:focus {
  z-index: 2;
}


.name-valid-icon {
  height: calc(100% - 24px);
}
