@charset "UTF-8";
:root {
--main_bg: #dce6ef;
--sub_bg: #f2faff;
--main_yellow: #FFFFFF;
--sub_yellow: #acd7f9;
--main_blue: #262733;
--sub_blue: #284c72;
--main_pink: #f9cfdb;
--sub_pink: #e5e0e3;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
p, a, ul, li, button, form, h2, h4, h5, h6, label, hr {
font-size: 15px;
font-family: "Noto Sans JP", sans-serif;
font-weight: 300;
font-style: normal;
color: var(--main_blue);
line-height: 1.6em;
text-decoration: none;
}
input, textarea {
font-size: 16px;
font-family: "Noto Sans JP", sans-serif;
font-weight: 300;
font-style: normal;
color: var(--main_blue);
} 
button {
cursor: pointer;
border: none;
background-color: transparent;
transition: all 1s;
}
h1, h3 a {
font-family: "Genos", sans-serif;
font-weight: 500;
font-style: normal;
color: var(--main_blue);
}
a {
white-space: nowrap;
transition: all 1s;
font-size: 17px;
text-decoration: none;
}
a:hover {
color: var(--sub_blue);
background-color: var(--main_bg);
}
.nav1_outer a:hover, .circle a:hover {
background-color: var(--main_yellow);
color: var(--sub_blue);
}
.nav1_outer a:hover span, .circle a:hover span {
background-color: var(--main_pink);
}
.nav1_outer span {
transition: all 1s;
}
.a16 {
font-size: 16px;
}
img {
vertical-align: middle;
}
span {
white-space: nowrap;
}
.m1em {
display: flex;
}
.m1em::before {
content: "";
margin-left: 1em;
}
body {
background-color: var(--main_bg);
}
body::-webkit-scrollbar {
width: 12px;
}
body::-webkit-scrollbar-track {
background-color: var(--main_bg);
}
body::-webkit-scrollbar-thumb {
background-color: #62657E;
border-radius: 50px;
}
body::-webkit-scrollbar-thumb:hover {
background-color: var(--sub_blue);
border-radius: 50px;
}
.center {
text-align: center;
}
.left {
text-align: left;
}
.right {
text-align: right;
}
/* ここまで共通 */

.outer, .outer2 {
width: 100%;
background-color: var(--main_yellow);
margin-bottom: 20px;
}
.outer2 {
padding: 0 1em 20px;
}
.topimg_outer {
width: 100%;
overflow: hidden;
position: relative;
border: 3px solid var(--main_yellow);
}
.topimg {
width: 100%;
}
.topimg_outer div {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
}
.top_title h1 {
font-size: 34px;
padding: 0px 0 20px;
}
.h1_color {
color: var(--sub_blue);
}
.top_title .h1small {
font-size: 24px;
}
.page_title h1 {
font-size: 24px;
padding: 25px 0 5px;
border-bottom: 3px solid var(--main_bg);
margin: 0 0 5px;
}
.page_title .h1small {
font-size: 20px;
}
h2 {
font-size: 18px;
padding: 10px 0 5px;
border-bottom: 1px solid var(--main_bg);
margin: 0 0 5px;
}
.title_eng {
font-family: "Roboto", sans-serif;
font-weight: 300;
font-style: normal;
font-size: 18px;
padding-top: 20px;
}
.bottom_hit {
width: 200px;
height: 80px;
padding: 5px 0;
margin: auto 16px auto auto;
text-align: right;
}
.eng_bottom {
padding: 0;
}
.page_title p {
width: fit-content;
margin: 0 auto 5px;
}
.count_outer {
padding: 20px 1em 10px;
}
.nav1_outer, .join_rank ul {
display: flex;
justify-content: center;
}
.join_rank ul {
flex-wrap: wrap;
padding-bottom: 10px;
}
.nav1_outer a, .circle {
display: block;
width: 65px;
height:30px;
padding: 1px 5px;
margin: 10px 5px 5px;
border: solid 1px var(--sub_yellow);
border-radius: 50px;
overflow: hidden;
position: relative;
z-index: 2;
background-color: var(--main_yellow);
box-shadow: 2px 3px 0 var(--sub_pink);
}
.nav1_outer p, .circle p {
text-align: center;
}
.deco4 {
display: block;
width: 32.5px;
height: 30px;
position: absolute;
background-color: var(--sub_bg);
top: 0;
left: 0;
z-index: -1;
}
.circle {
margin: 10px auto 5px;
}
.nav2_outer {
padding: 2em 1em;
}
.letter_deco1 {
display: block;
font-size: 17px;
padding: 6px 0 2px;
}
.letter_deco2 {
border-bottom: solid 1px var(--main_bg);
}
.letter_top {

border-top: solid 1px var(--main_bg);
}
.fadein1 {
    animation-name: fadein1;
    animation-duration: 2s;
    animation-fill-mode: forwards;
    opacity: 0;
}
@keyframes fadein1 {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
.join_rank a {
display: block;
width; fit-content;
padding: 5px;
}
.join_rank li {
list-style: none;
}
.s1 p {
text-align: left;
}
.s2 {
margin-bottom: 10px;
}
.s2p_center {
text-align: center !important;
}
.toplink {
display: block;
padding: 5px 0 0;
border-top: 3px solid var(--main_bg);
margin: 15px 0 0;
}
.line_deco1 {
padding: 5px 0 0;
border-top: 1px solid var(--main_bg);
margin: 15px 0 0;
text-align: center !important;
}
input[type="submit"] {
margin: 10px auto;
}
textarea, input[type="text"], input[type="submit"] {
width: 100%;
max-width: 400px;
}
.s3 {
width: 300px;
background-color: var(--sub_bg);
padding: 10px 13px 10px;
margin: 12.5px auto;
border-left: 13px solid var(--sub_yellow);
box-shadow: 4px 3px 0 var(--sub_pink);
border-radius: 0 10px 10px 0 / 0 10px 10px 0;
}
.s3 h3 a {
font-size:18px;
padding: 10px 0 5px;
}
.s3:hover{
box-shadow: 2px 1.5px 0 var(--sub_pink);
transform: translate(2px, 1.5px);
}
.s3 a:hover {
background-color: transparent;
}
.s3 p {
width: fit-content;
margin: 0 auto;
padding: 5px 1em 0;
}
.date {
width: 100% !important;
padding: 5px 0 0 !important;
font-size: 15px;
color: var(--sub_blue);
}
.pagelist {
padding-top: 3px;
}
.wrapper1 {
max-width: 750px;
margin: 0 auto;
padding: 20px 4% 0;
}
.circle p {
text-align: center;
}
.sister_rank span {
white-space: nowrap;
}
.sister_rank a {
display: inline-block;
}