@charset "UTF-8";
::selection {
  color: #fff;
  background: #222
}
*, :after, :before {
  box-sizing: border-box
}
:focus {
  outline: 0
}
pre {
  position: relative;
  margin: 2em 0;
  padding: 0;
  line-height: 1;
  font-size: 15px;
  background: #ddd
}
pre code {
  display: block;
  margin: 0;
  padding: 2em 1em 1em;
  line-height: 1.4;
  overflow: auto
}
.copy-button {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  margin: 0 auto;
  padding: 0 1em;
  height: 24px;
  border: none;
  line-height: 1;
  font-weight: 700;
  background: #666;
  color: #fff;
  cursor: pointer
}
.copy-button:hover {
  background: #999
}
body, html {
  font-size: 62.5%;
  color: #222;
  background-color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  scroll-behavior: smooth
}
body {
  width: 100%
}
a {
  color: #0e2f92;
  
}
a:hover {
  text-decoration: none;
}
h1, h2, h3 {
  line-height: 1
}
li, ul {
  list-style: none
}
td, th, tr {
  font-weight: 400;
  text-align: left
}
img, picture {
  -webkit-backface-visibility: hidden;
  width: 100%;
  max-width: 100%;
  pointer-events: none;
  vertical-align: bottom
}
.pc-none {
  display: none
}
@media only screen and (max-width:768px) {
  .pc-none {
    display: block
  }
}
@media only screen and (min-width:768px) {
  .sp-none {
    display: none
  }
}
@media only screen and (max-width:768px) {
  .sp-none {
    display: none
  }
}
.k-blue {
  color: #0e2f92 !important
}
.k-lightblue {
  color: #daf1f2 !important
}
.k-red {
  color: #cc3629 !important
}
.k-black {
  color: #222 !important
}
.white {
  color: #fff !important
}
.k-gray {
  color: #eee !important
}
.k-middlegray {
  color: #cdcdcd !important
}
.common_inner {
  margin: 0 auto;
  padding: 0 20px;
  max-width: 1240px
}
.common_top {
  padding-top: 20px
}
@media only screen and (min-width:768px) {
  .common_top {
    padding-top: 80px
  }
}
.common_underLogo {
  display: block;
  width: 150px
}
@media only screen and (min-width:768px) {
  .common_underLogo {
    display: none
  }
}
.common_pan {
  margin-top: 20px;
  font-size: 12px;
  line-height: 1.6666666667
}
@media only screen and (min-width:768px) {
  .common_pan {
    font-size: 14px;
    margin-top: 0
  }
}
.common_pan > a {
  text-decoration: underline
}
.common_h1 {
  text-align: center;
  margin-top: 30px;
  font-weight: 500
}
.common_h1 .sub {
  display: block;
  font-family: Outfit, sans-serif;
  font-size: 24px
}
@media only screen and (min-width:768px) {
  .common_h1 .sub {
    font-size: 40px
  }
}
.common_h1 .main {
  display: block;
  margin-top: 10px;
  font-size: 36px
}
@media only screen and (min-width:768px) {
  .common_h1 .main {
    margin-top: 10px;
    font-size: 60px
  }
}
.common_section {
  margin-top: 60px;
  padding-top: 20px;
  border-top: 4px solid #222
}
@media only screen and (min-width:768px) {
  .common_section {
    margin-top: 60px;
    padding-top: 60px;
    border-top: 8px solid #222
  }
}
@media only screen and (min-width:768px) {
  .common_box {
    display: flex;
    align-items: center;
    justify-content: space-between
  }
}
.common_h2 {
  text-align: center
}
@media only screen and (min-width:768px) {
  .common_h2 {
    text-align-last: left;
    width: 540px
  }
}
.common_h2 .sub {
  display: block;
  font-family: Outfit, sans-serif;
  font-size: 18px
}
@media only screen and (min-width:768px) {
  .common_h2 .sub {
    font-size: 24px
  }
}
.common_h2 .main {
  display: block;
  margin-top: 10px;
  font-weight: 500;
  font-size: 28px
}
@media only screen and (min-width:768px) {
  .common_h2 .main {
    margin-top: 10px;
    font-size: 45px
  }
}
.common_thumb {
  overflow: hidden;
  margin-top: 30px;
  width: 100%;
  height: 120px;
  border-radius: 6px
}
@media only screen and (min-width:768px) {
  .common_thumb {
    flex: 1;
    margin-top: 0;
    margin-left: 80px;
    height: 160px
  }
}
.common_thumb > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center
}
.common_wrapper {
  margin-top: 40px
}
@media only screen and (min-width:768px) {
  .common_wrapper {
    margin-top: 60px
  }
}
.common_item:not(:first-child) {
  margin-top: 40px
}
@media only screen and (min-width:768px) {
  .common_item:not(:first-child) {
    margin-top: 60px
  }
}
.common_h3 {
  display: flex;
  align-items: center;
  margin-top: -100px;
  padding-top: 100px;
  margin-bottom: 30px;
  padding-bottom: 10px;
  font-size: 18px;
  font-weight: 500;
  color: #0e2f92;
  border-bottom: 1px solid #cdcdcd
}
@media only screen and (min-width:768px) {
  .common_h3 {
    padding-bottom: 20px;
    font-size: 24px
  }
}
.common_h3 > span {
  display: block;
  width: 25px;
  margin-right: 10px
}
@media only screen and (min-width:768px) {
  .common_h3 > span {
    width: 30px;
    margin-right: 20px
  }
}
.common_h3 > span.small {
  width: auto
}
.common_h3 small {
  display: block;
  padding-top: 7px;
  font-size: 12px
}
@media only screen and (min-width:768px) {
  .common_h3 small {
    display: inline-block;
    padding-top: 10px;
    margin-left: 10px;
    font-size: 14px
  }
}
.common_h4 {
  margin-top: 40px;
  margin-bottom: 30px;
  padding-left: 10px;
  font-size: 16px;
  font-weight: 500;
  border-left: 4px solid #0e2f92
}
@media only screen and (min-width:768px) {
  .common_h4 {
    margin-top: 30px;
    padding-left: 10px;
    font-size: 20px
  }
}
.common_h5 {
  margin-top: 30px;
  font-size: 14px;
  font-weight: 500;
  color: #0e2f92
}
@media only screen and (min-width:768px) {
  .common_h5 {
    font-size: 16px
  }
}
.common_h5:before {
  display: inline-block;
  content: "■";
  margin-right: 5px
}
.common_tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 130px;
  height: 30px;
  margin-top: 20px;
  padding: 0 20px;
  font-size: 14px;
  background-color: #eee;
  border-radius: 6px
}
@media only screen and (min-width:768px) {
  .common_tag {
    min-width: 145px;
    height: 35px;
    font-size: 16px
  }
}
.common_dotList {
  margin-top: 20px;
  font-size: 14px;
  line-height: 1.4285714286
}
@media only screen and (min-width:768px) {
  .common_dotList {
    font-size: 16px
  }
}
.common_dotList > li {
  display: block;
  padding-left: 1em;
  text-indent: -.6em
}
.common_dotList > li:before {
  display: inline-block;
  content: "・";
  color: #0e2f92;
  font-weight: 700
}
.common_dotList.wide > :not(:first-child) {
  margin-top: 30px
}
.common_numList {
  margin-top: 30px;
  font-size: 14px;
  line-height: 2.0
}
@media only screen and (min-width:768px) {
  .common_numList {
    font-size: 16px
  }
}
.common_numList > li {
  padding-left: 1.4em;
  text-indent: -.7em
}
.common_numList > li:nth-child(1):before {
  display: inline-block;
  content: "1.";
  margin-right: 5px
}
.common_numList > li:nth-child(2):before {
  display: inline-block;
  content: "2.";
  margin-right: 5px
}
.common_numList > li:nth-child(3):before {
  display: inline-block;
  content: "3.";
  margin-right: 5px
}
.common_numList > li:nth-child(4):before {
  display: inline-block;
  content: "4.";
  margin-right: 5px
}
.common_numList > li:nth-child(5):before {
  display: inline-block;
  content: "5.";
  margin-right: 5px
}
.common_numList > li:nth-child(6):before {
  display: inline-block;
  content: "6.";
  margin-right: 5px
}
.common_numList > li:nth-child(7):before {
  display: inline-block;
  content: "7.";
  margin-right: 5px
}
.common_numList > li:nth-child(8):before {
  display: inline-block;
  content: "8.";
  margin-right: 5px
}
.common_numList > li:nth-child(9):before {
  display: inline-block;
  content: "9.";
  margin-right: 5px
}
.common_numList > li:nth-child(10):before {
  display: inline-block;
  content: "10.";
  margin-right: 5px
}
.common_numList > li:nth-child(11):before {
  display: inline-block;
  content: "11.";
  margin-right: 5px
}
.common_numList > li:nth-child(12):before {
  display: inline-block;
  content: "12.";
  margin-right: 5px
}
.common_numList > li:nth-child(13):before {
  display: inline-block;
  content: "13.";
  margin-right: 5px
}
.common_numList > li:nth-child(14):before {
  display: inline-block;
  content: "14.";
  margin-right: 5px
}
.common_numList > li:nth-child(15):before {
  display: inline-block;
  content: "15.";
  margin-right: 5px
}
.common_numList > li:nth-child(16):before {
  display: inline-block;
  content: "16.";
  margin-right: 5px
}
.common_numList > li:nth-child(17):before {
  display: inline-block;
  content: "17.";
  margin-right: 5px
}
.common_numList > li:nth-child(18):before {
  display: inline-block;
  content: "18.";
  margin-right: 5px
}
.common_numList > li:nth-child(19):before {
  display: inline-block;
  content: "19.";
  margin-right: 5px
}
.common_numList > li:nth-child(20):before {
  display: inline-block;
  content: "20.";
  margin-right: 5px
}
.common_numList > li:nth-child(21):before {
  display: inline-block;
  content: "21.";
  margin-right: 5px
}
.common_numList > li:nth-child(22):before {
  display: inline-block;
  content: "22.";
  margin-right: 5px
}
.common_numList > li:nth-child(23):before {
  display: inline-block;
  content: "23.";
  margin-right: 5px
}
.common_numList > li:nth-child(24):before {
  display: inline-block;
  content: "24.";
  margin-right: 5px
}
.common_numList > li:nth-child(25):before {
  display: inline-block;
  content: "25.";
  margin-right: 5px
}
.common_numList > li:nth-child(26):before {
  display: inline-block;
  content: "26.";
  margin-right: 5px
}
.common_numList > li:nth-child(27):before {
  display: inline-block;
  content: "27.";
  margin-right: 5px
}
.common_numList > li:nth-child(28):before {
  display: inline-block;
  content: "28.";
  margin-right: 5px
}
.common_numList > li:nth-child(29):before {
  display: inline-block;
  content: "29.";
  margin-right: 5px
}
.common_numList > li:nth-child(30):before {
  display: inline-block;
  content: "30.";
  margin-right: 5px
}
.common_numList > li:nth-child(31):before {
  display: inline-block;
  content: "31.";
  margin-right: 5px
}
.common_numList > li:nth-child(32):before {
  display: inline-block;
  content: "32.";
  margin-right: 5px
}
.common_numList > li:nth-child(33):before {
  display: inline-block;
  content: "33.";
  margin-right: 5px
}
.common_numList > li:nth-child(34):before {
  display: inline-block;
  content: "34.";
  margin-right: 5px
}
.common_numList > li:nth-child(35):before {
  display: inline-block;
  content: "35.";
  margin-right: 5px
}
.common_numList > li:nth-child(36):before {
  display: inline-block;
  content: "36.";
  margin-right: 5px
}
.common_numList > li:nth-child(37):before {
  display: inline-block;
  content: "37.";
  margin-right: 5px
}
.common_numList > li:nth-child(38):before {
  display: inline-block;
  content: "38.";
  margin-right: 5px
}
.common_numList > li:nth-child(39):before {
  display: inline-block;
  content: "39.";
  margin-right: 5px
}
.common_numList > li:nth-child(40):before {
  display: inline-block;
  content: "40.";
  margin-right: 5px
}
.common_numList > li:nth-child(41):before {
  display: inline-block;
  content: "41.";
  margin-right: 5px
}
.common_numList > li:nth-child(42):before {
  display: inline-block;
  content: "42.";
  margin-right: 5px
}
.common_numList > li:nth-child(43):before {
  display: inline-block;
  content: "43.";
  margin-right: 5px
}
.common_numList > li:nth-child(44):before {
  display: inline-block;
  content: "44.";
  margin-right: 5px
}
.common_numList > li:nth-child(45):before {
  display: inline-block;
  content: "45.";
  margin-right: 5px
}
.common_numList > li:nth-child(46):before {
  display: inline-block;
  content: "46.";
  margin-right: 5px
}
.common_numList > li:nth-child(47):before {
  display: inline-block;
  content: "47.";
  margin-right: 5px
}
.common_numList > li:nth-child(48):before {
  display: inline-block;
  content: "48.";
  margin-right: 5px
}
.common_numList > li:nth-child(49):before {
  display: inline-block;
  content: "49.";
  margin-right: 5px
}
.common_numList > li:nth-child(50):before {
  display: inline-block;
  content: "50.";
  margin-right: 5px
}
.common_numList > li:nth-child(51):before {
  display: inline-block;
  content: "51.";
  margin-right: 5px
}
.common_numList > li:nth-child(52):before {
  display: inline-block;
  content: "52.";
  margin-right: 5px
}
.common_numList > li:nth-child(53):before {
  display: inline-block;
  content: "53.";
  margin-right: 5px
}
.common_numList > li:nth-child(54):before {
  display: inline-block;
  content: "54.";
  margin-right: 5px
}
.common_numList > li:nth-child(55):before {
  display: inline-block;
  content: "55.";
  margin-right: 5px
}
.common_numList > li:nth-child(56):before {
  display: inline-block;
  content: "56.";
  margin-right: 5px
}
.common_numList > li:nth-child(57):before {
  display: inline-block;
  content: "57.";
  margin-right: 5px
}
.common_numList > li:nth-child(58):before {
  display: inline-block;
  content: "58.";
  margin-right: 5px
}
.common_numList > li:nth-child(59):before {
  display: inline-block;
  content: "59.";
  margin-right: 5px
}
.common_numList > li:nth-child(60):before {
  display: inline-block;
  content: "60.";
  margin-right: 5px
}
.common_numList > li:nth-child(61):before {
  display: inline-block;
  content: "61.";
  margin-right: 5px
}
.common_numList > li:nth-child(62):before {
  display: inline-block;
  content: "62.";
  margin-right: 5px
}
.common_numList > li:nth-child(63):before {
  display: inline-block;
  content: "63.";
  margin-right: 5px
}
.common_numList > li:nth-child(64):before {
  display: inline-block;
  content: "64.";
  margin-right: 5px
}
.common_numList > li:nth-child(65):before {
  display: inline-block;
  content: "65.";
  margin-right: 5px
}
.common_numList > li:nth-child(66):before {
  display: inline-block;
  content: "66.";
  margin-right: 5px
}
.common_numList > li:nth-child(67):before {
  display: inline-block;
  content: "67.";
  margin-right: 5px
}
.common_numList > li:nth-child(68):before {
  display: inline-block;
  content: "68.";
  margin-right: 5px
}
.common_numList > li:nth-child(69):before {
  display: inline-block;
  content: "69.";
  margin-right: 5px
}
.common_numList > li:nth-child(70):before {
  display: inline-block;
  content: "70.";
  margin-right: 5px
}
.common_numList > li:nth-child(71):before {
  display: inline-block;
  content: "71.";
  margin-right: 5px
}
.common_numList > li:nth-child(72):before {
  display: inline-block;
  content: "72.";
  margin-right: 5px
}
.common_numList > li:nth-child(73):before {
  display: inline-block;
  content: "73.";
  margin-right: 5px
}
.common_numList > li:nth-child(74):before {
  display: inline-block;
  content: "74.";
  margin-right: 5px
}
.common_numList > li:nth-child(75):before {
  display: inline-block;
  content: "75.";
  margin-right: 5px
}
.common_numList > li:nth-child(76):before {
  display: inline-block;
  content: "76.";
  margin-right: 5px
}
.common_numList > li:nth-child(77):before {
  display: inline-block;
  content: "77.";
  margin-right: 5px
}
.common_numList > li:nth-child(78):before {
  display: inline-block;
  content: "78.";
  margin-right: 5px
}
.common_numList > li:nth-child(79):before {
  display: inline-block;
  content: "79.";
  margin-right: 5px
}
.common_numList > li:nth-child(80):before {
  display: inline-block;
  content: "80.";
  margin-right: 5px
}
.common_numList > li:nth-child(81):before {
  display: inline-block;
  content: "81.";
  margin-right: 5px
}
.common_numList > li:nth-child(82):before {
  display: inline-block;
  content: "82.";
  margin-right: 5px
}
.common_numList > li:nth-child(83):before {
  display: inline-block;
  content: "83.";
  margin-right: 5px
}
.common_numList > li:nth-child(84):before {
  display: inline-block;
  content: "84.";
  margin-right: 5px
}
.common_numList > li:nth-child(85):before {
  display: inline-block;
  content: "85.";
  margin-right: 5px
}
.common_numList > li:nth-child(86):before {
  display: inline-block;
  content: "86.";
  margin-right: 5px
}
.common_numList > li:nth-child(87):before {
  display: inline-block;
  content: "87.";
  margin-right: 5px
}
.common_numList > li:nth-child(88):before {
  display: inline-block;
  content: "88.";
  margin-right: 5px
}
.common_numList > li:nth-child(89):before {
  display: inline-block;
  content: "89.";
  margin-right: 5px
}
.common_numList > li:nth-child(90):before {
  display: inline-block;
  content: "90.";
  margin-right: 5px
}
.common_numList > li:nth-child(91):before {
  display: inline-block;
  content: "91.";
  margin-right: 5px
}
.common_numList > li:nth-child(92):before {
  display: inline-block;
  content: "92.";
  margin-right: 5px
}
.common_numList > li:nth-child(93):before {
  display: inline-block;
  content: "93.";
  margin-right: 5px
}
.common_numList > li:nth-child(94):before {
  display: inline-block;
  content: "94.";
  margin-right: 5px
}
.common_numList > li:nth-child(95):before {
  display: inline-block;
  content: "95.";
  margin-right: 5px
}
.common_numList > li:nth-child(96):before {
  display: inline-block;
  content: "96.";
  margin-right: 5px
}
.common_numList > li:nth-child(97):before {
  display: inline-block;
  content: "97.";
  margin-right: 5px
}
.common_numList > li:nth-child(98):before {
  display: inline-block;
  content: "98.";
  margin-right: 5px
}
.common_numList > li:nth-child(99):before {
  display: inline-block;
  content: "99.";
  margin-right: 5px
}
.common_numList > li:nth-child(100):before {
  display: inline-block;
  content: "100.";
  margin-right: 5px
}
.common_numList.wide > li:not(:first-child) {
  margin-top: 30px
}
@media only screen and (min-width:768px) {
  .common_info {
    display: flex;
    margin-top: 20px
  }
}
.common_info .common_text {
  margin-top: 10px
}
@media only screen and (min-width:768px) {
  .common_info .common_text {
    margin-top: 7px;
    margin-left: 65px
  }
}
.common_date {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 130px;
  height: 30px;
  margin-top: 15px;
  font-size: 14px;
  background-color: #eee;
  border-radius: 6px
}
@media only screen and (min-width:768px) {
  .common_date {
    min-width: 145px;
    height: 35px;
    margin-top: 0;
    font-size: 16px
  }
}
.common_text {
  margin-top: 20px;
  font-size: 14px;
  line-height: 2.0
}
@media only screen and (min-width:768px) {
  .common_text {
    margin-top: 20px;
    font-size: 16px
  }
}
.common_btn {
  margin-top: 20px;
  margin-bottom: 20px
}
@media only screen and (min-width:768px) {
  .common_btn {
    margin-top: 30px;
    margin-bottom: 30px
  }
}
.common_btn > a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 390px;
  margin: 0 auto;
  padding: 10px 35px;
  height: 50px;
  text-align: center;
  font-size: 14px;
  line-height: 1.1;
  color: #0e2f92;
  border: 1px solid #0e2f92;
  border-radius: 10000px;
  transition: .4s
}
@media only screen and (min-width:768px) {
  .common_btn > a {
    font-size: 16px
  }
}
.common_btn > a:hover {
  background-color: #0e2f92;
  color: #fff !important
}
.common_btn > a:hover small {
  color: #fff !important
}
.common_btn > a:hover::after {
  background-image: url(../../image/site/common/icon_arrow_h.svg)
}
.common_btn > a::after {
  position: absolute;
  top: 50%;
  right: 20px;
  content: "";
  display: block;
  min-width: 9px;
  height: 12px;
  background-image: url(../../image/site/common/icon_arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transform: translateY(-50%);
  transition: .4s
}
@media only screen and (min-width:768px) {
  .common_btn > a::after {
    width: 10px;
    height: 14px
  }
}
.common_btn > a:not(:first-child) {
  margin-top: 15px
}
@media only screen and (min-width:768px) {
  .common_btn > a:not(:first-child) {
    margin-top: 20px
  }
}
.common_btn > a[href^="#"]::after {
  transform: translateY(-50%) rotate(90deg)
}
.common_btn.big > a {
  text-align: center;
  height: 85px;
  padding: 0 30px;
  font-size: 16px;
  flex-direction: column
}
@media only screen and (min-width:768px) {
  .common_btn.big > a {
    min-width: 600px;
    height: 80px;
    font-size: 20px
  }
}
.common_btn.big > a > small {
  display: block;
  margin-top: 5px;
  font-size: 12px;
  line-height: 1.3333333333;
  color: #222;
  transition: .4s
}
@media only screen and (min-width:768px) {
  .common_btn.big > a > small {
    font-size: 14px
  }
}
.common_btn.big > a:not(:first-child) {
  margin-top: 20px
}
@media only screen and (min-width:768px) {
  .common_btn.big > a:not(:first-child) {
    margin-top: 30px
  }
}
.common_exam {
  margin-top: 15px;
  padding: 10px;
  font-size: 14px;
  line-height: 1.4285714286;
  background-color: rgba(218, 241, 242, .25);
  border-radius: 6px
}
@media only screen and (min-width:768px) {
  .common_exam {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 30px;
    padding: 20px;
    font-size: 16px
  }
}
.common_exam > p {
  display: flex;
  align-items: center
}
.common_exam > p::before {
  display: block;
  content: "";
  width: 4px;
  height: 4px;
  margin-right: 8px;
  background-color: #0e2f92;
  border-radius: 1000px
}
@media only screen and (min-width:768px) {
  .common_exam > p::before {
    margin-right: 10px
  }
}
.common_link {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 30px;
  gap: 20px
}
@media only screen and (min-width:768px) {
  .common_link {
    gap: 40px;
    max-width: 910px;
    margin: 70px auto 0
  }
}
.common_link > a, .common_link > p {
  display: block;
  width: 100%;
  transition: .4s
}
@media only screen and (min-width:768px) {
  .common_link > a, .common_link > p {
    width: 435px;
    min-width: 435px
  }
}
.common_link > a:hover, .common_link > p:hover {
  opacity: .5
}
.common_link > p:last-child {
  display: none
}
@media only screen and (min-width:768px) {
  .common_link > p:last-child {
    display: block
  }
}
.common_img {
  overflow: hidden;
  margin: 60px auto;
  border-radius: 6px
}
@media only screen and (min-width:768px) {
  .common_img {
    width: 470px
  }
}
.common_bnr {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  flex-direction: column;
  gap: 30px;
  margin: 60px auto
}
@media only screen and (min-width:768px) {
  .common_bnr {
    flex-direction: row
  }
}
.common_bnr > a {
  display: block;
  width: 100%;
  height: 100%
}
@media only screen and (min-width:768px) {
  .common_bnr > a {
    width: 470px
  }
}
.common_accordion {
  margin-top: 30px
}
.common_accordion .item {
  border: 1px solid #cdcdcd
}
.common_accordion .item:not(:first-child) {
  margin-top: -1px
}
.common_accordion .item > p {
  position: relative;
  padding: 15px 20px;
  font-size: 14px;
  line-height: 1.5;
  cursor: pointer
}
@media only screen and (min-width:768px) {
  .common_accordion .item > p {
    font-size: 16px
  }
}
.common_accordion .item > p.js-active::after {
  transform: translateY(-50%) rotate(-90deg)
}
.common_accordion .item > p::after {
  position: absolute;
  top: 50%;
  right: 20px;
  content: "";
  display: block;
  min-width: 9px;
  height: 12px;
  background-image: url(../../image/site/common/icon_arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transform: translateY(-50%) rotate(90deg);
  transition: .4s
}
@media only screen and (min-width:768px) {
  .common_accordion .item > p::after {
    width: 10px;
    height: 14px
  }
}
.common_accordion .item > div {
  padding: 20px;
  border-top: 1px solid #cdcdcd
}
.common_accordion .item > div > :first-child {
  margin-top: 0
}
.common .row {
  margin: 30px auto;
  width: 100%;
  font-size: 14px;
  line-height: 1.4285714286
}
@media only screen and (min-width:768px) {
  .common .row {
    font-size: 16px
  }
}
.common .row tr {
  border-top: 1px solid #cdcdcd
}
.common .row tr:last-child {
  border-bottom: 1px solid #cdcdcd
}
.common .row tr td, .common .row tr th {
  text-align: center;
  vertical-align: middle
}
.common .row tr td:not(:last-child), .common .row tr th:not(:last-child) {
  border-right: 1px solid #cdcdcd;
  border-bottom: 1px solid #cdcdcd
}
.common .row tr th {
  font-weight: 500;
  padding: 10px 10px
}
.common .row tr td {
  padding: 10px 10px
}
@media only screen and (min-width:768px) {
  .common .row tr td {
    padding: 20px 10px
  }
}
.common .row tr td.long {
  padding: 5px 10px;
  background-color: #eee
}
.common .row tr:first-child th {
  background-color: #daf1f2
}

/* スマホ時の余白を少し詰める（任意） */
@media (max-width: 768px) {
  .common .row th,
  .common .row td { padding-left: 8px; padding-right: 8px; }
}
/* 幅を固定しない autoクラス */
.common .row-auto tr>* {
  width: auto;
}
.common .row-auto {
  table-layout: auto;
}
/* 横スクロール用ラッパー */
.table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; /* iOSで慣性スクロール */
  width: 100%;
}

/* スクロールを促す最小横幅（必要に応じて調整） */
.table-scroll > table {
  min-width: 880px;
}

/* あると便利：ヘッダー固定（任意） */
.table-scroll > table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #daf1f2; /* 既存色に合わせる */
}

/* キーボード操作でフォーカス見えるように（任意） */
.table-scroll:focus {
  outline: 2px solid #8fd;
  outline-offset: 2px;
}


.common .column {
  margin: 30px auto;
  width: 100%;
  font-size: 14px;
  line-height: 1.4285714286
}
@media only screen and (min-width:768px) {
  .common .column {
    font-size: 16px
  }
}
.common .column tr {
  border-top: 1px solid #cdcdcd
}
.common .column tr:last-child {
  border-bottom: 1px solid #cdcdcd
}
.common .column tr td, .common .column tr th {
  vertical-align: middle
}
.common .column tr td:not(:last-child), .common .column tr th:not(:last-child) {
  border-right: 1px solid #cdcdcd;
  border-bottom: 1px solid #cdcdcd
}
.common .column tr th {
  text-align: center;
  font-weight: 500;
  background-color: #daf1f2;
  padding: 20px 20px
}
.common .column tr td {
  text-align-last: left;
  padding: 20px 20px
}
.common .column tr > * {
  width: 75%
}
.common .column tr > :first-child {
  width: 25%
}
.common .box {
  margin-top: 20px;
  padding: 20px 15px;
  background-color: rgba(218, 241, 242, .25);
  border-radius: 6px
}
.common .box > :first-child {
  margin-top: 0
}
.common_sub {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 20px;
  width: 100%;
  margin: 40px auto 60px;
  padding: 20px;
  font-size: 16px;
  font-weight: 500;
  border: 1px solid #eee;
  border-radius: 6px
}
@media only screen and (min-width:768px) {
  .common_sub {
    flex-direction: row;
    gap: 100px
  }
}
.common_sub-link {
  display: block
}
.common_sub-link:hover > span {
  color: #cdcdcd !important
}
.common_sub-link:hover > span::after {
  background-image: url(../../image/site/common/icon_arrow_mg.svg)
}
.common_sub-link:hover > span > span .off {
  opacity: 0
}
.common_sub-link:hover > span > span .on {
  opacity: 1
}
.common_sub-link > span {
  display: flex;
  align-items: center;
  transition: .4s
}
.common_sub-link > span::after {
  content: "";
  display: block;
  min-width: 9px;
  height: 12px;
  margin-top: 2px;
  margin-left: 10px;
  background-image: url(../../image/site/common/icon_arrow_l.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transform: rotate(90deg);
  transition: .4s
}
@media only screen and (min-width:768px) {
  .common_sub-link > span::after {
    width: 10px;
    height: 14px
  }
}
.common_sub-link > span > span {
  position: relative;
  display: block;
  width: 23px;
  margin-right: 10px
}
.common_sub-link > span > span > img {
  transition: .4s
}
.common_sub-link > span > span > img.on {
  opacity: 0
}
.common_sub-link > span > span > img:not(:first-child) {
  position: absolute;
  top: 0;
  left: 0
}
.common .indent {
  display: block;
  padding-left: 1em;
  text-indent: -1em
}
.common .link {
  color: #0e2f92;
  text-decoration: underline
}
.common .link:hover {
  text-decoration: none
}
.top-mv_inner {
  width: 100%;
  background-image: url(../../image/site/top/mv/main.jpg);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat
}
@media only screen and (min-width:768px) {
  .top-mv_inner {
    background-image: url(../../image/site/top/mv/main_pc.jpg);
    background-position: center center
  }
}
.top-mv_box {
  width: 200px;
  padding: 15px 0 30px 15px;
  background-color: rgba(34, 34, 34, .8);
  border-left: 10px solid #0e2f92
}
@media only screen and (min-width:768px) {
  .top-mv_box {
    width: 320px;
    padding: 20px 0 30px 50px;
    border-left: 20px solid #0e2f92
  }
}
.top-mv_logo {
  width: 150px
}
@media only screen and (min-width:768px) {
  .top-mv_logo {
    width: 170px
  }
}
.top-mv_h1 {
  width: 290px;
  margin-top: 60px
}
@media only screen and (min-width:768px) {
  .top-mv_h1 {
    width: 365px
  }
}
.top-mv_nav {
  margin-top: 60px
}
.top-mv_nav-item:not(:first-child) {
  margin-top: 20px
}
.top-mv_nav-item:nth-child(1) .top-mv_nav-link:hover:before {
  background-image: url(../../image/site/top/mv/icon_1_h.svg)
}
.top-mv_nav-item:nth-child(1) .top-mv_nav-link:before {
  background-image: url(../../image/site/top/mv/icon_1.svg)
}
.top-mv_nav-item:nth-child(2) .top-mv_nav-link:hover:before {
  background-image: url(../../image/site/top/mv/icon_2_h.svg)
}
.top-mv_nav-item:nth-child(2) .top-mv_nav-link:before {
  background-image: url(../../image/site/top/mv/icon_2.svg)
}
.top-mv_nav-item:nth-child(3) .top-mv_nav-link:hover:before {
  background-image: url(../../image/site/top/mv/icon_3_h.svg)
}
.top-mv_nav-item:nth-child(3) .top-mv_nav-link:before {
  background-image: url(../../image/site/top/mv/icon_3.svg)
}
.top-mv_nav-item:nth-child(4) .top-mv_nav-link:hover:before {
  background-image: url(../../image/site/top/mv/icon_4_h.svg)
}
.top-mv_nav-item:nth-child(4) .top-mv_nav-link:before {
  background-image: url(../../image/site/top/mv/icon_4.svg)
}
.top-mv_nav-item:nth-child(5) .top-mv_nav-link:hover:before {
  background-image: url(../../image/site/top/mv/icon_5_h.svg)
}
.top-mv_nav-item:nth-child(5) .top-mv_nav-link:before {
  background-image: url(../../image/site/top/mv/icon_5.svg)
}
.top-mv_nav-link {
  display: flex;
  align-items: center;
  font-size: 16px;
  font-weight: 500;
  color: #fff;
  transition: .4s
}
.top-mv_nav-link:hover {
  color: #daf1f2
}
@media only screen and (min-width:768px) {
  .top-mv_nav-link {
    font-size: 20px
  }
}
.top-mv_nav-link:before {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  margin-right: 10px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center
}
@media only screen and (min-width:768px) {
  .top-mv_nav-link:before {
    width: 30px;
    height: 30px;
    margin-right: 15px
  }
}
.top-mv_nav-link::after {
  content: "";
  display: block;
  width: 9px;
  height: 6px;
  margin-top: 4px;
  margin-left: 6px;
  background-image: url(../../image/site/top/mv/icon_arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center
}
@media only screen and (min-width:768px) {
  .top-mv_nav-link::after {
    width: 12px;
    height: 8px;
    margin-top: 5px;
    margin-left: 8px
  }
}
.top-news_inner {
  padding-top: 35px
}
.top-news_h2 {
  text-align: center
}
.top-news_h2 .sub {
  display: block;
  font-size: 14px
}
@media only screen and (min-width:768px) {
  .top-news_h2 .sub {
    font-size: 16px
  }
}
.top-news_h2 .main {
  display: block;
  margin-top: 10px;
  font-family: Outfit, sans-serif;
  font-weight: 500;
  font-size: 30px
}
@media only screen and (min-width:768px) {
  .top-news_h2 .main {
    margin-top: 10px;
    font-size: 45px
  }
}
.top-news_red {
  margin-top: 40px
}
.top-news_red > a {
  display: block;
  width: 100%;
  padding: 15px 10px;
  background-color: #cc3629;
  border-radius: 6px;
  color: #fff;
  border: 2px solid #cc3629
}
.top-news_red > a:hover {
  background-color: #fff;
  color: #cc3629
}
.top-news_red > a:hover .head.important::before {
  background-image: url(../../image/site/common/icon_exc_h.svg)
}
.top-news_red > a:hover .head.check::before {
  background-image: url(../../image/site/common/icon_check_h.svg)
}
.top-news_red > a:hover .head > span::before {
  background-color: #cc3629
}
@media only screen and (min-width:768px) {
  .top-news_red > a {
    display: flex;
    align-items: center;
    padding: 20px 40px
  }
}
.top-news_red > a:not(:first-child) {
  margin-top: 10px
}
.top-news_red > a .head {
  display: flex;
  align-items: center;
  font-size: 18px;
  font-weight: 500
}
@media only screen and (min-width:768px) {
  .top-news_red > a .head {
    min-width: 400px;
    font-size: 24px
  }
}
.top-news_red > a .head.important::before {
  background-image: url(../../image/site/common/icon_exc.svg)
}
.top-news_red > a .head.check::before {
  background-image: url(../../image/site/common/icon_check.svg)
}
.top-news_red > a .head::before {
  display: block;
  content: "";
  width: 20px;
  height: 20px;
  margin-right: 5px;
  background-size: cover
}
@media only screen and (min-width:768px) {
  .top-news_red > a .head::before {
    width: 25px;
    height: 25px;
    margin-top: 3px;
    margin-right: 10px
  }
}
.top-news_red > a .head > span {
  display: inline-flex;
  align-items: center;
  margin-left: 5px;
  font-family: Outfit, sans-serif;
  font-weight: 400;
  font-size: 12px
}
@media only screen and (min-width:768px) {
  .top-news_red > a .head > span {
    margin-left: 10px;
    font-size: 14px
  }
}
.top-news_red > a .head > span::before {
  display: block;
  content: "";
  width: 4px;
  height: 1px;
  margin-right: 5px;
  background-color: #fff
}
@media only screen and (min-width:768px) {
  .top-news_red > a .head > span::before {
    width: 6px;
    height: 1px;
    margin-right: 10px
  }
}
.top-news_red > a .text {
  width: 100%;
  margin-top: 8px;
  font-size: 14px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nomal
}
@media only screen and (min-width:768px) {
  .top-news_red > a .text {
    margin-top: 0;
    margin-left: 25px;
    font-size: 16px
  }
}
.top-news_red > a .text > span {
  flex: 1
}
.top-news_red > a .text::after {
  content: "";
  display: inline-block;
  min-width: 9px;
  height: 12px;
  margin-bottom: -1px;
  background-image: url(../../image/site/common/icon_arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center
}
@media only screen and (min-width:768px) {
  .top-news_red > a .text::after {
    width: 8px;
    height: 12px;
    margin-left: 5px
  }
}
.top-news_list {
  margin-top: 40px
}
.top-news_list > li {
  padding-bottom: 30px;
  border-bottom: 1px dashed #cdcdcd
}
.top-news_list > li:not(:first-child) {
  margin-top: 30px
}
.top-news_list a:hover .title {
  color: #0e2f92
}
@media only screen and (min-width:768px) {
  .top-news_list a {
    display: flex;
    align-items: center
  }
}
.top-news_list div {
  display: flex;
  align-items: center
}
.top-news_list .tag {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 130px;
  height: 30px;
  font-size: 14px;
  color: #222;
  background-color: #eee;
  border-radius: 6px
}
@media only screen and (min-width:768px) {
  .top-news_list .tag {
    width: 150px;
    height: 35px;
    font-size: 16px
  }
}
.top-news_list .date {
  margin-left: 10px;
  font-size: 14px;
  color: #222;
}
@media only screen and (min-width:768px) {
  .top-news_list .date {
    margin-left: 65px;
    font-size: 16px
  }
}
.top-news_list .title {
  margin-top: 10px;
  font-size: 14px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nomal;
  transition: .4s
}
@media only screen and (min-width:768px) {
  .top-news_list .title {
    margin-top: 0;
    margin-left: 30px;
    font-size: 16px
  }
}
.top-news_list .title::after {
  content: "";
  display: inline-block;
  min-width: 9px;
  height: 12px;
  margin-bottom: -1px;
  margin-left: 5px;
  background-image: url(../../image/site/common/icon_arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center
}
@media only screen and (min-width:768px) {
  .top-news_list .title::after {
    width: 8px;
    height: 12px;
    margin-left: 5px
  }
}
.header_inner {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  width: 100%;
  height: 70px;
  background-color: #fff;
  filter: drop-shadow(0 0 5px rgba(0, 0, 0, .25));
  transition: .4s
}
@media only screen and (min-width:768px) {
  .header_inner {
    top: 0;
    gap: 30px;
    height: 60px;
    transform: translateY(-100%)
  }
}
@media only screen and (min-width:1000px) {
  .header_inner {
    gap: 50px
  }
}
.header_inner.js-show {
  transform: none
}
.header_logo {
  display: none
}
@media only screen and (min-width:768px) {
  .header_logo {
    position: absolute;
    top: 50%;
    left: 70px;
    display: block;
    width: 170px;
    transform: translateY(-50%)
  }
}
.header_link {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  transition: .4s
}
@media only screen and (min-width:768px) {
  .header_link {
    font-size: 14px
  }
}
@media only screen and (min-width:1000px) {
  .header_link {
    font-size: 16px
  }
}
.header_link:hover {
  color: #0e2f92
}
.header_link.is-current {
  color: #0e2f92
}
.footer_inner {
  margin-top: 60px;
  margin-bottom: 70px;
  padding: 20px 0;
  text-align: center;
  background-color: #222
}
@media only screen and (min-width:768px) {
  .footer_inner {
    margin-bottom: 0;
    padding: 40px 0
  }
}
.footer_link {
  display: inline-block;
  font-size: 14px;
  line-height: 1.4285714286;
  color: #fff;
  text-decoration: underline
}
@media only screen and (min-width:768px) {
  .footer_link {
    font-size: 16px
  }
}
.footer_box {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 5px;
  font-size: 14px;
  line-height: 1.4285714286;
  color: #fff;
  text-decoration: underline
}
@media only screen and (min-width:768px) {
  .footer_box {
    font-size: 16px
  }
}
.footer_box > a {
  color: #fff
}
.footer_box > a:not(:first-child) {
  margin-left: 10px;
  padding-left: 10px;
  border-left: 1px solid #fff
}
.footer_copy {
  margin-top: 20px;
  font-size: 12px;
  color: #fff
}
@media only screen and (min-width:768px) {
  .footer_copy {
    font-size: 14px
  }
}

/* ===== Sticky footer（安全版） ===== */
/* 1) 全体を縦Flexにしてフッタを最下部へ */
html, body { height: 100%; }
body {
  min-height: 100dvh;              /* ビューポート基準 */
  min-height: -webkit-fill-available; /* iOS古め対策（あれば効く） */
  display: flex;
  flex-direction: column;
}

/* 2) メイン（またはラッパ）に伸縮を割り当て、末尾の余白は「padding」で確保 */
main, .page-content {
  flex: 1 0 auto;
  /* フッタ直前の見た目の余白（margin ではなく padding で折り畳み回避） */
  padding-bottom: clamp(48px, 8vw, 120px);
  padding-bottom: calc(clamp(48px, 8vw, 120px) + env(safe-area-inset-bottom, 0px));
}

/* 3) フッタは自重で下に来る。上の margin はゼロでもOK（見た目余白は(2)で確保） */
.footer_inner { 
  margin-top: 0; /* 既存でmarginがあるなら0推奨。保持したいなら触らなくても可 */
}

/* 4) 末尾セクションのmargin折り畳み対策（必要時のみ） */
.common_section:last-of-type {
  padding-bottom: 24px; /* 任意の小バッファ。重複しても(2)が勝つので安全 */
}

/* 5) ページ個別で増減したいときのユーティリティ */
.space-footer-sm { padding-bottom: 40px !important; }
.space-footer-md { padding-bottom: 80px !important; }
.space-footer-lg { padding-bottom: 120px !important; }
