@charset "UTF-8";

/* 共通 */

body{
font-family: 'Zen Kaku Gothic New' , 'Yu Gothic' , sans-serif;
color:#464344;
margin:0;
padding:0;
}

main#main_tomas{
display:block;
margin:0;
padding:0;
}



@media screen and (max-width:767px){
  body { overflow-x: clip; }
  html { overscroll-behavior-x: none; }
main#main_tomas{
max-width:100vw;
overflow:hidden;"
}
}



/* MVスライダー */

#top-slider {
  width: 100%;
  overflow: hidden;
  position: relative;
  background: #fff;
  padding: 38px 0 20px;
  opacity: 0;
  transition: opacity 0.3s ease;
}

#top-slider hr{
visibility:hidden;
height:0;
margin:0;
}

@media screen and (max-width: 1023px) and (min-width: 768px) {
  #top-slider { 
    margin-top: 128px !important;
    padding-top: 32px;
    padding-bottom: 26px;
  }
}

#top-slider ul {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  align-items: center;
  justify-content: flex-start;
  width: max-content;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  will-change: transform;
}

#top-slider li {
  flex-shrink: 0;
  width: 1060px;
  height: 520px;
  margin: 0 30px;
  border-radius: 16px;
  overflow: hidden;
  opacity: 0;
  transition: opacity 0.6s ease, margin 0.6s ease;
}

#top-slider li img {
  width: 100%;
  height: 100%;
  object-fit: fill !important;
  display: block;
  transform: scale(0.92);
  transition: transform 0.6s ease;
  will-change: transform;
  border-radius: 16px;
}

#top-slider li a img{
  transition: opacity 0.4s ease!important;
}
#top-slider li.is-active a img{
  transition: opacity 0.4s ease!important;
}
#top-slider li a:hover img{
 opacity:0.8;
}

#top-slider li.is-active,
#top-slider li.is-active + li,
#top-slider li:has(+ li.is-active) {
  opacity: 0.4;
}

@media screen and (min-width: 1024px) {

#top-slider li {
  width: 1060px;
  margin: 0 -2px !important;
  flex-shrink: 0;
  transition: transform 0.6s ease, opacity 0.6s ease;
  will-change: transform;
  opacity: 0.5;
  position: relative;
}

#top-slider li.is-active {
  opacity: 1;
}
}

#top-slider li.is-active img { transform: scale(1); }

@media screen and (max-width: 1023px) and (min-width: 768px) {

  #top-slider li {
    width: calc(100vw - 80px);
    height: calc((100vw - 80px) * (1040 / 2120));
    margin: 4px 25px 0 25px;
  }

  #top-slider{
container-type: inline-size;
  container-name: base_area;
}
@container base_area (min-width: 0px) {
  #top-slider li {
    width: calc(100cqw - 80px);
    aspect-ratio: 2120 / 1040;
    height: auto;
    margin: 4px 20px 0 20px;
  }
}

  #top-slider li.is-active { opacity: 1; }
  #top-slider li:not(.is-active) { opacity: 0; }
}


@media screen and (max-width: 767px) {
  #top-slider { padding: 0; margin-top: 86px; }
  #top-slider li {
    width: 100vw !important;
    height: 100vw !important;
    margin: 0 !important;
    border-radius: 0;
    opacity: 0;
    overflow: hidden;
    position: relative;
    pointer-events: none;
  }
  #top-slider li.is-active {
 opacity: 1;
 pointer-events: auto;
  }

#top-slider li {
  position: relative;
  z-index: 1;
}

#top-slider li.is-active {
  z-index: 999;
}


  #top-slider a {
    -webkit-tap-highlight-color: transparent;
    user-select: none;
    -webkit-user-drag: none;
    display:block;
    width:100%;
    height:100%;
  }

  #top-slider li img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transform: none !important;
    border-radius: 0;
    pointer-events: none;
  }

  .mv-pc { display: none !important; }
  .mv-sp { display: block !important; }
}


.dot-container {
  position: absolute;
  left: 50%;
  bottom: 52px;
  transform: translateX(402px);
  display: flex;
  gap: 20px;
  z-index: 100;
}

@media screen and (max-width: 1023px) {
  .dot-container {
    left: auto;
    right: 80px;
    bottom: 60px;
    transform: none;
  }
}

@media screen and (max-width: 767px) {
  .dot-container {
display:none;
  }
}

.dot-container .dot {
  width: 16px;
  height: 16px;
  box-sizing: border-box;
  background: transparent;
  border: 2px solid #fff;
  border-radius: 50%;
  cursor: pointer;
}

.dot-container .dot.is-current {
  background:#0B69B7;
}
.no-transition, .no-transition * { transition: none !important; }



/* キャッチコピー */

main #top-catch{
max-width:1060px;
margin:40px auto 0 auto;
padding:0;
text-align:center;
}

main #top-catch h1{
margin:0;
padding:0;
font-size:24px;
font-weight:700;
line-height:1.6;
letter-spacing:0.08em;
color:#464344;
}

main #top-catch h1 > span{
display:inline-block;
}

main #top-catch h1 .catch-brand{
font-weight:900;
color:#0B69B7;
}

@media(max-width:1023px){

main #top-catch{
max-width:none;
margin:0 40px;
}

}

@media(max-width:767px){

main #top-catch{
width:89.4vw;
margin:10.4vw auto 0 auto;
}

main #top-catch h1{
font-size:7.4vw;
}

}



/* 校舎のご案内 */

main #top-classroom-info{
max-width:1060px;
margin:64px auto 0 auto;
padding:0;
}

main #top-classroom-info ul.classroom-list{
list-style:none;
margin:0;
padding:0;
display:flex;
flex-wrap:wrap;
gap:41px;
}

main #top-classroom-info ul.classroom-list li a{
position:relative;
display:block;
width:326px;
height:288px;
background:#fff;
border-radius:8px;
box-sizing:border-box;
overflow:hidden;
text-decoration:none;
transition:opacity 0.4s ease;
}

main #top-classroom-info ul.classroom-list li a:hover{
opacity:0.7;
}

main #top-classroom-info ul.classroom-list li a::after{
content:"";
position:absolute;
top:0;
right:0;
bottom:0;
left:0;
border:2px solid rgba(13,99,170,0.12);
border-radius:8px;
pointer-events:none;
}

main #top-classroom-info .classroom-image{
overflow:hidden;
-webkit-mask-image:-webkit-radial-gradient(white, black);
}

main #top-classroom-info ul.classroom-list li a img{
display:block;
width:100%;
height:194px;
object-fit:cover;
transition:transform 0.5s ease;
will-change:transform;
}

main #top-classroom-info ul.classroom-list li a:hover img{
transform:scale(1.08);
}

main #top-classroom-info ul.classroom-list li a h3{
position:relative;
margin:19px 0 0 22px;
padding:0 0 0 55px;
font-size:24px;
font-weight:700;
line-height:1.2;
letter-spacing:0.08em;
color:#464344;
}

main #top-classroom-info ul.classroom-list li a h3::before{
content:"";
position:absolute;
left:2px;
top:6px;
width:37px;
height:40px;
background-image:url("../../assets/img/common/icon_logomark.svg");
background-position:center;
background-size:contain;
background-repeat:no-repeat;
}

main #top-classroom-info ul.classroom-list li a h3 span.school-brand{
display:block;
margin-bottom:3px;
font-size:16px;
letter-spacing:0.09em;
color:#0B69B7;
}

main #top-classroom-info ul.classroom-list li a h3 span.school-brand span{
color:#464344;
}


/* 768-1023 */

@media(max-width:1023px){

main #top-classroom-info{
max-width:none;
margin:32px 40px 0 40px;
}

main #top-classroom-info ul.classroom-list{
max-width:602px;
margin:0 auto;
gap:24px;
}

main #top-classroom-info ul.classroom-list li a{
width:289px;
height:269px;
}

main #top-classroom-info ul.classroom-list li a img{
height:172px;
}

main #top-classroom-info ul.classroom-list li a h3{
margin:23px 0 0 24px;
}

}


@media(max-width:767px){

main #top-classroom-info{
width:89.4vw;
margin:7.9vw auto 0 auto;
}

main #top-classroom-info ul.classroom-list{
gap:4.5vw 0;
justify-content:space-between;
}

main #top-classroom-info ul.classroom-list li{
width:calc(50% - 2.25vw);
}

main #top-classroom-info ul.classroom-list li a{
width:100%;
height:44.3vw;
}

main #top-classroom-info ul.classroom-list li a img{
height:25.6vw;
}

main #top-classroom-info ul.classroom-list li a h3{
margin:2.9vw 0 0 5.3vw;
padding:0;
font-size:4.8vw;
}

main #top-classroom-info ul.classroom-list li a h3::before{
display:none;
}

main #top-classroom-info ul.classroom-list li a h3 span.school-brand{
margin-bottom:0.9vw;
font-size:3.7vw;
letter-spacing:0.08em;
}

}


/* PICK UPイベント */

main #top-pickup-info{
max-width:1060px;
margin:80px auto 0 auto;
padding:0;
}

main #top-pickup-info h2{
font-size:32px;
font-weight:700;
line-height:1.4em;
letter-spacing:0.1em;
text-align:center;
color:#464344;
padding:0;
margin:0;
}

main #top-pickup-info h2 a{
display:inline-block;
color:#464344;
text-decoration:none;
transition:opacity 0.2s ease;
}

main #top-pickup-info h2 a::before{
display:block;
height:48px;
margin-bottom:16px;
content:"";
background-image:url("../../assets/img/common/icon_check.svg");
background-position:center;
background-size:contain;
background-repeat:no-repeat;
}

main #top-pickup-info h2 a:hover{
opacity:0.6;
}

main #top-pickup-info .banner-100{
position:relative;
margin:40px auto 0 auto;
line-height:0;
}

main #top-pickup-info .banner-100 + .banner-100{
margin-top:32px;
}

main #top-pickup-info .banner-100::after{
content:"";
position:absolute;
top:0;
right:0;
bottom:0;
left:0;
border:2px solid rgba(70,67,68,0.08);
border-radius:8px;
pointer-events:none;
}

main #top-pickup-info .banner-100 a{
display:block;
transition:opacity 0.4s ease;
}

main #top-pickup-info .banner-100 a:hover{
opacity:0.7;
}

main #top-pickup-info .banner-100 img{
width:100%;
border-radius:8px;
vertical-align:top;
}


/* 768-1023 */

@media(max-width:1023px){

main #top-pickup-info{
max-width:none;
margin:64px 40px 0 40px;
}

main #top-pickup-info h2{
font-size:28px;
}

main #top-pickup-info .banner-100{
margin-top:32px;
}

main #top-pickup-info .banner-100 + .banner-100{
margin-top:calc(24px + (100vw - 768px) * 0.03125);
}

}


@media(max-width:767px){

main #top-pickup-info{
width:89.4vw;
margin:12.8vw auto 0 auto;
}

main #top-pickup-info h2{
font-size:6.4vw;
}

main #top-pickup-info h2 a::before{
height:10.1vw;
margin-bottom:2.1vw;
}

main #top-pickup-info .banner-100{
margin-top:6.4vw;
}

main #top-pickup-info .banner-100 + .banner-100{
margin-top:5.3vw;
}

}


/* なぜ医学部に強いのか */

main #top-feature{
margin-top:80px;
padding:80px 0;
background:#DFD8CE;
}

main #top-feature h2{
max-width:1060px;
margin:0 auto;
font-size:40px;
font-weight:700;
line-height:1.4em;
letter-spacing:0.1em;
text-align:center;
color:#464344;
}

main #top-feature h2 .medic-blue{
color:#0B69B7;
}

main #top-feature h2 strong{
color:#B80022;
}

main #top-feature .feature-lead{
max-width:1060px;
margin:24px auto 0 auto;
font-size:18px;
font-weight:500;
line-height:1.8em;
letter-spacing:0.05em;
text-align:center;
color:#464344;
}

main #top-feature ol.feature-list{
list-style:none;
max-width:1060px;
margin:54px auto 0 auto;
padding:0;
}

main #top-feature ol.feature-list li{
display:flex;
gap:48px;
align-items:flex-start;
}

main #top-feature ol.feature-list li + li{
margin-top:55px;
}

main #top-feature ol.feature-list li:nth-child(even){
flex-direction:row-reverse;
}

main #top-feature ol.feature-list li img{
width:510px;
border-radius:8px;
vertical-align:top;
}

main #top-feature .feature-txt{
width:502px;
}

main #top-feature .label-item.label-item_sp{
display:none;
}

main #top-feature .label-item{
display:inline-flex;
align-items:center;
gap:8px;
padding:12px 40px;
background:#fff;
border-radius:30px;
font-size:20px;
font-weight:700;
line-height:1em;
letter-spacing:0.1em;
color:#AF9D85;
}

main #top-feature .label-item span{
width:36px;
height:36px;
border-radius:50%;
background:#B80022;
font-size:20px;
line-height:36px;
letter-spacing:0;
text-align:center;
color:#fff;
margin-left:-.1em;
}

main #top-feature .feature-txt h3{
margin:32px 0 0 0;
font-size:28px;
font-weight:700;
line-height:1.6em;
letter-spacing:0.12em;
color:#464344;
}

main #top-feature .feature-txt h3 strong{
color:#B80022;
}

main #top-feature .feature-txt h3 .ta-sub{
font-size:20px;
letter-spacing:0.08em;
}

main #top-feature .feature-txt p{
margin:16px 0 0 0;
font-size:16px;
font-weight:500;
line-height:2em;
letter-spacing:0.05em;
color:#464344;
}

main #top-feature .top-youtube{
max-width:1060px;
margin:79px auto 0 auto;
padding:40px;
background:#fff;
border-radius:8px;
box-sizing:border-box;
}

main #top-feature .top-youtube iframe{
display:block;
}


/* 768-1023 */

@media(max-width:1023px){

main #top-feature{
margin-top:64px;
padding:64px 0;
}

main #top-feature h2{
max-width:none;
margin:0 40px;
font-size:32px;
line-height:1.6em;
letter-spacing:0.06em;
}

main #top-feature h2 br.visible-xs{
display:inline;
}

main #top-feature .feature-lead{
max-width:none;
margin:24px 40px 0 40px;
}

main #top-feature ol.feature-list{
max-width:none;
margin:45px 40px 0 40px;
}

main #top-feature ol.feature-list li{
gap:40px;
}

main #top-feature ol.feature-list li img{
width:calc(330px + (100vw - 768px) * 0.4921875);
}

main #top-feature .feature-txt{
width:calc(318px + (100vw - 768px) * 0.50390625);
}

main #top-feature .feature-txt h3{
font-size:24px;
}

main #top-feature .feature-txt h3 .ta-sub{
font-size:16px;
}

main #top-feature .top-youtube{
max-width:none;
margin:64px 40px 0 40px;
}

}


@media(max-width:767px){

main #top-feature{
margin-top:12.9vw;
padding:8.8vw 0 12.8vw 0;
}

main #top-feature h2{
width:84vw;
margin:0 auto;
font-size:7.2vw;
line-height:1.52em;
letter-spacing:0.06em;
}

main #top-feature .feature-lead{
width:84vw;
margin:4.2vw auto 0 auto;
font-size:4.27vw;
line-height:1.63em;
letter-spacing:0.06em;
text-align:left;
}

main #top-feature ol.feature-list{
width:84vw;
margin:8.5vw auto 0 auto;
}

main #top-feature ol.feature-list li{
display:block;
text-align:center;
}

main #top-feature ol.feature-list li + li{
margin-top:6.4vw;
}

main #top-feature .label-item.label-item_sp{
display:inline-flex;
}

main #top-feature .feature-txt .label-item{
display:none;
}

main #top-feature ol.feature-list li img{
width:100%;
margin-top:5.3vw;
}

main #top-feature .feature-txt{
width:auto;
margin-top:5.3vw;
text-align:left;
}

main #top-feature .label-item{
padding:2.6vw 8.5vw;
gap:2.1vw;
border-radius:8vw;
font-size:5.3vw;
}

main #top-feature .label-item span{
width:8.5vw;
height:8.5vw;
font-size:4.2vw;
line-height:8.5vw;
}

main #top-feature .feature-txt h3{
margin:0;
font-size:6.4vw;
line-height:1.5em;
}

main #top-feature .feature-txt h3 .ta-sub{
font-size:4.2vw;
}

main #top-feature .feature-txt p{
margin:3.2vw 0 0 0;
font-size:4.27vw;
line-height:1.63em;
letter-spacing:0.06em;
}

main #top-feature .top-youtube{
max-width:none;
width:84vw;
margin:8.5vw auto 0 auto;
padding:4vw;
box-sizing:border-box;
}

}



/* よく寄せられるご質問 */

main #top-faq{
max-width:1060px;
margin:80px auto 0 auto;
padding:0;
}

main #top-faq h2{
font-size:32px;
font-weight:700;
line-height:1.4em;
letter-spacing:0.08em;
text-align:center;
color:#464344;
padding:0;
margin:0;
}

main #top-faq h2 a{
display:inline-block;
color:#464344;
text-decoration:none;
transition:opacity 0.2s ease;
}

main #top-faq h2 a::before{
display:block;
height:52px;
margin:-2px auto 14px auto;
content:"";
background-image:url("../../assets/img/common/qa_icon.svg");
background-position:center;
background-size:contain;
background-repeat:no-repeat;
}

main #top-faq h2 a:hover{
opacity:0.6;
}

main #top-faq .faq-list{
margin-top:42px;
}

main #top-faq details{
display:block !important;
background:#fff;
border:2px solid rgba(70,67,68,0.08);
border-radius:8px;
margin-bottom:23px;
padding:0;
}

main #top-faq details::details-content{
display:block !important;
content-visibility:visible !important;
}

main #top-faq details p{
max-height:0;
margin:0;
padding:0 24px 0 80px;
opacity:0;
font-size:14px;
font-weight:500;
line-height:1.6em;
letter-spacing:0.04em;
color:#464344;
overflow:hidden;
transition:max-height 1s ease, opacity 1s ease;
background-image:url("../../assets/img/common/icon_A.svg");
background-repeat:no-repeat;
background-position:22px 20px;
background-size:32px 32px;
border-top:1px solid rgba(70,67,68,0.16);
}

main #top-faq details[open] p{
max-height:240px;
opacity:1;
}

main #top-faq details p::before{
display:block;
content:"";
height:20px;
}

main #top-faq details p::after{
display:block;
content:"";
height:20px;
}

main #top-faq details summary{
display:flex;
align-items:center;
box-sizing:border-box;
min-height:60px;
font-size:16px;
font-weight:700;
line-height:1.4em;
letter-spacing:0.08em;
color:#464344;
margin:0;
padding:10px 56px 10px 80px;
list-style:none;
position:relative;
cursor:pointer;
-webkit-tap-highlight-color:transparent;
background-image:url("../../assets/img/common/icon_Q.svg");
background-repeat:no-repeat;
background-position:22px 14px;
background-size:32px 32px;
}

main #top-faq details summary::-webkit-details-marker{
display:none;
}

main #top-faq details summary::after{
display:inline-block;
font-size:16px;
content:"";
width:1em;
height:1em;
background-image:linear-gradient(#464344,#464344),linear-gradient(#464344,#464344);
background-repeat:no-repeat;
background-position:center;
background-size:100% 0.125em, 0.125em 100%;
transition:background-size 0.1s ease-in-out;
position:absolute;
right:1.5em;
top:calc(50% - 0.5em);
}

main #top-faq details[open] summary::after{
background-size:100% 0.125em, 0.125em 0;
}

main #top-faq .common-link-button{
margin-top:40px;
}

main #top-faq .common-link-button > a{
width:auto;
padding-right:60px;
}


/* 768-1023 */

@media(max-width:1023px){

main #top-faq{
max-width:none;
margin:64px 40px 0 40px;
}

main #top-faq h2{
font-size:28px;
}

main #top-faq .faq-list{
margin-top:32px;
}

main #top-faq details{
margin-bottom:24px;
}

main #top-faq details p{
padding:0 22px 0 78px;
background-position:22px 24px;
}

main #top-faq details[open] p{
max-height:300px;
}

main #top-faq details p::before{
height:24px;
}

main #top-faq details p::after{
height:21px;
}

main #top-faq .common-link-button{
display:none;
}

}


@media(max-width:767px){

main #top-faq{
width:89.4vw;
margin:13.4vw auto 0 auto;
}

main #top-faq h2{
font-size:6.4vw;
}

main #top-faq h2 a::before{
height:10.1vw;
margin-bottom:2.1vw;
}

main #top-faq .faq-list{
margin-top:6.6vw;
}

main #top-faq details{
margin-bottom:4.2vw;
}

main #top-faq details summary{
min-height:19.1vw;
padding:0.7em 12.8vw 0.5em 17vw;
font-size:4.27vw;
line-height:1.4em;
background-position:4.3vw 50%;
background-size:8.5vw 8.5vw;
}

main #top-faq details p{
padding:0 6.1vw;
font-size:3.73vw;
line-height: 1.578;
background-position:50% 4.1vw;
background-size:8.5vw 8.5vw;
transition:max-height 1s ease, opacity 1.2s ease, padding 0.7s ease;
}

main #top-faq details[open] p{
max-height:480px;
}

main #top-faq details p::before{
height:16vw;
}

main #top-faq details p::after{
height:5.6vw;
}

main #top-faq .common-link-button{
margin-top:6.4vw;
}

main #top-faq .common-link-button > a{
padding-right:2em;
}

}



/* 医学部入試ガイダンス */

main #top-guidance{
margin-top:80px;
padding:80px 0;
background:#ECF3F9;
}

main #top-guidance h2{
max-width:1060px;
margin:0 auto;
font-size:40px;
font-weight:700;
line-height:1.5em;
letter-spacing:0.1em;
text-align:center;
color:#464344;
}

main #top-guidance h2 strong{
color:#0B69B7;
}

main #top-guidance .guidance-lead{
max-width:1060px;
margin:24px auto 0 auto;
font-size:18px;
font-weight:500;
line-height:1.77em;
letter-spacing:0.05em;
text-align:center;
color:#464344;
}

main #top-guidance .guidance-tab{
display:flex;
gap:16px;
max-width:1060px;
margin:54px auto 0 auto;
}

main #top-guidance .guidance-tab-button{
min-width:95px;
height:46px;
padding:10px 22px 12px 27px;
box-sizing:border-box;
background:#fff;
border:none;
border-radius:30px;
font-family:'Zen Kaku Gothic New' , 'Yu Gothic' , sans-serif;
font-size:22px;
font-weight:700;
line-height:1em;
letter-spacing:0.12em;
text-align:center;
color:#0B69B7;
cursor:pointer;
transition:background-color 0.3s ease, color 0.3s ease, opacity 0.2s ease;
}

main #top-guidance .guidance-tab-button span{
font-size:20px;
}

main #top-guidance .guidance-tab-button:hover{
opacity:0.7;
}

main #top-guidance .guidance-tab-button.is-active{
background:#0B69B7;
color:#fff;
}

main #top-guidance .guidance-panel{
display:none;
max-width:1060px;
margin:24px auto 0 auto;
padding:41px 40px 40px;
background:#fff;
border-radius:8px;
box-sizing:border-box;
}

main #top-guidance .guidance-panel.is-show{
display:block;
animation:guidance-panel-in 1.2s ease;
}

@keyframes guidance-panel-in{
from{
opacity:0;
}
to{
opacity:1;
}
}

main #top-guidance .panel-head{
display:flex;
align-items:center;
justify-content:space-between;
padding-bottom:26px;
border-bottom:2px solid #0B69B7;
}

main #top-guidance .panel-prev , main #top-guidance .panel-next{
position:relative;
min-width:90px;
box-sizing:border-box;
padding:0;
margin:0;
background:none;
border:0;
font-family:inherit;
cursor:pointer;
transition:opacity 0.2s ease;
font-size:20px;
font-weight:700;
line-height:1.6em;
letter-spacing:0.12em;
color:#464344;
}

main #top-guidance .panel-prev span , main #top-guidance .panel-next span{
font-size:18px;
}

main #top-guidance .panel-prev{
padding-left:20px;
}

main #top-guidance .panel-next{
padding-right:20px;
text-align:right;
}

main #top-guidance .panel-prev:hover , main #top-guidance .panel-next:hover{
opacity:0.6;
}

main #top-guidance .panel-prev:hover::before{
left:-1px;
}

main #top-guidance .panel-next:hover::after{
right:-1px;
}

main #top-guidance .panel-prev.is-none , main #top-guidance .panel-next.is-none{
visibility:hidden;
}

main #top-guidance .panel-prev::before{
content:"";
position:absolute;
top:calc( 50% + 1px );
left:3px;
width:9px;
height:9px;
border-top:2px solid #464344;
border-left:2px solid #464344;
transform:translateY(-50%) rotate(-45deg);
transition:left 0.2s ease;
}

main #top-guidance .panel-next::after{
content:"";
position:absolute;
top:calc( 50% + 1px );
right:3px;
width:9px;
height:9px;
border-top:2px solid #464344;
border-right:2px solid #464344;
transform:translateY(-50%) rotate(45deg);
transition:right 0.2s ease;
}

main #top-guidance .panel-title{
flex:1;
margin:0;
font-size:28px;
font-weight:700;
line-height:1.4em;
letter-spacing:0.1em;
text-align:center;
color:#0B69B7;
}

main #top-guidance ul.venue-list{
list-style:none;
display:flex;
flex-wrap:wrap;
gap:40px;
margin:40px 0 0 0;
padding:0;
}

main #top-guidance ul.venue-list li{
width:calc((100% - 40px) / 2);
}

main #top-guidance .venue-head{
display:flex;
align-items:center;
justify-content:space-between;
}

main #top-guidance .venue-name{
display:inline-block;
height:48px;
padding:0 28px 0 30px;
border:2px solid #AF9D85;
border-radius:8px;
box-sizing:border-box;
font-size:16px;
font-weight:700;
line-height:44px;
letter-spacing:0.12em;
color:#AF9D85;
}

main #top-guidance .venue-status{
display:flex;
align-items:center;
gap:12px;
height:48px;
padding:0 24px 0 16px;
border-radius:30px;
box-sizing:border-box;
background:#AEAEAE;
font-size:16px;
font-weight:700;
line-height:1em;
letter-spacing:0.1em;
text-decoration:none;
color:#fff;
}

main #top-guidance .venue-status::before{
content:"";
width:24px;
height:24px;
background-image:url("../../assets/img/common/icon_closed_white.svg");
background-size:contain;
background-repeat:no-repeat;
}

main #top-guidance .venue-status.status-accepting{
background:#FF0008;
transition:opacity 0.2s ease;
}

main #top-guidance .venue-status.status-accepting:hover{
opacity:0.8;
}

main #top-guidance .venue-status.status-accepting::before{
background-image:url("../../assets/img/common/icon_check_white.svg");
}

main #top-guidance .venue-status.status-accepting::after{
content:"";
width:16px;
height:13px;
background-image:url("../../assets/img/common/right_arrow.svg");
background-size:contain;
background-repeat:no-repeat;
}

main #top-guidance .venue-data{
margin:20px 0 0 0;
}

main #top-guidance .venue-date , main #top-guidance .venue-place{
display:flex;
align-items:center;
gap:4px;
}

main #top-guidance .venue-date{
height:24px;
}

main #top-guidance .venue-date dt , main #top-guidance .venue-place dt{
font-size:16px;
font-weight:700;
letter-spacing:0.12em;
color:#777;
}

main #top-guidance .venue-date dd , main #top-guidance .venue-place dd{
display:flex;
align-items:center;
margin:0;
}

main #top-guidance .date-day{
display:flex;
align-items:center;
gap:4px;
font-size:28px;
font-weight:700;
line-height:1em;
margin-top: -0.2em;
margin-left: -0.1em;
letter-spacing:0.04em;
color:#464344;
}

main #top-guidance .date-week{
display:inline-flex;
align-items:center;
justify-content:center;
width:24px;
height:24px;
border-radius:50%;
background:rgba(13,99,170,0.16);
font-size:11px;
font-weight:500;
letter-spacing:0.04em;
color:#464344;
}

main #top-guidance .date-time{
margin-left:10px;
font-size:20px;
font-weight:500;
line-height:1.2em;
letter-spacing:0.05em;
color:#464344;
}

main #top-guidance .venue-place{
margin-top:15px;
padding-top:16px;
border-top:1px solid rgba(70,67,68,0.16);
}

main #top-guidance .venue-place dd{
font-size:20px;
font-weight:500;
line-height:1.4em;
letter-spacing:0.05em;
color:#464344;
}

main #top-guidance .common-link-button{
margin-top:40px;
}

main #top-guidance .common-link-button > a{
width:auto;
padding-right:60px;
}


/* 768-1023 */

@media(max-width:1023px){

main #top-guidance{
margin-top:66px;
padding:64px 0;
}


main #top-guidance .guidance-tab-button{
flex: none;
}


main #top-guidance h2{
max-width:none;
margin:0 40px;
font-size:32px;
}

main #top-guidance .guidance-lead{
max-width:none;
margin:24px 40px 0 40px;
}

main #top-guidance .guidance-tab{
max-width:none;
margin:54px 40px 0 40px;
overflow-x:auto;
}

main #top-guidance .guidance-panel{
max-width:none;
margin:24px 40px 0 40px;
padding:40px;
}

main #top-guidance .panel-head{
padding-bottom:28px;
}

main #top-guidance .panel-title{
font-size:24px;
}

main #top-guidance .common-link-button{
margin-top:40px;
}

}


@media(max-width:900px){

main #top-guidance ul.venue-list li{
width:100%;
}

main #top-guidance .panel-title{
max-width:426px;
}

}


@media(max-width:767px){

main #top-guidance{
margin-top:12.8vw;
padding:10.6vw 0;
}

main #top-guidance h2{
width:89.4vw;
margin:0 auto;
font-size:6.4vw;
letter-spacing:0.1em;
line-height: 1.46;
}

main #top-guidance h2 .guidance-h2-sub{
font-size:5.3vw;
letter-spacing:0.08em;
}

main #top-guidance .guidance-lead{
width:89.4vw;
margin:4.2vw auto 0 auto;
font-size:4.27vw;
line-height:1.64em;
letter-spacing:0.06em;
text-align:left;
}

main #top-guidance .guidance-tab{
gap:2.1vw;
width:89.4vw;
margin:8.5vw auto 0 auto;
}

main #top-guidance .guidance-tab-button{
flex:none;
min-width:18.7vw;
height:9.6vw;
padding:1.6vw 3.2vw 2.1vw 4.2vw;
border-radius:4.8vw;
font-size:4.8vw;
}

main #top-guidance .guidance-tab-button span{
font-size:4.2vw;
}

main #top-guidance .guidance-panel{
width:89.4vw;
margin:6.4vw auto 0 auto;
padding:4.2vw 6.4vw 6.4vw 6.4vw;
box-sizing:border-box;
}

main #top-guidance .panel-head{
flex-wrap:wrap;
padding-bottom:3.6vw;
}

main #top-guidance .panel-prev{
order:1;
}

main #top-guidance .panel-next{
order:2;
}

main #top-guidance .panel-title{
order:3;
flex:none;
width:100%;
margin-top:4.2vw;
}

main #top-guidance .panel-prev , main #top-guidance .panel-next{
font-size:5.3vw;
}

main #top-guidance .panel-prev span , main #top-guidance .panel-next span{
font-size:4.8vw;
}

main #top-guidance .panel-title{
font-size:5.3vw;
}

main #top-guidance ul.venue-list{
gap:5.3vw;
margin-top:6.4vw;
}

main #top-guidance ul.venue-list li{
width:100%;
}

main #top-guidance .venue-name{
height:10.6vw;
padding:0 4.7vw;
line-height:9.6vw;
font-size:4.2vw;
}

main #top-guidance .venue-status{
gap:2.1vw;
height:10.6vw;
padding:0 5.3vw 0 3.2vw;
border-radius:5.3vw;
font-size:4vw;
}

main #top-guidance .venue-status::before{
width:6.4vw;
height:6.4vw;
}

main #top-guidance .venue-status.status-accepting::after{
width:4.2vw;
height:3.5vw;
}

main #top-guidance .venue-data{
margin-top:4.2vw;
}

main #top-guidance .venue-date{
height:6.4vw;
}

main #top-guidance .venue-date dt , main #top-guidance .venue-place dt{
font-size:4.2vw;
}

main #top-guidance .date-day{
font-size:7.5vw;
}
main #top-guidance .venue-date dd {
margin-left: .4vw;
}
main #top-guidance .date-week{
width:6.4vw;
height:6.4vw;
font-size:2.9vw;
}

main #top-guidance .date-time{
margin-left:2.6vw;
font-size:5.3vw;
}

main #top-guidance .venue-place{
margin-top:2.1vw;
padding-top:0;
border-top:none;
}

main #top-guidance .venue-place dd{
font-size:4.8vw;
}

main #top-guidance .common-link-button{
margin-top:9vw;
}

main #top-guidance .common-link-button > a{
padding-right:16vw;
}

}


/* 合格実績 */

main #top-results{
max-width:1060px;
margin:80px auto 0 auto;
padding:0;
}

main #top-results .results-box{
position:relative;
background:rgba(175,157,133,0.12);
border:2px solid #AF9D85;
border-radius:16px;
box-sizing:border-box;
padding:47px 64px;
}

main #top-results .results-box::before{
content:"";
position:absolute;
top:-1px;
left:-1px;
width:40px;
height:40px;
background:linear-gradient(135deg,transparent calc(50% - 1px),#B7212B calc(50% - 1px),#B7212B calc(50% + 1px),transparent calc(50% + 1px));
}

main #top-results .results-box::after{
content:"";
position:absolute;
top:-1px;
right:-1px;
width:40px;
height:40px;
background:linear-gradient(45deg,transparent calc(50% - 1px),#B7212B calc(50% - 1px),#B7212B calc(50% + 1px),transparent calc(50% + 1px));
}

main #top-results h2::after{
content:"";
position:absolute;
bottom:-1px;
left:-1px;
width:40px;
height:40px;
background:linear-gradient(45deg,transparent calc(50% - 1px),#B7212B calc(50% - 1px),#B7212B calc(50% + 1px),transparent calc(50% + 1px));
}

main #top-results .results-year::after{
content:"";
position:absolute;
bottom:-1px;
right:-1px;
width:40px;
height:40px;
background:linear-gradient(135deg,transparent calc(50% - 1px),#B7212B calc(50% - 1px),#B7212B calc(50% + 1px),transparent calc(50% + 1px));
}

main #top-results h2{
margin:0;
font-size:28px;
font-weight:700;
line-height:1.4em;
letter-spacing:0.1em;
text-align:center;
color:#464344;
}

main #top-results h2::before{
display:block;
height:64px;
margin:0 auto 16px auto;
content:"";
background-image:url("../../assets/img/common/icon_result.svg");
background-position:center;
background-size:contain;
background-repeat:no-repeat;
}

main #top-results .results-year{
display:table;
height:60px;
margin:22px auto 0 auto;
padding:0 36px;
background:#fff;
border-radius:30px;
font-size:20px;
font-weight:700;
line-height:60px;
letter-spacing:0.1em;
color:#AF9D85;
}

main #top-results .results-year strong{
color:#B7212B;
}

main #top-results .results-cat1{
margin-top:47px;
border-top:2px solid #1168AB;
}

main #top-results .results-cat1 .cat-label{
margin:0 0 0 46px;
border-color:#1168AB;
color:#1168AB;
}

main #top-results .cat-label{
display:table;
margin:0;
padding:14px 33px 14px 40px;
background:#fff;
border:2px solid #AF9D85;
border-top:none;
border-radius:0 0 8px 8px;
font-size:20px;
font-weight:700;
line-height:0.8em;
letter-spacing:0.19em;
color:#AF9D85;
}

main #top-results .results-body{
padding:0 46px;
}

main #top-results .results-row{
display:flex;
align-items:flex-start;
justify-content:space-between;
margin-top:33px;
}

main #top-results ul.results-chips{
list-style:none;
display:flex;
flex-wrap:wrap;
align-items: center;
gap:12px;
margin:0;
padding:0;
}

main #top-results .results-row ul.results-chips{
width:calc(100% - 178px);
}

main #top-results ul.results-chips li{
background:#fff;
border-radius:8px;
padding:4px 16px;
font-size:20px;
font-weight:700;
line-height:1.6em;
letter-spacing:0.08em;
color:#464344;
}

main #top-results ul.results-chips li.chips-etc{
background:none;
padding:4px 0;
font-weight:500;
}

main #top-results ul.results-chips.chips-suisen li{
line-height:1.8em;
}

main #top-results .results-number{
margin:0;
font-size:80px;
font-weight:700;
line-height:0.9em;
letter-spacing:0.04em;
white-space:nowrap;
color:#B7212B;
margin-top:-.1em;
}

main #top-results .results-number span{
font-size:24px;
letter-spacing:0.05em;
}

main #top-results .results-cat2{
margin-top:36px;
border-top:2px solid #AF9D85;
}

main #top-results ul.chips-suisen{
margin-top:32px;
}

main #top-results .results-note{
margin-top:30px;
border-top:2px solid #1168AB;
padding-top:20px;
}

main #top-results .results-note p{
margin:0;
font-size:13px;
font-weight:500;
line-height:1.6em;
letter-spacing:0.08em;
color:#AF9D85;
}


/* 768-1023 */

@media(max-width:1023px){

main #top-results{
max-width:none;
margin:64px 40px 0 40px;
}

main #top-results .results-box{
padding:48px;
}

main #top-results .results-row ul.results-chips{
width:calc(100% - 156px);
}

}


@media(max-width:767px){

main #top-results{
margin:12.8vw 0 0 0;
}

main #top-results .results-box{
border:none;
border-top:2px solid #AF9D85;
border-bottom:2px solid #AF9D85;
border-radius:0;
padding:6.4vw 0 12.2vw 0;
}

main #top-results h2 , main #top-results .results-cat1 , main #top-results .results-body , main #top-results .results-note{
width:89.4vw;
margin-left:auto;
margin-right:auto;
}

main #top-results .results-box::before{
top:-0.3vw;
left:-0.3vw;
width:8.5vw;
height:8.5vw;
}

main #top-results .results-box::after{
top:-0.3vw;
right:0;
width:8.5vw;
height:8.5vw;
}

main #top-results h2::after{
bottom:-0.3vw;
left:-0.3vw;
width:8.5vw;
height:8.5vw;
}

main #top-results .results-year::after{
bottom:-0.3vw;
right:0;
width:8.5vw;
height:8.5vw;
}

main #top-results h2{
font-size:6.4vw;
line-height:1.5em;
}

main #top-results h2::before{
height:14.8vw;
margin-bottom:4.2vw;
}

main #top-results .results-year{
height:auto;
margin-top:5.3vw;
padding:3.3vw 6.4vw;
border-radius:8vw;
font-size:4.5vw;
line-height:1.5em;
letter-spacing:0.02em;
}

main #top-results .results-body{
padding:0;
}

main #top-results .results-cat1{
margin-top:8.5vw;
}

main #top-results .results-cat1 .cat-label{
margin-left:2.6vw;
}

main #top-results .cat-label{
padding:2.8vw 8vw;
font-size:4.2vw;
line-height:1em;
margin-left:2.8vw;
}

main #top-results .results-row{
display:block;
margin-top:4.2vw;
}

main #top-results ul.results-chips{
gap:2.1vw;
}

main #top-results .results-row ul.results-chips{
width:auto;
}

main #top-results ul.results-chips li{
padding:1.1vw 3.2vw;
font-size:4.3vw;
}

main #top-results ul.results-chips li.chips-etc{
padding:1.1vw 0;

}

main #top-results .results-number{
margin-top:1.1vw;
font-size:17vw;
line-height:1em;
}

main #top-results .results-number span{
font-size:5.3vw;
}

main #top-results .results-cat2{
margin-top:2.5vw;
}

main #top-results ul.chips-suisen{
margin-top:4.2vw;
}

main #top-results .results-note{
margin-top:6.8vw;
padding-top:4.2vw;
}

main #top-results .results-note p{
font-size:3.2vw;
}

}


/* 合格者の声 */

main #top-exam-voice{
max-width:1060px;
margin:80px auto 0 auto;
padding:0;
position:relative;
}

main #top-exam-voice h2{
font-size:32px;
font-weight:700;
line-height:1.4em;
letter-spacing:0.1em;
text-align:center;
color:#464344;
padding:0;
margin:0;
}

main #top-exam-voice h2 a{
display:inline-block;
color:#464344;
text-decoration:none;
transition:opacity 0.2s ease;
}

main #top-exam-voice h2 a::before{
display:block;
height:50px;
margin-bottom:16px;
content:"";
background-image:url("../../assets/img/common/icon_voice.svg");
background-position:center;
background-size:contain;
background-repeat:no-repeat;
}

main #top-exam-voice h2 a:hover{
opacity:0.6;
}

main #top-exam-voice ul.voice-slide{
list-style:none;
display:flex;
flex-wrap:wrap;
gap:40px;
margin:40px 0 0 0;
padding:0;
}

main #top-exam-voice ul.voice-slide > li{
width:calc((100% - 40px) / 2);
}

main #top-exam-voice .voice-card{
border:2px solid rgba(175,157,133,0.16);
border-radius:16px;
box-sizing:border-box;
height:100%;
padding:30px 30px 31px;
}

main #top-exam-voice .voice-univ{
margin:0;
font-size:24px;
font-weight:700;
line-height:1.6em;
letter-spacing:0.08em;
color:#AF9D85;
}

main #top-exam-voice .voice-univ span{
color:#0B69B7;
}

main #top-exam-voice .voice-univ-sub{
margin:4px 0 0 0;
font-size:16px;
font-weight:700;
line-height:1.4em;
letter-spacing:0.04em;
color:#0B69B7;
}

main #top-exam-voice .voice-student{
display:flex;
align-items:flex-start;
gap:32px;
margin-top:22px;
}

main #top-exam-voice .voice-student img{
flex:none;
width:144px;
height:216px;
border-radius:8px;
object-fit:cover;

}

main #top-exam-voice .voice-txt{
width:270px;
}

main #top-exam-voice .voice-quote{
margin:0;
font-size:22px;
font-weight:700;
line-height:1.7em;
letter-spacing:0.06em;
padding-top: 4px;
color:#464344;
}

main #top-exam-voice .voice-quote span{
background-image:linear-gradient(rgba(175,157,133,0.31),rgba(175,157,133,0.31));
background-repeat:no-repeat;
background-position:0 center;
background-size:100% 1.12em;
-webkit-box-decoration-break:clone;
box-decoration-break:clone;
}

main #top-exam-voice .voice-name{
margin:20px 0 0 0;
font-size:18px;
font-weight:700;
line-height:1.2em;
letter-spacing:0.08em;
color:#464344;
}

main #top-exam-voice .voice-name img{
display:inline-block;
height:1em;
width:auto;
margin-right:0.5em;
margin-bottom:-0.1em;
}


main #top-exam-voice .voice-name span{
font-weight:500;
}

main #top-exam-voice .voice-school{
margin:8px 0 0 0;
font-size:16px;
font-weight:500;
line-height:1.5em;
letter-spacing:0.04em;
color:#0B69B7;
}

main #top-exam-voice .slider-arrow{
display:none;
}


/* 768-1023 */

@media(max-width:1023px){

main #top-exam-voice{
max-width:none;
margin:64px 0 0 0;
}

main #top-exam-voice h2{
font-size:28px;
padding:0 40px;
}

main #top-exam-voice ul.voice-slide{
display:block;
white-space:nowrap;
overflow-x:auto;
scroll-snap-type:x mandatory;
-webkit-overflow-scrolling:touch;
margin:32px 0 0 0;
padding:0;
scrollbar-width:none;
font-size:0;
}

main #top-exam-voice ul.voice-slide::-webkit-scrollbar{
display:none;
}

main #top-exam-voice ul.voice-slide > li{
display:inline-block;
vertical-align:top;
white-space:normal;
box-sizing:border-box;
scroll-snap-align:start;
width:550px;
padding-left:40px;
font-size:16px;
}

main #top-exam-voice ul.voice-slide > li:last-child{
width:590px;
padding-right:40px;
}

main #top-exam-voice .slider-arrow{
display:flex;
align-items:center;
justify-content:center;
position:absolute;
top:340px;
width:56px;
height:56px;
background-color:rgba(100,100,100,0.5);
border:none;
border-radius:50%;
transform:translateY(-50%);
cursor:pointer;
z-index:100;
opacity:1;
visibility:visible;
pointer-events:auto;
transition:opacity 0.1s, visibility 0.1s;
}

main #top-exam-voice .slider-arrow::before{
content:"";
width:12px;
height:12px;
border-top:3px solid #fff;
border-right:3px solid #fff;
}

main #top-exam-voice .slider-arrow.prev{
left:20px;
}

main #top-exam-voice .slider-arrow.prev::before{
margin-left:6px;
transform:rotate(-135deg);
}

main #top-exam-voice .slider-arrow.next{
right:20px;
}

main #top-exam-voice .slider-arrow.next::before{
margin-right:6px;
transform:rotate(45deg);
}

main #top-exam-voice .slider-arrow.is-hidden{
opacity:0;
visibility:hidden;
pointer-events:none;
}

main #top-exam-voice.hide-arrows .slider-arrow{
display:none;
}

}


@media(max-width:767px){

main #top-exam-voice{
margin:12.8vw 0 0 0;
}

main #top-exam-voice h2{
width:89.4vw;
margin:0 auto;
font-size:6.4vw;
padding:0;
}

main #top-exam-voice h2 a::before{
height:10.6vw;
margin-bottom:2.1vw;
}

main #top-exam-voice ul.voice-slide{
margin-top:6.4vw;
padding-bottom:0;
}

main #top-exam-voice ul.voice-slide > li{
width:87.5vw;
padding-left:6.4vw;
}

main #top-exam-voice ul.voice-slide > li:first-child{
width:86.4vw;
padding-left:5.3vw;
}

main #top-exam-voice ul.voice-slide > li:last-child{
width:92.8vw;
padding-right:5.3vw;
}

main #top-exam-voice .voice-card{
padding:6.1vw 6.1vw 5.5vw;
}

main #top-exam-voice .voice-univ{
font-size:5.3vw;
line-height:1.43em;
}

main #top-exam-voice .voice-quote{
margin-top:2.6vw;
font-size:5.9vw;
}

main #top-exam-voice .voice-student{
align-items:flex-start;
gap:5.3vw;
margin-top:5.3vw;
}

main #top-exam-voice .voice-student > img{
width:27.7vw;
height:27.7vw;
object-position:center top;
}

main #top-exam-voice .voice-txt{
width:auto;
flex:1;
}

main #top-exam-voice .voice-name{
margin-top:0;
font-size:4vw;
}

main #top-exam-voice .voice-school{
margin-top:3vw;
font-size:3.2vw;
line-height:1.8em;
letter-spacing:0.08em;
}

main #top-exam-voice .slider-arrow{
top:60vw;
width:12.8vw;
height:12.8vw;
}

main #top-exam-voice .slider-arrow.prev{
left:2.6vw;
}

main #top-exam-voice .slider-arrow.next{
right:2.6vw;
}

}


/* NEWS */

main #top-news-list{
max-width:1060px;
margin:80px auto 0 auto;
padding:0;
}

main #top-news-list h2{
font-size:32px;
font-weight:700;
line-height:1.4em;
letter-spacing:0.1em;
text-align:center;
color:#464344;
padding:0;
margin:0;
}

main #top-news-list h2 a{
display:inline-block;
color:#464344;
text-decoration:none;
transition:opacity 0.2s ease;
}

main #top-news-list h2 a::before{
display:block;
height:44px;
margin-bottom:16px;
content:"";
background-image:url("../../assets/img/common/icon_news.svg");
background-position:center;
background-size:contain;
background-repeat:no-repeat;
}

main #top-news-list h2 a:hover{
opacity:0.6;
}

main #top-news-list .special-news{
margin-top:40px;
}

main #top-news-list .special-news > a{
position:relative;
display:block;
height:59px;
background:rgba(70,67,68,0.08);
border-radius:32px;
box-sizing:border-box;
text-decoration:none;
transition:opacity 0.4s ease;
}

main #top-news-list .special-news > a:hover{
opacity:0.7;
}

main #top-news-list .special-news > a::after{
content:"";
position:absolute;
top:50%;
right:31px;
width:18px;
height:16px;
background-image:url("../../assets/img/common/right_arrow_gray.svg");
background-position:center;
background-size:contain;
background-repeat:no-repeat;
transform:translateY(-50%);
}

main #top-news-list .special-news dl{
display:flex;
align-items:center;
gap:16px;
height:100%;
margin:0;
padding:0 56px 0 16px;
}

main #top-news-list .special-news dt{
padding:11px 24px;
background:#0B69B7;
border-radius:32px;
font-size:15px;
font-weight:700;
line-height:1em;
letter-spacing:0em;
color:#fff;
white-space:nowrap;
}

main #top-news-list .special-news dd{
display:flex;
align-items:center;
gap:16px;
margin:0;
}

main #top-news-list .special-news dd .o-color{
font-size:16px;
font-weight:700;
line-height:1em;
letter-spacing:0.04em;
color:#0B69B7;
white-space:nowrap;
}

main #top-news-list .special-news dd #infomsg{
font-size:16px;
font-weight:500;
line-height:1.4em;
letter-spacing:0.04em;
color:#464344;
}

main #top-news-list .special-news dd #infomsg a{
text-decoration:none;
color:#464344;
}

main #top-news-list .news-list{
margin-top:32px;
}

main #top-news-list .news-list ul{
list-style:none;
max-height:390px;
margin:0;
padding:0 24px 0 0;
border-top:1px solid rgba(70,67,68,0.16);
overflow-y:auto;
}

main #top-news-list .news-list ul::-webkit-scrollbar{
width:6px;
}

main #top-news-list .news-list ul::-webkit-scrollbar-thumb{
background:#535353;
border-radius:30px;
}

main #top-news-list .news-list ul::-webkit-scrollbar-track{
background:transparent;
}

main #top-news-list .news-list ul > li{
display:flex;
align-items:center;
gap:16px;
padding:17px 0;
border-bottom:1px solid rgba(70,67,68,0.16);
}

main #top-news-list .news-date{
flex:none;
font-size:16px;
font-weight:700;
line-height:1em;
letter-spacing:0.04em;
color:#464344;
}

main #top-news-list .news-category{
flex:none;
width:100px;
padding:8px 0;
border-radius:30px;
box-sizing:border-box;
background:#464344;
font-size:12px;
font-weight:700;
line-height:1em;
letter-spacing:0.08em;
text-align:center;
color:#fff;
}

main #top-news-list .news-category.oshirase{
background:#E50012;
}

main #top-news-list .news-category.event{
background:#0B69B7;
}

main #top-news-list .news-category.present{
background:#AF9D85;
}

main #top-news-list .news-summary{
flex:1;
line-height:1.4em;
}

main #top-news-list .news-summary a{
font-size:16px;
font-weight:500;
line-height:1.4em;
letter-spacing:0.04em;
text-decoration:none;
color:#464344;
transition:opacity 0.2s ease;
}

main #top-news-list .news-summary a:hover{
opacity:0.6;
}


/* 768-1023 */

@media(max-width:1023px){

main #top-news-list{
max-width:none;
margin:64px 40px 0 40px;
}

main #top-news-list h2{
font-size:28px;
}

main #top-news-list .special-news{
margin-top:40px;
}

main #top-news-list .news-list ul{
max-height:467px;
padding-right:16px;
}

main #top-news-list .news-list ul > li{
padding:18px 0;
}

main #top-news-list .news-summary{
line-height:1.375em;
}

main #top-news-list .news-summary a{
line-height:1.375em;
}

}


@media(max-width:767px){

main #top-news-list{
width:89.4vw;
margin:12.8vw auto 0 auto;
}

main #top-news-list h2{
font-size:6.4vw;
}

main #top-news-list h2 a::before{
height:9.4vw;
margin-bottom:2.1vw;
}

main #top-news-list .special-news{
margin-top:6.4vw;
}

main #top-news-list .special-news a{
height:auto;
border-radius:4.3vw;
}

main #top-news-list .special-news > a::after{
display:none;
}

main #top-news-list .special-news dl{
display:flex;
flex-wrap:wrap;
align-items:center;
gap:4.3vw 3.2vw;
padding:5.3vw 6.4vw;
}

main #top-news-list .special-news dt{
width:44.8vw;
padding:2.8vw 0;
box-sizing:border-box;
font-size:4vw;
text-align:center;
}

main #top-news-list .special-news dd{
display:contents;
}

main #top-news-list .special-news dd .o-color{
font-size:4.2vw;
}

main #top-news-list .special-news dd #infomsg{
flex-basis:100%;
font-size:3.7vw;
line-height:1.2em;
}

main #top-news-list .news-list{
margin-top:6.2vw;
}

main #top-news-list .news-list ul{
max-height:700px;
padding-right:1.2vw;
}

main #top-news-list .news-list ul::-webkit-scrollbar{
width:3px;
}

main #top-news-list .news-list ul > li{
flex-wrap:wrap;
gap:0;
padding:4.8vw 0 3.8vw;
}

main #top-news-list .news-date{
font-size:4.2vw;
margin-top: -2vw;
}

main #top-news-list .news-category{
width:26.7vw;
margin-left:auto;
padding:2.1vw 0;
font-size:3.2vw;
letter-spacing: 0.1em;
}

main #top-news-list .news-summary{
flex:none;
width:100%;
margin-top:2.1vw;
line-height:1.2em;
}

main #top-news-list .news-summary a{
font-size:3.7vw;
line-height:1.43em;
letter-spacing:0;
}

}


/* 医学部入試情報 */

main #top-special-contents{
max-width:1060px;
margin:80px auto 0 auto;
padding:0;
}

main #top-special-contents h2{
font-size:32px;
font-weight:700;
line-height:1.4em;
letter-spacing:0.1em;
text-align:center;
color:#464344;
padding:0;
margin:0;
}

main #top-special-contents h2::before{
display:block;
height:48px;
margin-bottom:16px;
content:"";
background-image:url("../../assets/img/common/icon_me-info.svg");
background-position:center;
background-size:contain;
background-repeat:no-repeat;
}

main #top-special-contents ul{
list-style:none;
display:flex;
flex-wrap:wrap;
gap:40px;
margin:40px 0 0 0;
padding:0;
}

main #top-special-contents ul li{
width:calc((100% - 120px) / 4);
}

main #top-special-contents ul li a{
display:block;
text-decoration:none;
transition:opacity 0.4s ease;
}

main #top-special-contents ul li a:hover{
opacity:0.7;
}

main #top-special-contents ul li h3{
position:relative;
margin:0;
line-height:0;
}

main #top-special-contents ul li h3::after{
content:"";
position:absolute;
top:0;
right:0;
bottom:0;
left:0;
border:2px solid rgba(70,67,68,0.08);
border-radius:8px;
pointer-events:none;
}

main #top-special-contents ul li h3 img{
border-radius:8px;
vertical-align:top;
}

main #top-special-contents ul li p{
margin:16px 0 0 0;
font-size:14px;
font-weight:500;
line-height:1.6em;
letter-spacing:0.04em;
text-align:justify;
color:#464344;
}


/* 768-1023 */

@media(max-width:1023px){

main #top-special-contents{
max-width:none;
margin:64px 40px 0 40px;
}

main #top-special-contents h2{
font-size:28px;
}

main #top-special-contents ul{
justify-content:center;
gap:32px;
margin-top:40px;
}

main #top-special-contents ul li{
width:212px;
}

}


@media(max-width:767px){

main #top-special-contents{
width:89.4vw;
margin:12.8vw auto 0 auto;
}

main #top-special-contents h2{
font-size:6.4vw;
}

main #top-special-contents h2::before{
height:11.5vw;
margin-bottom:4.3vw;
}

main #top-special-contents ul{
justify-content:space-between;
gap:6.4vw 0;
margin-top:6.4vw;
}

main #top-special-contents ul li{
width:calc(50% - 2.25vw);
}

main #top-special-contents ul li p{
margin-top:3.2vw;
font-size:3.2vw;
}

}




/* リソー教育グループの活動 */

main #top-group-activity{
max-width:1060px;
margin:80px auto 0 auto;
padding:0;
}

main #top-group-activity h2{
font-size:24px;
font-weight:700;
line-height:1.4em;
letter-spacing:0.08em;
text-align:center;
color:#464344;
padding:0;
margin:0;
}

main #top-group-activity h2::before{
display:block;
height:48px;
margin-bottom:16px;
content:"";
background-image:url("../../assets/img/common/icon_risogroup.svg");
background-position:center;
background-size:contain;
background-repeat:no-repeat;
}

main #top-group-activity ul.top-group-activity-link-box{
list-style:none;
display:flex;
flex-wrap:wrap;
gap:40px;
margin:40px 0 0 0;
padding:0;
}

main #top-group-activity ul.top-group-activity-link-box li{
width:235px;
}

main #top-group-activity ul.top-group-activity-link-box li a{
display:block;
text-decoration:none;
transition:opacity 0.4s ease;
}

main #top-group-activity ul.top-group-activity-link-box li a:hover{
opacity:0.7;
}

main #top-group-activity ul.top-group-activity-link-box li h3{
display:flex;
align-items:center;
justify-content:center;
width:100%;
aspect-ratio:235/96;
margin:0;
background:#fff;
border:2px solid rgba(70,67,68,0.08);
border-radius:8px;
box-sizing:border-box;
overflow:hidden;
}

main #top-group-activity ul.top-group-activity-link-box li h3 img{
width:100%;
height:100%;
}

main #top-group-activity ul.top-group-activity-link-box li h3.link-box-logo img{
width:140px;
height:auto;
}

main #top-group-activity ul.top-group-activity-link-box li h3.gb-unit{
justify-content:flex-start;
gap:14px;
padding:0 0 0 24px;
}

main #top-group-activity ul.top-group-activity-link-box li h3.gb-unit img{
width:42px;
height:42px;
}

main #top-group-activity ul.top-group-activity-link-box li h3.gb-unit span{
font-size:16px;
font-weight:700;
line-height:1.5em;
letter-spacing:0.1em;
}

main #top-group-activity ul.top-group-activity-link-box li h3.gb-anshin span{
color:#A1C26E;
}

main #top-group-activity ul.top-group-activity-link-box li h3.gb-benkyo span{
color:#EC505B;
letter-spacing:0.05em;
}

main #top-group-activity ul.top-group-activity-link-box li h3.gb-shien span{
color:#67A8CE;
}

main #top-group-activity ul.top-group-activity-link-box li h3.gb-cup span{
color:#A79549;
}

main #top-group-activity ul.top-group-activity-link-box li h3.link-box-txt{
font-size:18px;
font-weight:700;
line-height:1em;
letter-spacing:0.1em;
color:#B7212B;
}

main #top-group-activity ul.top-group-activity-link-box li p{
margin:16px 0 0 0;
font-size:14px;
font-weight:500;
line-height:1.6em;
letter-spacing:0.04em;
text-align:justify;
color:#464344;
}


/* 768-1023 */

@media(max-width:1023px){

main #top-group-activity{
max-width:none;
margin:64px 40px 0 40px;
}

main #top-group-activity ul.top-group-activity-link-box{
justify-content:center;
gap:32px;
}

main #top-group-activity ul.top-group-activity-link-box li{
width:212px;
}

}


@media(max-width:767px){

main #top-group-activity{
width:89.4vw;
margin:12.8vw auto 0 auto;
}

main #top-group-activity h2{
font-size:5.3vw;
}

main #top-group-activity h2::before{
height:10.1vw;
margin-bottom:2.6vw;
}

main #top-group-activity ul.top-group-activity-link-box{
display:block;
margin-top:6.1vw;
}

main #top-group-activity ul.top-group-activity-link-box li{
width:auto;
}

main #top-group-activity ul.top-group-activity-link-box li + li{
margin-top:6.4vw;
}

main #top-group-activity ul.top-group-activity-link-box li h3{
aspect-ratio:auto;
height:25.6vw;
}

main #top-group-activity ul.top-group-activity-link-box li h3.gb-unit{
gap:3.7vw;
padding-left:5.8vw;
}

main #top-group-activity ul.top-group-activity-link-box li h3.gb-unit img{
width:11.2vw;
height:11.2vw;
}

main #top-group-activity ul.top-group-activity-link-box li h3.gb-unit span{
font-size:4.27vw;
}

main #top-group-activity ul.top-group-activity-link-box li.link-box-05 h3{
height:22.9vw;
}

main #top-group-activity ul.top-group-activity-link-box li h3 img{
width:auto;
height:100%;
}

main #top-group-activity ul.top-group-activity-link-box li h3.link-box-logo img{
width:33.7vw;
height:auto;
}

main #top-group-activity ul.top-group-activity-link-box li h3.link-box-txt{
font-size:4.8vw;
}

main #top-group-activity ul.top-group-activity-link-box li p{
margin-top:3.2vw;
font-size:3.7vw;
letter-spacing:0.06em;
}

}


