@charset "UTF-8";
/* =======================================

  EDITOR

======================================= */
/*-----------------------------------------
  icon
-----------------------------------------*/
@import url("/css/fonts/icon.css");
/*-----------------------------------------
  entry_field
-----------------------------------------*/
img.centered {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

img.alignright {
  margin: 0 0 40px 40px;
  display: inline;
}

img.alignleft {
  margin: 0 40px 40px 0;
  display: inline;
}

.alignright {
  float: right;
  margin: 0 0 40px 40px;
}
@media only screen and (max-width: 767px) {
  .alignright {
    float: none;
    margin: 0 auto 24px;
  }
}

.alignleft {
  float: left;
  margin: 0 40px 40px 0;
}
@media only screen and (max-width: 767px) {
  .alignleft {
    float: none;
    margin: 0 auto 24px;
  }
}

.clear {
  clear: both;
}

.attention {
  padding-left: 1.2em;
  position: relative;
  color: #6376A5;
  font-size: 16px;
  line-height: 1.4;
}
.attention::before {
  content: "※";
  width: 1em;
  height: 1em;
  background: transparent;
  position: absolute;
  top: 0;
  left: 0;
}
.attention.small {
  font-size: 14px;
}
ul .attention::before {
  content: "※" !important;
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  top: 0 !important;
}

.entry_field {
  font-size: 18px;
  color: #1C1C1C;
  overflow-wrap: break-word;
}
@media only screen and (max-width: 767px) {
  .entry_field {
    font-size: 16px;
  }
}
.entry_field a {
  color: #3366C2;
}
.entry_field img {
  max-width: 100%;
  height: auto;
}
.entry_field p {
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  .entry_field p {
    margin-bottom: 24px;
  }
}
.entry_field p.read {
  font-size: 24px;
  line-height: 1.8;
  font-weight: 700;
  color: #004098;
}
.entry_field sup {
  vertical-align: text-top;
  font-size: 75%;
  line-height: 1.4;
}
.entry_field sub {
  vertical-align: text-bottom;
  font-size: 75%;
  line-height: 1.4;
}
.entry_field h2 {
  margin-bottom: 40px;
  font-size: 32px;
  font-weight: 500;
  line-height: 1.6;
}
@media only screen and (max-width: 767px) {
  .entry_field h2 {
    margin-bottom: 24px;
    font-size: 28px;
    line-height: 1.4;
  }
}
.entry_field h3 {
  margin-bottom: 40px;
  padding-bottom: 16px;
  position: relative;
  font-size: 26px;
  font-weight: 500;
  line-height: 1.6;
}
@media only screen and (max-width: 767px) {
  .entry_field h3 {
    margin-bottom: 24px;
    padding-bottom: 8px;
    font-size: 24px;
    line-height: 1.4;
  }
}
.entry_field h3::after {
  content: "";
  width: 64px;
  height: 3px;
  display: block;
  background: #004098;
  position: absolute;
  bottom: 0;
  left: 0;
}
.entry_field h4 {
  margin-bottom: 40px;
  padding-bottom: 16px;
  position: relative;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.6;
}
@media only screen and (max-width: 767px) {
  .entry_field h4 {
    margin-bottom: 24px;
    padding-bottom: 8px;
    font-size: 20px;
    line-height: 1.4;
  }
}
.entry_field h4::after {
  content: "";
  width: 32px;
  height: 1px;
  display: block;
  background: #D5DDEA;
  position: absolute;
  bottom: 0;
  left: 0;
}
.entry_field ul {
  padding: 0;
  list-style: none;
  margin-bottom: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
@media only screen and (max-width: 767px) {
  .entry_field ul {
    margin-bottom: 24px;
    gap: 8px;
  }
}
.entry_field ul > li {
  padding-left: 16px;
  line-height: 1.4;
  position: relative;
}
.entry_field ul > li::before {
  content: "";
  width: 8px;
  height: 8px;
  display: block;
  position: absolute;
  top: 0.6em;
  left: 0;
  border-radius: 100vmax;
  background: #004098;
}
.entry_field ul ul {
  padding-top: 16px;
  margin-bottom: 8px;
  gap: 8px;
}
.entry_field ul ul > li {
  font-size: 90%;
}
.entry_field ul ul > li::before {
  width: 6px;
  height: 6px;
  top: 0.6em;
}
.entry_field ol {
  padding: 0;
  list-style: none;
  margin-bottom: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  counter-reset: item;
}
@media only screen and (max-width: 767px) {
  .entry_field ol {
    margin-bottom: 24px;
    gap: 8px;
  }
}
.entry_field ol > li {
  padding-left: 28px;
  line-height: 1.4;
  position: relative;
}
.entry_field ol > li::before {
  content: counter(item);
  counter-increment: item;
  width: 20px;
  height: 20px;
  padding-left: 1px;
  font-size: 12px;
  line-height: 18px;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 500;
  text-align: center;
  display: block;
  color: #fff;
  position: absolute;
  top: 5px;
  left: 0;
  border-radius: 100vmax;
  background: #6376A5;
}
.entry_field hr {
  height: 1px;
  margin-block: 64px;
  padding: 0;
  border: 0;
  background: #D5DDEA;
}
@media only screen and (max-width: 767px) {
  .entry_field hr {
    margin-block: 40px;
  }
}
.entry_field a {
  margin-right: 0.2em;
  margin-left: 0.2em;
  display: inline-block;
  color: #3366C2;
  position: relative;
}
.entry_field a::before {
  content: "\e908";
  font-family: "kantodenka";
  margin-right: 0.2em;
  display: inline-block;
}
.entry_field a[target=_blank]::before {
  content: "\e921";
  font-family: "kantodenka";
}
.entry_field a[href$=".pdf"]::before {
  content: "\e904";
  font-family: "kantodenka";
}
.entry_field a[href*="mailto:"]::before {
  content: "\e930";
  font-family: "kantodenka";
}
.entry_field a[href*="tel:"]::before {
  content: "\e93b";
  font-family: "kantodenka";
}
@media (hover: hover) and (pointer: fine) {
  .entry_field a:hover {
    text-decoration: underline;
  }
  .entry_field a:hover::before {
    text-decoration: none;
  }
}
.entry_field .img_bnr {
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
.entry_field .img_bnr::before {
  display: none;
}
@media (hover: hover) and (pointer: fine) {
  .entry_field .img_bnr:hover {
    opacity: 0.7;
  }
}
.entry_field table {
  border: 0;
  width: 100%;
  margin-bottom: 40px;
  border-collapse: separate;
  border-spacing: 2px;
}
@media only screen and (max-width: 767px) {
  .entry_field table {
    margin-bottom: 24px;
  }
}
.entry_field table caption {
  padding-bottom: 8px;
  font-size: 14px;
  color: #004098;
}
.entry_field table th,
.entry_field table td {
  padding: 1em;
  font-size: 16px;
  line-height: 1.4;
  vertical-align: middle;
}
@media only screen and (max-width: 767px) {
  .entry_field table th,
  .entry_field table td {
    padding: 0.7em;
    font-size: 14px;
  }
}
.entry_field table th {
  font-weight: 700;
}
.entry_field table thead {
  position: relative;
}
.entry_field table thead th,
.entry_field table thead td {
  color: #fff;
  background: #6376A5;
}
.entry_field table tbody th {
  background: #D5DDEA;
}
.entry_field table tbody td {
  background: #fff;
}
.entry_field table tfoot td {
  padding-inline: 0;
  font-size: 12px;
  color: #6376A5;
}
@media only screen and (max-width: 767px) {
  .entry_field table.sp_block th,
  .entry_field table.sp_block td {
    width: 100% !important;
    display: block;
  }
}
.entry_field table.align_center th,
.entry_field table.align_center td {
  text-align: center;
}
.entry_field table ul {
  margin-bottom: 0;
  gap: 8px;
}
@media only screen and (max-width: 767px) {
  .entry_field .sp_scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 24px;
  }
}
@media only screen and (max-width: 767px) {
  .entry_field .sp_scroll table {
    width: 700px;
    margin-bottom: 0;
  }
}
.entry_field .sp_scroll .scroll-hint-icon {
  top: 24px;
}
.entry_field .table_note {
  text-align: right;
}
.entry_field .table_note > p {
  margin-bottom: 16px;
  display: inline-block;
}