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

about

----------------------------------*/
.about .txt1 {
  margin-bottom: 40px;
  padding: 0 0 40px;
  border-bottom: 1px solid #E0E0E0;
}
.about .hdg {
  font-size: 2rem;
  color: #355484;
  margin-bottom: 20px;
  padding-left: 12px;
  position: relative;
  line-height: 1.5;
}
.about .hdg::after {
  content: "";
  width: 2px;
  height: 80%;
  background: #8BBCE5;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
.about5 .flex_half {
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.about5 .flex_half .btn03 {
  width: auto;
}
.about5 .flex_half .btn03 a {
  max-width: 100%;
  min-width: 327px;
  padding-left: 36px;
  padding-right: 36px;
}

/*----------------------------------

corporate

----------------------------------*/
.corporate .content_list_item:first-child a {
  background: url(/img/corporate/corporate_img01.jpg) no-repeat center;
  background-size: cover;
}
.corporate .content_list_item:nth-child(2) a {
  background: url(/img/corporate/corporate_img02.jpg) no-repeat center;
  background-size: cover;
}
.corporate .content_list_item:nth-child(3) a {
  background: url(/img/corporate/corporate_img03.jpg) no-repeat center;
  background-size: cover;
}

.philosophy .txt1 {
  padding: 40px 0 0;
}

.message .message_txt {
  margin-bottom: 40px;
}

/*----------------------------------

news

----------------------------------*/
:where(.news, .ir) .cat_tab {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: 100%;
  margin-bottom: 24px;
  gap: 1px;
}
@media (max-width: 767px) {
  :where(.news, .ir) .cat_tab {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
}
.news .cat_tab button,
.ir .cat_tab > li {
  display: block;
  width: 100%;
  max-width: 162.5px;
  text-align: center;
  padding: 18.75px 10px;
  background-color: #ffffff;
  color: rgba(0, 0, 0, 0.5);
  font-size: 1.5rem;
  font-weight: 500;
  position: relative;
  cursor: pointer;
}
.news .cat_tab button::after,
.ir .cat_tab > li::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #355484;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
@media (max-width: 767px) {
  .news .cat_tab button,
  .ir .cat_tab > li {
    max-width: calc((100% - 1px) / 2);
  }
}
.news .cat_tab button.active,
.ir .cat_tab > li.active {
  color: #355484;
  background-color: #F3F8FA;
  border-width: 4px;
  font-weight: bold;
}
.news .cat_tab button.active::after,
.ir .cat_tab > li.active::after {
  height: 4px;
}
.news .cat_tab button:hover,
.ir .cat_tab > li:hover {
  color: #355484;
  background-color: #F3F8FA;
  border-width: 4px;
  font-weight: bold;
}
.news .cat_tab button:hover::after,
.ir .cat_tab > li:hover::after {
  height: 4px;
}
.news .cat_tab button:focus-visible,
.ir .cat_tab > li:focus-visible {
  outline: auto;
}
.news .cat_tab button:focus:not(:focus-visible),
.ir .cat_tab > li:focus:not(:focus-visible) {
  outline: none;
}
:where(.news, .ir) .select_box {
  display: block;
  width: 100%;
  max-width: 180px;
  border: solid 1px #E0E0E0;
  margin-bottom: 24px;
  position: relative;
}
:where(.news, .ir) .select_box::before {
  content: "";
  background-image: url("../img/common/icon_arrow_select.svg");
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
  width: 9px;
  height: 7px;
  position: absolute;
  top: 50%;
  right: 15px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  pointer-events: none;
}
:where(.news, .ir) .select_box select {
  width: 100%;
  padding: 11.25px 10px;
  border: none;
  font-size: 1.3rem;
  color: rgba(0, 0, 0, 0.5);
  background-color: #ffffff;
  cursor: pointer;
}
:where(.news, .ir) .select_box select option {
  color: #222222;
}
:where(.news, .ir) .select_box select option:disabled {
  color: rgba(0, 0, 0, 0.5);
}

/*----------------------------------

ir

----------------------------------*/
:where(.ir, .ir2, .ir3, .ir4, .ir5) {
  scroll-margin-top: 80px;
}
.ir2 .notice_block:first-of-type:has(.empty) .hdg_h3,
.ir2:not(:has(.xj-fn:empty)) .notice_block:has(.empty),
.ir2 .hdg_h3:has(+ .xj-fn:empty) {
  display: none !important;
}
.ir2 .notice_block + .notice_block {
  margin-top: 40px;
}
.ir5 .flex_half {
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.ir5 .flex_half .btn03 {
  width: auto;
}
.ir5 .flex_half .btn03 a {
  max-width: 100%;
  min-width: 327px;
  padding-left: 36px;
  padding-right: 36px;
}
@media (max-width: 767px) {
  :where(.ir, .ir2, .ir3, .ir4, .ir5) {
    scroll-margin-top: 64px;
  }
}
/*----------------------------------

contact

----------------------------------*/
.contact .flex_half {
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.contact .flex_half .btn03 {
  width: auto;
}
.contact .flex_half .btn03 a {
  max-width: 100%;
  min-width: 327px;
  padding-left: 36px;
  padding-right: 36px;
}

.form .form_flow {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 40px;
}
.form .form_flow li {
  font-size: 1.6rem;
  font-weight: bold;
  color: rgba(0, 0, 0, 0.5);
  position: relative;
  padding: 19px 44px 19px 28px;
  background: #DFE8F6;
  color: #6a6a6a;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 0%;
      -ms-flex: 1 1 0%;
          flex: 1 1 0%;
  text-align: center;
  overflow: visible;
  margin-left: -7px;
  -webkit-clip-path: polygon(calc(100% - 11px) 0, 100% 50%, calc(100% - 11px) 100%, 0% 100%, 11px 50%, 0% 0%);
          clip-path: polygon(calc(100% - 11px) 0, 100% 50%, calc(100% - 11px) 100%, 0% 100%, 11px 50%, 0% 0%);
}
@media (max-width: 767px) {
  .form .form_flow li {
    font-size: 1.5rem;
    padding: 15px;
  }
}
.form .form_flow li:first-child {
  margin-left: 0;
  -webkit-clip-path: polygon(0px 0px, calc(100% - 11px) 0px, 100% 50%, calc(100% - 11px) 100%, 0px 100%);
          clip-path: polygon(0px 0px, calc(100% - 11px) 0px, 100% 50%, calc(100% - 11px) 100%, 0px 100%);
}
.form .form_flow li.active {
  background: #355484;
  color: #fff;
}
.form .form_txt1 {
  font-weight: bold;
}
.form .text_list {
  margin: 38px 0;
  font-weight: bold;
}
.form .text_list li + li {
  margin-top: 10px;
}
.form .red, .form .note {
  color: #E30000;
}
.form .blue {
  color: #355484;
}
.form .form_table {
  width: 100%;
  margin-top: 20px;
}
@media (max-width: 767px) {
  .form .form_table, .form .form_table tbody, .form .form_table tr, .form .form_table th, .form .form_table td {
    display: block;
  }
}
.form .form_table th {
  width: 292px;
  border-bottom: 1px solid #E2E2E2;
  padding: 16px 40px 16px 16px;
  text-align: left;
}
@media (max-width: 767px) {
  .form .form_table th {
    width: 100%;
    border-bottom: none;
    padding: 16px 16px 0;
  }
}
.form .form_table th .required_wrap {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 767px) {
  .form .form_table th .required_wrap {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 10px;
  }
}
.form .form_table th .required_wrap .required {
  padding: 2px 8px 4px;
  line-height: 1;
  border-radius: 50px;
  color: #fff;
  background: #355484;
  font-size: 1.2rem;
  font-weight: bold;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.form .form_table td {
  width: calc(100% - 292px);
  border-bottom: 1px solid #E2E2E2;
  padding: 16px 16px 16px 0;
}
@media (max-width: 767px) {
  .form .form_table td {
    width: 100%;
    padding: 16px;
  }
}
.form .form_table td input, .form .form_table td textarea {
  border: 1px solid #E0E0E0;
  font-size: 1.5rem;
  width: 100%;
  padding: 12.58px 17px;
}
.form .form_table td input::-webkit-input-placeholder, .form .form_table td textarea::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0.5);
}
.form .form_table td input::-moz-placeholder, .form .form_table td textarea::-moz-placeholder {
  color: rgba(0, 0, 0, 0.5);
}
.form .form_table td input:-ms-input-placeholder, .form .form_table td textarea:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.5);
}
.form .form_table td input::-ms-input-placeholder, .form .form_table td textarea::-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.5);
}
.form .form_table td input::placeholder, .form .form_table td textarea::placeholder {
  color: rgba(0, 0, 0, 0.5);
}
.form .form_table td input:focus, .form .form_table td textarea:focus {
  outline: none;
}
.form .form_table td input:focus-visible, .form .form_table td textarea:focus-visible {
  outline: auto;
}
.form .form_table td .select_box {
  display: block;
  width: 100%;
  max-width: 440px;
  border: solid 1px #E0E0E0;
  position: relative;
}
.form .form_table td .select_box::before {
  content: "";
  background-image: url("/img/common/icon_arrow_select.svg");
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
  width: 9px;
  height: 7px;
  position: absolute;
  top: 50%;
  right: 15px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  pointer-events: none;
}
.form .form_table td .select_box select {
  width: 100%;
  padding: 11.25px 10px;
  border: none;
  font-size: 1.3rem;
  color: rgba(0, 0, 0, 0.5);
  background-color: #ffffff;
}
.form .form_table td .select_box select option {
  color: #222222;
}
.form .form_table td .select_box select option:disabled {
  color: rgba(0, 0, 0, 0.5);
}
.form .form_table td textarea {
  height: 320px;
}
.form .form_table td .note {
  font-weight: 500;
  font-size: 1.3rem;
  margin-top: 2px;
  margin-bottom: -6px;
}
.form .form_txt2 {
  text-align: center;
  margin: 40px 0 15px;
  font-weight: 500;
}
.form .form_txt2 a {
  text-decoration: underline;
  color: #355484;
  background: url(/img/common/icon_blank.svg) no-repeat right 3px center;
  background-size: 11px auto;
  padding-right: 15px;
}
.form .form_txt2 a:hover {
  color: #8BBCE5;
}
.form .form_check {
  display: table;
  margin: 0 auto 40px;
  padding-left: 32px;
  position: relative;
  cursor: pointer;
}
.form .form_check input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.form .form_check .icon {
  display: block;
  position: absolute;
  top: 3px;
  left: 0;
  width: 20px;
  height: 20px;
  margin: auto;
  border: 1px solid #E0E0E0;
  background: #fff;
}
.form .form_check .icon::after {
  content: "";
  position: absolute;
  top: -2px;
  bottom: 0;
  left: 0;
  right: 0;
  width: 10px;
  height: 5px;
  margin: auto;
  border-left: 2px solid #355484;
  border-bottom: 2px solid #355484;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  opacity: 0;
}
.form .form_check input:focus-visible + .icon {
  outline: auto;
}
.form .form_check input:checked + .icon::after {
  opacity: 1;
}
.form .form_submit {
  color: rgba(0, 0, 0, 0.5);
  padding: 6px 0 6px 15px;
}
@media (max-width: 767px) {
  .form .form_submit {
    padding: 0;
  }
}
.form .form_txt3 {
  margin-bottom: 25px;
}
.form .flex_btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 24px;
  margin-top: 40px;
}
@media (max-width: 767px) {
  .form .flex_btn {
    gap: 12px;
  }
}
.form .flex_btn div {
  width: 100%;
  max-width: 227px;
}
@media (max-width: 767px) {
  .form .flex_btn div {
    max-width: 155px;
    font-size: 1.3rem;
  }
  .form .flex_btn div.btn03 button {
    min-height: 42px;
  }
  .form .flex_btn div.btn03 button::after {
    right: 10px;
  }
  .form .flex_btn div.btn04 button {
    min-height: 42px;
  }
  .form .flex_btn div.btn04 button::after {
    left: 10px;
  }
}
.form .form_txt4 {
  margin-bottom: 40px;
}

/*----------------------------------

privacy

----------------------------------*/
.privacy-policy .text_list li .bold {
  display: block;
  margin-bottom: 5px;
  font-weight: 700;
}
.privacy-policy .right_box {
  margin-top: 20px;
  text-align: right;
}
.privacy-policy .right_box p + p, .privacy-policy .right_box p + div {
  margin-top: 10px;
}

.privacy-policy2 h4 {
  margin-bottom: 10px;
  font-size: 1.8rem;
}
@media (max-width: 767px) {
  .privacy-policy2 h4 {
    font-size: 1.6rem;
  }
}
.privacy-policy2 h4.icon_hdg {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  padding-left: 20px;
}
.privacy-policy2 h4 .icon {
  display: inline-block;
  position: absolute;
  left: 0;
  width: 10px;
  height: 10px;
  background: #000;
}
.privacy-policy2 h4 .icon::after {
  content: "";
  position: absolute;
  right: -6px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 6px solid #000;
}
.privacy-policy2 .table + .text_list, .privacy-policy2 .table + p {
  margin-top: 20px;
}
.privacy-policy2 .text_list .bold {
  display: block;
  font-weight: 700;
}
.privacy-policy2 .text_list + h4 {
  margin-top: 30px;
}

/*----------------------------------

404

----------------------------------*/
.notfound .inner {
  padding-top: 88px;
}
@media (max-width: 767px) {
  .notfound .inner {
    padding-top: 44px;
  }
}
.notfound .hdg {
  margin-bottom: 30px;
  font-size: 8.8rem;
  font-weight: 500;
  font-family: "Montserrat", sans-serif;
}
@media (max-width: 767px) {
  .notfound .hdg {
    font-size: 5rem;
  }
}
.notfound .btn03 {
  margin-top: 40px;
}

/*----------------------------------

contents共通

----------------------------------*/
footer {
  margin-top: 100px;
}

p {
  line-height: 2.13;
}
p + ul, p + ol, p + p {
  margin-top: 24px;
}

ul + p,
ol + p {
  margin-top: 24px;
}

ul + h3,
ol + h3,
p + h3 {
  margin-top: 40px;
}

p + h4 {
  margin-top: 20px;
}

ul + h4 {
  margin-top: 24px;
}

section + section {
  margin-top: 80px;
}

.mv {
  background: url(/img/common/mv_bg.png) no-repeat;
  background-size: cover;
  padding: 103px 0 45px;
}
@media (max-width: 767px) {
  .mv {
    padding: 49px 0 21px;
    background: url(/img/common/mv_bg_sp.png) no-repeat center;
    background-size: cover;
  }
}
.mv h1 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-flow: column;
      -ms-flex-flow: column;
          flex-flow: column;
  gap: 5px;
}
.mv h1 .en {
  font-family: "Montserrat", sans-serif;
  font-size: 1.8rem;
  color: #615F5F;
  font-weight: 500;
}
@media (max-width: 767px) {
  .mv h1 .en {
    font-size: 1.4rem;
  }
}
.mv h1 .jp {
  font-size: 4rem;
}
@media (max-width: 767px) {
  .mv h1 .jp {
    font-size: 2.8rem;
  }
}

.breadcrumbs {
  padding: 40px 0 73px;
}
.breadcrumbs nav {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 12px;
  font-size: 1.2rem;
}
.breadcrumbs nav span:first-child a {
  background: url(/img/common/icon_home.svg) no-repeat left top 4px;
  background-size: 12px auto;
  padding-left: 18px;
}
.breadcrumbs nav span + span {
  background: url(/img/common/icon_arrow_gray.svg) no-repeat left top 7px;
  background-size: 4px auto;
  padding-left: 17px;
}

.hdg_h2 {
  font-size: 2.8rem;
  background: url(/img/common/h2_border.svg) no-repeat left bottom;
  background-size: 64px 2px;
  margin-bottom: 40px;
  padding-bottom: 16px;
}
@media (max-width: 767px) {
  .hdg_h2 {
    font-size: 2.4rem;
  }
}

.hdg_h3 {
  font-size: 2rem;
  background: #EFF6FB;
  border-left: 4px solid #355484;
  margin-bottom: 24px;
  padding: 8px 12px;
}
@media (max-width: 767px) {
  .hdg_h3 {
    font-size: 1.8rem;
  }
}

.hdg_h4 {
  font-size: 1.8rem;
  position: relative;
  margin-bottom: 13px;
  padding: 5px 17px;
}
@media (max-width: 767px) {
  .hdg_h4 {
    font-size: 1.6rem;
  }
}
.hdg_h4::after {
  content: "";
  width: 2px;
  height: 80%;
  background: #355484;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}

.flex_half {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
}
@media (min-width: 768px) {
  .flex_half > * {
    width: calc((100% - 16px) / 2);
  }
}
@media (max-width: 767px) {
  .flex_half {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
        -ms-flex-flow: column;
            flex-flow: column;
  }
}

.text_list {
  padding-left: 1em;
}
.text_list li + li {
  margin-top: 17px;
}
.text_list li::marker {
  color: #355484;
}
.text_list.decimal {
  list-style: decimal;
}
.text_list.decimal li {
  padding-left: 24px;
}
.text_list.decimal li::marker {
  font-size: 1.6rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
}
.text_list.disc {
  list-style: disc;
}
.text_list.disc li {
  padding-left: 5px;
}
.text_list.disc li::marker {
  font-size: 1.6rem;
}
.text_list.reference {
  list-style: "※";
}
.text_list.reference li {
  padding-left: 10px;
  color: rgba(0, 0, 0, 0.5);
}
.text_list.reference li::marker {
  font-size: 1.4rem;
  color: rgba(0, 0, 0, 0.5);
}
.text_list.reference_decimal {
  counter-reset: star-counter;
}
.text_list.reference_decimal li {
  padding-left: 26px;
  color: rgba(0, 0, 0, 0.5);
  counter-increment: star-counter;
  position: relative;
}
.text_list.reference_decimal li::after {
  content: "※" counter(star-counter);
  font-size: 1.4rem;
  position: absolute;
  top: 0;
  left: -1em;
  color: rgba(0, 0, 0, 0.5);
}
.text_list.circle {
  list-style: "○";
}
.text_list.circle li::marker {
  font-size: 1.5rem;
}

.content_list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 40px;
}
.content_list_item {
  position: relative;
  width: calc((100% - 40px) / 2);
  aspect-ratio: 47/24;
}
@media (max-width: 767px) {
  .content_list_item {
    width: 100%;
  }
}
.content_list_item a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 20px 50px;
  border: 1px solid #8BBCE5;
  background-color: #8BBCE5;
  color: #fff;
  font-weight: 500;
}
.content_list_item a::before, .content_list_item a::after {
  content: "";
  position: absolute;
}
.content_list_item a::before {
  top: -1px;
  left: -1px;
  width: 100%;
  height: 100%;
  -webkit-clip-path: polygon(0 0, 28px 0, 0 28px);
          clip-path: polygon(0 0, 28px 0, 0 28px);
  background-color: #8BBCE5;
  z-index: 2;
}
.content_list_item a::after {
  top: 0;
  bottom: 0;
  right: 32px;
  width: 12px;
  height: 22px;
  margin: auto;
  background: url(/img/common/icon_arrow_white2.svg) no-repeat center;
  background-size: 100% auto;
}
.content_list_item a .en {
  font-size: 1.2rem;
  font-family: "Montserrat", sans-serif;
}
.content_list_item a .jp {
  margin-top: 1px;
  font-size: 3.2rem;
  line-height: 1.3125;
  letter-spacing: 0.12em;
}
@media (max-width: 767px) {
  .content_list_item a .jp {
    font-size: 2.8rem;
  }
}
@media (min-width: 768px) {
  .content_list_item a:hover {
    opacity: 0.7;
  }
}

.table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  border-top: 2px solid #355484;
  border-bottom: 2px solid #355484;
}
@media (max-width: 767px) {
  .table, .table thead, .table tbody, .table tr, .table th, .table td {
    display: block;
    width: 100%;
  }
}
.table th, .table td {
  padding: 16px 20px;
  line-height: 2.13;
}
@media (max-width: 767px) {
  .table th, .table td {
    padding-top: 12px;
    padding-bottom: 12px;
  }
}
.table th {
  font-weight: bold;
  text-align: left;
}
@media (max-width: 767px) {
  .table th {
    text-align: center;
  }
}
.table thead th {
  color: #fff;
  background: #355484;
}
@media (max-width: 767px) {
  .table thead th {
    padding-top: 16px;
    padding-bottom: 16px;
  }
}
@media (min-width: 768px) {
  .table thead th:first-child {
    border-right: 1px solid #fff;
  }
}
@media (max-width: 767px) {
  .table thead th:first-child {
    border-bottom: 1px solid #fff;
  }
}
.table tbody th {
  background: #F3F8FA;
  border-bottom: 1px solid #355484;
}
@media (min-width: 768px) {
  .table tbody th {
    width: 300px;
  }
}
.table tbody td {
  border-bottom: 1px solid #E0E0E0;
}
@media (min-width: 768px) {
  .table tbody td {
    width: calc(100% - 300px);
  }
}
@media (min-width: 768px) {
  .table tbody tr:last-child th {
    border-bottom: none;
  }
}
.table tbody tr:last-child td {
  border-bottom: none;
}