@charset "UTF-8";
/*フォントカラー*/
body {
  color: #222222;
  line-height: 1.8;
  overflow-x: hidden;
}

body * {
  word-break: break-word;
}

a,
a:link,
button {
  outline-style: none;
  font-weight: bold;
  text-decoration: underline;
  outline-style: none;
  color: #1A3A6F;
}

a:hover,
button:hover {
  text-decoration: none;
}

/* アニメ対策 */
a,
a:link,
button,
a img,
.button_wrap {
  transition: all 0.3s ease-in-out;
}

a:hover img {
  opacity: 0.7;
}

strong {
  font-weight: 700;
}

/* adjust
====================================================================================================================================== */
.clear {
  clear: both;
}

.ma0 {
  margin: 0 !important;
}

.mab0 {
  margin-bottom: 0 !important;
}

.mab02em {
  margin-bottom: 0.2em !important;
}

.mab05em {
  margin-bottom: 0.5em !important;
}

.mab1em {
  margin-bottom: 1em !important;
}

.mab15em {
  margin-bottom: 1.5em !important;
}

.mab2em {
  margin-bottom: 2em !important;
}

.mab25em {
  margin-bottom: 2.5em !important;
}

.mab3em {
  margin-bottom: 3em !important;
}

.mab4em {
  margin-bottom: 4em !important;
}

.mat05em {
  margin-top: 0.5em !important;
}

.mat1em {
  margin-top: 1em !important;
}

.mar0 {
  margin-right: 0 !important;
}

.mal0 {
  margin-left: 0 !important;
}

/*font size*/
.font_xs {
  font-size: 0.8em;
}

.font_xs_rem {
  font-size: 0.8rem;
}

.font_sm {
  font-size: 0.9em;
}

.font_la {
  font-size: 1.2em;
}

.font_xl {
  font-size: 1.4em;
}

.font_normal {
  font-weight: normal !important;
}

.font_bold {
  font-weight: bold;
}

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

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

.text_left {
  text-align: left !important;
}

.line_height_min {
  line-height: 1.6;
}

.letter {
  letter-spacing: 0.08em;
}

.nowrap {
  white-space: nowrap !important;
}

.width_100 {
  width: 100%;
}

/* common
====================================================================================================================================== */
/*非表示*/
.none,
.visible-off,
.hidden {
  display: none !important;
}

@media (min-width: 768px) {
  .sp {
    display: none !important;
  }
}
@media (max-width: 768px) {
  .sp {
    display: inherit !important;
  }
  .sp_off {
    display: none !important;
  }
}
img.filer_image.none {
  display: inline !important;
}

.hide {
  display: none;
}

img {
  max-width: 100%;
  height: auto;
}

p:empty,
p strong:empty {
  display: none;
}

/*list*/
#main ul,
#main ol,
#conts ul,
#conts ol {
  margin-bottom: 2rem;
  line-height: 1.6;
  overflow: hidden;
}
#main ul:last-child,
#main ol:last-child,
#conts ul:last-child,
#conts ol:last-child {
  margin-bottom: 0;
}
#main ul > li,
#main ol > li,
#conts ul > li,
#conts ol > li {
  position: relative;
  margin-bottom: 0.5em;
}
#main ul > li:last-child,
#main ol > li:last-child,
#conts ul > li:last-child,
#conts ol > li:last-child {
  margin-bottom: 0;
}
#main ul > li,
#conts ul > li {
  padding-left: 0.9em;
}
#main ul > li:before,
#conts ul > li:before {
  content: "";
  display: block;
  width: 0.4em;
  aspect-ratio: 1/1;
  background-color: #1A3A6F;
  position: absolute;
  top: 0.6em;
  left: 0;
  border-radius: 50%;
}
#main ul > li strong,
#conts ul > li strong {
  line-height: 1;
}
#main ol,
#conts ol {
  counter-reset: ordered_num;
  padding-left: 1.6rem;
}
#main ol > li,
#conts ol > li {
  list-style-type: decimal;
  list-style-position: outside;
}
#main ul.plain,
#main ol.plain,
#main .field_wrap ul,
#main ul.plain li,
#main ol.plain li,
#main .field_wrap ul li,
#main .contents ul.plain,
#main .contents ol.plain,
#main .contents ul.plain li,
#main .contents ol.plain li,
#conts ul.plain,
#conts ol.plain,
#conts .field_wrap ul,
#conts ul.plain li,
#conts ol.plain li,
#conts .field_wrap ul li,
#conts .contents ul.plain,
#conts .contents ol.plain,
#conts .contents ul.plain li,
#conts .contents ol.plain li {
  list-style-type: none !important;
  padding: 0;
}
#main ul.plain li:before, #main ul.plain li:after,
#main ol.plain li:before,
#main ol.plain li:after,
#main .field_wrap ul li:before,
#main .field_wrap ul li:after,
#main ul.plain li li:before,
#main ul.plain li li:after,
#main ol.plain li li:before,
#main ol.plain li li:after,
#main .field_wrap ul li li:before,
#main .field_wrap ul li li:after,
#main .contents ul.plain li:before,
#main .contents ul.plain li:after,
#main .contents ol.plain li:before,
#main .contents ol.plain li:after,
#main .contents ul.plain li li:before,
#main .contents ul.plain li li:after,
#main .contents ol.plain li li:before,
#main .contents ol.plain li li:after,
#conts ul.plain li:before,
#conts ul.plain li:after,
#conts ol.plain li:before,
#conts ol.plain li:after,
#conts .field_wrap ul li:before,
#conts .field_wrap ul li:after,
#conts ul.plain li li:before,
#conts ul.plain li li:after,
#conts ol.plain li li:before,
#conts ol.plain li li:after,
#conts .field_wrap ul li li:before,
#conts .field_wrap ul li li:after,
#conts .contents ul.plain li:before,
#conts .contents ul.plain li:after,
#conts .contents ol.plain li:before,
#conts .contents ol.plain li:after,
#conts .contents ul.plain li li:before,
#conts .contents ul.plain li li:after,
#conts .contents ol.plain li li:before,
#conts .contents ol.plain li li:after {
  display: none;
}

/*default heading*/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
  margin: 0 0 0.6em;
  line-height: 1.5;
}

h2 {
  font-size: 1.4rem;
  font-weight: bold;
  color: #1A3A6F;
  padding-bottom: 0.2em;
  border-bottom: 3px solid #1A3A6F;
  margin-bottom: 1.5rem;
}
h2.simple {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0.5rem;
}
h2.tit_icon {
  position: relative;
  padding-left: calc(1.6rem + 0.5em);
}
h2.tit_icon:before {
  content: "";
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
  width: 1.6rem;
  height: 1.6rem;
  background: url(../images/icon/i_calendar.svg) no-repeat center center;
  background-size: 100% auto;
  top: 45%;
  margin-top: -0.8rem;
}

h3 {
  font-size: 1.1rem;
  font-weight: bold;
  color: #1A3A6F;
  padding-left: 0.5em;
  border-left: 5px solid #1A3A6F;
  margin-bottom: 0.8em;
}
h3.tit_icon {
  position: relative;
  padding: 0.2em 0 0.2em 2em;
  border-left: none;
}
h3.tit_icon:before {
  content: "";
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
  width: 1.8em;
  height: 1.8em;
  background: #D5DFED url(../images/icon/i_star.svg) no-repeat center center;
  background-size: 60% auto;
  border-radius: 50%;
}
h3.simple {
  border: 0;
  padding: 0;
  font-size: 1.2rem;
  color: #1A3A6F;
  margin-bottom: 1.1rem;
  text-align: center;
}

h4 {
  font-size: 1rem;
  font-weight: bold;
  color: #1A3A6F;
  margin-bottom: 0.8em;
}

h5 {
  font-size: 1rem;
  font-weight: bold;
  color: #1A3A6F;
  margin-bottom: 0.8em;
}

/*hr*/
hr {
  height: 1px;
  border-bottom: dashed 1px #222222;
  background: none;
  margin: 2.5rem 0;
  overflow: hidden;
  clear: both;
}

/*段落*/
p {
  margin-bottom: 1.5rem;
  clear: both;
}
p:last-child {
  margin-bottom: 0;
}

table p {
  margin-bottom: 0;
}

.lightbox_body p {
  margin-bottom: 1em;
}

/*カラー*/
.red {
  color: #CC0000;
}

.blue {
  color: #2669BF;
}

.gray {
  color: #757575;
}

.navy {
  color: #1A3A6F;
}

.attention {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: bold;
  background: url(../images/icon/i_attention.svg) no-repeat left center;
  background-size: 1.1em auto;
  padding-left: 1.4em;
}
.attention.i_red {
  background-image: url(../images/icon/i_attention_r.svg);
}

.outlink {
  background: url(../images/icon/link_out.svg) no-repeat right center;
  background-size: 0.85rem auto;
  padding-right: 1.1rem;
  margin-right: 0.2rem;
}

.two_column_box {
  display: flex;
  gap: 2rem;
}
.two_column_box > .color_box {
  flex: 1;
}
@media (max-width: 540px) {
  .two_column_box {
    flex-direction: column;
  }
}

.two_column_box .btn,
.login_box .btn {
  min-width: min(25rem, 90%);
}

/*ボタン*/
.button_area,
.column_btn {
  text-align: center;
  margin-bottom: 3rem;
}

.lightbox_body .button_area:last-child,
.lightbox_body .column_btn:last-child {
  margin-bottom: 0;
}

a.btn,
button.btn,
input.btn {
  position: relative;
  display: inline-block;
  text-align: center;
  line-height: 1.4;
  padding: 1.1rem;
  padding-right: 2.7rem;
  margin: 0 0.5rem 1rem;
  background: #FFFFFF url(../images/icon/link_arrow.svg) no-repeat right 1.2rem center;
  background-size: 0.8rem auto;
  color: #1A3A6F;
  font-weight: bold;
  width: auto;
  min-width: min(25rem, 46%);
  max-width: 90%;
}
@media (max-width: 768px) {
  a.btn,
  button.btn,
  input.btn {
    min-width: min(25rem, 90%);
  }
}
a.btn,
button.btn,
input.btn {
  text-decoration: none;
  border-radius: 6px;
  border: solid 1px #C0C0C0;
}
a.btn[target=_blank],
button.btn[target=_blank],
input.btn[target=_blank] {
  background-image: url(../images/icon/link_out.svg);
}
a.btn.no_icon,
button.btn.no_icon,
input.btn.no_icon {
  background-image: none;
  padding-right: 1.2rem;
}
a.btn.btn_mini,
button.btn.btn_mini,
input.btn.btn_mini {
  min-width: 0;
  padding: 0.3rem 0.8rem 0.2rem;
  font-size: 0.9rem;
  background-image: none;
}
a.btn.btn_mini.btn_i,
button.btn.btn_mini.btn_i,
input.btn.btn_mini.btn_i {
  padding-left: 1.85rem;
  background-image: url(../images/icon/i_plus.svg);
  background-position: 0.7rem center;
  background-size: 0.85rem auto;
}
a.btn.btn_big,
button.btn.btn_big,
input.btn.btn_big {
  font-size: 1.2rem;
}
a.btn.btn_dl,
button.btn.btn_dl,
input.btn.btn_dl {
  background-image: url(../images/icon/link_dl.svg);
}
a.btn.btn_dl.btn_black,
button.btn.btn_dl.btn_black,
input.btn.btn_dl.btn_black {
  background-image: url(../images/icon/link_dl_w.svg);
}
a.btn.btn_dl.btn_mini,
button.btn.btn_dl.btn_mini,
input.btn.btn_dl.btn_mini {
  padding-right: 2rem;
}
a.btn.btn_i,
button.btn.btn_i,
input.btn.btn_i {
  padding-left: calc(1.2rem + 20px + 0.5rem);
  background-image: url(../images/icon/i_plus.svg);
  background-position: 1.2rem center;
  background-size: 1.2rem auto;
}
a.btn.btn_i.i_check,
button.btn.btn_i.i_check,
input.btn.btn_i.i_check {
  background-image: url(../images/icon/i_check_simple.svg);
}
a.btn.btn_i.i_gomi,
button.btn.btn_i.i_gomi,
input.btn.btn_i.i_gomi {
  background-image: url(../images/icon/i_gomi_w.svg);
}
a.btn.btn_bigicon,
button.btn.btn_bigicon,
input.btn.btn_bigicon {
  font-size: 1.4rem;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
@media (max-width: 540px) {
  a.btn.btn_bigicon,
  button.btn.btn_bigicon,
  input.btn.btn_bigicon {
    font-size: 1.25rem;
  }
}
a.btn.btn_bigicon .inner,
button.btn.btn_bigicon .inner,
input.btn.btn_bigicon .inner {
  display: flex;
  gap: 1rem;
  justify-content: center;
  align-items: center;
}
a.btn.btn_bigicon img,
button.btn.btn_bigicon img,
input.btn.btn_bigicon img {
  width: 2rem;
}
a.btn.btn_bigicon .text,
button.btn.btn_bigicon .text,
input.btn.btn_bigicon .text {
  display: inline-block;
  text-align: left;
}
a.btn .comment,
button.btn .comment,
input.btn .comment {
  display: block;
  font-size: 0.7rem;
  margin-top: 0.1em;
}
a.btn.btn_black, a.btn.btn_blue, a.btn.btn_gray,
button.btn.btn_black,
button.btn.btn_blue,
button.btn.btn_gray,
input.btn.btn_black,
input.btn.btn_blue,
input.btn.btn_gray {
  color: #FFFFFF;
  background-image: url(../images/icon/link_arrow_w.svg);
}
a.btn.btn_black[target=_blank], a.btn.btn_blue[target=_blank], a.btn.btn_gray[target=_blank],
button.btn.btn_black[target=_blank],
button.btn.btn_blue[target=_blank],
button.btn.btn_gray[target=_blank],
input.btn.btn_black[target=_blank],
input.btn.btn_blue[target=_blank],
input.btn.btn_gray[target=_blank] {
  background-image: url(../images/icon/link_out_w.svg);
}
a.btn.btn_black.btn_i, a.btn.btn_blue.btn_i, a.btn.btn_gray.btn_i,
button.btn.btn_black.btn_i,
button.btn.btn_blue.btn_i,
button.btn.btn_gray.btn_i,
input.btn.btn_black.btn_i,
input.btn.btn_blue.btn_i,
input.btn.btn_gray.btn_i {
  background-image: url(../images/icon/i_plus_w.svg);
}
a.btn.btn_black.no_icon, a.btn.btn_blue.no_icon, a.btn.btn_gray.no_icon,
button.btn.btn_black.no_icon,
button.btn.btn_blue.no_icon,
button.btn.btn_gray.no_icon,
input.btn.btn_black.no_icon,
input.btn.btn_blue.no_icon,
input.btn.btn_gray.no_icon {
  background-image: none;
  padding-right: 1.2rem;
}
a.btn.btn_black .comment, a.btn.btn_blue .comment, a.btn.btn_gray .comment,
button.btn.btn_black .comment,
button.btn.btn_blue .comment,
button.btn.btn_gray .comment,
input.btn.btn_black .comment,
input.btn.btn_blue .comment,
input.btn.btn_gray .comment {
  color: #D5DFED !important;
}
a.btn.btn_black,
button.btn.btn_black,
input.btn.btn_black {
  background-color: #1A3A6F;
  border-color: #1A3A6F;
}
a.btn.btn_gray,
button.btn.btn_gray,
input.btn.btn_gray {
  background-color: #757575;
  border-color: #757575;
}
a.btn.btn_blue,
button.btn.btn_blue,
input.btn.btn_blue {
  background-color: #2669BF;
  border-color: #2669BF;
}
a.btn.btn_back,
button.btn.btn_back,
input.btn.btn_back {
  padding-left: 2.7rem;
  background-image: none;
}
a.btn.btn_back:before,
button.btn.btn_back:before,
input.btn.btn_back:before {
  content: "";
  position: absolute;
  left: 1.2rem;
  top: 50%;
  transform: translateY(-50%) scaleX(-1);
  width: 0.8rem;
  height: 0.8rem;
  background: url(../images/icon/link_arrow.svg) no-repeat center center;
  background-size: contain;
}

.column_btn {
  display: flex;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
}
.column_btn .btn {
  margin: 0;
}
@media (max-width: 768px) {
  .column_btn {
    flex-direction: column;
    align-items: center;
  }
}

/* table */
table {
  width: 100%;
  margin-bottom: 2rem;
  border-collapse: collapse;
}
@media (max-width: 768px) {
  table {
    font-size: 0.9rem;
  }
}
table caption {
  display: none;
}
table th,
table td {
  padding: 1.1rem;
  line-height: 1.6;
  vertical-align: middle;
  border: solid 1px #C0C0C0;
}
table th .btn,
table td .btn {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  margin-left: 0;
}
table th .accordion_title,
table td .accordion_title {
  white-space: nowrap;
}
table th ul,
table th ol,
table td ul,
table td ol {
  margin-top: 0.8rem;
  margin-bottom: 0.8rem !important;
}
table th ul:first-child,
table th ol:first-child,
table td ul:first-child,
table td ol:first-child {
  margin-top: 0 !important;
}
table th ul:last-child,
table th ol:last-child,
table td ul:last-child,
table td ol:last-child {
  margin-bottom: 0 !important;
}
table th {
  font-weight: bold;
  min-width: 5rem;
  background: #F2F5F5;
  position: relative;
}
table th .comment,
table th .field_help {
  color: #757575;
  font-size: 0.8rem;
  font-weight: normal;
  padding-top: 0.3rem;
}
table th .tooltip_wrap {
  position: absolute;
  top: 50%;
  right: 1rem;
  margin-left: 0;
}
table th.tooltip_on {
  padding-right: 2.2rem !important;
}
table th.tooltip_on .tooltip_wrap {
  margin-top: -0.5rem;
}
table thead th,
table thead td {
  font-size: 0.85em;
  padding: 0.5em 1rem;
  background: #F2F5F5;
  vertical-align: middle;
  white-space: nowrap;
}
table.sp_vertical th,
table.sp_vertical td {
  border-left: 0;
  border-right: 0;
}
@media (min-width: 768px) {
  table.sp_vertical tbody th:first-child {
    width: 30%;
  }
}
@media (max-width: 540px) {
  table.sp_vertical td,
  table.sp_vertical th {
    display: block;
    padding: 1rem;
    border-left: solid 1px #C0C0C0;
    border-right: solid 1px #C0C0C0;
  }
  table.sp_vertical th {
    border-top: 0;
    border-bottom: 0;
  }
  table.sp_vertical tr:first-child th {
    border-top: solid 1px #C0C0C0;
  }
  table.sp_vertical td {
    border-top: 0;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
  table.sp_vertical .tooltip_on .tooltip_wrap .tooltip_content {
    transform: translateX(-80%) translateY(0);
  }
  table.sp_vertical .tooltip_on .tooltip_wrap .tooltip_content:before {
    left: 80%;
  }
}

/* form */
:disabled {
  opacity: 0.4;
  pointer-events: none;
}

/* 申込者タイプ選択（タブ切り替え） */
.applicant_type_selector {
  display: flex;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.applicant_type_option {
  flex: 1;
  text-align: center;
}
.applicant_type_option input[type=radio] {
  display: none;
}
.applicant_type_option label {
  display: block;
  padding: 0.8rem;
  border: 1px solid #C0C0C0;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s;
  text-decoration: none;
  font-weight: bold;
  color: #1A3A6F;
  font-size: 1.1rem;
}
.applicant_type_option input[type=radio]:checked + label {
  border-color: #1A3A6F;
  background-color: #D5DFED;
}

/* マーク */
.mark {
  display: inline-block;
  font-size: 0.65rem;
  font-weight: bold;
  padding: 0.2em 0.3em;
  margin: -0.1rem 0 0 0.5em;
  vertical-align: middle;
  line-height: 1.2;
}
.mark.required {
  background: #CC0000;
  color: #FFFFFF;
}
.mark.jikangai {
  background: #C8E9FA;
  color: #1A3A6F;
}

.errorlist,
.error_text {
  color: #CC0000;
  font-weight: bold;
  font-size: 0.8rem;
  margin: 0 0 0.5rem !important;
}
.errorlist li,
.error_text li {
  padding-left: 0 !important;
}
.errorlist li:before, .errorlist li:after,
.error_text li:before,
.error_text li:after {
  display: none !important;
}
.errorlist li:before,
.error_text li:before {
  content: "※";
}

.form_tit {
  font-weight: bold;
  margin-bottom: 0.3rem;
}

form input[type=text],
form input[type=email],
form input[type=number],
form input[type=tel],
form input[type=url],
form input[type=date],
form input[type=time],
form input[type=password],
form textarea {
  background: #FFFFFF;
  border: solid 1px #C0C0C0;
  border-radius: 4px;
  color: #222222;
  width: 100%;
  padding: 0.4rem 0.5rem;
  font-size: 16px;
  line-height: 1.5;
}
form input[type=text]:focus,
form input[type=email]:focus,
form input[type=number]:focus,
form input[type=tel]:focus,
form input[type=url]:focus,
form input[type=date]:focus,
form input[type=time]:focus,
form input[type=password]:focus,
form textarea:focus {
  border-color: #2669BF;
  box-shadow: 0 0 0 2px rgba(38, 105, 191, 0.2);
}
form input[type=checkbox],
form input[type=radio] {
  margin-right: 0.2rem;
}
form label:has(input[type=checkbox]),
form label:has(input[type=radio]) {
  cursor: pointer;
  margin-right: 1rem;
}
form label:has(input[type=checkbox]):last-child,
form label:has(input[type=radio]):last-child {
  margin-right: 0;
}
form .overtime_warning {
  display: none;
}
form {
  /* ラジオがcheckedの時に表示 */
}
form input[type=radio]:checked ~ .overtime_warning {
  display: inline-block;
}
form textarea {
  min-height: 8rem;
}
form select {
  display: inline-block;
  min-width: 7.5em;
  text-align: left;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #FFFFFF url(../images/icon/link_arrow_b.svg) no-repeat right 0.4rem center;
  background-size: 0.6em;
  border: 1px solid #757575;
  border-radius: 6px;
  font-size: 1rem;
  height: auto;
  font-size: 16px;
  line-height: 1.5;
  padding: 0.35rem 1.7rem 0.3rem 0.5rem;
  margin: 0 0.5em 0 0;
  cursor: pointer;
}
form input::-moz-placeholder, form textarea::-moz-placeholder {
  color: #757575;
}
form input::placeholder,
form textarea::placeholder {
  color: #757575;
}
form input[type=number],
form input.width_auto {
  width: auto !important;
}
form .help_text {
  padding-top: 0.5em;
}

/* ツールチップ */
.tooltip_wrap {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  height: 1rem;
}
.tooltip_wrap .tooltip_btn {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  background: url(../images/icon/i_help.svg) no-repeat center center;
  background-size: contain;
  cursor: pointer;
  text-decoration: none !important;
  margin-left: 0.1em;
  text-indent: -9999px;
  overflow: hidden;
  vertical-align: top;
}
.tooltip_wrap .tooltip_content {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  left: 50%;
  transform: translateX(-50%) translateY(5px);
  bottom: calc(100% + 0.4rem);
  width: 15em;
  white-space: normal;
  background: #222222;
  color: #FFFFFF;
  border: none;
  padding: 0.7rem;
  font-size: 0.8rem;
  line-height: 1.6;
  font-weight: normal;
  z-index: 100;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.06);
  border-radius: 6px;
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
}
.tooltip_wrap .tooltip_content:before {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 50%;
  transform: translateX(-50%);
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid #222222;
}
.tooltip_wrap .tooltip_content:after {
  display: none;
}
.tooltip_wrap .tooltip_content p {
  margin-bottom: 0.5em;
  color: #FFFFFF;
}
.tooltip_wrap .tooltip_content p:last-child {
  margin-bottom: 0;
}
.tooltip_wrap.opened .tooltip_content {
  visibility: visible;
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
.tooltip_wrap.tooltip_inline {
  position: relative;
  display: inline-block;
  top: auto;
  right: auto;
}

/* アコーディオン（汎用） */
.accordion_box {
  position: relative;
  background: #FFFFFF;
  border: solid 1px #C0C0C0;
  border-radius: 6px;
  margin-bottom: 1rem;
  overflow: visible;
  font-weight: normal;
}
.accordion_box .accordion_title {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.8rem;
  padding-right: 2rem;
  margin: 0 !important;
  font-weight: bold;
  font-size: 0.9rem;
  color: #1A3A6F;
  cursor: pointer;
}
.accordion_box .accordion_title .accordion_icon {
  width: 1.3rem;
  height: 1.3rem;
  flex-shrink: 0;
}
.accordion_box .accordion_title .accordion_icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.accordion_box .accordion_title:after {
  content: "";
  position: absolute;
  right: 1rem;
  top: 50%;
  width: 0.5rem;
  height: 0.5rem;
  border-right: 2px solid #1A3A6F;
  border-bottom: 2px solid #1A3A6F;
  transform: translateY(-50%) rotate(45deg);
  transition: transform 0.3s;
}
.accordion_box.opened .accordion_title:after {
  transform: translateY(-30%) rotate(-135deg);
}
.accordion_box .accordion_content {
  display: none;
  padding: 0 0.8rem 0.8rem;
  margin-top: -5px !important;
}
.accordion_box .accordion_content ul.plain {
  margin-bottom: 0 !important;
}
.accordion_box .accordion_content ul.plain li {
  padding: 0.3rem 0 !important;
}
.accordion_box .accordion_content ul.plain li:before {
  display: none !important;
}
.accordion_box .accordion_content ul.plain li a {
  color: #1A3A6F;
  text-decoration: none;
}
.accordion_box .accordion_content ul.plain li a:hover {
  text-decoration: underline;
}

/* アコーディオン ヘッダー用ミニスタイル */
.accordion_box.acc_header {
  margin-bottom: 0;
  min-width: 10rem;
}
.accordion_box.acc_header.open, .accordion_box.acc_header.opened {
  border-radius: 6px 6px 0 0;
}
.accordion_box.acc_header .accordion_title {
  padding: 0.5rem 2rem 0.5rem 0.8rem;
  font-size: 0.85rem;
}
.accordion_box.acc_header .accordion_title .accordion_icon {
  width: 1.2rem;
  height: 1.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.accordion_box.acc_header .accordion_title:after {
  right: 0.8rem;
}
.accordion_box.acc_header .accordion_content {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #FFFFFF;
  border-radius: 0 0 6px 6px;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.06);
  font-size: 0.8rem;
}
.accordion_box.acc_header .accordion_content ul {
  padding: 0.5rem 0 0;
}
.accordion_box.acc_header .accordion_content ul li a {
  font-weight: normal;
}
@media (max-width: 768px) {
  .accordion_box.acc_header {
    min-width: 8.5rem;
  }
  .accordion_box.acc_header .accordion_title {
    font-size: 0.75rem;
    padding: 0.4rem 1.8rem 0.4rem 0.6rem;
  }
  .accordion_box.acc_header .accordion_title .accordion_icon {
    width: 1rem;
    height: 1rem;
  }
}

/* アコーディオン ミニスタイル */
.accordion_box.acc_mini {
  background: #FAEBE1;
  border: none;
}
.accordion_box.acc_mini .accordion_title {
  font-size: 0.9rem;
  font-weight: normal;
  padding: 0.3rem 2rem 0.1rem 0.8rem;
}
.accordion_box.acc_mini .accordion_content {
  padding: 0 0.8rem 0.6rem;
  font-size: 0.8rem;
  margin-top: 0 !important;
}

/* テーブル（罫線のみ） */
table.line th,
table.line td {
  border: none;
  border-bottom: solid 1px #C0C0C0 !important;
  border-top: 0 !important;
  padding: 0.8rem 0.5rem !important;
}
table.line th {
  background: none;
}
table.line td {
  text-align: right;
}

/* 選択フォーム用テーブル */
.select_form_wrap {
  overflow: visible;
  position: relative;
}
@media (max-width: 768px) {
  .select_form_wrap {
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
  }
}

table.select_form {
  min-width: 800px;
}
table.select_form th,
table.select_form td {
  border-top: solid 2px #C0C0C0;
  border-bottom: solid 2px #C0C0C0;
  padding: 1rem 0.8rem;
  vertical-align: middle !important;
}
table.select_form th:first-child,
table.select_form td:first-child {
  border-left: none;
}
table.select_form th:last-child,
table.select_form td:last-child {
  border-right: none;
}
table.select_form thead th,
table.select_form thead td {
  padding: 0.4rem 0.8rem;
}
table.select_form thead th .btn,
table.select_form thead td .btn {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
table.select_form tbody td {
  vertical-align: top;
}
table.select_form tbody td.disabled_cell {
  opacity: 0.3;
  pointer-events: none;
}
table.select_form .facility_label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: bold;
  color: #1A3A6F;
  cursor: pointer;
  white-space: nowrap;
}
table.select_form .facility_label input[type=checkbox] {
  width: 1rem;
  height: 1rem;
  margin-right: 0;
  flex-shrink: 0;
}
table.select_form .facility_name {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-weight: bold;
}
table.select_form .facility_name:after {
  content: "";
  display: inline-block;
  width: 0.85rem;
  height: 0.85rem;
  background: url(../images/icon/i_zoom.svg) no-repeat center center;
  background-size: contain;
  flex-shrink: 0;
}
table.select_form .facility_detail {
  display: block;
  font-size: 0.8rem;
  color: #757575;
  padding-left: 1.7rem;
}
table.select_form .no_option {
  color: #757575;
}
table.select_form .cancel_label {
  display: inline-flex;
  align-items: center;
  font-size: 0.8rem;
  font-weight: bold;
  margin-top: 0.4rem;
  margin-right: 0;
  color: #CC0000;
}
table.select_form tr.cancelled_row th,
table.select_form tr.cancelled_row td {
  background-color: #F2F5F5;
}
table.select_form tr.cancelled_row td:not(:first-child) {
  opacity: 0.5;
  pointer-events: none;
}
table.select_form.schedule_form tbody td:first-child {
  min-width: auto;
  width: auto;
  white-space: nowrap;
}
table.select_form.schedule_form tbody td:nth-child(2) {
  text-align: center;
}
table.select_form .btn {
  margin-left: 0;
}
table.select_form .date_time_wrap {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.2rem;
}
table.select_form .date_time_wrap .date_separator {
  display: block;
  text-align: center;
  margin-top: 0.2rem;
}
table.select_form .date_time_group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 0;
}
table.select_form .time_row {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  font-size: 0.8rem;
}
table.select_form .date_row {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  margin-bottom: 0;
}
table.select_form input[type=date] {
  padding: 0.2rem 0.3rem;
  font-size: 0.85rem;
  width: 100%;
  min-width: 0;
}
table.select_form select {
  margin-bottom: 0;
  font-size: 0.9rem;
  padding: 0.2rem 1.6rem 0.2rem 0.4rem;
  min-width: 3rem;
  margin-right: 0;
}
table.select_form .date_time_wrap select {
  max-width: 4rem;
  font-size: 0.8rem;
}

/* 無効リンク */
a.disabled {
  opacity: 0.3;
  pointer-events: none;
  cursor: default;
}

.mini_date {
  font-size: 0.65rem;
  display: block;
}

/* ライトボックス */
.lightbox_overlay {
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.1);
  z-index: 9999;
  justify-content: center;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.lightbox_overlay.active {
  opacity: 1;
  visibility: visible;
}

.lightbox_content {
  position: relative;
  background: #FFFFFF;
  border-radius: 12px;
  max-width: 90%;
  max-height: 90vh;
  overflow: hidden;
  box-shadow: 0px 5px 20px rgba(51, 85, 102, 0.3);
  transform: scale(0.95);
  transition: transform 0.3s ease;
  line-height: 1.8;
}
.lightbox_overlay.active .lightbox_content {
  transform: scale(1);
}
@media (min-width: 768px) {
  .lightbox_content {
    max-width: 600px;
  }
}

.lightbox_header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #1A3A6F;
  color: #FFFFFF;
  padding: 0.5rem 1rem;
}
.lightbox_header .lightbox_title {
  font-weight: bold;
  font-size: 1rem;
}
.lightbox_header .lightbox_close {
  display: block;
  width: 20px;
  height: 20px;
  background: url(../images/icon/i_close_w.svg) no-repeat center center;
  background-size: contain;
  cursor: pointer;
  text-decoration: none;
  border: none;
}
.lightbox_header .lightbox_close:hover {
  opacity: 0.7;
}

.lightbox_body {
  padding: 1.8rem;
  overflow-y: auto;
  max-height: calc(90vh - 3rem);
  line-height: 1.8;
}
.lightbox_body .lightbox_image {
  margin: 0 0 1rem;
}
.lightbox_body .lightbox_image img {
  width: 100%;
  height: auto;
}
.lightbox_body table.line td:last-child {
  white-space: nowrap;
}

.lightbox_content:has(.lightbox_footer) .lightbox_body {
  padding-bottom: 8rem;
}

.lightbox_footer {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 1rem;
  background: #FFFFFF;
  border-top: 1px solid #C0C0C0;
  border-radius: 0 0 12px 12px;
}
.lightbox_footer p {
  margin-bottom: 0.7rem;
}
.lightbox_footer .btn {
  margin-top: 0;
  margin-bottom: 0;
}

/* 一覧用リンクスタイル（申込カード） */
.contents_list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.contents_item {
  display: flex;
  gap: 0.7rem;
  border-radius: 6px;
  line-height: 1.6;
}
.contents_item .contents_date {
  font-size: 0.75rem;
  color: #757575;
  font-weight: normal;
  margin-bottom: 0.1rem;
}
.contents_item .contents_body {
  flex: 1;
  display: flex;
  align-items: center;
  padding: 1.7rem 2rem 1.7rem 1.2rem;
  background: #FFFFFF url(../images/icon/link_arrow.svg) no-repeat right 1rem center;
  background-size: 13px auto;
  position: relative;
  border: solid 1px #C0C0C0;
  border-radius: 6px;
  text-decoration: none;
  color: #222222;
}
@media (max-width: 768px) {
  .contents_item .contents_body {
    font-size: 0.9rem;
    padding-top: 1.2rem;
    padding-bottom: 1.2rem;
    padding-left: 1rem;
  }
}
.contents_item .contents_body .contents_inner {
  flex: 1;
}
.contents_item .contents_body .contents_inner .contents_label {
  display: inline-block;
  background: #1A3A6F;
  color: #FFFFFF;
  font-size: 0.8rem;
  font-weight: bold;
  padding: 0.2rem 0.8rem;
  border-radius: 6px 0 6px 0;
  position: absolute;
  top: 0;
  left: 0;
  min-width: 11rem;
  text-align: center;
  box-sizing: border-box;
  line-height: 1.6;
}
.contents_item .contents_body .contents_inner .contents_label.status_wait, .contents_item .contents_body .contents_inner .contents_label.inquiry, .contents_item .contents_body .contents_inner .contents_label.main_application, .contents_item .contents_body .contents_inner .contents_label.under_review {
  background: #D5DFED;
  color: #1A3A6F;
}
.contents_item .contents_body .contents_inner .contents_label.cancelled {
  background: #C0C0C0;
  color: #FFFFFF;
}
.contents_item .contents_body .contents_inner .contents_label.unsuccessful {
  background: #CC0000;
  color: #FFFFFF;
}
@media (max-width: 540px) {
  .contents_item .contents_body .contents_inner .contents_label {
    font-size: 0.7rem;
  }
}
.contents_item .contents_body .contents_inner .contents_title {
  font-weight: bold;
  color: #1A3A6F;
}
.contents_item .contents_body .contents_inner .contents_note,
.contents_item .contents_body .contents_inner .comment {
  font-size: 0.8rem;
  color: #222222;
  font-weight: normal;
  margin-top: 0.1rem;
}
.contents_item .contents_body .contents_inner .contents_note {
  font-size: 0.7rem;
  color: #CC0000;
}
.contents_item .contents_body:hover {
  opacity: 0.7;
}
.contents_item .contents_action {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1.5rem 0.5rem;
  background: #2669BF;
  color: #FFFFFF;
  border: solid 1px #2669BF;
  width: 160px;
  font-size: 0.9rem;
  max-width: 26%;
  text-align: center;
  text-decoration: none;
  border-radius: 6px;
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .contents_item .contents_action {
    font-size: 0.75rem;
    padding: 1rem 0.5rem;
  }
}
.contents_item .contents_action .action_icon {
  width: 1.3rem;
  height: 1.3rem;
  background: url(../images/icon/i_edit_w.svg) no-repeat center center;
  background-size: contain;
}
.contents_item .contents_action .action_text {
  font-weight: bold;
  line-height: 1.4;
}
.contents_item .contents_action .action_text .action_main {
  font-size: 1.2em;
  display: block;
}
.contents_item .contents_action .action_text .action_sub {
  display: block;
}
.contents_item .contents_action:hover {
  opacity: 0.7;
}
.contents_item .contents_action.action_download {
  background: #FFFFFF;
  color: #1A3A6F;
  border-color: #C0C0C0;
}
.contents_item .contents_action.action_download .action_icon {
  background-image: url(../images/icon/link_dl.svg);
}
.contents_item.status_item .contents_body {
  padding-top: 2.2rem;
}

.btn:hover,
.contents_item a.contents_body:hover,
.contents_item a.contents_action:hover,
.applicant_type_option label:hover {
  border-color: #1A3A6F !important;
  opacity: 1;
}

.btn:hover,
.contents_item a.contents_body:hover,
.contents_item a.contents_action.action_download:hover,
.applicant_type_option label:hover {
  background-color: #F2F5F5;
}

/* カラーボックス */
.color_box,
.caution,
.field_error,
.alert,
.success {
  clear: both;
  background: #F2F5F5;
  border-radius: 10px;
  padding: 1.5rem 1.7rem;
  border-radius: 10px;
  margin-bottom: 2.5rem;
}
.color_box:last-child,
.caution:last-child,
.field_error:last-child,
.alert:last-child,
.success:last-child {
  margin-bottom: 0;
}
.color_box.bg_blue,
.caution.bg_blue,
.field_error.bg_blue,
.alert.bg_blue,
.success.bg_blue {
  background: #D5DFED;
}
.color_box.bg_gray,
.caution.bg_gray,
.field_error.bg_gray,
.alert.bg_gray,
.success.bg_gray {
  background: #F2F5F5;
}
.color_box.bg_point,
.caution.bg_point,
.field_error.bg_point,
.alert.bg_point,
.success.bg_point {
  background: #FAEBE1;
}
.color_box.bg_mizuiro,
.caution.bg_mizuiro,
.field_error.bg_mizuiro,
.alert.bg_mizuiro,
.success.bg_mizuiro {
  background: #C8E9FA;
}
.color_box p:last-child,
.caution p:last-child,
.field_error p:last-child,
.alert p:last-child,
.success p:last-child {
  margin-bottom: 0;
}
.color_box.scroll,
.caution.scroll,
.field_error.scroll,
.alert.scroll,
.success.scroll {
  overflow-y: auto;
  max-height: 250px;
}
.color_box.scroll .inner,
.caution.scroll .inner,
.field_error.scroll .inner,
.alert.scroll .inner,
.success.scroll .inner {
  max-width: none;
}

.caution,
.field_error,
.alert {
  padding: 0.5rem 1rem;
  margin-top: 0.7rem;
  font-size: 0.9rem;
  position: relative;
}

.caution,
.field_error,
.alert_error {
  background: #FAEBE1;
  padding-left: 2.2rem;
  font-size: 0.8rem;
  color: #CC0000;
  font-weight: bold;
}
.caution::before,
.field_error::before,
.alert_error::before {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  background: url(../images/icon/i_attention_r.svg) no-repeat center/contain;
  position: absolute;
  left: 0.8rem;
  top: 50%;
  transform: translateY(-50%);
}

.alert_success,
.alert_info {
  background: #d4edda;
  color: #155724;
  font-weight: normal;
}

.color_box .caution,
.color_box .field_error,
.color_box .alert {
  margin-bottom: 1rem;
}
.color_box .inner {
  max-width: 650px;
  margin: 0 auto;
}
.color_box .inner .button_area {
  margin-bottom: 1.5rem;
}
.color_box .inner .button_area .btn {
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.color_box .inner .column_btn {
  margin-left: -3%;
  margin-right: -3%;
}
@media (max-width: 540px) {
  .color_box .inner .column_btn {
    margin-left: -5%;
    margin-right: -5%;
  }
}

.messages .alert {
  margin-bottom: 1.5rem;
}

.auth_description {
  font-size: 0.9rem;
  text-align: center;
}

/* ヘッダー */
@media (max-width: 540px) {
  .form_header {
    height: 60px;
  }
}
@media (max-width: 540px) {
  .form_header .header_inner {
    height: 100%;
    align-items: center;
  }
}
.form_header .btn {
  border: none;
}
.form_header .accordion_box {
  border: none;
}

.header_title .sub {
  font-size: 0.6rem;
}
@media (max-width: 540px) {
  .header_title .sub {
    display: block;
  }
}

/* ステータスバー */
.states_bar h3 {
  border: none;
  padding: 0;
  margin-bottom: 0.3rem;
}
@media (max-width: 540px) {
  .states_bar h3 {
    font-size: 0.9rem;
  }
}

/* ニュース */
.news {
  font-size: 0.9rem;
}
.news a {
  font-weight: normal;
}
.news li {
  line-height: 1.5;
  margin-bottom: 0.6rem;
}
.news li:last-child {
  margin-bottom: 0;
}
@media (min-width: 768px) {
  .news li {
    display: flex;
    align-items: baseline;
    gap: 1rem;
  }
}
.news li p {
  margin-bottom: 0;
}

/* ステータスニュース（2カラム） */
.states_bar .status_news {
  display: flex;
  align-items: stretch !important;
}
.states_bar .status_news .tit {
  width: 16%;
  flex-shrink: 0;
  border-right: 1px solid #C0C0C0;
  padding-right: 0.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (max-width: 540px) {
  .states_bar .status_news .tit {
    width: 6rem;
  }
}
.states_bar .status_news .inner {
  flex: 1;
  padding-left: 2.5rem;
}
@media (max-width: 540px) {
  .states_bar .status_news .inner {
    padding-left: 1.5rem;
  }
}

/* ページタイトルエリア */
.page_title_area .date {
  color: #757575;
  font-size: 0.8rem;
  margin-bottom: 0.2rem;
}

/* ScrollHint - スマホ時のみ表示 */
@media (min-width: 768px) {
  .scroll-hint-icon {
    display: none !important;
  }
}

/* ログインボックス */
.login_box {
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 3.2rem;
}
.login_box label {
  font-weight: bold;
  font-size: 0.9rem;
}

.form_group {
  margin-bottom: 1.5rem;
}

.form_group_inline {
  display: inline-block;
  margin-right: 1.5rem;
}
.form_group_inline:last-child {
  margin: 0;
}
@media (max-width: 540px) {
  .form_group_inline {
    margin-bottom: 1rem;
  }
}

.login_register {
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

/* 無効行 */
.disabled_row {
  opacity: 0.5;
}
.disabled_row td:not(:first-child) {
  pointer-events: none;
}

.disabled {
  opacity: 0.5;
}

/* ページトップへ戻るボタン */
#side_fixed_box {
  position: fixed;
  right: 1.5rem;
  bottom: 1.5rem;
  z-index: 999;
}
#side_fixed_box .to_top {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  background: #FFFFFF url(../images/icon/link_arrow.svg) no-repeat center center;
  background-size: 1rem auto;
  border: 1px solid #C0C0C0;
  border-radius: 50%;
  text-decoration: none;
  transform: rotate(-90deg);
}
#side_fixed_box .to_top span {
  display: none;
}
#side_fixed_box .to_top:hover {
  opacity: 0.7;
}
@media (max-width: 540px) {
  #side_fixed_box {
    right: 1rem;
    bottom: 1rem;
  }
  #side_fixed_box .to_top {
    width: 44px;
    height: 44px;
  }
}/*# sourceMappingURL=common.css.map */