html {
    font-size: 62.5%;
    scroll-behavior: smooth;
}

body {
    font-size: 1.6rem;
    font-family: 'BIZ UDPGothic', sans-serif;
}

.roboto {
    font-family: 'Roboto', sans-serif;
}

header {
    position: relative;
    display: flex;
    background-color: black;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

header figure {
    width: 100%;
    height: 100vh;
}

header figure:after {
    content: '';
    width: 100%;
    height: 100%;
    display: block;
    background-color: rgba(0, 0, 0, 0.30);
    background-image: radial-gradient(#000000 25%, transparent 50%),
        radial-gradient(#000000 25%, transparent 50%);
    background-position: 0 0, 2px 2px;
    background-size: 4px 4px;
    position: absolute;
    top: 0;
    left: 0;
}

header figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 0.5;
}

header .box {
    color: #ffffff;
    position: absolute;
    text-align: center;
}

header h1 {
    font-size: 4.8rem;
    margin-bottom: 2.5rem;
}

header p {
    line-height: 1.5;
}

.scrolldown2 {
    bottom: 2.5rem !important;
}

.scrolldown2 span {
    font-size: 1.1rem !important;
    font-weight: 900;
}

h2 {
    margin-bottom: 5.0rem;
    font-size: 1.4rem;
    display: flex;
    flex-direction: column;
    align-items: center;
}

h2 i {
    font-size: 4.0rem;
    margin-bottom: 1.5rem;
    display: block
}

.crossword {
    padding: 7.5rem 0
}

.crossword .wrap {
    width: 90%;
    max-width: 900px;
    margin: 0 auto;
}

.crossword h2+p {
    text-align: center;
    line-height: 1.5;
    margin-bottom: 5.0rem
}

.crossword .notice{
    text-align: center;
    margin-bottom: 5.0rem;
    font-size: 1.8rem;
    background-color: #dddddd;
    padding: 1.5rem;
    border-radius: 0.5rem;
}
.xwordContainer {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.xwordContainer div {
    display: block;
    width: 23%;
    margin-bottom: 2.5rem;
    font-size: 1.4rem;
    text-align: center;
    color: #999999;
}
.xwordContainer div.fadein{
    transform: scale(0) rotate(5deg);
    transition: 0.5s all ease-in-out;
    opacity: 0;
}
.xwordContainer div.fadein.active{
    transform: scale(1) rotate(0);
    opacity: 1;
}

.xwordContainer a img {
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
    display: block;
    border: 5px solid #eeeeee;
    transition: 0.5s all;
    margin-bottom: 0.5rem;
}

.xwordContainer a img:hover {
    opacity: 0.5;
}

.download {
    padding: 7.5rem 0;
    position: relative;
    color: #ffffff;
    background-color: #000000;
}

.download video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
    opacity: 0.25;
}

.download .wrap {
    width: 90%;
    max-width: 900px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.download h2+p {
    line-height: 1.8;
    text-align: center;
    margin-bottom: 5.0rem;
}

.download .box {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 2.5rem;
    border: 1px solid #ffffff;
    border-radius: 1.5rem;
    width: 80%;
    margin: 0 auto;
    transition: 0.5s all ease-in-out;
    opacity: 0;
    position: relative;
    bottom:-5.0rem
}
.download .box.is-active{
    opacity: 1;
    bottom:0
}
.download li {
    list-style-type: disc;
    line-height: 2;
    font-size: 1.4rem
}

.download .button {
    margin-bottom: 2.5rem;
    width: 70%;
}

.download .button a {
    background-color: #f7c415;
    padding: 1.5rem;
    display: block;
    border-radius: 2.5rem;
    color: #000000;
    text-align: center;
    transition: 0.5s all;
}

.download .button a:hover {
    opacity: 0.75;
}

.about {
    padding: 7.5rem 0;
}
.about .fadein{
    opacity: 0;
    transition: 0.5s all;
}
.about .fadein.active{
    opacity: 1;
}
.about .wrap {
    width: 90%;
    max-width: 900px;
    margin: 0 auto;
    display: flex;
}

.about .wrap .text {
    width: 55%;
}

.about .wrap figure {
    width: 45%;
}

.about h2+p br{
    display: none;
}

.about .piclist {
    padding: 2.5rem 0
}

.about .piclist li {
    display: flex;
    margin-bottom: 1.5rem;
    align-items: center;
}

.about .piclist li img {
    width: 25%;
    border-radius: 0.5rem
}

.about .piclist li i {
    display: block;
    padding: 0 1.5rem;
    line-height: 1.8;
}

.about dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

.about dt {
    display: flex;
    align-items: center;
    font-size: 1.4rem;
    margin-bottom: 1.5rem;
    width: 50%;
    white-space: nowrap;
}

.about dt:after {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background-color: #000000;
    margin: 0 0.5rem;
}

.about dt i {
    font-size: 3.2rem;
    margin-right: 1.5rem;
    display: block;
}

.about dd {
    font-size: 1.8rem;
    width: 50%;
    display: flex;
    margin-bottom: 1.5rem
}

.about dd .links {
    display: flex;
}

.about dd .links li {
    font-size: 3.2rem;
    padding: 0.5rem
}

.about a {
    color: #666666;
    transition: 0.5s all;
}

.about a:hover {
    opacity: 0.5;
}

.about figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 0.5rem;
}

.links{
    background-color: #dddddd;
    padding:7.5rem 0
}

.links ul{
    width:90%;
    max-width: 90.0rem;
    margin: 0 auto;
}

.links li{
    margin-bottom: 1.5rem;
}

.links li a{
display:flex;
line-height: 1.8;
}

.links li i{
    white-space: nowrap;
    margin-right: 1.5rem;
}
    

.docs {
    padding: 7.5rem 0;
    position: relative;
}

.docs .bg {
    top: 0;
    left: 0;
    position: absolute;
    background-color: #000000;
    z-index: -1;
    overflow: hidden;
    width: 100%;
    height: 100%;
}

.docs .bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 0.25;
}

.docs .wrap {
    width: 90%;
    max-width: 900px;
    margin: 0 auto;
    /*display: flex;*/
    color: #eeeeee;
    justify-content: space-between;
}
.docs .wrap .text{
    text-align: center;
    line-height: 1.8;
    
}


.docs .fadein{
    opacity: 0;
    transition: 0.5s all;
}
.docs .fadein.active{
    opacity: 1;
}

.docs .wrap .diary {
    width: 67%;
}

.docs .wrap .diary .midashi {
    display: none;
    font-size: 1.8rem;
    text-align: center;
    margin-bottom: 5.0rem
}

.docs .wrap .diaryContainer {
    line-height: 2;
    text-align: justify;
    text-justify: inter-ideograph;
    text-justify: inter-character;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.docs .wrap .diaryContainer h2 {
    margin: 0 0 1.5rem 0;
    font-size: 2.1rem;
    font-family: 'Roboto', sans-serif;
}
.docs .wrap .diaryContainer p {
    margin: 0 0 2.5rem 0;
}

.docs .wrap .blog {
    width: 30%;
}

.docs .wrap .blog .post {
    margin-bottom: 1.5rem;
    position: relative;
    transition: 0.5s all;
}

.docs .wrap .blog .post:hover {
    opacity: 0.75;
}

.docs .wrap .blog figure {
    margin-bottom: 0.5rem;
    aspect-ratio: 3 / 2;
    overflow: hidden;
    border-radius: 0.5rem;
}

.docs .wrap .blog figure img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.docs .wrap .blog dl {
    font-size: 1.4rem;
    display: flex;
    flex-direction: column-reverse;
    /*
    padding:0.5rem;
    background-color: rgba(0,0,0,0.5);
    position: absolute;
    bottom:0;
    left:0;
    width:100%
    */
}

.contact {
    padding: 7.5rem 0
}

.contact p {
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 2;
    flex-direction: column;
}

.contact p small {
    font-size: 1.2rem
}

.contact .wrap {
    width: 80%;
    max-width: 800px;
    margin: 0 auto;
}

.contact form {
    margin-top: 5.0rem;
    transition: 1.5s all ease-in-out;
    opacity: 0;
    position: relative;
    bottom:-5.0rem
}
.contact form.is-active{
    opacity: 1;
    bottom:0
}








.contact label {
    display: block;
    margin-bottom: 1.5rem;
}

.contact label input {
    border: 1px solid #999999;
    padding: 1.0rem;
    width: 100%
}

.contact label input::placeholder {
    color: #dddddd;
}

.contact label textarea {
    border: 1px solid #999999;
    padding: 1.0rem;
    width: 100%
}

.contact label textarea::placeholder {
    color: #dddddd;
}

.contact input[type="submit"] {
    padding: 1.5rem 0;
    display: block;
    background-color: #f7c415;
    text-align: center;
    width: 100%;
    border-radius: 0.5rem;
    cursor: pointer;
    transition: 0.5s all;
}

.contact input[type="submit"]:hover {
    opacity: 0.75;
}

footer {
    background-color: #000000;
    position: relative;
    padding: 10.0rem 0;
    overflow: hidden;
}

footer .bg {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    display: block;
    width: 100%;
    height: 100%;
}

footer .bg:after {
    content: '';
    width: 100%;
    height: 100%;
    display: block;
    background-color: rgba(0, 0, 0, 0.30);
    background-image: radial-gradient(#000000 25%, transparent 50%),
        radial-gradient(#000000 25%, transparent 50%);
    background-position: 0 0, 2px 2px;
    background-size: 4px 4px;
    position: absolute;
    top: 0;
    left: 0;
}

footer .bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 0.5;
}

footer .wrap {
    position: relative;
    color: #dddddd;
    width: 90%;
    max-width: 900px;
    margin: 0 auto;
}

footer dl {
    margin-bottom: 7.5rem;
}

footer dt {
    font-size: 4.0rem;
    margin-bottom: 7.5rem;
}

footer dd {
    font-size: 2.4rem;
    margin-bottom: 1.5rem
}

footer p {
    color: #eeeeee;
}

@media screen and (max-width: 1000px) {
    html {
        font-size: 1vw;
    }
}
@media screen and (max-width: 640px) {
    html {
        font-size: 2.0vw;
    }
    .xwordContainer div{
        width:47%
    }
    .download .box{
        width:100%
    }
    .download .button{
        width:100%
    }
    .about .wrap{
        flex-direction: column-reverse;
        width:80%
    }
    .about h2+p {
        text-align: center;
        line-height: 2;
    }
    .about h2+p br{
        display: block;
    }
    
    .about .wrap .text{
        width:100%
    }
    .about .wrap figure{
        width:100%;
        margin-bottom: 2.5rem;
    }
    .docs .wrap{
        flex-direction: column;
    }
    .docs .wrap .diary{
        width:100%;
        margin-bottom:5.0rem
    }
    .docs .wrap .blog{
        width:100%;
        margin-bottom:5.0rem;
    }
    .docs .wrap .blog h2{
        text-align: center;
        align-items: center;
        width:100%
    }
    .docs .wrap .blog .feed{
        display:flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .docs .wrap .blog .feed .post{
        width:47%
    }
    .docs .wrap .diaryContainer p{
        margin-bottom:2.5rem
    }
}