/* --------------
common
----------------*/
.page-section__content{
    padding-bottom: 70px;
}
.more-link{
    text-align: right;
}
.more-link a{
    display: inline-flex;
    align-items: center;
    transition: .4s;
    justify-content: end;
}
.more-link a:hover .more-link-txt{
    color: #016FBE;
}
.more-link-txt{
    color: #333333;
    text-decoration: underline;
    margin-right: 10px;
}
.more-arrow{
    width: 24px;
    height: 24px;
    background-color: #016FBE;
    border-radius: 100vh;
    text-align: center;
    display: inline-block;
    transition: .4s;
}
.more-arrow i{
    font-size: 19px;
    color: #fff;
    line-height: 24px;
}
.more-link a:hover .more-arrow{
    transform: translateX(3px);
}

/* ttl */
.section-ttl__primary .en{
    font-size: 50px;
    font-weight: 700;
    margin-bottom: 6px;
    font-family: "Roboto", sans-serif;
    display: block;
}
.section-ttl__primary .jp{
    font-size: 16px;
    color: #016FBE;
    font-weight: 700;
    display: block;
}
.section-ttl__secondary{
    margin-bottom: 32px;
    text-align: center;
}
.section-ttl__secondary .jp{
    font-size: 36px;
    font-weight: 500;
    display: block;
    margin-bottom: 8px;
}
.section-ttl__secondary .en{
    color: #016FBE;
    font-size: 14px;
    display: block;
    font-family: "Roboto", sans-serif;
}
@media screen and (max-width:768px) {
    .section-ttl__primary .en{
        font-size: 40px;
    }
    .section-ttl__primary .jp{
        font-size: 14px;
    }
    .section-ttl__secondary .jp{
        font-size: 30px;
    }
    .more-link-txt{
        font-size: 14px;
    }
}

/* --------------
mv
----------------*/
.mv{
    position: relative;
}
.mv-txt-warp{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: max-content;
    color: #fff;
}
.mv-txt-warp p{
    color: #fff;
}
.mv-sub{
    font-size: 25px;
    font-weight: 700;
    padding: 5px 10px;
    background-color: rgba(0, 0, 0, 0.3);
    border: 1px solid #fff;
    display: inline-block;
}
.mv-ttl{
    font-size: 48px;
    font-weight: 700;
    padding-top: 14px;
}
.mv-txt{
    text-align: center;
    font-size: 24px;
    letter-spacing: 0.06em;
    padding-top: 30px;
}
.mv-img__pc img{
    width: 100%;
}
@media screen and (max-width:1100px) {
    .mv-ttl{
        font-size: 40px;
    }
}
@media screen and (max-width:890px) {
    .mv-ttl{
        font-size: 34px;
    }
}
@media screen and (max-width:768px) {
    .mv-img__sp img{
        width: 100%;
    }
    .mv-ttl{
        font-size: 33px;
    }
    .mv-txt{
        font-size: 18px;
        padding-top: 20px;
    }
    .mv-sub{
        font-size: 20px;
    }
    .mv-txt-warp p{
        font-feature-settings: "palt";
    }
}

/* ---------------
news
------------------*/
.news{
    padding: 65px 20px 90px;
}
.news-inner{
    width: 83%;
    margin: auto
}
.news-item__wrap{
    margin: 0;
    margin-bottom: 52px;
}
.news-content{
    display: flex;
    justify-content: space-between;
    gap: 20px;
}
.news-item__wrap{
    flex-basis: 80%;
}
.news-item{
    border-bottom: 1px solid #D2D2D2;
    padding: 0 35px 20px 10px;
    margin-bottom: 20px;
}
.news-item:last-of-type{
    margin-bottom: 0;
}
.news-date{
    font-size: 14px;
    color: #64646D;
    display: inline-block;
}
.news-category{
    font-size: 10px;
    padding: 3px 4px;
    border: 1px solid #016FBE;
    color: #016FBE;
    margin-left: 27px;
    display: inline-block;
    line-height: 1;
}
.news-txt{
    margin-top: 3px;
}
.news-txt a{
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    gap: 10px;
}
.news-txt i{
    font-size: 18px;
    transition: .3s;
}
.news-txt:hover a{
    color: #016FBE;
}
.news-txt:hover i{
    transform: translateX(5px);
}

@media screen and (max-width:768px) {
    .news{
        padding: 40px 15px 65px;
    }
    .news-inner{
        width: 100%;
    }
    .news-content{
        flex-direction: column;
        gap: 30px;
    }
    .news-item{
        padding: 0 0 10px 0;
    }
    .news-item__wrap{
        margin-bottom: 22px;
    }
    .news-txt{
        font-size: 14px;
    }
}

/* ---------------
method
------------------*/
.method{
    position: relative;
    margin-bottom: 108px;
}
.method::before{
    position: absolute;
    content: "";
    background-image: url(../images/method-bg.jpg);
    width: 82%;
    left: 0;
    top: 40px;
    height: 100%;
    z-index: -1;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    border-radius: 0 10px 10px 0;
}
.method::after{
    position: absolute;
    content: "";
    background-color: rgba(1, 111, 190, 0.9);
    width: 82%;
    height: 100%;
    left: 0;
    top: 40px;
    z-index: 0;
    border-radius: 0 10px 10px 0;
}
.method-inner{
    width: 83%;
    margin: auto;
    background-color: #EFF0F2;
    border-radius: 10px;
    padding: 50px;
    position: relative;
    z-index: 1;
    overflow: hidden;
}
.method-inner::after{
    content: "Tn-p Method";
    font-size: 154px;
    color: rgba(255, 255, 255, 0.5);
    font-weight: 500;
    width: 100%;
    display: block;
    position: absolute;
    top: 24px;
    left: 0;
    white-space: nowrap;
    line-height: 1;
    z-index: -1;
    font-family: "Roboto", sans-serif;
}
.method-item{
    display: flex;
    gap: 34px;
}
.method-img{
    flex-basis: 40%;
}
.method-img img{
    width: 100%;
}
.method-txt-wrap{
    flex-basis: 56%;
}
.method-txt{
    margin-bottom: 30px;
}
@media screen and (max-width:768px) {
    .method-inner{
        padding: 60px 22px 40px;
        margin: 0 0 0 auto;
        width: 96%;
        border-radius: 10px 0 0 10px;
    }
    .method::before,
    .method::after{
        width: 92%;
    }
    .method-item{
        flex-direction: column;
        gap: 10px;
    }
    .method-txt{
        font-size: 15px;
    }
    .method-inner::after{
        font-size: 84px;
        top: 50px;
    }
}

/* ---------------
case studies
------------------*/
.case{
    background: linear-gradient(to bottom, #F7F7F7 20%, #fff 100%);
    padding: 46px 20px 40px;
}
.case-inner{
    width: 83%;
    margin: auto;
}
.case-item-wrap{
    margin: 40px 0;
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    gap: 20px;
}
.case-item{
    flex-basis: 32%;
    position: relative;
}
.case-item__content{
    padding: 0 12px;
}
.case-item__info{
    margin-top: 10px;
    display: flex;
    justify-content: space-between;
}
.case-item__category{
    font-size: 10px;
    padding: 3px 4px;
    border: 1px solid #016FBE;
    color: #016FBE;
    background-color: #fff;
}
.case-item__year{
    font-size: 12px;
    display: inline-block;
    text-align: right;
    display: none;
}
.case-item__ttl{
    font-size: 14px;
    margin-bottom: 10px;
    font-weight: 700;
    margin-top: 10px;
    transition: .3s;
}
.case-item__txt{
    font-size: 12px;
    margin-top: 10px;
}

@media screen and (max-width:768px) {
    .case{
        padding: 60px 15px 40px;
    }
    .case-inner{
        width: 100%;
    }
    .case-item-wrap{
        flex-direction: column;
        gap: 30px;
    }
    .case-item__img img{
        width: 100%;
    }
    .case-item__content{
        padding: 0 15px;
    }
}


/* --------------
下層共通
-----------------*/
.page-mv{
    position: relative;
}
.page-mv img{
    width: 100%;
}
.page-mv__ttl{
    position: absolute;
    top: 50%;
    left: 50px;
    transform: translateY(-50%);
}
.page-mv__ttl .en{
    font-size: 55px;
    font-family: "Roboto", sans-serif;
    font-weight: 700;
}
.page-mv__ttl .jp{
    font-size: 18px;
    padding-bottom: 4px;
    color: #016FBE;
    display: block;
    font-weight: 700;
}
.page-section__inner{
    padding: 0 20px;
}
.page-content__ttl{
    padding-top: 70px;
    margin-bottom: 64px;
    text-align: center;
}
.page-content__ttl h2{
    font-size: 36px;
    font-weight: 500;
}
.page-content__ttl h3{
    font-size: 18px;
    padding-top: 10px;
    font-weight: 400;
}
.page-content__ttl>p{
    color: #016FBE;
    padding-top: 10px;
    font-family: "Roboto", sans-serif;
}

@media screen and (max-width:768px) {
    .page-section__inner{
        padding: 0 15px;
    }
    .page-mv__ttl{
        left: 15px;
    }
    .page-mv__ttl .en{
        font-size: 40px;
    }
    .page-content__ttl{
        margin: 0 0 50px;
        padding-top: 50px;
    }
    .page-content__ttl h2{
        font-size: 24px;
    }
    .page-content__ttl h3{
        font-size: 16px;
    }
    .page-content__ttl p{
        font-size: 14px;
    }
}

/* --------------
page-abouts
-----------------*/
.page-aboutus{
    margin-bottom: 70px;
}
/* .page-aboutus__ttl h3{
    font-size: 36px;
    font-weight: ;
}
.page-aboutus__ttl h4{
    font-size: 18px;
    padding-top: 10px;
}
.page-aboutus__ttl p{
    color: #016FBE;
    padding-top: 10px;
} */

.page-aboutus__item{
    max-width: 1000px;
    margin: 0 auto 64px;
    display: flex;
    justify-content: space-between;
}
.page-aboutus__img{
    flex-basis: 36%;
}
.page-aboutus__txt{
    flex-basis: 59%;
    padding-right: 50px;
}
.page-aboutus__info{
    max-width: 900px;
    margin: auto;
    border-top: 1px solid #D2D2D2;
    width: 100%;
}
.page-aboutus__info dl{
    display: flex;
    border-bottom: 1px solid #D2D2D2;
    align-items: stretch;
}
.page-aboutus__info dt,
.page-aboutus__info dd{
    padding: 19px 0;
}
.page-aboutus__info dt{
    text-align: center;
    min-width: 200px;
    position: relative;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.page-aboutus__info dt::after{
    content: "";
    background-color: #D2D2D2;
    width: 1px;
    height: 70%;
    display: inline-block;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}
.page-aboutus__info dd{
    padding-left: 30px;
}

@media screen and (max-width:768px) {
    .page-aboutus__item{
        flex-direction: column;
        gap: 20px;
        margin-bottom: 50px;
    }
    .page-aboutus__img img{
        width: 100%;
    }
    .page-aboutus__txt p{
        font-size: 14px;
    }
    .page-aboutus__txt{
        padding-right: 0;
    }
    .page-aboutus__info dt{
        width: 30%;
        min-width: auto;
        font-size: 14px;
    }
    .page-aboutus__info dd{
        width: 74%;
        font-size: 14px;
    }
}

/* --------------
page-method
-----------------*/
.page-method-content__ttl{
    font-size: 32px;
    margin-bottom: 40px;
    text-align: center;
    font-weight: 400;
}
.page-method-feature{
    background-color: #F7F7F7;
    padding: 70px 0 80px;
}
.page-method-feature__info{
    max-width: 900px;
    margin: auto;
    border-top: 1px solid #D2D2D2;
    width: 100%;
    background-color: #fff;
}
.page-method-feature__info dl{
    display: flex;
    border-bottom: 1px solid #D2D2D2;
    align-items: stretch;
}
.page-method-feature__info dt{
    min-width: 200px;
    position: relative;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    padding: 19px 30px;
    font-size: 18px;
}
.page-method-feature__info dt::after{
    content: "";
    background-color: #D2D2D2;
    width: 1px;
    height: 70%;
    display: inline-block;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}
.page-method-feature__info dd{
    padding: 19px 40px;
}

@media screen and (max-width:768px) {
    .page-method-feature{
        padding: 50px 0 70px;
    }
    .page-method-content__ttl{
        font-size: 24px;
    }
    .page-method-feature__info dl{
        flex-direction: column;
        padding: 15px 10px;
    }
    .page-method-feature__info dt{
        padding: 0;
        padding-bottom: 5px;
    }
    .page-method-feature__info dt::after{
        display: none;
    }
    .page-method-feature__info dd{
        padding: 0;
        padding-top: 5px;
    }
    .page-method-feature__info dd{
        font-size: 14px;
    }
}

/* flow */
.page-method-flow{
    padding: 70px 0 80px;
}
.page-method-flow__item-wrap{
    display: flex;
    max-width: 1000px;
    margin: auto;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 90px;
}
.page-method-flow__ttl{
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 9px;
}
.page-method-flow__ttl span{
    width: 24px;
    height: 24px;
    background-color: #003E88;
    border-radius: 100vh;
    font-size: 18px;
    color: #fff;
    font-family: "Roboto", sans-serif;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 400;
    margin-right: 10px;
}
.page-method-flow__item{
    flex-basis: 18.9%;
}
.page-method-flow__img-wrap{
    display: flex;
    justify-content: center;
    gap: 40px;
}
.page-method-flow__img{
    max-width: 300px;
    margin-bottom: 9px;
}
.page-method-flow__img p{
    margin-top: 10px;
    text-align: center;
}
@media screen and (max-width:900px) {
    .page-method-flow__item-wrap{
        justify-content: center;
        gap: 30px 20px;
    }
    .page-method-flow__item{
        flex-basis: 31%;
    }
}
@media screen and (max-width:768px) {
    .page-method-flow{
        padding: 50px 0 70px;
    }
    .page-method-flow__item{
        flex-basis: 48%;
    }
    .page-method-flow__ttl{
        font-size: 16px;
    }
    .page-method-flow__ttl span{
        font-size: 16px;
        width: 20px;
        height: 20px;
    }
    .page-method-flow__txt{
        font-size: 14px;
    }
    .page-method-flow__item-wrap{
        gap: 20px 10px;
        margin-bottom: 50px;
        justify-content: space-between;
    }
    .page-method-flow__img-wrap{
        flex-direction: column;
    }
    .page-method-flow__img{
        margin: auto;
        margin-bottom: 9px;
        max-width: 100%;
    }
    .page-method-flow__img img{
        width: 100%;
    }
}

/* page-method-material */
.page-method-material{
    background-color: #F7F7F7;
    padding: 70px 0 80px;
}
.page-method-material__item{
    background-color: #fff;
    padding: 40px 50px;
    max-width: 900px;
    margin: auto;
}
.page-method-material__item:first-of-type{
    margin-bottom: 15px;
}
.page-method-material__item h4{
    font-size: 20px;
    margin: 0;
    margin-bottom: 15px;
    font-weight: 400;
    text-align: center;
}
.page-method-material__item p{
    font-size: 12px;
    margin-top: 5px;
}

@media screen and (max-width:768px) {
    .page-method-material{
        padding: 50px 0 70px;
    }
    .page-method-material__item{
        padding: 40px 10px;
    }
    .page-method-material__item h5{
        font-size: 16px;
    }
}

@media screen and (max-width:620px) {
    .page-method-material__img{
        overflow: scroll;
    }
    .page-method-material__img img{
        width: 90vh;
        max-width: fit-content;
    }
}

/* page-method-equipment */
.page-method-equipment{
    margin: 70px 0 90px;
}
.page-method-equipment__item{
    padding-bottom: 58px;
    border-bottom: 1px solid #D2D2D2;
    max-width: 1000px;
    margin: auto
}
.page-method-equipment__img-wrap{
    display: flex;
    justify-content: center;
    gap: 50px;
    align-items: stretch;
}
.page-method-equipment__img-wrap:last-of-type{
    margin-top: 50px;
}
.page-method-equipment__img-inner{
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 10px;
}
.page-method-equipment__img{
    max-width: 300px;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
.page-method-equipment__img img{
    max-width: 100%;
    height: auto;
    display: block;
}
.page-method-equipment__txt {
  text-align: center;
}
.page-method-equipment__img p{
    text-align: center;
    font-weight: 700;
    margin-bottom: 10px;
}
.page-method-equipment__img p.page-method-equipment__note{
    font-size: 14px;
    text-align: left;
    font-weight: 400;
}
.page-method-equipment-warning{
    padding-top: 58px;
}
.page-method-equipment-warning__item{
    background-color: #F7F7F7;
    padding: 30px 50px;
    max-width: 900px;
    margin: auto;
}
.page-method-equipment-warning__item:first-of-type{
    margin-bottom: 10px;
}
.page-method-equipment-warning__item h4{
    padding-bottom: 12px;
    border-bottom: 1px solid #D2D2D2;
    margin-bottom: 12px;
    margin-top: 0;
    display: flex;
    align-items: center;
    font-size: 18px;
    font-weight: 700;
    justify-content: center;
}
.page-method-equipment-warning__item h4 span{
    width: 28px;
    margin-right: 5px;
}
.page-method-equipment-warning__item dl:not(:last-of-type){
    margin-bottom: 10px;
}
.page-method-equipment-warning__item dt{
    font-weight: 700;
    margin-bottom: 7px;
    display: flex;
    align-items: center;
}
.page-method-equipment-warning__item dt span{
    width: 30px;
}
.page-method-equipment-warning__item dd,
.page-method-equipment-warning__item li{
    font-size: 14px;
    position: relative;
}
.page-method-equipment-warning__item dd::after,
.page-method-equipment-warning__item li::after{
    content: "";

}
.page-method-equipment-warning__item li:not(:last-of-type){
    margin-bottom: 10px;
}

@media screen and (max-width:768px) {
    .page-method-equipment{
        margin: 50px 0 70px;
    }
    .page-method-equipment__img-wrap{
        flex-direction: column;
    }
    .page-method-equipment__img{
        margin: auto;
        max-width: 100%;
        width: 86%;
    }
    .page-method-equipment-warning__item{
        padding: 30px 10px;
    }
    .page-method-equipment-warning__item h4{
        font-size: 16px;
    }
    .page-method-equipment-warning__item h4 span{
        width: 20px;
    }
    .page-method-equipment-warning__item dt span{
        width: 24px;
    }
}

/* -----------------
our-our-members
-------------------*/
.page-our-member__content{
    max-width: 900px;
    margin: auto;
}
.page-our-member__table{
    width: 100%;
    border-spacing: 0;
}
.page-our-member__table th{
    border-bottom: 1px solid #333;
    text-align: left;
}
.page-our-member__table th,
.page-our-member__table td{
    padding: 10px;
    font-size: 14px;
}
.page-our-member__table td{
    border-bottom: 1px solid #D2D2D2;
}
.page-our-member__table a{
    text-decoration: underline;
    font-size: 14px;
}
.page-our-member__table th:first-of-type{
    width: 8%;
}
.page-our-member__table th:nth-of-type(2){
    width: 23%;
}
.page-our-member__table th:nth-of-type(3){
    width: 10%;
}
.page-our-member__table th:nth-of-type(4){
    width: 44%;
}

@media screen and (max-width:768px) {
    .page-our-member__table th,
    .page-our-member__table td{
        padding: 18px 8px;
    }
    .page-our-member__table th:first-of-type{
        width: 11%;
    }
    .page-our-member__table th:nth-of-type(2){
        width: 16.8%;
        min-width: 58px;
    }
    .page-our-member__table th:nth-of-type(3){
        width: 13.9%;
    }
    .page-our-member__table th:nth-of-type(4){
        width: 37%;
    }
    .page-our-member__table th:last-of-type{
        width: 16.8%;
    }

}

/* -------------
news
---------------*/
.page-news__content{
    max-width: 900px;
    margin: auto;
    margin-bottom: 70px;
}
.pagination-wrap{
    display: flex;
    justify-content: center;
}
.pagination{
    text-align: center;
    vertical-align: middle;
    display: flex;
    align-items: center;
    width: fit-content;
}
/* .pagination span:not(.material-icons),
.pagination li{
} */
.pagination span:not(.material-icons),
.pagination li a{
    display: block;
    width: 32px;
    height: 32px;
    vertical-align: middle;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: "Roboto", sans-serif;
    font-size: 14px;
}
.pagination i.material-icons{
    display: block;
}
.pagination li{
    border: 1px solid #ccc;
}
.pagination li:not(:first-of-type){
    border-left: 0;
}
.pagination-prev{
    border-radius: 8px 0 0 8px;
}
.pagination-next{
    border-radius: 0 8px 8px 0;
}
.pagination-prev.disabled{

}
.pagination span.current{
    background-color: #333;
    color: #fff;
}
.pagination li:hover{
    background-color: #333;
}
.pagination li:hover a{
    color: #fff;
}
.pagination li.disabled span{
    color: #CCCCCC;
}
.pagination li.disabled:hover{
    background-color: #fff;
}
.pagination li.disabled:hover span{
    color: #CCCCCC;
}
.page-news-item__wrap .news-item{
    padding: 0 45px 24px 0;
}

@media screen and (max-width:768px) {
    .page-news-item__wrap .news-item{
        padding: 0 0 10px;
    }
}

/* --------------
news詳細
-----------------*/
.single-news__content{
    padding: 70px 0 90px;
    max-width: 900px;
    margin: auto;
}

.single-news__content p{
    margin-bottom: 20px;
}
.single-news__ttl .news-txt{
    font-size: 30px;
    font-weight: 500;
    padding-bottom: 30px;
    border-bottom: 1px solid #D2D2D2;
}
.single-news__ttl{
    margin-bottom: 40px;
}
.single-pagination{
    display: flex;
    align-items: center;
    margin-top: 60px;
    justify-content: center;
}
.single-pagination>div{
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #CCCCCC;
    border-left: 0;
    cursor: pointer;
}
.news-list-icon_wh{
    display: none;
}
.single-pagination>div:hover{
    background-color: #333;
}
.single-pagination>div:hover a{
    color: #fff;
}
.news-list-link:hover .news-list-icon{
    display: none;
}
.news-list-link:hover .news-list-icon_wh{
    display: block;
}
.single-pagination>div:first-of-type{
    border-left: 1px solid #CCCCCC;
    border-radius: 8px 0 0 8px;
}
.single-pagination>div:last-of-type{
    border-radius: 0 8px 8px 0;
}
.single-pagination>div .material-icons{
    display: block;
}

@media screen and (max-width:768px) {
    .single-news__ttl .news-txt{
        font-size: 24px;
        padding-bottom: 20px
    }
}

/* --------------
contact
-----------------*/
.page-contact__content{
    max-width: 900px;
    margin: auto;
}
.page-contact__lead p{
    font-size: 14px;
}
.form{
    width: 100%;
    border-spacing: 0;
    margin-top: 42px;
}
.form input,
.form textarea{
    border: 1px solid #D2D2D2;
    border-radius: 4px;
    width: 100%;
}
.form th{
    text-align: left;
    font-weight: 400;
    vertical-align: top;
}
.form td{
    position: relative;
}
.form th,.form td{
    border-bottom: 1px solid #D2D2D2;
    padding-bottom: 18px;
    padding-top: 12px;
}
.require{
    color: #FF0000;
    padding-left: 5px;
    padding-right: 4px;
}
.page-contact__description{
    text-align: center;
    margin-top: 18px;
}
.form-name__item{
    display: inline;
}
.form-name__item:first-of-type{
    margin-right: 20px;
}
.wpcf7-form-control-wrap{
    max-width: 400px;
    display: inline-block;
    width: 100%;
    position: static;
}
.form-name__item .wpcf7-form-control-wrap{
    display: inline-block;
    width: 140px;
}
.form-postcode__item .wpcf7-form-control-wrap{
    width: 60px;
    display: inline-block;
}
.form-postcode__txt,.form-postcode__item{
    padding-right: 5px;
}
#zip-search{
    background-color: #016FBE;
    color: #fff;
    border: none;
    font-size: 13px;
    height: 30px;
    margin-left: 30px;
    padding: 0 10px;
    cursor: pointer;
    transition: .2s;
}
#zip-search:hover{
    opacity: 0.9;
}
.form-tel__txt,.form-tel__item{
    padding-right: 5px;
}
.form-tel__item{
    display: inline-block;
    width: 70px;
}
.form-item__note{
    font-size: 10px;
}
.form-acceptance{
    background-color: #F7F7F7;
    padding: 30px 23px;
    border: 1px solid #CCCCCC;
    border-radius: 10px;
    max-width: 700px;
    margin: auto;
    margin-top: 34px;
}
.form-acceptance h4{
    font-size: 15px;
    margin-bottom: 10px;
}
.form-acceptance p{
    font-size: 14px;
    margin-bottom: 10px;
}
.form-acceptance p a{
    text-decoration: underline;
}
.form-acceptance p a:hover{
    opacity: 0.8;
}
.form-acceptance__btn{
    text-align: center;
}
.form-acceptance__btn p{
    margin-bottom: 0;
}
.submit{
    text-align: center;
    margin-top: 40px;
}
.submit input[disabled]{
    background-color: #CCCCCC;
}
.submit input{
    background-color: #016FBE;
    border: 1px solid #016FBE;
    color: #fff;
    font-weight: 700;
    padding: 6px 27px;
    border: none;
    cursor: pointer;
    transition: .3s;
    box-sizing: content-box;
}
.submit input:not([disabled]):hover{
    opacity: 0.9;
}
.wpcf7-spinner{
    display: none;
}

/* 送信前はエラーメッセージを隠す */
.wpcf7 form:not(.was-submitted) .wpcf7-not-valid-tip {
  display: none !important;
}
/* 赤枠などの装飾も送信前は抑制したい場合 */
.wpcf7 form:not(.was-submitted) .wpcf7-form-control.wpcf7-not-valid {
  border-color: inherit;
}
.wpcf7 form:not(.was-submitted) .wpcf7-form-control.wpcf7-not-valid{
    border: 1px solid #D2D2D2;
}
.wpcf7-not-valid-tip{
    font-size: 10px;
    position: absolute;
    bottom: 3px;
}


.smf-form{
    margin-top: 40px;
}
.smf-form .wp-block-columns{
    margin-bottom: 0;
}
.smf-item{
    display: flex;
    border-bottom: 1px solid #D2D2D2;
    padding-bottom: 18px;
    margin-bottom: 12px;
}
.smf-item__col--label{
    flex-basis: 27.7%;
}
.smf-item__col--controls{
    flex-basis: 72.3%;
}
.contact-item__label{
    flex-basis: auto!important;
}
.contact-name__input,
.contact-zip__input,
.contact-tel__input{
    align-items: center!important;
    margin-bottom: 0;
    gap: 5px;
}
.contact-zip{
    gap: 5px;
}
.contact-zip .smf-text-control{
    width: 60px;
}
.contact-tel{
    gap: 16px;
}
.contact-tel .smf-text-control{
    width: 70px;
}
.contact-tel .smf-text-control{
    position: relative;
}
.contact-tel .smf-text-control:after{
    content: "-";
    position: absolute;
    top: 50%;
    right: -10px;
    transform: translateY(-50%);
}
.contact-tel__input-wrap:last-of-type .smf-text-control::after{
    display: none;
}
.smf-form .smf-text-control__control{
    padding: 1px 2px;
    width: 100%;
    height: 30px;
}
.smf-text-control,
.smf-textarea-control{
    max-width: 400px;
    display: inline-block;
    width: 100%;
}
.smf-textarea-control textarea{
    height: 190px;
}

.contact-name__input .smf-text-control{
    max-width: 140px;
}
.contact-name__input .smf-placeholder,
.contact-name__input-wrap,
.contact-zip__input,
.contact-zip__input .smf-placeholder,
.contact-zip__input-wrap,
.contact-tel__input-wrap .smf-placeholder,
.contact-tel__input-wrap,
.contact-tel{
    width: fit-content;
}
.contact-zip{
    gap: 8px;
    width: fit-content;
}
.contact-name__input-wrap{
    gap: 30px;
}
.smf-action{
    text-align: center;
    margin-top: 40px;
}
.smf-action .smf-button-control__control[disabled]{
    background-color: #CCCCCC;
}
.smf-action .smf-button-control__control{
    background-image:none;
    border-radius: 0;
    background-color: #016FBE;
    border: 1px solid #016FBE;
    color: #fff;
    font-weight: 700;
    padding: 6px 27px;
    border: none;
    cursor: pointer;
    transition: .3s;
    box-sizing: content-box;
}
.smf-error-messages{
    font-size: 12px;
}
.smf-form .is-error input.smf-text-control__control,
.smf-text-control__control--error{
    border-color: #d98585!important;
}
.smf-action .smf-button-control__control:hover{
    opacity: 0.8;
}
.smf-button-control__control.disabled {
  background-color: #777777;
  pointer-events: none;
}
.smf-error-message{
    color: #cc3033;
    font-size: 12px;
}
/* 確認・完了切り替え時の表示位置をページトップに */
.smf-focus-point {
  top: -9999px;
}


/* 確認画面 */
form[data-screen="confirm"] .contact-zip__input{
    width: max-content;
}
form[data-screen="confirm"] #zip-search{
    display: none;
}
form[data-screen="confirm"] .contact-tel{
    width: max-content;
}
form[data-screen="confirm"] .contact-tel__input-wrap{
    flex-basis: auto!important;
    position: relative;
}
form[data-screen="confirm"] .contact-tel__input-wrap::after{
    content: "-";
    position: absolute;
    top: 50%;
    right: -10px;
    transform: translateY(-50%);
}
form[data-screen="confirm"] .contact-tel__input-wrap:last-of-type::after{
    display: none;
}
.smf-action button[data-action="back"].smf-button-control__control{
    background-color: #777777;
}
form[data-screen="confirm"] .form-acceptance{
    display: none;
}
/* 完了画面 */
.smf-complete-screen .page-contact__lead,
.smf-complete-screen .page-contact__ttl>.page-contact__description{
    display: none;
}

@media screen and (max-width:768px) {
    .page-contact__description p{
        font-size: 15px;
    }
    .page-contact__lead p{
        font-size: 12px;
    }
    /* .form tr{
        display: block;
        padding: 0 10px;
    }
    .form th,.form td{
        display: block;
        border-bottom: 0;
    }
    .form td{
        padding: 10px 0 20px;
    }
    .form-name td{
        padding: 10px 10px 20px;
    }
    .wpcf7-form-control-wrap{
        max-width: 100%;
    }
    .form-acceptance h4{
        text-align: center;
    }
    .form th p{
        display: flex;
    }
    .form-name__item:first-of-type{
        margin-right: 10px;
    }
    .form-name__item{
        display: inline-flex;
        width: 48%;
    }
    .form-name__item .wpcf7-form-control-wrap{
        width: 100%;
    }
    .form-furigana__txt{
        width: 70px;
    }
    .zip-btn{
        margin-left: 20px;
    } */

    .smf-form{
        margin-top: 30px;
    }
    .smf-item__col--label{
        background-color: #F5F5F5;
        padding: 7px 10px;
    }
    .smf-name-item .smf-item__col--controls{
        padding: 10px 10px 20px;
    }
    .smf-item{
        flex-direction: column;
        gap: 10px;
    }
    .smf-text-control, .smf-textarea-control{
        max-width: 100%;
    }
    .smf-item__label__text{
        font-size: 14px;
    }
}


/* confirm */
.confirm-form .form-tel__item{
    width: inherit;
}
.confirm-form th{
    width: 40%;
}
@media screen and (max-width: 768px) {
    .confirm-form .form-name__item{
        display: inline;
    }
    .confirm-form th{
        width: 100%;
    }
}

/* 完了画面 */
.to-top__btn a{
    width: 200px;
    padding: 10px 0;
    background-color: #016FBE;
    color: #fff;
    display: block;
    margin: auto;
    text-align: center;
    transition: .3s;
    border-radius: 5px;
}
.to-top__btn a:hover{
    transform: translateY(-5px);
}
.page-thanks__description p{
    padding-bottom: 20px;
}
@media screen and (max-width: 768px) {
    .page-thanks__description{
        text-align: left;
    }
}

/* -------------
個人情報保護方針
---------------*/
.page-privacy__content{
    max-width: 900px;
    margin: auto;
}
.page-privacy__item{
    margin-bottom: 20px;
}
.page-privacy__item .page-privacy__ttl{
    margin-bottom: 6px;
    color: #016FBE;
    font-size: 18px;
    font-weight: 700;
}
.page-privacy__txt ul{
    margin: 0;
}

@media screen and (max-width:768px) {
    .page-privacy__item .page-privacy__ttl{
        font-size: 16px;
    }
    .page-privacy__item .page-privacy__txt{
        font-size: 14px;
    }
}

/* -------------
サイトマップ
---------------*/
.page-sitemap__item{
    max-width: 664px;
    border: 1px solid #D2D2D2;
    margin: 30px auto;
    border-radius: 10px;
    padding: 40px 0;
    display: flex;
    justify-content: center;
    gap: 100px;
}
.page-sitemap__list{
    margin: 0;
}
/* .page-sitemap__list{
    margin: 0;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    height: 220px;
}
.page-sitemap__list li{
    margin-bottom: 10px;
} */
.page-sitemap__list li{
    margin-bottom: 10px;
}
.page-sitemap__list a{
    transition: .3s;
}
.page-sitemap__list a:hover{
    color: #016FBE;
}
.page-sitemap__item li i{
    color: #016FBE;
    font-size: 20px;
    vertical-align: middle;
}

@media screen and (max-width:768px) {
    .page-sitemap__item{
        flex-direction: column;
        gap: 0;
        margin: 0;
        padding: 40px 20px;
    }
}

/* --------------
会員専用ページ
----------------*/
.page-members{
    background-color: #F7F7F7;
}
.page-members__content{
    max-width: 820px;
    margin: auto;
}
.page-members__menu{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.page-members__item{
    width: 19.5%;
    position: relative;
}
.page-members__item a{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.page-members__icon{
    width: 160px;
    height: 160px;   
    background-color: #fff;
    border-radius: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: auto;
    margin-bottom: 20px;
    box-shadow: 0px 0px 28px rgba(0, 0, 0, 0.08);
    position: relative;
}
.page-members__icon img{
    width: 80px;
    height: auto;
}
.page-members__txt{
    color: #016FBE;
    font-weight: 700;
    margin-bottom: 10px;
    text-align: center;
    display: block;
}
.page-members__txt i{
    vertical-align: middle;
    transition: .3s;
}
.page-members__item:hover{
    opacity: 0.8;
}
.page-members__item:hover i{
    transform: translateX(5px);
}
.page-members__item p{
    word-break: break-all;
    font-size: 14px;
}
.comingsoon{
    position: absolute;
    bottom: 22px;
    left: 50%;
    transform: translateX(-50%);
    width: max-content;
    font-size: 18px;
    font-weight: 500;
}
.page-members__item.movie a{
    pointer-events: none;
}
.page-members__item.movie:hover{
    opacity: 1;
}
.page-members__item.movie:hover i{
    transform: none;
}

@media screen and (max-width:880px) {
    .page-members__icon{
        width: 130px;
        height: 130px;
    }
    .page-members__item p.comingsoon{
        font-size: 11px;
        bottom: 18px;
    }
}
@media screen and (max-width:768px) {
    .page-members__icon{
        width: 150px;
        height: 150px;
    }
    .page-members__menu{
        justify-content: center;
        gap: 30px 20px;
    }
    .page-members__item{
        width: 43%;
    }
    .page-members__item p.comingsoon{
        font-size: 13px;
        bottom: 22px;
    }
}

/* --------------
FAQ
----------------*/
.page-faq__content{
    max-width: 900px;
    margin: auto;
}
.page-faq__item-wrap:not(:last-of-type){
    margin-bottom: 40px;
}
.page-faq__item-wrap h4{
    font-size: 18px;
    background-color: #F2F2F2;
    padding: 10px 0 10px 20px;
    position: relative;
    margin-bottom: 20px;
    cursor: pointer;
}
.page-faq__item-wrap h4::before{
    content: "";
    background-color: #016FBE;
    width: 5px;
    height: 100%;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    display: inline-block;
    position: absolute;
}
.page-faq__item-wrap h4 i{
    position: absolute;
    right: 22px;
    top: 50%;
    transform: translateY(-50%)rotate(0deg);
}
.page-faq__item-wrap#faq01.open .page-faq__item-inner{
    display: block;
}
.page-faq__item-wrap#faq01 .page-faq__item-inner{
    display: none;
}
.page-faq__item-wrap.open h4 i{
    transform: translateY(-50%)rotate(180deg);
}
/* .page-faq__item-wrap#faq01 i{
    transform: translateY(-50%)rotate(180deg);
} */
.page-faq__item-wrap:not(#faq01) .page-faq__item-inner{
    display: none;
}
.page-faq__item-wrap:not(#faq01) .page-faq__item-inner.open{
    display: block;
}
.page-faq__item-inner.close{
    display: none;
}
.page-faq__item-wrap#faq01 h4.close i{
    transform: translateY(-50%)rotate(0deg);
}
.page-faq__item{
    border: 1px solid #CCCCCC;
    padding: 30px 30px;
    border-radius: 5px;
    margin-bottom: 10px;
}
.page-faq__item:last-of-type{
    margin-bottom: 0;
}
.page-faq__item dt{
    font-weight: 700;
    /* display: flex; */
    position: relative;
    cursor: pointer;
    align-items: center;
}
.page-faq__item dt span{
    font-size: 36px;
    color: #016FBE;
    font-family: "Roboto", sans-serif;
    font-weight: 500;
    min-width: 30px;
    text-align: center;
    vertical-align: middle;
}
.page-faq__item dt p{
    padding-left: 30px;
}
.page-faq__item dt>div{
    display: flex;
    align-items: center;
}
.page-faq__item dt p,
.page-faq__item dd p{
    max-width: 95%;
    display: inline-block;
    vertical-align: middle;
}
.page-faq__item dd{
    padding-left: 60px;
    display: none;
    margin-top: 10px;
    transition: .3s;
}
.page-faq__item dd a{
    font-size: 16px;
    text-decoration: underline;
    /* display: block; */
}
.page-faq__item dd a:hover{
    opacity: 0.8;
}
.page-faq__item.open dd{
    display: block;
}

.faq-arrow{
    position: absolute;
    border-radius: 100vh;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}
.faq-arrow i{
    color: #016FBE;
    font-size: 28px;
    cursor: pointer;
}
.faq-arrow__close{
    display: none;
}
.faq-arrow .faq-arrow__open{
    display: inline-block;
}
.faq-arrow.open .faq-arrow__close{
    display: inline-block;
}
.faq-arrow.open .faq-arrow__open{
    display: none;
}
.page-faq__link{
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 50px;
}
.page-faq__link a{
    display: block;
    font-size: 14px;
    text-align: center;
    padding: 11px 0;
    width: 200px;
    font-weight: 500;
    border: 1px solid #333;
    border-radius: 5px;
    transition: .3s;
}
.page-faq__link a:hover{
    border: 1px solid #016FBE;
    color: #016FBE;
}
.page-faq__link a i{
    width: 20px;
    height: 20px;
    background-color: #333;
    border-radius: 100vh;
    font-size: 18px;
    color: #fff;
    line-height: 20px;
    margin-left: 20px;
    vertical-align: middle;
    transition: .3s;
}
.page-faq__link a:hover i{
    background-color: #016FBE;
}
.page-faq__link a span{
    display: inline-block;
    vertical-align: middle;
}

@media screen and (max-width:768px) {
    .page-faq__item{
        padding: 20px 10px;
    }
    .page-faq__item dt span{
        font-size: 30px;
        min-width: 27px;
    }
    .page-faq__item dt p{
        padding-left: 5px;
        width: 75%;
    }
    .page-faq__item dd{
        padding-left: 10px;
    }
    .page-faq__item dt p,
    .page-faq__item dd p{
        font-size: 14px;
    }
    .page-faq__link{
        flex-direction: column;
        margin-bottom: 30px;
    }
    .page-faq__link a{
        width: 85%;
        margin: auto;
        position: relative;
        font-size: 14px;
    }
    .page-faq__link a span{
        display: block;
        max-width: 80%;
        margin: auto;
        text-align: left;
    }
    .page-faq__link a i{
        position: absolute;
        right: 23px;
        width: 18px;
        height: 18px;
        line-height: 18px;
        top: 50%;
        transform: translateY(-50%);
    }
    .page-faq__item-wrap h4{
        font-size: 16px;
        padding-right: 60px;
    }
    .page-faq__item dd a{
        font-size: 14px;
    }
}

/* --------------
資料ダウンロード
----------------*/
.page-downloads__content{
    max-width: 960px;
    margin: auto;
}
.page-downloads__list-wrap:not(:first-of-type){
    margin-top: 60px;
}
.page-downloads__list-wrap h4{
    padding-bottom: 10px;
    margin-bottom: 10px;
    font-size: 20px;
    border-bottom: 1px solid #D2D2D2;
}
.page-downloads__list li{
    margin-bottom: 10px;
}
.page-downloads__date{
    color: #64646D;
    font-size: 14px;
    margin-right: 27px;
    width: 8%;
    display: inline-block;
    vertical-align: middle;
}
.page-downloads__category{
    border: 1px solid #016FBE;
    padding: 2px 5px;
    font-size: 10px;
    color: #016FBE;
    display: inline-block;
    vertical-align: middle;
}
.page-downloads__list{
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}
.page-downloads__list li{
    flex-basis: 31.2%;
    border-radius: 10px;
    border: 2px solid #4BA2E1;
    overflow: hidden;
    padding-bottom: 100px;
    position: relative;
}
.page-downloads-list__inner{
    padding: 0 10px;
}
.page-downloads-list__ttl{
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    margin-top: 50px;
    margin-bottom: 20px;
}
.pdf-thumb-img__wrap{
    background-color: #EDF6FD;
    padding: 18px 0;
    height: 200px;
}
.pdf-thumb-img__wrap img{
    margin: auto;
    box-shadow: 4px 4px 6px rgba(0, 0, 0, 0.08);
    max-width: 116px;
}
.page-downloads__btn{
    width: 90%;
    /* margin: 0 20px 0; */
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
}
.page-downloads__btn a{
    border-radius: 5px;
    padding: 12px 0;
    width: 100%;
    display: block;
    background-color: #003E88;
    color: #fff;
    text-align: center;
    transition: .3s;
}
.page-downloads__btn a i{
    margin-right: 7px;
    vertical-align: middle;
}
.page-downloads__btn a:hover{
    transform: translateY(-3px);
}

@media screen and (max-width:980px) {
    .page-downloads__list{
        justify-content: space-between;
        gap: 0;
    }
    .page-downloads__list li{
        flex-basis: 48%;
    }
}
@media screen and (max-width:768px) {
    .page-downloads__list-wrap h4{
        margin-bottom: 16px;
    }
    .page-downloads__date{
        width: auto;
    }
    .page-downloads__list li{
        flex-basis: 100%
    }
}

/* -------------
page-achievements
---------------*/

.page-achievements__pdf{
    text-decoration: underline;
    padding-left: 20px;
    transition: .3s;
    position: relative;
}
.page-achievements__pdf-list li{
    margin-bottom: 18px;
}
.page-achievements__pdf::before{
    content:"・";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    color: #016FBE;
    font-size: 18px;
    font-weight: 700;
}
.page-achievements__pdf i{
    font-size: 20px;
    vertical-align: middle;
    margin-left: 10px
}
.page-achievements__pdf:hover{
    color: #016FBE;
}

@media screen and (max-width:768px) {
    .page-achievements__pdf-list li{
        margin-bottom: 20px;
    }
    .page-achievements__pdf{
        display: block;
        margin-left: 0;
        display: flex;
        align-items: center;
        margin-top: 10px;
    }
}

.page-achievements__content{
    max-width: 1000px;
    margin: auto
}
.page-achievements__data-wrap{
    margin-bottom: 80px;
}
.page-achievements__content h3{
    font-size: 24px;
    margin-bottom: 30px;
    position: relative;
    padding-left: 20px;
}
.page-achievements__content h3::before{
    content: "";
    background-color: #016FBE;
    width: 5px;
    height: 38px;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
.page-achievements__content .page-downloads__date{
    width: 6%;
}

.page-achievements-item-wrap {
    flex-wrap: wrap;
    gap: 60px 20px;
}
.page-achievements-item-wrap .page-achievements-item{
    flex-basis: 32%;
}
.modal-open{
    cursor: pointer;
    display: inline-flex;
    transition: .3s;
}
.modal-open__img{
    transition: .3s;
    cursor: pointer;
}
.modal-open__img:hover{
    opacity: 0.9;
}
.modal-open.hover,
.modal-open:hover{
    color: #016FBE;
}
.page-achievements-item .case-item__ttl i{
    font-size: 15px;
    color: #016FBE;
    width: 20px;
    height: 20px;
    border: 1px solid #016FBE;
    border-radius: 100vh;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin-left: 5px;
    transition: .3s;
}
.modal-open.hover i,
.modal-open:hover i{
    transform: translateX(5px);
}

@media screen and (max-width:1040px) {
    .page-achievements-item-wrap {
        gap: 60px 16px;
    }
}

@media screen and (max-width:860px) {
    .page-achievements-item-wrap .case-item{
        flex-basis: 48%;
        
    }
    .page-achievements-item-wrap{
       justify-content: space-between;
       gap: 30px 0;
    }
}
@media screen and (max-width:768px) {
    .page-achievements-item-wrap{
        flex-wrap: nowrap;
    }
}

/* modal-window ----------------------------------------- */
.page-achievements-modal {
    display: none;
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    /* background: rgb(226, 226, 226,0.6); */
    z-index: 111;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}
.page-achievements-modal::after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgb(226, 226, 226,0.6);
    z-index: -1;
}
.modal-area__title{
    font-size: 30px;
    font-weight: 500;
    padding-bottom: 20px;
    border-bottom: 1px solid #D2D2D2;
    margin-bottom: 30px;
}
.modal-area__wrap{
    display: inline-block;
    width: 80%;
    max-width: 800px;
    position: relative;
    top: 120px;
    left: 50%;
    transform: translateX(-50%);
    height: 100%;
}
.modal-area {
    background-color: #fff;
    padding: 70px 50px;
    border-radius: 20px;
    overflow: hidden;
    max-height: 80%;
    overflow-y: auto;
}
.modal-area .case-item__year{
    margin-left: 13px;
}
.modal-area__info{
    margin-bottom: 6px;
}
.modal-area__info .case-category-tag{
    font-size: 11px;
}
.modal-area__content .wp-element-caption{
    text-align: center;
    font-size: 14px;
}

@media screen and (max-width:768px) {
    .modal-area__wrap{
        top: 100px;
    }
    .modal-area{
        padding: 40px 26px;
    }
    .modal-area__title{
        font-size: 22px;
    }
}

/* modal-close ----------------------------------------- */
.modal-close {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 113;
  cursor: pointer;
  text-align: center;
}
.icon-close {
  width: 50px;
  height: 50px;
  position: relative;
  background-color: #333;
  border-radius: 100%;
  cursor: pointer;
}
.icon-close::before, .icon-close::after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 20%;
  width: 60%;
  height: 2px;
  background: #ffffff;
}
.icon-close::before {
  transform: rotate(-45deg);
}
.icon-close::after {
  transform: rotate(45deg);
}
@media screen and (max-width:768px) {
    .modal-close{
        top: 10px;
        right: 10px;
    }
    .icon-close{
        width: 36px;
        height: 36px;
    }
}

/* -------------
page-movie
---------------*/
video {
  width: 100%;
  height: auto;
}
.page-movie__content{
    max-width: 1000px;
    margin: auto;
}

.page-bottom-menu__wrap{
    background-color: #F7F7F7;
    padding: 70px 0 30px;
}
.page-bottom-menu__wrap .page-members__menu{
    justify-content: center;
    margin: 0;
    gap: 60px;
}
.page-bottom-menu__wrap .page-members__menu .page-members__item{
    width: auto;
}
@media (max-width: 768px) {
    .page-bottom-menu__wrap{
        padding: 70px 15px;
    }
    .page-bottom-menu__wrap .page-members__menu {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 30px 20px;
    }
    .page-members__item {
        flex: 0 0 auto;
        margin: 0 10px;
        flex-basis: 30%;
        min-width: 150px;
    }
    .page-members__dummy {
        flex-basis: 30%;
        min-width: 150px;
    }
    }
    @media (max-width: 420px) {
    .page-bottom-menu__wrap .page-members__menu {
        justify-content: center;
        gap: 30px 20px;
    }
    .page-members__item {
        margin: 0;
    }
}
/* -------------
page-manual
---------------*/
.page-manual__content{
    max-width: 1000px;
    margin: auto;
}

/* ------------
taxonomy-case-category
--------------*/
.taxonomy-case-category__content{
    margin-bottom: 80px;
}
.case-category-tags__wrap{
    margin-bottom: 30px;
}
.case-category-tags__ttl{
    text-align: center;
    font-size: 22px;
    margin-bottom: 30px;
}
.case-category-tags{
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
    max-width: 800px;
    margin: auto;
}
.case-category-tag{
    font-size: 14px;
    padding: 2px 15px;
    background-color: #F0F0F0;
    border-radius: 100vh;
    transition: .3s;
}
.case-category-tag:hover{
    background-color: #C8EAF5;
}
.case-category-tag.current-term{
    background-color: #C8EAF5;
}
.page-achievements-item .case-category-tag{
    font-size: 11px;
}
.to-achievements__btn{
    text-align: center;
    margin-top: 60px;
}
.to-achievements__btn span{
    text-decoration: underline;
    vertical-align: middle;
}
.to-achievements__btn i{
    color: #fff;
    font-size: 19px;
    background-color: #016FBE;
    width: 24px;
    height: 24px;
    border-radius: 100vh;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 10px;
    transition: .3s;
    vertical-align: middle;
}
.to-achievements__btn:hover a{
    color: #016FBE;
}
.to-achievements__btn:hover i{
    transform: translateX(5px);
}
@media (max-width: 768px) {
    .case-category-tags{
        gap: 13px;
    }
}