/* ------------------------------CSS for ALL----------------------------------- */
@import url("https://fonts.googleapis.com/css?family=Sawarabi+Gothic");
@import url("https://fonts.googleapis.com/css?family=Cinzel|Lora|Muli|Open+Sans+Condensed:300|Poiret+One|Roboto");
@import url("https://use.fontawesome.com/releases/v5.1.0/css/all.css");
:root {
    --main-background-color: #e8f4fa;
    /* --main-header-color: #00aaf8; */
    --main-header-color: rgb(144, 180, 201);
    --sub-header-color: rgb(65, 179, 245);
    --main-font-color: #fafafa;
    /* --main-button-color: #f8b009; */
    /* --main-button-color: #f5bbef; */
    --main-button-color: rgba(85, 187, 187, 0.8);
}

::-webkit-scrollbar { 
    display: none; 
}

h2{
    font-size: 2.2rem;
}

h2 span{
    font-size: 2rem;
    display: block;
}

h3{
    font-size: 1.8rem;
}

h4{
    font-size: 1.6rem;
}

h5{
    font-size: 1.5rem;
}

p{
    font-size: 1.2rem;
    line-height: 2;
}

html{
    font-size: 67%;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    font-family: 'Sawarabi Gothic';
    scroll-behavior: smooth;
}

hr{
    margin: 20px auto 50px;
    width: 50%;
    height: 1px;
    background-color: rgb(144, 180, 201);
    border: none;
}

.blueback{
    padding: 15px 0;
    width: 100%;
	background: #e8f4fa;
}

.button{
    margin-top: 50px;
    text-align: center;
}

button{
    width: 100%;
    margin: 0 auto;
	background:  rgba(85, 187, 187, 0.8);
    padding: 20px;
    transition: 0.3s;
    color: white;
    font-size: 1.5rem;
    text-decoration: none;
    transition: 0.3s;
    cursor: pointer;
}

button:hover{
    transform: scale(1.05);
	box-shadow: 3px 5px 3px  rgba(85, 187, 187, 0.8);
}
/* ------------------------------CSS for Header----------------------------------- */

/*header{
    width: 100%;
    height: 100vh;
    background: url("../images/keyvisual.png") 100% center;
    background-size: cover;
}*/

header .key-text{
    filter: blur(0.1);
    background: rgba(255, 255, 255, 0.9);
    position: absolute;
    top: 50%; left: 50%;
    box-sizing: border-box;
    padding: 50px;
    transform: translate(-50%, -50%);
}

header .key-text h1{
    text-align: center;
    margin: 0 auto;
    font-weight: normal;
    font-family: 'Poiret One', cursive;
}

header nav{
    z-index: 9999;
    position: fixed;
    width: 100%;
    height: 0;
    cursor: pointer;
}

header nav span{
    display: block;
    position: absolute;
    padding: 0;
    right: 7px;
    font-size: 1rem;
	top: 40px;
}

header .jpen{
    position: absolute;
    right: 0;
}

header .jpen img{
    width: 100%;
    padding: 0;
    max-width: 80px;
}

header .search{
    position: fixed;
    top: 10%;
    right: 5px;
    z-index: 999;
    display: none;
}

header .search img{
    width: 50px;
}

header nav{
    display: none;
}

header nav .nav{
	position: absolute;
	top: 5px;
	right: 5px;
	color: #76C7C8;
	line-height: 1;
	z-index: 500;
	margin: 0 auto;
	font-size: 50px;
	transition: 0.3s;
	min-width: 33px;
	min-height: 54px;
	display: inline-block;
}

header nav .nav:hover{
	transform: scale(1.1);
}

header .nav .nav_btn{
	top: 5px;
	width: 33px;
	height: 3px;
	background-color: #76c7c8;
}
header .nav .nav_btn:nth-child(2){
	top: 18px;
}
header .nav .nav_btn:nth-child(3){
	top: 31px;
}

header nav .sidenav{
    width: 100%;
    height: 0;
    position: fixed;
    top: 0;
    background: #76C7C8;
    overflow-x: hidden;
    transition: 0.5s;
}

header nav .sidenav a{
    margin: 0 auto;
    color: white;
    text-align: center;
    padding: 15px;
    text-decoration: none;
    font-size: 2rem;
    display: block;
    transition: 0.3s;
}

header nav .sidenav hr{
    margin: 0 auto;
    width: 50%;
    height: 1px;
    background-color: white;
    border: none;
}

header nav .sidenav .nav-top{
    margin-top: 10px;
}

header nav .sidenav .closebtn {
    position: absolute;
    top: 0;
    right: 10%;
    font-size: 36px;
    margin-left: 10px;
}

header .scroll-down{
    position: absolute;
    top: 65%; left: 50%;
    transform: translate(-50%, -50%);
    z-index: 999;
}

header .scroll-down p{
    font-family: 'Poiret One', cursive;
    font-size: 1rem;
}

header .scroll-down span{
    display: block;
    width: 20px;
    height: 20px;
    border-bottom: 2px solid black;
    border-right: 2px solid black;
    transform: rotate(45deg);
    margin: -10px auto;
    animation: scroll-down 2s infinite;
}

header .scroll-down span:nth-child(1){
    animation-delay: 0.2s;
}

header .scroll-down span:nth-child(2){
    animation-delay: 0.4s;
}

@keyframes scroll-down{
    0%{
        opacity: 0;
        transform: rotate(45deg) translate(-10px, -10px);
    }
    50%{
        opacity: 1;
    }
    100%{
        opacity: 0;
        transform: rotate(45deg) translate(10px, 10px);
    }
}

/* ------------------------------CSS for Main----------------------------------- */

main{
    width: 100%;
}

main .grid{
    width: 80%;
    margin: 0 auto;
}

main .en{
    font-family: 'Lora', sans-serif;
}

h2.blueheader{
	color: rgb(144, 180, 201);
}

section{
    padding: 50px 0;
}

section.topics{
    padding-top: 50px;
}

h2.sub_headers{
	color: rgb(144, 180, 201);
    position: relative;
    text-align: center;
    font-weight: normal;
    margin: 110px 0 10px;
    font-weight: normal;
    padding: 0;
    font-size: 2rem;
}

h2.sub_headers::before{
    content: "";
    position: absolute;
    width: 150px;
    height: 50px;
    top: -20%;
    left: -35%;
    background: url("../images/headerpic.png");
    background-size: cover;
    filter: blur(1px);
}

h2.sub_headers span{
    font-size: 1.3rem;
    margin: 0;
}


/* ----------------CSS for 関連情報-------------- */
/*.resources{
display: grid;
width: 100%;
grid-gap: 20px;
margin: 0 auto;
grid-template-areas:    "guide digest"
"scholar others"
"search search";
}*/
.resources{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	margin: 0 auto;
}
.resources a{
	box-sizing: border-box;
	width: calc(50% - 10px);
}
.resources a:nth-child(n + 3){
	margin-top: 20px;
}
.resources a:nth-child(5){
	width: 100%;
}

.resources a{
    font-size: 1.5rem;
    vertical-align: middle;
    color: white;
    text-decoration: none;
	background: rgba(85, 187, 187, 0.8);
    margin: 0;
    padding: 5px 10px;
    font-size: 1.4rem;
    text-align: center;
    cursor: pointer;
    transition: 0.3s;
}

.resources a span{
    display: block;
}

.resources a p{
    text-align: center;
}

.resources a img{
    width: 100%;
    max-width: 50px;
    padding: 0;
}

.resources a .other-resources-img{
    width: 40px;
}

.resources a:hover{
    transform: scale(1.05);
	box-shadow: 3px 5px 3px rgba(85, 187, 187, 0.8);
}

.resources .search{
    grid-area: search;
}

#resources #guide-book,
#resources #guide-book-digest{
    display: none;
}

/* ------------------------------CSS for フッター----------------------------------- */
footer{
    width: 100%;
    margin: 50px auto 0;
    /* background: rgb(255, 255, 255); */
}

footer .address{
    text-align: center;
    margin: 0 auto;
    width: 70%;
    color: gray;
    font-size: 0.8rem;
}


footer a{
    text-decoration: none;
}

footer a:hover{
    border-bottom: 1px solid black;
}

/*footer p:last-child{
    padding: 50px 0;
    text-align: center;
}*/

footer .pageTop{
    list-style-type: none;
    position: fixed;
    bottom: 20px;
    right: 20px;
    display: inline;
    margin: 0;
}

footer .pageTop a {
	display:block;
	text-decoration:none;
}

footer .pageTop a:hover{
    border-bottom: none;
}

footer .pageTop img {
    transform: scale(1);
    width: 50px;
    height: auto;
    transition: 0.3s;
}

footer .pageTop img:hover {
    transform: scale(1.2);
}

footer .sijlogo{
    padding: 0;
    display: block;
    width: 100%;
    margin: 30px auto;
    background: white;
}

/* コンテンツ */
.info_list{
	margin-left: 1em;
	padding-left: 1em;
	font-size: 1.5rem;
}
.en .info_list{
	font-size: 1.4rem;
}
.info_list li ~ li{
	margin-top: .4em;
}
.en .info_list li ~ li{
	margin-top: .5em;
}
.info_list + h3{
	margin-top: 40px;
}
.info_list + h4{
	margin-top: 30px;
}
.info_list2{
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 1.5rem;
}
.en .info_list2{
	font-size: 1.4rem;
}
.info_list2 li ~ li{
	margin-top: 20px;
}
.info_list + .info_list2{
	margin-top: 40px;
}
.info_list2 + h3{
	margin-top: 40px;
}

/* ------------------------------CSS for PC版----------------------------------- */
@media only screen and (min-width: 1281px) {
    .top-text{
        width: 70%;
        margin: 0 auto;
    }

    .button{
        margin-top: 50px;
        text-align: center;
    }

    button{
        width: 40%;
    }
    
    section{
        padding: 0;
    }

    header .key-text{
        padding: 80px;
    }

    header .key-text h1{
        font-size: 3rem;
    }

    header .key-text h1 .ptc{
        font-size: 5rem;
    }

    header .key-text h1 .ptcj{
        font-size: 3rem;
    }

    header .search{
        top: 30%;
        right: 0;
        display: block;
    }
    
    header .search img{
        width: 50px;
        transform: scale(1);
        transition: 0.3s;
    }

    header .search img:hover{
        transform: scale(1.1);
    }
    
    header nav .nav{
        font-size: 60px;
    }

    header nav span{
        right: 3px;
        font-size: 1.5rem;
	}

	header .nav .nav_btn{
		width: 48px;
	}
    
    header nav .sidenav a{
        font-size: 2.5rem;
    }
    
    header nav .sidenav hr{
        margin: 5px auto;
        width: 30%;
    }
    
    header nav .sidenav .nav-top{
        margin-top: 30px;
    }
    
    header nav .sidenav .closebtn {
        left: 50%;
        right: 0;
        font-size: 40px;
    }

    header .scroll-down{
        top: 74%;
    }

    header .scroll-down p{
        font-size: 1.5rem;
    }
    
    header .scroll-down span{
        width: 30px;
        height: 30px;
    }

    h2.sub_headers{
        font-size: 4rem;
    }

    h2.sub_headers::before{
        top: -30%;
        left: 20%;
    }

    h2.sub_headers span{
        font-size: 2rem;
    }
    
    h3{
        font-size: 2rem;
    }
    
    h4{
        font-size: 1.8rem;
    }

    html p{
        font-size: 1.5rem;
        line-height: 2.5;
    }

    main .grid{
        width: 80%;
        margin: 100px auto;
    }

    #topics .topics-back{
        width: 100%;
        max-width: 600px;
        left: -20%;
        bottom: 10%;
    }

    html p{
        line-height: 2;
    }

    button{
        font-size: 1.6rem;
    }

    ul li{
        font-size: 1.6rem;
    }

    #senmon h3{
        font-size: 1.7rem;
    }

    #senmon p{
        font-size: 1.5rem;
    }

    .resources a{
        padding: 30px 0;
        font-size: 2rem;
    }

    .resources a p{
        text-align: none;
        display: inline;
        margin: 0 10px;
        vertical-align: middle;
    }

    .resources a span{
        display: inline;
        vertical-align: middle;
    }

    .resources a img{
        vertical-align: middle;
        max-width: 60px;
    }

    .resources a .other-resources-img{
        width: 50px;
    }


    footer .address{
        font-size: 1.2rem;
    }

    footer .pageTop{
        bottom: 40px;
        right: 40px;
    }
    
    footer .pageTop a {
        display:block;
        text-decoration:none;
    }
    
    footer .pageTop img {
        width: 80px;
        height: auto;
    }

	/* コンテンツ */
	.info_list + h3{
		margin-top: 80px;
	}
	.info_list + h4{
		margin-top: 50px;
	}
	.info_list2 li ~ li{
		margin-top: 30px;
	}
	.info_list + .info_list2{
		margin-top: 80px;
	}
	.info_list2 + h3{
		margin-top: 80px;
	}
}

/* ------------------------------CSS for Tablet版---------------------------------- */
@media only screen and (min-width: 768px) and (max-width: 1280px){
    .top-text{
        width: 70%;
        margin: 0 auto;
    }

    header .key-text{
        padding: 80px;
    }

    header .key-text h1{
        font-size: 3rem;
    }

    header .key-text h1 .ptc{
        font-size: 5rem;
    }

    header .key-text h1 .ptcj{
        font-size: 3rem;
    }

    header .search{
        top: 30%;
        right: 0;
        display: block;
    }
    
    header nav .nav{
        font-size: 60px;
    }
    
    header nav .sidenav a{
        font-size: 2.5rem;
    }
    
    header nav .sidenav hr{
        margin: 5px auto;
        width: 30%;
    }
    
    header nav .sidenav .nav-top{
        margin-top: 30px;
    }
    
    header nav .sidenav .closebtn {
        left: 50%;
        right: 0;
        font-size: 40px;
    }

    header .scroll-down{
        top: 64%;
    }

    header .scroll-down p{
        font-size: 1.5rem;
    }
    
    header .scroll-down span{
        width: 30px;
        height: 30px;
    }

    button{
        font-size: 1.5rem;
    }

    p{
        font-size: 1.3rem;
    }

    h2.sub_headers{
        font-size: 3.5rem;
    }

    h2.sub_headers::before{
        top: -30%;
        left: -10%;
    }

    html .tokuchou_list p{
        font-size: 2rem;
    }

    html .tokuchou_list p span{
        font-size: 1.2rem;
    }

    html .nihon_merit p{
        font-size: 2rem;
    }
    
    html .nihon_merit p span{
        font-size: 1.2rem;
    }

    .resources a{
        font-size: 2rem;
    }

    .resources a p{
        text-align: none;
        display: inline;
        margin: 0 10px;
        vertical-align: middle;
    }

    .resources a span{
        display: inline;
        vertical-align: middle;
    }

    .resources a img{
        vertical-align: middle;
        max-width: 60px;
    }

    .resources a .other-resources-img{
        width: 50px;
    }
	

	/* コンテンツ */
	.info_list + h3{
		margin-top: 50px;
	}
	.info_list + h4{
		margin-top: 40px;
	}
	.info_list2{
		margin: 0;
		padding: 0;
		list-style: none;
	}
	.info_list2 li ~ li{
		margin-top: 30px;
	}
	.info_list + .info_list2{
		margin-top: 50px;
	}
	.info_list2 + h3{
		margin-top: 50px;
	}
}

@media (max-width: 640px) {
  .link_h3 {
      font-size: 24px !important;
      line-height: 1.75;
	  font-weight: 700;
    }
  .link_h4 {
      font-size: 20px !important;
      line-height: 1.5;
	  font-weight: 500;
    }
}
@media (min-width: 641px) {
  .link_h3 {
      font-size: 20px !important;
      line-height: 1.5;
	  font-weight: 700;
    }
  .link_h4 {
      font-size: 18px !important;
      line-height: 1.5;
	  font-weight: 500;
    }
}
