@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap');

body {
    font-family: 'Noto Sans','Noto Sans JP', 'Lucida Sans', sans-serif;
    font-size: 18px;
    /* background:linear-gradient(#a0bef3, #e7ecef, #c4c7e7); */
    color: #000814;
    margin:0;
    background-image: url(https://img.freepik.com/premium-vector/abstract-fire-seamless-pattern_116958-1.jpg), 
        linear-gradient(#000000, #142038,  #49405e);;
    background-repeat: repeat;
    background-blend-mode: multiply;
    background-attachment: fixed, scroll;
}
figure {
    position: relative;
    margin:auto;
    text-align:center;
}
figure > img {
    max-width: 100%;
}

figcaption {
    display: none;
    margin:auto;
    width: auto;
    font-size:small;
}

p.bubble {
    border: 2px solid #031d44;
    border-radius: 15px;
    padding: 15px;
    position: absolute;
    margin:auto;
}

footer {
    box-sizing: border-box;
    font-size: small;
    align-content: center;
    background-color: #000000;
    background-image: url(https://wkc2024.com/wp-content/uploads/2023/03/sfondo-galleria-foto-1920.jpg);
    background-size: contain;
    background-repeat: no-repeat;
    height: 400px;
    background-position-x: right;
    color:white;
    width: 1200px;
    margin: auto;
    padding: 6em;
}

/* ---------------------------------------------------- */
/* Header */
/* ---------------------------------------------------- */

header {
    width: 100%;
    margin: auto;
    text-align: center;
    min-height: 100vh;
    opacity: 0;
}

.header_content > img {
    position: absolute;
    left: 0;
    top: 0;
    object-fit: cover;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.title_container {
    margin: auto;
    bottom: 0;
    left: 0;
    position: relative;
    align-items: center;
    display: flex;
    justify-content: center;
    max-width: 150rem;
    width: 80%;
    opacity: 0;
    height: 100vh;
}
.title_group {
    margin: auto;
    padding: 9rem ;
    z-index: 5;
    line-height: 2rem;
}
.title_group h1 {
    text-transform: uppercase;
    font-size: 500%;
    color: #caf0f8;
    text-shadow:  0 0 1em #050536, 0 0 0.2em #0000ff, 0 0 50px rgb(52, 51, 75);
    z-index: 5;
}
.title_group h3 {
    font-style: italic;
    font-weight:400;
    color:white;
    text-shadow: 1px 1px 10px #000000;
}
.title_img {
    padding: 0;
    filter: drop-shadow(0 0 4px #fff) drop-shadow(0 0 10px #fff);
    margin: auto;
    max-width: 40rem;
    width: 80%;
    position: absolute;
    z-index: 4;
}

/* ---------------------------------------------------- */
/* Nav and Menus */
/* ---------------------------------------------------- */

.navbar {
    text-transform: uppercase;
    width: 100%;
    background-image: url(https://csszengarden.com/214/contours.png), linear-gradient(#000814, #0a0a0a);
    z-index: 99;
}
.item a {
    color: white;
    text-decoration: none;
    width:100%;
}
.item {
    background-image: linear-gradient(#142038, #060f1f);
    background-repeat: no-repeat;
    background-size: 100% 0;
    min-width: 60px;
    transition: all .2s;
    padding: 2px 20px;
}
.item:hover {
    background-size: 100% 100%;
}
menu {
    display: flex;
    flex: row;
    justify-content: center;
    transition: max-height .4s;
    width: 100%;
    list-style-type: none;
    border-top: 1px solid #142038;
    margin:auto;
    padding: 0;
}



/* ---------------------------------------------------- */
/* Main */
/* ---------------------------------------------------- */

main {
    max-width: 1200px;
    width: 100%;
    margin: auto;
    background-color: rgba(255, 255, 255, 0.8);
    padding: 10px 0 10px 0;
}

hr {
    border: none;
    border-bottom: 4px double #023047;
    overflow: visible;
    text-align: center;
    height: 1em;
    margin: 1em;
}

section {
    position: relative;
    margin:auto;
    max-width:1000px;
}
#btn-to-top {
    display: none; 
    position: fixed; 
    bottom: 10%;
    right: 0; 
    z-index: 99; 
    border: none; 
    outline: none; 
    background-color: rgb(209, 17, 17); 
    color: white; 
    cursor: pointer; 
    padding: 10px;
    border-radius: 10px 0 0 10px; 
    font-size: 18px; 
}
#btn-to-top > img {
    width:30px;
    height:20px;
    object-fit: cover;
    margin-top: 5px;
    filter: brightness(0) invert(1);
}
h1 {
    text-transform: uppercase;
    font-weight: 800;
    font-size: 200%;
}
h3 {
    text-transform: uppercase;
    font-weight: 300;
    font-size: 100%;
    color:#031696;
}

/* ---------------------------------------------------- */
/* Section Intro */
/* ---------------------------------------------------- */



#wkc {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    width: inherit;
    gap: 1em 0;
    padding: 1em;
    box-sizing: border-box;
}
img.photo {
    box-sizing: border-box;
    width:49%;
    height: 400px;
    object-fit:cover;
    border: 6px ridge white;
    padding: 10px;
    background-color: #e9e9f5;
    transition: all 0.3s;
    box-shadow: none;
}

/* ---------------------------------------------------- */
/* Section Overview */
/* ---------------------------------------------------- */

#kendo {
    width: 70%;
}

div.sticker {
    position: absolute;
    margin: auto;
    text-align: center;
    width:150px;
    padding: 10px;
} 
.sticker > p:first-child {
    font-weight: bold;
    font-size: larger;
}
.sticker p {
    margin:auto;
}
#kanji-ken {
    top: 15%;
    right: 75%;
}

#kanji-do {
    top: 65%;
    right: 75%;
}

#kanji-kendo {
    display: block;
    margin: auto;
    mix-blend-mode: multiply;
}

.lego {
    background-color: #68ddca;
    max-width: 400px;
    width: fit-content;
    height:auto;
    border-radius: 40px;
    transition: all .3s;
    color: black;
}
.circle {
    width: 10px;
    height:10px;
    overflow: hidden;
    color: #68ddca;
}
.lego:hover {
    box-shadow: 0 0 5px 5px white;
    cursor: pointer;
}
#lego-1 {
    top: 300px;
    left: 400px;
}
#lego-2 {
    left:300px;
    top:600px;
}
#lego-3 {
    left: 50%;
    top: 20px;
}
/* ---------------------------------------------------- */
/* Section Bogu */
/* ---------------------------------------------------- */

#section-bogu {
    margin: auto;
    height: 6000px;
}

#bogu {
    position:sticky;
    top:10%;
    margin:auto;
    width:100%;
    height:700px;
}
#layers {
    width:100px;
    height:80px;
    margin-inline: auto;
    position: absolute;
    left: 200px;
    top: 50px;
}
#layers > g {
    fill:#f0f8ff;
    stroke: #050c49;
    stroke-width: 1px;
}
#lines {
    position: absolute;
    width:inherit;
    height:inherit;
    z-index: 3;
}
#lines g {
    display: none;
}
line {
    stroke:#25a18e;
    stroke-width: 3px;
    stroke-linecap: round;
}
line.red {
    stroke: #c73941;
}
#bogu-layering > img {
    width:50%;
    height:auto;
    position: absolute;
    top: 50%;
    left: 25%;
    display:none;
}
.dropshadow {
    filter: drop-shadow(0 0 2px #ff0000);
}

#bogu p.bubble {
    font-size: smaller;
    width: fit-content;
    max-width: 250px;
    background-color:#94c5ac;
    display:none;
    z-index: 4;
}

#dogi {
    top: 100px;
    left: auto;
    right:10px;
}
#hakama {
    top:auto;
    left:auto;
    right:10px;
    bottom:100px;
}
#tare {
    top:300px;
    left: 50px;
}
#zekken {
    top:250px;
    left:auto;
    right: 10px;
}
#do {
    top:300px;
    left:50px;
}
#tenugui{
    top:10px;
    left:auto;
    right:10px;
}
#men{
    top:10px;
    left:auto;
    right:10px;
}
#kote{
    top:170px;
    left:auto;
    right:10px;
}
#shinai{
    right: 10px;
    left:auto;
    top:40%;
}

/* ---------------------------------------------------- */
/* Section Strike */
/* ---------------------------------------------------- */

.strike_container {
    display: flex;
    margin: 1em 0;
}
.strike_desc {
    width: fit-content;
    
}
.strike_desc p {
    background-color: none;
    padding: 1em;
    margin: 0;
}
.desc_current {
    background-color: rgba(44, 67, 223, 0.5);
    transition: all 0.5s;
}

.strike_group {
    margin: auto;
    display: block;
    padding: 1em;
}
#strike {
    height: inherit;
    width:500px;
    height: 400px;
}
#strike > div {
    position: absolute;
    width:100px;
    right: 110px;
    z-index: 2;
    display:none;
}
#strike > div > img {
    position: relative;
    width: 100%;
    height:auto;
    z-index: 4;
    right:0;
}
#strike > div > p {
    z-index: 5;
    position: absolute;
    margin: auto;
    top: 37%;
    left: 25%;
    text-align: center;
}
img.strike {
    display:initial !important;
}
#strike > img {
    height:inherit;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: none;
}
#strike > figcaption {
    position:relative;
    top: 10px;
}


#kikentaiichi {
    display:flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    min-width:fit-content;
}
#kikentaiichi > img {
    height:80px;
    min-width:min-content;
}
img.highlight {
    box-shadow: 0 0 5px 5px #2C43DF;
    z-index: 1;
    transition: all 0.5s;
}
#kikentaiichi div {
    width:100%;
    height: 50px;
}
#kikentaiichi p {
    font-size: smaller;
    display: none;
}
#kikentaiichi figcaption {
    width: 100%;
    display: initial;
}


.video_buttons {
    background-color: none;
    border: none;
    padding-bottom: 1rem;
}
.video_buttons button {
    border: none;
    background-color: rgba(3, 29, 68, 0);
    color: white;
    cursor: pointer;
    font-family: inherit;
    margin: 0 50px;
    padding:5px;
    font-size:medium;
    width: 100px;
    transition: all .2s;
}
.video_buttons button:hover {
    background-color: #14325f;
}

.video_container {
    width: auto;
    position: relative;
    background: linear-gradient(to right bottom, #031d44, #010314);
    padding: 2rem 4rem;
    box-sizing: border-box;
    border: 3px solid white;
}
#btn-next, #btn-prev {
    cursor: pointer;
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    filter: brightness(0) invert(1);
    width: 3rem;
    z-index: 5;
}
#btn-prev {
    left: 1%;
}
#btn-next {
    right: 1%;
}
.carousel {
    box-sizing: border-box;
    border-top: 3px solid white;
    border-bottom: 3px solid white;
    overflow: hidden;
    direction: ltr;
    display: flex;
    height:480px;
}
.carousel_item {
    width: 100%;
    transition: 500ms ease-in-out;
    translate: 0;
    border-left: 3px solid white;
    border-right: 3px solid white;
    box-sizing: border-box;
    height: fit-content;
}