html {
    font-size: 62.5%; /* 画面幅375のとき1rem:10px */
}
:root {
    --text-navy: #144E67;
}

body {
    background-color: var(--main-bg-color);
  }
body {
    background-color: #fafafa;
    -webkit-font-smoothing: subpixel-antialiased;
    -webkit-text-size-adjust: 100%;
}
.br_pc {display: none;}
#Header {
    width: 100%;
    position: relative;
    z-index: 1;
}

header .exam-logo {
    width: 40%;
    height: max-content;
    position: absolute;
    left: 0;
    top: 0;
    padding: 5px;
}
header .exam-logo a {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}
header .header-menu {
    position: fixed;
    z-index: 100;
    background-color: #ffffffd8;
    border-radius: 0px 0px 0px 12px;
    top: 0;
    right: 0;
}
header .header-menu ul {
    padding: 1.3rem 1rem;
    margin: 0;
}
header .header-menu li{list-style-type: none;}
header .header-menu li:not(:last-child){
    display: none;
}
header .header-menu li:last-child {
    width: auto;
    cursor: pointer;
}

.exam p, .exam a, .exam li, .exam span, .exam th, .exam td {
    font-size: 1.4rem;
    font-family: 'Lato','Zen Kaku Gothic New', sans-serif;
    font-weight: 400;
    color: #333;
}
h3, h4, h5, h6{
    font-size: 2rem;
    font-family: 'Lato','Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    color: var(--text-navy);
}

#Menu {
    width: 100%;
    height: 100dvh;
    position: fixed;
    right: -100%;
    top: 0;
    z-index: 100;
    transition: 0.5s right;
    background-image: url(https://www.heian.ac.jp/assets/img/exam/2024/gradation_top.webp);
    background-size: cover;
}
#Menu > span {display: none;}
#Menu.opened {
    right: 0;
}

#Menu .container {
    width: 100%;
    position: relative;
    margin: 0 auto;
    padding-top: 6rem;
    height: 100vh;
    overflow-y: scroll;
    padding-left: 5rem;
}
#Menu #menuClose {
    position: absolute;
    right: 0;
    top: 0rem;
    width: max-content;
    padding: 1.3rem 1rem;
    top: 0;
    right: 0;
    cursor: pointer;
} 

#Menu .container .menu-link ul{
    margin-bottom: 1.6rem;
}
#Menu .container li{
    width: max-content;
    margin-bottom: 0.7rem;
    position: relative;
}
#Menu .container li.newtab {
    padding-right: 1.25em;
    background-image: url(https://www.heian.ac.jp/assets/img/exam/2024/newtab.svg);
    background-repeat: no-repeat;
    background-size: 1em;
    background-position: right center;
}
#Menu .container li a{
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
#Menu .container .menu-link ul:nth-child(3) {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
}
#Menu .container .menu-link ul:nth-child(3) li {
    margin-right: 1.5rem;
}
#Menu .container li span{
    font-size: 1.6rem;
    font-weight: 500;
}

#Menu .container .menu-link ul:nth-child(1) li span{
    font-size: 2rem;
}
#Menu .container .menu-link ul:nth-child(3) li span{
    font-size: 1.6rem;
}

#Menu .container ul#SNS {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
}
#Menu .container ul#SNS li {
    width: 3.5rem;
    height: 3.5rem;
    aspect-ratio: 1;
    margin-right: 1.5rem;
}
#Menu .container ul#SNS li a{
    display: block;
    width: 100%;
    height: 100%;
}
#Menu .container ul#SNS li:not(.i-twitter) a{
    padding: 0.3rem;
}
#Menu .container ul#SNS li a img{
    height: 100%;
    margin: 0 auto;
}



.main-links {
    padding: 4rem 0;
}

.main-links > div {
    position: relative;
    padding-left: 3rem;
    border: #F2F2F2 1px solid;
    background-color: #fff;
    display: flex;
    height: 15rem;
}
.main-links > div > a{
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}
.main-links > div > div{
    margin: auto 0;
}
.main-links > div p{
    color: var(--text-navy);
    font-weight: 500;
}
.main-links > div h4 span{
    color: var(--text-navy);
    font-family: ten-mincho-text, serif;
}
/* .main-links .about-link {
    height: 26rem;
    background-image: url(https://www.heian.ac.jp/assets/img/exam/2024/about.webp);
    border: none;
    padding-top: 4rem;
    background-size: 130%;
    background-position: 30%;
} */
.main-links .about-link {
    height: 26rem;
    background-image: linear-gradient(45deg, #1d090370, transparent),url(../../img/exam/2024/meijikan.webp);
    border: none;
    padding-top: 4rem;
    background-size: cover;
    background-position: center;
}
.main-links .about-link h4 span{
    color: #fff;
    font-size: 3rem;
    text-shadow: 0 0 10px #5b1313;
}
.main-links .about-link p{
    color: #fff;
    line-height: 200%;
    margin-top: 1em;
    text-shadow: 0 0 10px #5b1313;
}
.main-links > div h4 span{
    color: var(--text-navy);
    font-size: 2.4rem;
}
.main-links > div h4 {
    margin-top: 0.5em;
    position: relative;
    padding-right: 3rem;
    width: max-content;
}
.main-links .about-link h4{
    padding-right: 3.5rem;
}
.main-links > div h4::after {
    content: url(https://www.heian.ac.jp/assets/img/exam/2024/arrow.svg);
    position: absolute;
    display: inline-block;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}
.main-links .about-link h4::after {
    content: url(https://www.heian.ac.jp/assets/img/exam/2024/arrow2.svg);
}

#ExamTOP .main-links .oc-link {
    height: 24rem;
    background-image: url(https://www.heian.ac.jp/assets/img/exam/2024/oc_sp.webp);
    border: none;
    margin-top: 4rem;
    background-size: 100%;
    background-position: center 95%;
    padding: 0;
    justify-content: center;
}
#ExamTOP .main-links .oc-link h4 {margin-top: 0;}
#ExamTOP .main-links .oc-link h4::after {
    content: url(https://www.heian.ac.jp/assets/img/exam/2024/arrow2.svg);
}
#ExamTOP .main-links .oc-link h4 span {
    color: #ffffff;
    font-size: 3rem;
    text-shadow: 0 0 10px #062e10, 0 0 10px #062e10;
}
#ExamTOP .main-links .oc-link h4::after {
    filter:drop-shadow(0 0 5px #062e10) ;
}


.small-links {
    background-color: #F0F0F0;
}

.small-links .container{
    padding: 2rem 2rem 4rem;
}

.small-links h3 span {
    font-family: goldenbook, serif;
    font-weight: 400;
    font-style: normal;
    font-size: 4rem;
    color: var(--text-navy);
    text-transform: capitalize;
}

.small-links .container ul {
    margin-top: 1rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.small-links .container ul li{
    width: 49%;
    background-color: #fff;
    padding: 1rem;
    margin-bottom: 0.5rem;
    position: relative;
}
.small-links .container ul li span{
    font-weight: 500;
    margin: 0 auto;
    display: block;
    width: max-content;
    position: relative;
    font-size: 1.4rem;
}
.small-links .container ul li span.dejipan::after {
    content: '\0028\30c7\30b8\30d1\30f3\0029';
    font-family: 'Lato','Zen Kaku Gothic New', sans-serif;
    display: inline-block;
    font-size: 0.75em;
    padding: 0.2em 0.2em 0;
    color: #333;
    line-height: 1;
    margin-right: 0.2rem;
    transform: translateY(-1px);
}
.small-links .container ul li::after{
    content: url(../../img/exam/2024/link.svg);
    display: block;
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
}

footer {
    background-image: linear-gradient(160deg, #bbdeeb82, #e8ebff99),url(https://www.heian.ac.jp/assets/img/exam/2024/gradation_footer.jpg);
    background-size: cover;
}

#Footer {
    padding: 4rem 0;
}

#Footer h4{
    font-size: 2rem;
    text-align: center;
    margin-bottom: 2rem;
    font-family: 'Lato','Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    color:var(--text-navy);
}

#Footer p {text-align: center;}
#Footer span {display: block;}
#Footer .contact {
    text-align: center;
    margin: 1em auto;
}
#Footer .contact a {
    margin: 0.5em auto;
    padding: 0.25em 0.5em ;
    background-color: #fff;
    border-radius: 100px;
}

.small-links .container ul li a{
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}
/*リンクの形状*/
#page-top a{
	display: flex;
	justify-content:center;
	align-items:center;
	background:#144e67c4;
	border-radius: 100px;
	width: 50px;
	height: 50px;
	color: #fff;
	text-align: center;
	text-transform: uppercase; 
	text-decoration: none;
	font-size:2rem;
	transition:all 0.3s;
}
/*リンクを右下に固定*/
#page-top {
	position: fixed;
	right: 10px;
	bottom:8px;
	z-index: 2;
    /*はじめは非表示*/
	opacity: 0;
	transform: translateY(100px);
}

/*　上に上がる動き　*/

#page-top.UpMove{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }
  to {
    opacity: 1;
	transform: translateY(0);
  }
}

/*　下に下がる動き　*/

#page-top.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 1;
	transform: translateY(0);
  }
  to {
  	opacity: 1;
	transform: translateY(100px);
  }
}


@media screen and (min-width: 600px) {
    /* タブレット用レイアウト 600px以上の範囲に収めるデザインはこの中に記述 */
    html {
    font-size: 1.2195122dvw; /* 画面幅820のとき1rem:10px */
    }

    header .exam-logo {width: 25%;}
    header .header-menu ul {padding: 20px;}
    #Menu .container {
        width: 50%;
        padding-top: 5rem;
        padding-bottom: 10rem;
        height: 100vh;
        overflow-y: scroll;
        top: 50%;
        transform: translateY(-50%);
    }

    .flex {
        display: flex;
        justify-content: space-between;
    }

    .main-links.grid {  
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 8rem 8rem 8rem 20rem;
        grid-auto-rows: 1fr;
        gap: 0px 0px;
        grid-auto-flow: row;
        padding-top: 2rem;
    }

    .main-links .about-link {
        grid-column-start: 1;
        grid-column-end: 2;
        grid-row-start: 1;
        grid-row-end: 4;
        height: auto;
    }

    .main-links .admission-link, .main-links .comp-link, .main-links .tuition-link {
        grid-column-start: 2;
        grid-column-end: 3;
        height: auto;
        transition: all 0.3s;
    }

    .main-links .admission-link{
        grid-row-start: 1;
        grid-row-end: 2;
    }

    .main-links .comp-link {
        grid-row-start: 2;
        grid-row-end: 3;
    }

    .main-links .tuition-link {
        grid-row-start: 3;
        grid-row-end: 4;
    }
    #ExamTOP .main-links .oc-link {
        grid-column-start: 1;
        grid-column-end: 3;
        grid-row-start: 4;
        grid-row-end: 5;
        height: auto;
        background-image: linear-gradient(45deg, #02194f47, transparent),url(https://www.heian.ac.jp/assets/img/exam/2024/oc.webp);
    }
    .main-links > div h4,.main-links .oc-link h4 {
        margin-top: 0.5em;
    }
    .main-links .about-link h4 span {
        font-size: 2.4rem;
    }
    .main-links > div h4::after {
        scale: 80%;
        transform: translateY(-60%);
    }
    .main-links > div h4 span {
        font-size: 2rem;
    }
    .main-links .oc-link h4 span {
        font-size: 2.4rem;
    }

    .banner-container {
        overflow: hidden;
        width: 80%;
    }
    .long-banner {width: 65%;}
    .long-banner div {width: 49%;}
    .small-links .container ul li {width: 33%;}
    .small-links .container ul::after{
        content: "";
        display: block;
        width: 49.6%;
    }
    .small-links .container { padding: 2rem 2rem 4rem;}
    footer {
        background-size: cover;
    }
}


@media screen and (min-width: 1025px) {
    html { font-size: 62.5%; }
    .br_pc {display: block;}
    .exam p, .exam a, .exam li, .exam span {
        font-size: 1.6rem;
        font-weight: 500;
    }
    header .exam-logo {
        width: 210px;
    }
    #Menu .container {height: auto;}
    header .header-menu li {
        list-style-type: none;
        width: max-content;
        text-align: center;
        display: flex !important;
        flex-direction: column;
        justify-content: center;
        padding: 0 15px;
        text-shadow: 0 0 5px #fff;
        position: relative;
        font-size: 1.4rem;
        transition: opacity 0.5s;
    }
    header .header-menu li:hover {opacity: 0.5;}

    #Menu .container ul:not(#SNS) li a {
        background-image: linear-gradient(0, #144e67, #144e67);
        background-size: 0% 1px;
        background-repeat: no-repeat;
        background-position: left bottom;
        transition: background-size 0.5s;
    }
    #Menu .container ul:not(#SNS) li a:hover {
        background-size: 100% 1px;
        opacity: 1;
    }
    
    @media screen and (min-width: 1300px) {
        header .header-menu li {  font-size: 1.6rem;}
    }

    header .header-menu li a{
        position: absolute;
        display: block;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
    header .header-menu li:last-child img {
        width: 30px;
    }
    header .header-menu li:last-child a {
        pointer-events: none;
        cursor: pointer;
    }
    header .header-menu ul {
        padding: 15px;
    }

    #Menu { width: 35%;}
    #Menu > span {
        position: fixed;
        z-index: -1;
        display: block;
        width: 100vw;
        height: 100vh;
    }
    #Menu .container {
        width: max(70%, 345px);
        min-width: 0;
        overflow-y: hidden;
        padding-bottom: 5rem;
    }

    .main-links .about-link {
        justify-content: flex-end;
    }
    .main-links .about-link div{width: 600px;}
    .main-links.grid {
        grid-template-rows: 16rem 16rem 16rem 32rem;
        padding-top: 4rem;
    }

    .main-links > div {
        transition: all 0.5s;
    }
    .main-links > div:hover{
        filter: contrast(1.25);
        opacity: 0.8;
    }
    .main-links .oc-link a{
        position: absolute;
        width: 100%;
        height: 100%;
        display: block;
        top: 0;
        left: 0;
    }

    .main-links > div h4 {
        margin-top: 1em;
    }
    .main-links > div h4 span {
        font-size: 2.8rem;
    }
    .main-links .about-link h4 span {
        font-size: 4rem;
    }
    .main-links > div h4::after {
        scale: 115%;
        transform: translateY(-40%);
    }
    .main-links .oc-link h4 span {
        font-size: 3.2rem;
    }
    .main-links .about-link p {
        font-size: 2rem;
        font-weight: 400;
    }
    .main-links > div {padding-left: 5rem;}

    .banner-container {
        min-width: 750px;
        max-width: 1100px;
    }
    .long-banner {
        width: 700px;
    }
    .long-banner div {
        width: 320px;
    }
    
    .small-links .container {
        padding: 4rem 2rem 8rem;
    }

    .small-links .container ul li {
        width: 24.5%;
        transition: opacity 0.5s;
    }
    .small-links .container ul li:hover {
        opacity: 0.5;
    }
    .small-links .container ul li span{
        font-size: 1.6rem;
    }
    .small-links .container ul li span.dejipan::after {font-weight: 600;}
    #Footer {
        padding: 8rem 0;
    }
    #Footer h4 br {
        display: none;
    }
    #Footer p {
        text-align: center;
        font-size: 2rem;
        line-height: 1.5em;
    }
    #Footer .contact {
        text-align: center;
        margin: 2em auto;
    }
    #Footer .contact a {
        margin: 0.5em;
        padding: 0.25em 1em;
        font-size: 1.8rem;
    }
    
    /*リンクの形状*/
    #page-top a{
        width: 60px;
        height: 60px;
    }
    /*リンクを右下に固定*/
    #page-top {
        bottom:10px;
    }
}

@media screen and (min-width: 600px) {
    
    body:not(#ExamTOP) .main-links.grid {
        grid-template-rows: 14rem 14rem;
    }
    body:not(#ExamTOP) .main-links .admission-link {
        grid-row-start: 1;
        grid-row-end: 2;
        grid-column-start: 1;
        grid-column-end: 2;
    }
    body:not(#ExamTOP) .main-links .comp-link {
        grid-row-start: 1;
        grid-row-end: 2;
    }
    body:not(#ExamTOP) .main-links .tuition-link {
        grid-row-start: 2;
        grid-row-end: 3;
        grid-column-start: 1;
        grid-column-end: 2;
    }
    body:not(#ExamTOP) .main-links .oc-link {
        grid-column-start: 2;
        grid-column-end: 3;
        grid-row-start: 2;
        grid-row-end: 3;
        height: auto;
        margin: 0;
        padding-left: 3rem;
        background-image: none;
        justify-content: flex-start;
        border: #F2F2F2 1px solid;
    }
    body:not(#ExamTOP) .main-links .oc-link h4 span {
        color: var(--text-navy);
        font-size: 2.4rem;
    }
    body:not(#ExamTOP) .main-links .oc-link h4::after {
        content: url(https://www.heian.ac.jp/assets/img/exam/2024/arrow.svg);
        scale: 80%;
        transform: translateY(-60%);
    }
    body:not(#ExamTOP) .main-links .oc-link p{
        display: block;}
    body:not(#ExamTOP) .main-links .oc-link h4 span {
        text-shadow: none;
    }
    body:not(#ExamTOP) .main-links .oc-link h4::after {
        filter: none;
    }
    
}

@media screen and (min-width: 1025px) {
    body:not(#ExamTOP) .small-links .container {
        padding: 4rem 0rem 8rem;
        margin: 0 auto;
        max-width: 120rem;
        width: 90%;
    }
    body:not(#ExamTOP) .main-links .oc-link h4 span {
        font-size: 2.8rem;
    }
    body:not(#ExamTOP) .main-links .oc-link {padding-left: 5rem;}
    
    body:not(#ExamTOP) .main-links .tuition-link,
    body:not(#ExamTOP) .main-links .admission-link {
        padding-left: max(calc(50vw - 600px + 3rem), 3rem);
    }
    body:not(#ExamTOP) .main-links .oc-link h4::after {
        content: url(https://www.heian.ac.jp/assets/img/exam/2024/arrow.svg);
        scale: 115%;
        transform: translateY(-40%);
    }
    body:not(#ExamTOP) .main-links.grid {
        grid-template-rows: 16rem 16rem;
    }
}