::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:#000;
  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
}

.k-lightblue {
  color:#daf1f2
}

.k-red {
  color:#cc3629
}

.k-black {
  color:#222
}

.white {
  color:#fff
}

.k-gray {
  color:#eee
}

.k-middlegray {
  color:#cdcdcd
}

.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:1.4285714286
}

@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:1.4285714286
}

@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
}

.common_btn>a:hover small {
  color:#fff
}

.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
}

.common .row tr>* {
  width:37%
}

.common .row tr>:first-child {
  width:26%
}

.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
}

.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:nowrap
}

@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;
  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
}

@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:nowrap;
  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%);
    font-size:18px;

  }

}

.header_link {
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  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
  }

}

/* =========================================================
   Fukushima Lab current design overrides
   Keep base CSS above; this block is the single source of truth.
   Path rule: assets/css/share.css -> ../image/...
   ========================================================= */ :root {
   --color-bg: #fff;
   --color-surface: #fff;
   --color-surface-soft: #f7fafb;
   --color-main: #0e2f92;
   --color-blue: #daf1f2;
   --color-text: #3a3a3a;
   --color-heading: #222;
   --color-border: #e5edf0;
   --shadow-card: 0 14px 38px rgba(14, 47, 146, .06);
   --shadow-float: 0 18px 50px rgba(0, 0, 0, .08);

}

 html, body {
   color: var(--color-text) ;
   background: var(--color-bg) ;

}

 a {
   color: inherit;

}

 ::selection {
   color: #fff ;
   background: var(--color-main) ;

}

 .common_inner {
   max-width: 1160px ;
   background: transparent ;

}

 .common_section, .common_section:nth-of-type(even) {
   position: relative ;
   margin-top: 52px ;
   padding-top: 0 ;
   border-top: 0 ;
   background: transparent ;

}

 .common_section::before, .common_section::after, .common_section:nth-of-type(even)::before, .common_section:nth-of-type(even)::after {
   display: none ;
   content: none ;

}

 .top-news + .common_section {
   margin-top: 56px ;

}

 .common_box {
   display: block ;
   margin-bottom: 0 ;

}

 .common_h2 {
   width: 100% ;
   text-align: left ;
   text-align-last: left ;

}

 .common_h2 .sub {
   display: none ;

}

 .common_h2 .main {
   display: block ;
   margin-top: 0 ;
   color: var(--color-heading) ;
   font-size: 4.0rem ;
   line-height: 1.12 ;
   letter-spacing: .01em ;

}

 .common_wrapper {
   margin-top: 18px ;

}

 .common_item {
   padding: 28px 32px ;
   color: var(--color-text) ;
   background: var(--color-surface) ;
   border: 1px solid var(--color-border) ;
   border-radius: 18px ;
   box-shadow: var(--shadow-card) ;

}

 .common_item:not(:first-child) {
   margin-top: 18px ;

}

 .common_item > :first-child, .common_item > .common_text:first-child, .common_text:first-child, .common_h3 + .common_text {
   margin-top: 0 ;

}

 .common_h3, .common_h4, .common_h5, .common .link, .header_link:hover, .header_link.is-current, .top-news_list a:hover .title {
   color: var(--color-main) ;

}

 .common_h3 {
   display: block ;
   margin-top: 0 ;
   margin-bottom: 12px ;
   padding-top: 0 ;
   padding-bottom: 0 ;
   border-bottom: 0 ;
   font-size: 21px ;
   line-height: 1.45 ;

}

 .common_h4 {
   border-left-color: var(--color-main) ;

}

 .common_text, .common_dotList, .common_numList, .common_pan, .top-news_list .date, .top-news_list .title, .top-news_red > a .text {
   color: var(--color-text) ;

}

 .common_text {
   font-size: 16px ;
   line-height: 1.85 ;

}

 .common_dotList > li::before, .common_exam > p::before {
   color: var(--color-main) ;
   background: var(--color-main) ;

}

 .common_btn > a, .presentation-filter button, .archive-filter button, .blog-filter button {
   color: var(--color-main) ;
   background: #fff ;
   border-color: var(--color-main) ;
   box-shadow: 0 8px 18px rgba(14, 47, 146, .08) ;

}

 .common_btn > a:hover, .presentation-filter button.is-active, .archive-filter button.is-active, .blog-filter button.is-active, .presentation-filter button:hover, .archive-filter button:hover, .blog-filter button:hover {
   color: #fff ;
   background: var(--color-main) ;
   border-color: var(--color-main) ;

}

 .common_tag, .common_date, .top-news_list .tag, .presentation-tag, .archive-tag, .blog-tag {
   color: var(--color-main) ;
   background: rgba(218, 241, 242, .75) ;
   border-color: rgba(14, 47, 146, .12) ;

}

 .common_exam, .common .box, .common_sub {
   background: rgba(218, 241, 242, .22) ;
   border-color: var(--color-border) ;

}

 .top-mv_inner {
   position: relative ;
   display: flex ;
   align-items: center ;
   min-height: 600px ;
   padding: 86px 20px 92px ;
   background-image: url("../image/site/top/mv/main.jpg") ;
   background-size: cover ;
   background-position: center center ;
   background-repeat: no-repeat ;

}

 .top-mv_inner::before {
   background: transparent ;

}

 .top-mv_box {
   position: relative ;
   z-index: 1 ;
   width: min(100%, 520px) ;
   margin: 0 auto 0 max(20px, calc((100vw - 1160px) / 2)) ;
   padding: 34px 34px 32px ;
   background: rgba(34, 34, 34, .46) ;
   border: 1px solid rgba(255, 255, 255, .18) ;
   border-left: none ;
   border-radius: 24px ;
   box-shadow: 0 12px 32px rgba(0, 0, 0, .14) ;
   backdrop-filter: blur(10px) saturate(130%) ;
   -webkit-backdrop-filter: blur(10px) saturate(130%) ;

}

 .top-mv_logo, .top-mv_h1 {
   width: auto ;
   color: #fff ;

}

 .top-mv_logo img, .top-mv_h1 img {
   display: block ;
   width: 80% ;
   height: auto ;

}

 .top-mv_logo {
   width: min(320px) ;

}

 .top-mv_h1 {
   width: min(100%, 388px) ;
   margin-top: 22px ;

}

 .top-mv_box .common_text {
   margin-top: 20px ;
   color: rgba(255, 255, 255, .92) ;
   line-height: 1.85 ;
   text-shadow: 0 1px 8px rgba(0, 0, 0, .18) ;

}

 .top-mv_nav {
   display: flex ;
   flex-wrap: wrap ;
   gap: 10px ;
   margin-top: 22px ;

}

 .top-mv_nav-item:not(:first-child) {
   margin-top: 0 ;

}

 .top-mv_nav-link {
   min-height: 40px ;
   padding: 0 16px ;
   color: var(--color-main) ;
   background: rgba(255, 255, 255, .94) ;
   border: 1px solid rgba(14, 47, 146, .18) ;
   border-radius: 999px ;
   box-shadow: 0 8px 18px rgba(0, 0, 0, .10) ;
   font-size: 15px ;

}

 .top-mv_nav-link:hover {
   color: #fff ;
   background: var(--color-main) ;

}

 .top-mv_nav-link::before, .top-mv_nav-link::after {
   display: none ;

}

 .top-news {
   position: relative ;
   z-index: 2 ;
   margin-top: -42px ;
   background: transparent ;

}

 .top-news_inner {
   padding: 28px 32px ;
   background: #fff ;
   border: 1px solid var(--color-border) ;
   border-radius: 22px ;
   box-shadow: var(--shadow-float) ;

}

 .top-news_h2 .sub {
   display: block ;
   color: var(--color-main) ;
   font-family: Outfit, sans-serif ;
   letter-spacing: .08em ;

}

 .top-news_h2 .main {
   margin-top: 8px ;
   color: var(--color-heading) ;
   font-family: inherit ;
   font-size: 3.2rem ;
   line-height: 1.15 ;
   letter-spacing: .05em ;

}

 .top-news_list {
   margin-top: 24px ;

}

 .top-news_list > li {
   padding: 17px 0 ;
   border-bottom: 1px solid var(--color-border) ;

}

 .top-news_list > li:not(:first-child) {
   margin-top: 0 ;

}

 .presentation-card, .archive-card, .blog-card {
   background: #fff ;
   border: 1px solid var(--color-border) ;
   box-shadow: var(--shadow-card) ;

}

 #research .common_wrapper {
   display: grid ;
   grid-template-columns: 1fr ;
   gap: 28px ;
   align-items: stretch ;
   margin-top: 22px ;

}

 #research .common_item, #research .common_item:not(:first-child) {
   display: flex ;
   flex-direction: column ;
   align-self: stretch ;
   justify-content: flex-start ;
   width: 100% ;
   height: 100% ;
   min-height: 100% ;
   margin-top: 0 ;
   padding: 28px ;

}

 #research .common_item::before {
   display: block ;
   content: "" ;
   width: 34px ;
   height: 3px ;
   margin-bottom: 18px ;
   background: var(--color-main) ;
   border-radius: 999px ;

}

 #research .common_h3 {
   margin-bottom: 22px ;

}

 #research .common_text {
   flex: 1 1 auto ;

}

 #students .common_item {
   background: linear-gradient(135deg, #fff, rgba(218, 241, 242, .22)) ;

}

 #members .common_item, #publications .common_item, #contact .common_item {
   padding: 28px 32px ;

}

 #publications {
   margin-top: 52px ;

}

 .header_inner {
   background: #fff ;
   box-shadow: 0 10px 26px rgba(0, 0, 0, .08) ;
   filter: none ;

}

 .footer_inner {
   margin-top: 84px ;
   background: #222 ;

}

 .footer_link, .footer_box, .footer_box > a, .footer_copy {
   color: #fff ;

}

 @media only screen and (min-width: 768px) {
   .top-mv_inner {
     min-height: 620px ;
     padding: 88px 20px 98px ;
     background-image: url("../image/site/top/mv/main_pc.jpg") ;
     background-position: center center ;

  }

 .common_h2 .main {
     font-size: 4.8rem ;
     line-height: 1.08 ;

  }

 .top-news_h2 .main {
     font-size: 4.2rem ;

  }

 #research .common_wrapper {
     grid-template-columns: repeat(3, minmax(0, 1fr)) ;
     gap: 28px ;

  }

 #research .common_item, #research .common_item:not(:first-child) {
     min-height: 0 ;

  }

}

 @media only screen and (max-width: 767px) {
   .common_inner {
     padding: 0 18px ;

  }

 .common_section, .common_section:nth-of-type(even) {
     margin-top: 42px ;
     padding-top: 26px ;

  }

 .top-news + .common_section {
     margin-top: 46px ;

  }

 .common_h2 .main {
     font-size: 3.0rem ;

  }

 .common_wrapper {
     margin-top: 16px ;

  }

 .common_item, #members .common_item, #publications .common_item, #contact .common_item {
     padding: 23px 20px ;
     border-radius: 16px ;

  }

 .common_text {
     font-size: 14px ;
     line-height: 1.8 ;

  }

 .top-mv_inner {
     align-items: flex-end ;
     min-height: 545px ;
     padding: 50px 18px 82px ;
     background-position: center center ;

  }

 .top-mv_inner::before {
     background: transparent ;

  }

 .top-mv_box {
     width: 100% ;
     margin: 0 auto ;
     padding: 23px 20px 22px ;
     background: rgba(34, 34, 34, .52) ;
     border-radius: 18px ;

  }

 .top-mv_logo {
     width: min(100%, 190px) ;

  }

 .top-mv_h1 {
     width: min(100%, 330px) ;
     margin-top: 18px ;

  }

 .top-mv_box .common_text {
     margin-top: 18px ;
     font-size: 14px ;
     line-height: 1.75 ;

  }

 .top-mv_nav {
     display: block ;
     margin-top: 20px ;

  }

 .top-mv_nav-item:not(:first-child) {
     margin-top: 12px ;

  }

 .top-mv_nav-link {
     justify-content: center ;
     width: 100% ;

  }

 .top-news {
     margin-top: -46px ;

  }

 .top-news_inner {
     padding: 24px 20px ;
     border-radius: 18px ;

  }

}

/* students page */
.students-page {
  background:
    radial-gradient(circle at 10% 0%, rgba(218, 241, 242, .55), transparent 32%),
    linear-gradient(180deg, #fff 0%, rgba(248, 242, 231, .36) 100%);
}

.student-hero {
  margin-top: 34px;
  padding: 42px 28px;
  background: rgba(255, 255, 255, .86);
  border: 1px solid var(--color-border);
  border-radius: 28px;
  box-shadow: var(--shadow-card);
}

.student-hero_label,
.student-section_label {
  margin: 0;
  color: var(--color-main);
  font-family: Outfit, sans-serif;
  font-size: 14px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.student-hero_title {
  margin-top: 10px;
  color: var(--color-heading);
  font-size: 42px;
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: .02em;
}

.student-hero_body {
  max-width: 920px;
  margin-top: 26px;
}

.student-hero_body p,
.student-card p {
  margin-top: 1.15em;
  color: var(--color-text);
  font-size: 16px;
  line-height: 2.05;
}

.student-hero_body p:first-child,
.student-card p:first-child {
  margin-top: 0;
}

.student-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.student-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 15px;
  color: var(--color-main);
  font-size: 14px;
  line-height: 1.4;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  box-shadow: 0 8px 20px rgba(17, 66, 111, .06);
}

.student-nav a:hover {
  background: rgba(218, 241, 242, .35);
}

.student-section {
  scroll-margin-top: 110px;
  margin-top: 56px;
}

.student-section_head {
  display: grid;
  gap: 8px;
  margin-bottom: 18px;
}

.student-section_head h2 {
  color: var(--color-heading);
  font-size: 32px;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: .01em;
}

.student-card {
  padding: 30px 34px;
  background: rgba(255, 255, 255, .9);
  border: 1px solid var(--color-border);
  border-radius: 22px;
  box-shadow: var(--shadow-card);
}

.student-section_contact .student-card {
  background: linear-gradient(135deg, #fff, rgba(218, 241, 242, .28));
}

.student-contact_link {
  margin-top: 24px !important;
}

.student-contact_link a,
.back_to_top a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 20px;
  color: #fff;
  font-size: 15px;
  background: var(--color-main);
  border-radius: 999px;
}

.back_to_top {
  margin-top: 56px;
  text-align: center;
}

@media only screen and (min-width: 768px) {
  .student-hero {
    padding: 60px 64px;
  }

  .student-hero_title {
    font-size: 64px;
  }

  .student-hero_body p,
  .student-card p {
    font-size: 17px;
  }

  .student-section {
    margin-top: 72px;
  }

  .student-section_head h2 {
    font-size: 40px;
  }

  .student-card {
    padding: 42px 52px;
  }
}

@media only screen and (max-width: 768px) {
  .student-hero {
    padding: 32px 22px;
    border-radius: 22px;
  }

  .student-hero_title {
    font-size: 38px;
  }

  .student-section_head h2 {
    font-size: 28px;
  }

  .student-card {
    padding: 26px 22px;
  }

  .student-nav a {
    width: calc(50% - 5px);
    justify-content: center;
    text-align: center;
  }
}
