@charset "UTF-8";




/*========================================

front-page.php

========================================*/

/*----------------------------------------

#front_kv

----------------------------------------*/

#front_kv {
    width: 100%;
    height: 100svh;
}

#front_kv .con {
    position: relative;
    z-index: 1;
}

#front_kv .swiper-slide .kv_bg_img {
    position: relative;
    width: 100%;
    height: 100svh;
    background-position: center;
    background-size: cover;
}

#front_kv .swiper-slide .kv_bg_img::before {
    display: block;
    content: '';
    width: 100%;
    height: 100svh;
    background: rgba(0,0,0,0.3);
}

.swiper-slide-active .kv_bg_img,
.swiper-slide-duplicate-active .kv_bg_img,
.swiper-slide-prev .kv_bg_img {
    animation: zoomanime 8s linear 0s normal both;
}

@keyframes zoomanime {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.1);
  }
}

#front_kv .kv_ksurfc {
    position: absolute;
    z-index: 10;
    bottom: 0;
    left: 0;
    width: 80%;
    max-width: 400px;
}

#front_kv .kv_ksurfc img {
    display: block;
    width: 100%;
    height: auto;
}


@media (min-width: 768px) {

    #front_kv .kv_ksurfc {
        width: 50%;
    }

}


@media (min-width: 1024px) {

}




/*----------------------------------------

#front_game

----------------------------------------*/

#front_game .con {
    padding: 80px 5%;
}

#front_game .result {
    margin: 0 0 80px;
}

#front_game .h2_ttl {
    position: relative;
    margin-bottom: -2px;
}

#front_game .h2_ttl h2 {
    position: absolute;
    top: 50%;
    left: 5%;
    transform: translateY(-50%);
    font-size: 6vw;
    font-weight: 700;
    line-height: 1;
}

#front_game .h2_ttl img {
    display: block;
    width: auto;
    height: 12vw;
}

#front_game .page_link a {
    position: relative;
    display: block;
    width: 100%;
    margin: 0 auto;
    padding: 25px;
    font-size: 0.9em;
    font-weight: 700;
    line-height: 1;
    color: #ffffff;
    background: #EE7A7F;
    border-radius: 5px;
    transition: all 0.3s;
}

#front_game .page_link a::after {
    font: var(--fa-font-solid);
    content: "\f138";
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
}

#front_game .page_link a:hover {
    background: #e43138;
}


@media (min-width: 768px) {

    #front_game .result,
    #front_game .next {
        position: relative;
    }

    #front_game .h2_ttl h2 {
        font-size: 4vw;
    }

    #front_game .h2_ttl img {
        height: 8vw;
    }
    
    #front_game .page_link {
        position: absolute;
        top: 0;
        right: 0;
    }

    #front_game .page_link a {
        padding: 20px 50px 20px 20px;
    }

}


@media (min-width: 1024px) {

    #front_game .h2_ttl h2 {
        font-size: 3vw;
    }

    #front_game .h2_ttl img {
        height: 6vw;
    }

}




/*----------------------------------------

#front_about

----------------------------------------*/

#front_about section {
    border-bottom: solid 3px #ffffff;
}

#front_about section .bg_img {
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

#front_about section .filter {
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.3);
}

#front_about section .inner {
    padding: 80px 5%;
}

#front_about section .h2_ttl {
    margin: 0 0 16vw;
}

#front_about section .h2_ttl span {
    display: block;
    font-size: 10vw;
    color: #ffffff;
}

#front_about section .h2_ttl h2 {
    font-size: 5vw;
    font-weight: 700;
    color: #ffffff;
}

#front_about section .description {
    padding: 16vw 0;
}

#front_about section .description p {
    font-size: 0.9em;
    color: #ffffff;
}

#front_about section .page_link {
    text-align: right;
}

#front_about section .page_link a {
    display: inline-block;
    border: solid 1px #ffffff;
    border-radius: 5px;
    padding: 15px 20px;
    font-size: 0.9em;
    font-weight: 700;
    line-height: 1;
    color: #ffffff;
    background: rgba(0,0,0,0.3);
    transition: all 0.3s;
}

#front_about section .page_link a i {
    padding-left: 20px;
}

#front_about section .page_link a:hover {
    background: rgba(0,0,0,0.8);
}


@media (min-width: 768px) {

    #front_about .con {
        display: flex;
    }

    #front_about section {
        flex: 1;
        border-bottom: none;
    }

    #front_about section .inner {
        padding: 80px 10%;
    }

    #front_about section .h2_ttl span {
        font-size: 4vw;
    }

    #front_about section .h2_ttl h2 {
        font-size: 2vw;
    }

    #front_about section .description {
        padding: 8vw 0;
    }

}


@media (min-width: 1024px) {

}




/*----------------------------------------

#front_news

----------------------------------------*/

#front_news .con {
    position: relative;
    padding: 80px 0;
}

#front_news .h2_ttl {
    padding: 0 5% 40px;
}

#front_news .h2_ttl span {
    display: block;
    font-size: 10vw;
    color: #e43138;
}

#front_news .h2_ttl h2 {
    font-size: 5vw;
    font-weight: 700;
}

#front_news article {

}

#front_news article a {

}

#front_news article .img_area {

}

#front_news article .img_area img {
    display: block;
    width: 100%;
    height: auto;
    box-shadow: 0 0 3px rgba(0,0,0,0.5);
}

#front_news article .txt_area {
    padding: 10px 0 0;
}

#front_news article .txt_area time.date {
    color: #EE7A7F;
}

#front_news article .txt_area h3.post_ttl {
    font-weight: 500;
}

#front_news .page_link {
    padding: 40px 5% 0;
}

#front_news .page_link a {
    position: relative;
    display: block;
    width: 100%;
    margin: 0 auto;
    padding: 25px;
    font-size: 0.9em;
    font-weight: 700;
    line-height: 1;
    color: #ffffff;
    background: #EE7A7F;
    border-radius: 5px;
    transition: all 0.3s;
}

#front_news .page_link a::after {
    font: var(--fa-font-solid);
    content: "\f138";
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
}

#front_news .page_link a:hover {
    background: #e43138;
}


@media (min-width: 768px) {

    #front_news .con {
        display: flex;
        padding: 80px 0 80px 5%;
    }

    #front_news .h2_ttl {
        flex-basis: 25%;
        padding: 0;
    }

    #front_news .h2_ttl span {
        font-size: 5vw;
    }

    #front_news .h2_ttl h2 {
        font-size: 2.5vw;
    }

    #front_news .news_slider {
        flex-basis: 75%;
    }

    #front_news .page_link {
        position: absolute;
        bottom: 80px;
        left: 5%;
        padding: 0;
    }

    #front_news .page_link a {
        padding: 20px 50px 20px 20px;
    }

}


@media (min-width: 1024px) {

}









/*========================================
==========================================

archive-game.php
taxonomy-season.php
single-game.php

==========================================
========================================*/

/*========================================

archive-game.php

========================================*/

/*----------------------------------------

#game_schedule

----------------------------------------*/

#game_schedule .con {
    padding: 40px 5% 80px;
}

#game_schedule .h2_ttl {
    margin: 0 0 40px;
}

#game_schedule .h2_ttl span {
    display: block;
    font-size: 8vw;
    color: #e43138;
}

#game_schedule .h2_ttl h2 {
    font-size: 4vw;
    font-weight: 700;
}


@media (min-width: 768px) {

    #game_schedule .h2_ttl span {
        font-size: 6vw;
    }

    #game_schedule .h2_ttl h2 {
        font-size: 3vw;
    }

}


@media (min-width: 1024px) {

    #game_schedule .h2_ttl span {
        font-size: 4vw;
    }

    #game_schedule .h2_ttl h2 {
        font-size: 2vw;
    }

}




/*----------------------------------------

article.game

----------------------------------------*/

article.game {
    margin: 0 0 20px;
    padding: 20px;
    background: #FBE1E2;
}

article.game .game_info {
    margin: 0 0 20px;
}

article.game .game_info p.league {
    font-size: 0.8em;
    font-weight: 500;
}

article.game .game_info p.game_day {
    font-size: 1.6em;
    color: #EE7A7F;
}

article.game .game_info p.kickoff {
    font-size: 1.2em;
    color: #EE7A7F;
}

article.game .game_info p.venue {
    font-size: 0.8em;
    font-weight: 500;
    color: #EE7A7F;
}

article.game .game_info p.venue i {
    padding: 0 5px;
}

article.game .game_info .page_link {
    padding: 10px 0 0;
}

article.game .game_info .page_link a {
    display: inline-block;
    padding: 10px 20px;
    font-size: 0.8em;
    font-weight: 700;
    background: #38E431;
    border-radius: 5px;
    transition: all 0.3s;
}

article.game .game_info .page_link a:hover {
    opacity: 0.7;
}

article.game .game_info .page_link a i {
    padding-left: 10px;
}

article.game .game_card {
    display: flex;
    align-items: center;
    padding: 40px 0;
    background: #ffffff;
}

article.game .game_card .kyusan,
article.game .game_card .opponent {
    flex: 1;
}

article.game .game_card .total_score span {
    display: block;
    text-align: center;
    font-size: 2em;
    color: #EE7A7F;
}

article.game .game_card .team_name p {
    text-align: center;
    font-size: 0.9em;
    font-weight: 700;
}

article.game .game_card .half_score,
article.game .game_card .versus {
    width: 80px;
}

article.game .game_card .first_half,
article.game .game_card .second_half {
    display: flex;
    padding: 0 0 5px;
}

article.game .game_card .first_half span:nth-of-type(1),
article.game .game_card .second_half span:nth-of-type(1) {
    flex: 1;
    display: block;
    text-align: center;
    font-size: 0.9em;
    color: #EE7A7F;
}

article.game .game_card .first_half span:nth-of-type(2),
article.game .game_card .second_half span:nth-of-type(2) {
    width: 10px;
    display: block;
    text-align: center;
    font-size: 0.9em;
    color: #EE7A7F;
}

article.game .game_card .first_half span:nth-of-type(3),
article.game .game_card .second_half span:nth-of-type(3) {
    flex: 1;
    display: block;
    text-align: center;
    font-size: 0.9em;
    color: #EE7A7F;
}

article.game .game_card .no_side span {
    display: block;
    text-align: center;
    font-size: 0.9em;
    color: #EE7A7F;
}

article.game .game_card .versus span {
    display: block;
    text-align: center;
    font-size: 1em;
    color: #EE7A7F;
}


@media (min-width: 768px) {

    article.game {
        display: flex;
        align-items: center;
        padding: 40px;
    }

    article.game .game_info {
        flex-basis: 40%;
        margin: 0;
    }

    article.game .game_card {
        flex-basis: 60%;
    }
    
}


@media (min-width: 1024px) {
    
    article.game .game_info {
        flex-basis: 30%;
    }
    
    article.game .game_card {
        flex-basis: 70%;
    }
    
    article.game .game_card .total_score span {
        font-size: 3em;
    }
    
    article.game .game_card .team_name p {
        font-size: 1.35em;
    }

    article.game .game_card .half_score,
    article.game .game_card .versus {
        width: 100px;
    }

    article.game .game_card .first_half span:nth-of-type(1),
    article.game .game_card .second_half span:nth-of-type(1),
    article.game .game_card .first_half span:nth-of-type(2),
    article.game .game_card .second_half span:nth-of-type(2),
    article.game .game_card .first_half span:nth-of-type(3),
    article.game .game_card .second_half span:nth-of-type(3) {
        font-size: 1.08em;
    }

    article.game .game_card .no_side span {
        font-size: 1.08em;
    }

    article.game .game_card .versus span {
        font-size: 1.2em;
    }

}




/*========================================

taxonomy-season.php

========================================*/




/*========================================

single-game.php

========================================*/

/*----------------------------------------

#game_details

----------------------------------------*/

#game_details .con {
    padding: 40px 5% 80px;
}

#game_details .game_info {
    border-bottom: solid 3px #EE7A7F;
    padding-bottom: 40px;
}

#game_details .game_info p.league {
    padding-bottom: 10px;
    text-align: center;
    font-size: 1em;
    font-weight: 700;
}

#game_details .game_info p.game_day {
    text-align: center;
    font-size: 2em;
    color: #e43138;
}

#game_details .game_info p.kickoff {
    padding-bottom: 10px;
    text-align: center;
    font-size: 1.5em;
    color: #e43138;
}

#game_details .game_info p.venue {
    text-align: center;
    font-size: 1em;
    font-weight: 700;
    color: #EE7A7F;
}

#game_details .game_info p.venue i {
    padding: 0 5px;
}

#game_details .game_card {
    display: flex;
    align-items: center;
    padding: 40px 0;
}

#game_details .game_card .kyusan,
#game_details .game_card .opponent {
    flex: 1;
}

#game_details .game_card .total_score span {
    display: block;
    text-align: center;
    font-size: 3em;
    color: #EE7A7F;
}

#game_details .game_card .team_name p {
    text-align: center;
    font-size: 1em;
    font-weight: 700;
}

#game_details .game_card .half_score {
    width: 80px;
}

#game_details .game_card .first_half,
#game_details .game_card .second_half {
    display: flex;
    padding: 0 0 5px;
}

#game_details .game_card .first_half span:nth-of-type(1),
#game_details .game_card .second_half span:nth-of-type(1) {
    flex: 1;
    display: block;
    text-align: center;
    font-size: 0.9em;
    color: #EE7A7F;
}

#game_details .game_card .first_half span:nth-of-type(2),
#game_details .game_card .second_half span:nth-of-type(2) {
    width: 10px;
    display: block;
    text-align: center;
    font-size: 0.9em;
    color: #EE7A7F;
}

#game_details .game_card .first_half span:nth-of-type(3),
#game_details .game_card .second_half span:nth-of-type(3) {
    flex: 1;
    display: block;
    text-align: center;
    font-size: 0.9em;
    color: #EE7A7F;
}

#game_details .game_card .no_side span {
    display: block;
    text-align: center;
    font-size: 0.8em;
    color: #EE7A7F;
}

#game_details .score_board table {
    width: 100%;
}

#game_details .score_board table tr {
    display: flex;
    border-bottom: solid 1px #EE7A7F;
    padding: 20px 0;
}

#game_details .score_board table tr:first-of-type {
    border-bottom: none;
    background: #FBE1E2;
}

#game_details .score_board table th {
    flex-basis: 20%;
    font-weight: 700;
}

#game_details .score_board table td {
    flex-basis: 20%;
}

#game_details .score_board table td span {
    display: block;
    text-align: center;
    font-size: 1.2em;
    color: #EE7A7F;
}

#game_details .score_board table td span.type {
    font-size: 1em;
    color: #4c2122;
}

#game_details .return_link {
    padding: 40px 0 0;
}

#game_details .return_link a {
    display: block;
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    padding: 25px 0;
    text-align: center;
    font-size: 0.9em;
    font-weight: 700;
    line-height: 1;
    color: #ffffff;
    background: #EE7A7F;
    border-radius: 5px;
    transition: all 0.3s;
}

#game_details .return_link a:hover {
    background: #e43138;
}


@media (min-width: 768px) {

}


@media (min-width: 1024px) {

    #game_details .con {
        padding: 40px 10% 80px;
    }

    #game_details .game_info p.league {
        font-size: 1.2em;
    }

    #game_details .game_info p.game_day {
        font-size: 2.4em;
    }

    #game_details .game_info p.kickoff {
        font-size: 1.8em;
    }

    #game_details .game_info p.venue {
        font-size: 1.2em;
    }

    #game_details .game_card .total_score span {
        font-size: 4.5em;
    }

    #game_details .game_card .team_name p {
        font-size: 1.5em;
    }

    #game_details .game_card .half_score {
        width: 120px;
    }

    #game_details .game_card .first_half span:nth-of-type(1),
    #game_details .game_card .second_half span:nth-of-type(1),
    #game_details .game_card .first_half span:nth-of-type(2),
    #game_details .game_card .second_half span:nth-of-type(2),
    #game_details .game_card .first_half span:nth-of-type(3),
    #game_details .game_card .second_half span:nth-of-type(3) {
        font-size: 1.35em;
    }

    #game_details .game_card .no_side span {
        font-size: 1.2em;
    }

}









/*========================================
==========================================

archive-player.php
single-player.php

==========================================
========================================*/

/*========================================

archive-player.php

========================================*/

/*----------------------------------------

#player_list

----------------------------------------*/

#player_list .con {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 40px 5% 80px;
}

#player_list article {
    flex-basis: 49%;
    margin: 0 0 2%;
}

#player_list article a {
    display: block;
}

#player_list article .img_area {
    position: relative;
}

#player_list article .img_area img {
    display: block;
    width: 100%;
    height: auto;
}

#player_list article .img_area .more {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 20px 10px 10px;
    background: linear-gradient(to top, rgba(0,0,0,0.5), rgba(0,0,0,0));
}

#player_list article .img_area .more span {
    display: block;
    text-align: right;
    font-size: 0.6em;
    color: #ffffff;
}

#player_list article .txt_area {
    padding: 10px;
    background: #4c2122;
}

#player_list article .txt_area .name {
    margin: 0 0 10px;
}

#player_list article .txt_area .name h2 {
    font-size: 1em;
    font-weight: 700;
    color: #ffffff;
}

#player_list article .txt_area .name span {
    display: block;
    font-size: 0.7em;
    font-weight: 500;
    color: #ffffff;
}

#player_list article .txt_area .player_info ul li:first-of-type {
    margin: 0 0 5px;
}

#player_list article .txt_area .player_info ul li span {
    display: block;
    font-size: 0.7em;
    color: #ffffff;
}


@media (min-width: 768px) {

    #player_list .con::after {
        display: block;
        content: '';
        width: 32%;
    }

    #player_list article {
        flex-basis: 32%;
    }

    #player_list article .img_area .more {
        padding: 40px 20px 20px;
    }

    #player_list article .img_area .more span {
        font-size: 0.7em;
    }

    #player_list article .txt_area {
        padding: 20px;
    }

    #player_list article .txt_area .name h2 {
        font-size: 1.2em;
    }

    #player_list article .txt_area .name span {
        font-size: 0.84em;
    }

    #player_list article .txt_area .player_info ul li span {
        font-size: 0.8em;
    }

}


@media (min-width: 1024px) {

    #player_list article .img_area .more span {
        font-size: 0.8em;
    }

    #player_list article .txt_area .name h2 {
        font-size: 1.5em;
    }

    #player_list article .txt_area .name span {
        font-size: 1.05em;
    }

    #player_list article .txt_area .player_info ul li span {
        font-size: 0.9em;
    }

}




/*========================================

single-player.php

========================================*/

/*----------------------------------------

#player_details

----------------------------------------*/

#player_details .con {
    padding: 40px 5% 80px;
}

#player_details .inner_box {
    background: #4c2122;
}

#player_details .img_area img {
    display: block;
    width: 100%;
    height: auto;
}

#player_details .txt_area {
    padding: 40px 20px 20px;
}

#player_details .txt_area .name {
    margin: 0 0 40px;
}

#player_details .txt_area .name h1 {
    font-size: 1.5em;
    font-weight: 700;
    color: #ffffff;   
}

#player_details .txt_area .name span {
    display: block;
    font-size: 1em;
    font-weight: 500;
    color: #ffffff;
}

#player_details .txt_area table {
    width: 100%;
}

#player_details .txt_area table tr {
    display: flex;
    align-items: center;
    border-top: solid 1px #ffffff;
    padding: 20px 0;
}

#player_details .txt_area table th {
    width: 120px;
    font-size: 0.8em;
    font-weight: 700;
    color: #ffffff;
}

#player_details .txt_area table td {
    flex: 1;
}

#player_details .txt_area table td p {
    font-size: 0.9em;
    color: #ffffff;
}

#player_details .return_link {
    padding: 40px 0 0;
}

#player_details .return_link a {
    display: block;
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    padding: 25px 0;
    text-align: center;
    font-size: 0.9em;
    font-weight: 700;
    line-height: 1;
    color: #ffffff;
    background: #EE7A7F;
    border-radius: 5px;
    transition: all 0.3s;
}

#player_details .return_link a:hover {
    background: #e43138;
}


@media (min-width: 768px) {

    #player_details .inner_box {
        display: flex;
        justify-content: space-between;
        padding: 5%;
    }

    #player_details .img_area {
        flex-basis: 47.5%;
    }

    #player_details .txt_area {
        flex-basis: 47.5%;
        padding: 0;
    }
    
}


@media (min-width: 1024px) {

    #player_details .txt_area .name h1 {
        font-size: 2.25em;
    }

    #player_details .txt_area .name span {
        font-size: 1.5em;
    }

}









/*========================================

archive-staff.php

========================================*/

/*----------------------------------------

#staff_list

----------------------------------------*/

#staff_list .con {
    padding: 40px 5% 80px;
}

#staff_list article {
    margin: 0 0 40px;
}

#staff_list article .img_area {
    position: relative;
}

#staff_list article .img_area img {
    display: block;
    width: 100%;
    height: auto;
}

#staff_list article .img_area .info {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 40px 20px 20px;
    background: linear-gradient(to top, rgba(0,0,0,0.8), rgba(0,0,0,0));
}

#staff_list article .img_area .info p {
    font-size: 1.2em;
    color: #ffffff;
}

#staff_list article .img_area .info h2 {
    font-size: 1.5em;
    font-weight: 700;
    color: #ffffff;
}

#staff_list article .img_area .info span {
    display: block;
    font-size: 1em;
    font-weight: 500;
    color: #ffffff;
}

#staff_list article .txt_area {
    padding: 10px 0 0;
}

#staff_list article .txt_area p.career {
    font-size: 1em;
    font-weight: 500;
}


@media (min-width: 768px) {

    #staff_list .con {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    #staff_list article {
        flex-basis: 49%;
    }
    
}


@media (min-width: 1024px) {

    #staff_list .con::after {
        display: block;
        content: '';
        width: 32%;
    }

    #staff_list article {
        flex-basis: 32%;
    }

}









/*========================================

page-team.php

========================================*/

/*----------------------------------------

#team_info / common

----------------------------------------*/

#team_info .con {
    padding: 40px 5% 80px;
}

#team_info section {
    margin: 0 0 20px;
    padding: 40px 20px;
    background: #FBE1E2;
}

#team_info section .h2_ttl {
    margin: 0 0 40px;
}

#team_info section .h2_ttl span {
    display: block;
    font-size: 2em;
    color: #e43138;
}

#team_info section .h2_ttl h2 {
    font-size: 1em;
    font-weight: 700;
}


@media (min-width: 768px) {

    #team_info section {
        padding: 40px;
    }

    #team_info section .flex_box {
        display: flex;
    }
    
    #team_info section .h2_ttl {
        flex-basis: 30%;
        margin: 0;
    }
    
    #team_info section .sec_content {
        flex-basis: 70%;
    }
    
}


@media (min-width: 1024px) {

    #team_info section .h2_ttl span {
        font-size: 3em;
    }

    #team_info section .h2_ttl h2 {
        font-size: 1.5em;
    }

}




/*----------------------------------------

#team_info / section.slogan

----------------------------------------*/

#team_info section.slogan .team_slogan {
    padding: 20px;
    background: #ffffff;
}


@media (min-width: 768px) {

    #team_info section.slogan .team_slogan {
        padding: 40px;
    }


}


@media (min-width: 1024px) {

}




/*----------------------------------------

#team_info / section.record

----------------------------------------*/

#team_info section.record .record_list {
    padding: 20px;
    background: #ffffff;
}

/* #team_info section.record .record_list.boys {
    margin: 0 0 20px;
} */

#team_info section.record .record_list table {
    width: 100%;
}

#team_info section.record .record_list table caption {
    margin: 0 0 20px;
    text-align: left;
    font-size: 1em;
    font-weight: 700;
}

#team_info section.record .record_list table tr {
    display: flex;
    border-top: solid 1px #EE7A7F;
    padding: 10px;
}

#team_info section.record .record_list table th {
    width: 100px;
    font-size: 0.9em;
    font-weight: 700;
}

#team_info section.record .record_list table td {
    flex: 1;
}

#team_info section.record .record_list table td p {
    font-size: 0.9em;
}


@media (min-width: 768px) {

    #team_info section.record .record_list {
        padding: 40px;
    }
    
}


@media (min-width: 1024px) {

}




/*----------------------------------------

#team_info / section.access

----------------------------------------*/

#team_info section.access .map iframe {
    width: 100%;
    height: 320px;
}

#team_info section.access .address {
    padding: 20px 0;
}

#team_info section.access .address h3 {
    font-size: 1.2em;
    font-weight: 700;
}

#team_info section.access .address p {
    font-size: 0.9em;
}


@media (min-width: 768px) {

    #team_info section.access .map iframe {
        height: 400px;
    }
    
}


@media (min-width: 1024px) {

}









/*========================================
==========================================

home.php
single.php

==========================================
========================================*/

/*========================================

home.php

========================================*/

/*----------------------------------------

#post_list

----------------------------------------*/

#post_list .con {
    padding: 40px 5% 80px;
}

#post_list article {
    margin: 0 0 40px;
}

#post_list article a {
    display: block;
}

#post_list article .img_area img {
    display: block;
    width: 100%;
    height: auto;
    box-shadow: 0 0 3px rgba(0,0,0,0.5);
}

#post_list article .txt_area span.date {
    font-size: 0.8em;
    color: #EE7A7F;
}

#post_list article .txt_area h2 {
    font-size: 0.9em;
    font-weight: 700;
}


@media (min-width: 768px) {

    #post_list .con {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    #post_list article {
        flex-basis: 48%;
    }
    
}


@media (min-width: 1024px) {

    #post_list .con::after {
        display: block;
        content: '';
        width: 32%;
    }

    #post_list article {
        flex-basis: 32%;
    }

}




/*----------------------------------------

<?php the_posts_pagination() ;?>

----------------------------------------*/

#archive_news .post_pager {
    padding: 0 0 80px;
    display: flex;
    justify-content: center;
}

nav.navigation .nav-links a.page-numbers {
    display: inline-block;
    width: 40px;
    height: 40px;
    line-height: 40px;
    margin: 0 5px;
    text-align: center;
    font-weight: 700;
    color: #ffffff;
    background: #EE7A7F;
    border-radius: 50%;
    transition: all 0.3s;
}

nav.navigation .nav-links a.page-numbers:hover {
    opacity: 0.7;
}

nav.navigation .nav-links span.page-numbers.current {
    display: inline-block;
    width: 40px;
    height: 40px;
    line-height: 40px;
    margin: 0 5px;
    text-align: center;
    font-weight: 700;
    color: #ffffff;
    background: #e43138;
    border-radius: 50%;
}

nav.navigation .nav-links a.prev.page-numbers,
nav.navigation .nav-links a.next.page-numbers {
    display: none;
}


@media (min-width: 768px) {

    nav.navigation .nav-links a.page-numbers {
        width: 50px;
        height: 50px;
        line-height: 50px;
    }

    nav.navigation .nav-links span.page-numbers.current {
        width: 50px;
        height: 50px;
        line-height: 50px;
    }

}


@media (min-width: 1024px) {}




/*========================================

single.php

========================================*/

/*----------------------------------------

#post_content

----------------------------------------*/

#post_content .con {
    padding: 40px 5% 80px;
}

#post_content .main_column {
    margin: 0 0 80px;
}


@media (min-width: 768px) {

    #post_content .con {
        display: flex;
        justify-content: space-between;
    }

    #post_content .main_column {
        flex-basis: 60%;
        margin: 0;
    }

    #post_content .side_column {
        flex-basis: 35%;
    }
    
}


@media (min-width: 1024px) {

    #post_content .main_column {
        flex-basis: 65%;
    }

    #post_content .side_column {
        flex-basis: 30%;
    }

}




/*----------------------------------------

#post_content / .main_column

----------------------------------------*/

#post_content .content {
    padding: 0 0 40px;
}

#post_content .content p {
    margin: 0 0 20px;
    font-size: 1em;
}

#post_content .content img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 0 20px;
}

#post_content .pagenation {
    border-top: solid 1px #EE7A7F;
    border-bottom: solid 1px #EE7A7F;
}

#post_content .pagenation .next {
    border-bottom: solid 1px #EE7A7F;
}

#post_content .pagenation .next a {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    padding: 20px 0;
}

#post_content .pagenation .next .zengo {
    width: 100px;
}

#post_content .pagenation .next .zengo span {
    display: block;
    text-align: right;
    font-size: 1.5em;
    color: #EE7A7F;
}

#post_content .pagenation .next .zengo p {
    font-size: 1em;
    font-weight: 700;
    text-align: right;
}

#post_content .pagenation .next .post_ttl {
    flex: 1;
}

#post_content .pagenation .next .post_ttl h3 {
    font-size: 1em;
    font-weight: 700;
}

#post_content .pagenation .prev {

}

#post_content .pagenation .prev a {
    display: flex;
    align-items: center;
    padding: 20px 0;
}

#post_content .pagenation .prev .zengo {
    width: 100px;
}

#post_content .pagenation .prev .zengo span {
    display: block;
    font-size: 1.5em;
    color: #EE7A7F;
}

#post_content .pagenation .prev .zengo p {
    font-size: 1em;
    font-weight: 700;
}

#post_content .pagenation .prev .post_ttl {
    flex: 1;
}

#post_content .pagenation .prev .post_ttl h3 {
    font-size: 1em;
    font-weight: 700;
}


@media (min-width: 768px) {
    
}


@media (min-width: 1024px) {

    #post_content .pagenation {
        padding: 20px 0;
    }

    #post_content .pagenation .next {
        float: right;
        width: 50%;
        border-bottom: none;
        border-left: solid 1px #EE7A7F;
    }

    #post_content .pagenation .next a {
        padding: 0;
    }

    #post_content .pagenation .next .post_ttl {
        padding: 20px;
    }

    #post_content .pagenation .prev {
        float: left;
        width: 50%;
    }
    
    #post_content .pagenation .prev a {
        padding: 0;
    }

    #post_content .pagenation .prev .post_ttl {
        padding: 20px;
    }

}




/*----------------------------------------

#post_content / .side_column

----------------------------------------*/

#post_content .side_column .h3_ttl {
    margin: 0 0 20px;
}

#post_content .side_column .h3_ttl h3 {
    border-left: solid 5px #e43138;
    padding: 10px;
    font-size: 1.5em;
    line-height: 1;
    color: #e43138;
}

#post_content .side_column .category {
    margin: 0 0 80px;
}

#post_content .side_column .category .list ul li {
    border-top: solid 1px #EE7A7F;
}

#post_content .side_column .category .list ul li a {
    display: block;
    padding: 10px 0;
    font-size: 1em;
    font-weight: 700;
}

#post_content .side_column .new_arrivals .list article {
    border-top: solid 1px #EE7A7F;
    padding: 10px 0;
}

#post_content .side_column .new_arrivals .list article a {
    display: flex;
    align-items: center;
}

#post_content .side_column .new_arrivals .list article .img_area {
    width: 100px;
}

#post_content .side_column .new_arrivals .list article .img_area img {
    display: block;
    width: 100%;
    height: auto;
    box-shadow: 0 0 3px rgba(0,0,0,0.5);
}

#post_content .side_column .new_arrivals .list article .txt_area {
    flex: 1;
    padding-left: 10px;
}

#post_content .side_column .new_arrivals .list article .txt_area time.date {
    display: block;
    font-size: 0.8em;
    color: #EE7A7F;
}

#post_content .side_column .new_arrivals .list article .txt_area p.post_ttl {
    font-size: 0.9em;
    font-weight: 500;
}


@media (min-width: 768px) {
    
}


@media (min-width: 1024px) {

}









/*========================================

archive-faq.php

========================================*/

/*----------------------------------------

#faq_list

----------------------------------------*/

#faq_list .con {
    padding: 40px 5% 80px;
}

#faq_list .accordion li {
    margin: 0 0 20px;
    background: #FBE1E2;
}

#faq_list .accordion li:last-of-type {
    margin: 0;
}

#faq_list .question {
    position: relative;
    padding: 20px 40px 20px 20px;
    cursor: pointer;
    transition: all 0.5s;
}

#faq_list .question::before,
#faq_list .question::after {
    position: absolute;
    content:'';
    width: 15px;
    height: 2px;
    background-color: #EE7A7F;
    transition: all 0.3s;
}

#faq_list .question::before {
    top: 48%;
    right: 20px;
    transform: rotate(0deg);
}

#faq_list .question::after {    
    top: 48%;
    right: 20px;
    transform: rotate(90deg);
}

#faq_list .question.close::before {
    transform: rotate(45deg);
}

#faq_list .question.close::after {
    transform: rotate(-45deg);
}

#faq_list .question h2 {
    position: relative;
    padding-left: 32px;
    font-size: 0.9em;
    font-weight: 700;
    line-height: 1.5;
    transition: all 0.3s;
}

#faq_list .question h2::before {
    display: block;
    content: 'Q';
    position: absolute;
    top: -5px;
    left: 0;
    font-size: 2em;
    font-weight: 700;
    font-family: "Montserrat", sans-serif;
    line-height: 1;
    color: #EE7A7F;
}

#faq_list .question:hover h2,
#faq_list .question:hover::before,
#faq_list .question:hover::after {
    opacity: 0.7;
}

#faq_list .answer {
    display: none;
    padding: 0 20px 20px;
}

#faq_list .answer .box {
    padding: 20px;
    background: #ffffff;
}

#faq_list .answer p {
    position: relative;
    padding-left: 32px;
    font-size: 0.9em;
    font-weight: 500;
    line-height: 1.6;
}

#faq_list .answer p::before {
    display: block;
    content: 'A';
    position: absolute;
    top: 0;
    left: 0;
    font-size: 2em;
    font-weight: 700;
    font-family: "Montserrat", sans-serif;
    line-height: 1;
    color: #4c2122;
}


@media (min-width: 768px) {

    #faq_list .question {
        padding: 40px 80px 40px 40px;
    }

    #faq_list .question h2 {
        padding-left: 40px;
    }

    #faq_list .question::before {
        right: 40px;
    }

    #faq_list .question::after {
        right: 40px;
    }

    #faq_list .answer {
        padding: 0 40px 40px;
    }

    #faq_list .answer .box {
        padding: 40px;
    }

    #faq_list .answer p {
        padding-left: 40px;
    }
    
}


@media (min-width: 1024px) {

}









/*========================================

page-contact.php

========================================*/

/*----------------------------------------

#contact_form

----------------------------------------*/

#contact_form .con {
    padding: 40px 5% 80px;
}

#contact_form .opening {
    padding: 0 0 40px;
}

#contact_form .opening p {
    font-size: 1em;
}

#contact_form .opening p br {
    display: none;
}

#contact_form .opening p span {
    color: #ff0000;
}

#contact_form .form_box {
	border-top: solid 1px #EE7A7F;
	padding: 40px 0;
}

#contact_form .form_box.confirm {
    border-bottom: solid 1px #EE7A7F;
}

.grecaptcha-badge {
    z-index: 10;
}


@media (min-width: 768px) {

    #contact_form .opening p br {
        display: block;
    }
    
}


@media (min-width: 1024px) {

    #contact_form .con {
        padding: 40px 10% 80px;
    }

    #contact_form .form_box {
		display: flex;
		align-items: center;
	}

	#contact_form .label_area {
		flex-basis: 25%;
	}

	#contact_form .input_area {
		flex-basis: 75%;
	}

}




/*----------------------------------------

#contact_form / .label_area

----------------------------------------*/

#contact_form .label_area {
    padding: 0 0 10px;
}

#contact_form .label_area label {
	display: block;
	font-size: 1em;
	font-weight: 500;
	line-height: 1.5;
}

#contact_form .label_area label span {
	margin-left: 10px;
	color: #ff0000;
}


@media (min-width: 768px) {

}


@media (min-width: 1024px) {

	#contact_form .label_area {
		padding: 0;
	}

}




/*----------------------------------------

.input_area / text,textarea

----------------------------------------*/

#contact_form .input_area input.input_left_50,
#contact_form .input_area input.input_right_50,
#contact_form .input_area input.input_100,
#contact_form .input_area textarea {
    display: block;
    width: 100%;
    border: solid 1px #EE7A7F;
    border-radius: 0;
    padding: 20px;
    outline: none;
    font-size: 1em;
}

#contact_form .input_area .name_kanji {
    margin: 0 0 2%;
}

#contact_form .input_area .wpcf7-form-control-wrap[data-name="kanji_sei"],
#contact_form .input_area .wpcf7-form-control-wrap[data-name="kana_sei"],
#contact_form .input_area .wpcf7-form-control-wrap[data-name="kanji_sei_guardian"],
#contact_form .input_area .wpcf7-form-control-wrap[data-name="kana_sei_guardian"]  {
    float: left;
    width: 49%;
    margin-right: 2%;
}

#contact_form .input_area .wpcf7-form-control-wrap[data-name="kanji_mei"],
#contact_form .input_area .wpcf7-form-control-wrap[data-name="kana_mei"],
#contact_form .input_area .wpcf7-form-control-wrap[data-name="kanji_mei_guardian"],
#contact_form .input_area .wpcf7-form-control-wrap[data-name="kana_mei_guardian"] {
    float: left;
    width: 49%;
}

#contact_form .input_area .wpcf7-form-control-wrap[data-name="post_code"] {
    display: block;
    width: 49%;
    margin: 0 0 2%;
}

#contact_form .input_area .wpcf7-form-control-wrap[data-name="address_01"] {
    display: block;
    margin: 0 0 2%;
}

#contact_form .input_area p.kakunin {
    margin: 0 0 10px;
    font-size: 0.9em;
    font-weight: 500;
}




/*----------------------------------------

.input_area / .wpcf7-checkbox

※デフォルトのチェックボックスを任意のデザインに変更

----------------------------------------*/

#contact_form .input_area .wpcf7-checkbox span.wpcf7-list-item {
    display: block;
    margin: 0;
}

#contact_form .input_area .wpcf7-checkbox input[type="checkbox"] {
    display: none;
}

#contact_form .input_area .wpcf7-checkbox span.wpcf7-list-item-label {
    display: block;
	position: relative;
	z-index: 1;
	border: solid 1px #EE7A7F;
	padding: 20px 20px 20px 50px;
	font-size: 0.9em;
	line-height: 1.5;
	background: #ffffff;
	cursor: pointer;
	transition: all 0.3s;
}

#contact_form .input_area .wpcf7-checkbox span.wpcf7-list-item-label::before {
    font: var(--fa-font-solid);
    content: '\f00c';
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 19px;
    transform: translateY(-50%);
    color: #e43138;
    opacity: 0;
}

#contact_form .input_area .wpcf7-checkbox span.wpcf7-list-item-label::after {
    display: block;
	content: '';
	position: absolute;
	z-index: 2;
	top: 50%;
	left: 15px;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	border: solid 1px #EE7A7F;
	border-radius: 3px;
	background: #ffffff;
}

#contact_form .input_area .wpcf7-checkbox input:checked + span.wpcf7-list-item-label {
    background: #FBE1E2;
}

#contact_form .input_area .wpcf7-checkbox input:checked + span.wpcf7-list-item-label::before {
    opacity: 1;
}




/*----------------------------------------

.submit_area

----------------------------------------*/

#contact_form input.submit_btn {
    display: block;
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    padding: 25px 0;
    border: none;
    outline: none;
    font-size: 1em;
    line-height: 1;
    letter-spacing: 1px;
    color: #ffffff;
    background: #EE7A7F;
    border-radius: 50px;
    cursor: pointer;
    transition: all 0.3s;
}

#contact_form .submit_area {
    padding: 40px 0 0;
}

#contact_form input.submit_btn:hover {
    background: #e43138;
}









/*========================================

page-privacy.php

========================================*/

#privacy_policy .con {
    padding: 40px 5% 80px;
}

#privacy_policy .opening {
	margin: 0 0 40px;
}

#privacy_policy .opening p {
	font-size: 0.9em;
    font-weight: 500;
	line-height: 1.5;
	letter-spacing: 1px;
}

#privacy_policy section {
	border-top: solid 1px #EE7A7F;
	padding: 8vw 0;
}

#privacy_policy section h2 {
	font-size: 1em;
	font-weight: 700;
	line-height: 1.5;
}

#privacy_policy section .info > p {
	padding-top: 20px;
	font-size: 0.9em;
	line-height: 1.5;
}

#privacy_policy section ol.list1 {
	margin: 20px 0 0 20px;
}

#privacy_policy section ol.list2 {
	margin: 20px 0 0 20px;
}

#privacy_policy section ol.list3 {
	margin: 20px 0 0 20px;
}

#privacy_policy section ol li {
	margin: 0 0 20px;
	font-size: 0.9em;
	line-height: 1.5;
}

#privacy_policy section ul.window {
    padding-top: 20px;
}

#privacy_policy section ul.window li p {
    font-size: 0.9em;
	line-height: 1.5;
}

#privacy_policy .thats_all {
	text-align: right;
}


@media (min-width: 768px) {

    #privacy_policy section {
        padding: 4vw 0;
	}
    
}


@media (min-width: 1024px) {
    
    #privacy_policy .con {
        padding: 40px 10% 80px;
    }

}









/*========================================

404.php

========================================*/

#not_found .con {
    padding: 80px 5% 160px;
}

#not_found .sorry {
    margin: 0 0 40px;
}

#not_found .sorry p {
    font-size: 1em;
    font-weight: 700;
    line-height: 1.8;
}

#not_found .sorry p br {
    display: none;
}

#not_found .page_link a {
    display: block;
    max-width: 400px;
    margin: 0 auto;
    padding: 25px 0;
    text-align: center;
    font-size: 1em;
    font-weight: 700;
    line-height: 1;
    color: #ffffff;
    background: #EE7A7F;
    border-radius: 5px;
    transition: all 0.3s;
}

#not_found .page_link a:hover {
    background: #e43138;
}


@media (min-width: 768px) {

    #not_found .sorry p {
        text-align: center;
        font-size: 1.1em;
    }

    #not_found .sorry p br {
        display: block;
    }

}


@media (min-width: 1024px) {
    
}