@charset "UTF-8";

/*-------------------------------------------
	fonts
--------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,500;1,500&display=swap');


/* ----------------------------------------------------------------------------------------------------
*  general
* --------------------------------------------------------------------------------------------------*/
html {
}
    body {
        padding-top: 73px;
    }

body.fixed{
    overflow: auto;
        height: 100%;
    }
@media screen and (max-width: 768px) {
    html {
    }
    body {
        padding-top: 50px;
    }
    img{width: 100%;}
}

/* ----------------------------------------------------------------------------------------------------
*  header
* --------------------------------------------------------------------------------------------------*/

header {
    width: 100%;
    height: 73px;
    background: #fff;
    position: fixed;
    top: 0;
    z-index: 900;
}


header .wrap {
    max-width: 950px;
    padding: 14px 0 0;
}

header .logo img {
    width: 127px;
}

.iphone header .logo{
    width: 83px;
}
.iphone header .logo img{
    width: 83px;
}

@media screen and (min-width: 769px) {
    header .logo{
        float: left;
    }
}

@media screen and (max-width: 768px) {
    header {
        height: 50px;
    }
    header .wrap {
        padding: 12px 3% 0;
    }
    header .logo img {
        width: 83px;
    }

}



/*--headnav--*/
#headNav {
    float: right;
}
#headNav ul{
    display: inline-block;
}


#headNav ul li{
    display: inline-block;
    font-size: 1.2rem;
    line-height: 1;
    vertical-align: middle;
}

#headNav ul.snav img{
    width: 36px;
    vertical-align: top;
}
#headNav ul.snav li+li{margin-left: 10px;}

#headNav ul.gnav li{
    /*font-weight: bold;*/
    letter-spacing: 0.2em;
}
@media screen and (min-width: 769px) {
    #headNav{
        display: block;
    }
    #headNav ul{
        display: inline-block;
        vertical-align: top;
    }
    #headNav ul.gnav {
        text-align: center;
        margin-top: 16px;
    }
    #headNav ul.gnav li{
        line-height: 17px;
        position: relative;
        vertical-align: top;
    }
    #headNav ul.gnav li+li{
        margin-left: 10px;
    }
    #headNav ul.gnav li+li:before{
        content: "";
        display: block;
        position: absolute;
        width: 10px;
        height: 17px;
        background: url(../img/nav_line.png) bottom no-repeat;
        left: -10px;
    }
    #headNav ul.gnav li:nth-child(2){margin-left: 0;}
    #headNav ul.gnav li:nth-child(2):before{display: none;}
    #headNav  ul.snav {
        width: 180px;
        width: 226px;
        text-align: right;
        padding-top: 6px;
    }

}


@media screen and (max-width: 768px) {
    #headNav{
        display: none;
        position: absolute;
        z-index: 100;
        background: rgba(255, 255, 255, 1);
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh/*calc(100vh - 50px)*/;
        margin-top: 50px;
        border-top: 1px solid #c8c8c8;
    }
    #headNav ul{
        padding: 0 3%;
        display: block;
    }
    #headNav ul.gnav{
    }
    #headNav ul.gnav li{
        display: block;
        text-align: center;
    }
    #headNav ul.gnav li{
        font-size: 1.4rem;
        font-weight: bold;
        padding-top: 35px;
    }
    #headNav ul.gnav li a{
    }


    #headNav ul.snav{
        text-align: center;
        width: 100%;
        margin-top: 47px;
    }
    #headNav ul.snav li+li{margin-left: 30px;}

    #headNav ul.snav img{
        width: 30px;
    }

}


/*----fixed_menu------------------------------*/

#fixed_menu {
    position: absolute;
    top: 11px;
    right: 4%;
    z-index: 900;
}




/*----menu---*/

@media screen and (min-width: 769px) {
    #fixed_menu{
        display: none;
    }

}

@media screen and (max-width: 768px) {
   #fixed_menu .toggle {
        height: 39px;
        width: 27px;
        position: relative;
        z-index: 1;
        background: url(../img/sp_navbtn.png) no-repeat;
        background-size: 26px;
    }
    #fixed_menu.on .toggle {
        background: url(../img/sp_navclose.png) no-repeat;
        background-size: 26px;
    }


}
/* ----------------------------------------------------------------------------------------------------
*  footer
* --------------------------------------------------------------------------------------------------*/
footer{
    margin-top: 60px;
}

.foot1{
    width: 100%;
    background: #f6f6f6;
    padding: 35px 0;
    position: relative;
}
.foot1 ul{
    padding-top: 40px;
}
.foot1 li {
    display: inline-block;
    font-size: 1.5rem;
    letter-spacing: 0.1em;
    font-weight: bold;
}
.foot1 li+li {
    margin-left: 46px;
}
.foot1 li a{
}

.foot1_btn{
    float: right;
    position: absolute;
    right: 0;
    bottom: 0;
}

.foot2{
    padding: 15px 0;
    position: relative;
}

.flogo img{
    width: 238px;
    margin-bottom: 11px;
}
    .flogo p{
        font-size: 0.6666em;
        padding-right: 65px;
    }

.finfo{
    padding-top: 18px;
}
.finfo p{
    font-size: 1.2rem;
    font-weight: bold;
}
    .finfo p .lg{
        font-size: 1.6rem;
    }
.finfo address{
    margin-top: 10px;
    font-size: 1.3rem;
    font-style: normal;
}



#pagetop{
    width: 44px;
    height: 44px;
    position: fixed;
    right: 40px;
    bottom: 30px;
    cursor: pointer;
    z-index: 99;
}
#pagetop img{width: 100%;}

#foot_logo{
    width: 210px;
    margin-bottom: 40px;
}




@media screen and (min-width: 769px) {
    .flogo{
        float: left;
    }
    .finfo{
        float: left;
    }

}


@media screen and (max-width: 768px) {
    footer{
        margin-top: 35px;
    }
    footer p{
        font-size: 1rem;
    }
    .foot1{
        padding: 17px 0 7px;
    }
    .foot1_logo{
        width: 81px;
    }
    .foot1 ul{
        padding-top: 27px;
    }
    .foot1 li {
        width: 50%;
        padding-bottom: 10px;
        font-size: 1rem;
        letter-spacing: 0.1em;
    }
    .foot1 li+li {
        margin-left: 0px;
    }
    .foot1 li a{
    }

    .foot1_btn{
        float: none;
        right: 4%;
        top: 0;
        width: 140px;
    }

    .foot2{
        padding: 15px 0;
    }



    .finfo{
        padding-top: 4px;
    }
    .finfo p{
        font-size: 1rem;
        padding-right: 65px;
    }
    .finfo p{
    font-size: 1.1rem;
    }
    .finfo p .lg{
        font-size: 1.4rem;
    }
    .finfo address{
        font-size: 1rem;
        padding-bottom: 10px;
    }
    .flogo img{width: 170px;}
    #pagetop{
        width: 35px;
        height: 35px;
        bottom: 10px;
        right: 4%;
    }

}
/* ------------------------------
    box
------------------------------ */
    .p_common{

    }

@media screen and (min-width: 769px) {
    .p_common{
        padding: 120px 10px 70px;
    }
}

@media screen and (max-width: 768px) {
    .p_common{
        padding-top: 80px;
        padding-bottom: 50px;
    }
    /*--余白をはみ出させて幅100%にするもの--*/
    .sp100vw {
        width: 100vw;
        left: 50%;
        transform: translateX(-50%);
        position: relative;
    }
}

/* ------------------------------
   見出し
------------------------------ */
/*--ページタイトル--*/
.pttl{
    width: 100%;
    text-align: center;
    padding: 75px 0 68px;
    margin-bottom: 60px;
}
.pttl img{
    height: 49px;
}
/*--about--*/
.pttl.about{
    background: #deebff;
}
/*--movie--*/
.pttl.mov{
    background: #fcf695;
}
/*--news--*/
.pttl.news{
    background: #e4deff;
}
/*--blog--*/
.pttl.blog{
    background: #bdedd7;
}
/*--event--*/
.pttl.event{
    background: #FFDDFE;
}

@media screen and (max-width: 768px) {
    .pttl{
        padding: 37px 0;
        margin-bottom: 35px;
    }
    .pttl img{
        height: 25px;
        width: auto;
    }
}



/*--mid1--*/
.mid1{
    padding-bottom: 16px;
    border-bottom: 2px solid #000;
    font-size: 3rem;
    letter-spacing: 0.1em;
    font-weight: bold;
    text-align: left;
    margin-bottom: 52px;
    line-height: 1.3;
}
.mid2{
    font-size: 3rem;
    text-align: center;
    font-weight: bold;
    margin-bottom: 40px;
}

@media screen and (max-width: 768px) {
    .mid1{
        padding-bottom: 10px;
        font-size: 1.7rem;
        margin-bottom: 26px;
    }
    .mid2{
        font-size: 1.8rem;
        margin-bottom: 40px;
    }
}
/* ----------------------------------------------------------------------------------------------------
* 　content-ページごとの設定
* --------------------------------------------------------------------------------------------------*/

/* ------------------------------
   index
------------------------------ */
#slider{
    margin-bottom: 50px;
}
#slider .bx-wrapper {
    box-shadow:none;
    border:none;
    background: none;
    width: 100%;
    margin-bottom: 0;
}
#slider ul{
}
#slider .bx-wrapper .bx-pager{
    z-index: 99;
}

.bx-wrapper .bx-pager.bx-default-pager a, .bx-wrapper .bx-pager.bx-default-pager a:hover{
   background: none!important;
   border:2px solid #fff;
   opacity: 0.7;
   width: 9px;
   height: 9px;
   margin: 0 3px;
}
.bx-wrapper .bx-pager.bx-default-pager a.active{
   background: #fff!important;
   opacity: 1;
}
@media screen and (min-width: 769px) {
    #slider{
        min-width: 1200px;
    }
    #slider li img{
        width: 100%;
        min-width: 1200px;
        position: relative;
        left: 50%;
        transform: translateX(-50%);
    }
    .bx-wrapper .bx-controls-direction a{
        margin-top: -34px;
        width: 69px;
        height: 69px;
    }
    #slider .bx-wrapper .bx-next{
        background: url(../img/index/next_pc.png);
        left: 50%;
        right: auto;
        margin-left: 485px;
    }
    #slider .bx-wrapper .bx-prev{
        background: url(../img/index/prev_pc.png);
        right: 50%;
        left: auto;
        margin-right: 485px;
    }
    #slider .bx-wrapper .bx-pager{
        text-align: left;
        width: 950px;
        position: absolute;
        left: 50%;
        margin-left: -475px;
        bottom: 17px;
    }
}

@media screen and (max-width: 768px) {
    #slider{
        margin-bottom: 30px;
    }

    #slider li img{
        width: 100%;
        position: relative;
    }
    .bx-wrapper .bx-controls-direction a{
        margin-top: 0px;
        width: 30px;
        height: 30px;
        z-index: 99;
    }
    #slider .bx-wrapper .bx-next{
        background: url(../img/index/next_sp.png);
        background-size: 100%;
        right: 0;
    }
    #slider .bx-wrapper .bx-prev{
        background: url(../img/index/prev_sp.png);
        left: 0;
        background-size: 100%;
    }
    #slider .bx-wrapper .bx-pager{
        bottom: 12px;
   }

	
	
    .bx-wrapper .bx-pager.bx-default-pager a, .bx-wrapper .bx-pager.bx-default-pager a:hover{
        background: none;
        border:1px solid #fff;
        width: 7px;
        height: 7px;
    }
}	
#hottopics {
max-width:960px;
margin:0 auto 100px;
}

#hottopics h2{
font-family: "Jost", sans-serif;
font-optical-sizing: auto;
font-size:3rem;
line-height:1.4;
padding-bottom:0;
margin-bottom:40px;
border-bottom:2px#000 solid;
}

#hottopics ul {
display:flex;
justify-content: space-between;
flex-wrap:wrap;
}
#hottopics ul li{
width:48.8%;
margin-bottom:4%;
}
#hottopics ul li img{
width:100%;
}

@media screen and (max-width: 768px) {
#hottopics{
padding:0 4%;
margin:0 0 40px;
}
#hottopics h2{
font-size:2rem;
}
#hottopics ul li{
width:100%;
}
}



/*--search--*/
#search{
    text-align: center;
}
#search .toggle{
    position: relative;
    width: 92%;
	max-width:960px;/*200915 added*/
    height: 38px;
    margin: 0 auto 30px;
    border: 3px solid #6f6f6f;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: 0.2em;
}
#search .toggle::after{
    position: absolute;
    content: '';
    display: inline-block;
    width: 0.6em;
    height: 0.6em;
    border-bottom: 2px solid rgba(0, 0, 0, 0.8);
    border-right: 2px solid rgba(0, 0, 0, 0.8);
    transform: translateY(-25%) rotate(45deg);
    right: 4%;
    top: 12px;
}
#search .toggle.on::after{
    transform: translateY(25%) rotate(-135deg);
}
#search ul{
    margin: 0 auto;
    width: 950px;
}
#search li{
    padding: 15px 0 15px 150px;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px solid #d8d8d8;
}
#search li p{
    position: absolute;
    left: 20px;
    top: 0;
    bottom: 0;
    width: 130px;
    display: flex;
    align-items: center;
    font-size: 1.8rem;
}
#search li p::before{
    content: '';
    display: block;
    width: 11px;
    height: 11px;
    margin-right: 15px;
    background: #ffe900;
}
#search li.category_area p::before {
    background: rgb(138, 228, 166);
}
#search li.category_type p::before {
    background: rgb(184, 209, 249);
}
#search li.category_job p::before {
    background: rgb(250, 243, 110);
}
#search li.category_topic p::before {
    background: rgb(242, 202, 226);
}
#search label{
    width: 195px;
    height: 45px;
    position: relative;
    display: flex;
    align-items: center;
}
#search label span::before,
#search label span::after{
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 15px;
    height: 15px;
    transform: translateY(-50%);
}
#search label input{
    display: none;
}
#search label span{
    position: relative;
    padding-left: 25px;
    line-height: 1.3;
}
#search label span::before{
    border: 2px solid #d8d8d8;
}
#search label span::after{
    background: #000;
    border: none;
    opacity: 0;
}
#search label input:checked+span::after{
    opacity: 1;
}
#search button{
    margin: 36px auto 52px auto;
    width: 188px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffe900;
    font-size: 1.8rem;
    font-weight: bold;
    letter-spacing: 0.1em;
}
#search button::after{
    content: '';
    display: block;
    width: 0.8rem;
    height: 0.8rem;
    margin-left: 1em;
    border-right: 2px solid #000;
    border-bottom: 2px solid #000;
    transform: rotate(-45deg);
}
@media screen and (min-width: 769px) {
    #search .toggle{
        display: none;
        display: block;/*200915 added*/
    }
}
@media screen and (max-width: 768px) {
    #search ul{
        width: 100%;
        padding: 0 4%;
    }
    #search li{
        padding: 42px 4% 0;
        border-bottom: none;
        justify-content: space-between;
    }
    #search li p{
        left: 0;
        top: 0;
        width: 100%;
        height: 42px;
        border-bottom: 1px solid #d8d8d8;
        font-size: 1.8rem;
    }
    #search label{
        width: 50%;
        padding-right: 5%;
        height: 43px;
    }
}

/*--news--*/
#newslist{
}
#newslist .topics-mds{
max-width:960px;
font-family: "Jost", sans-serif;
font-optical-sizing: auto;
font-size:3rem;
line-height:1.4;
padding-bottom:0;
margin:0 auto 40px;
border-bottom:2px#000 solid;
}
#newslist .topics-mds span{
font-size:1.6rem;
}



#newslist ul{
    margin: 0 auto;
    width: 960px;
}
#newslist li{
    width: 300px;
    display: inline-block;
    vertical-align: top;
    margin-right: 26px;
    padding-bottom: 40px;
}
#newslist li:nth-child(3n){
    margin-right: 0;
}
#newslist li span{
    display: block;
}


#newslist .nlist_ph{
    position: relative;
    margin-bottom: 10px;
}
    #newslist .nlist_ph img{
        width: 100%;
    }
    #newslist .nlist_area{
        position: absolute;
        background: #fff;
        width:82px;
        text-align: center;
        font-weight: bold;
        top:20px;
        left: 0;
        font-size: 1.4rem;
        line-height: 1;
        padding: 2px 0;
    }
#newslist .nlist_txt{
    font-size: 1.4rem;

}
    #newslist .nlist_cat{

    }
    #newslist .nlist_ttl{
        font-weight: bold;

    }
    #newslist .nlist_sttl, #newslist .nlist_date{
        font-size: 1.2rem;
        color: #6f6f6f;
    }
    #newslist .nlist_sttl{
        padding-top: 10px;
    }
    #newslist .nlist_date{
        padding-top: 4px;
    }

#newslist .nlist_poster{
    display: table;
    padding-top: 14px;
    border-top: 1px solid #c8c8c8;
    width: 100%;
    margin-top: 12px;
}
    #newslist .nlist_poster div{
        display: table-cell;
        vertical-align: middle;
    }
    #newslist .nlist_pph{
        width: 56px;
        height: 56px;
        border-radius: 50%;
        overflow: hidden;
    }
    #newslist .nlist_pph img{
        width: 100%;
        height: 100%;
    }
    #newslist .nlist_pname{
        padding-left: 7px;
        font-size: 1.2rem;
    }
.tbtm-btn{
    text-align:center;
    margin: 80px 0;
}
.tbtm-btn a{
    display: inline-block;
    font-size: 1.7rem;
    line-height: 1;
    letter-spacing: 0.1em;
    font-weight: bold;
    text-align: center;
    text-decoration: none !important;
    width: 188px;
    padding: 14px 0;
    margin:10px;
    border: 2px solid #6f6f6f;
}
@media screen and (max-width: 768px) {
    #newslist .topics-mds{
        font-size:2rem;
        margin: 0 4% 40px;
    }
    #newslist .topics-mds span{
        font-size:1.4rem;
    }
    #newslist ul{
        width: 100%;
        padding: 0 4%;
    }
    #newslist li{
        width: 100%;
        margin-right: 0px;
        padding-bottom: 30px;
    }
    #newslist .nlist_ph{
        margin-bottom: 12px;
    }
    #newslist .nlist_ph img{
    }
    #newslist .nlist_area{
        width:55px;
        top:10px;
        font-size: 1.1rem;
        padding: 2px 0;
    }
    #newslist .nlist_txt{
        font-size: 1.1rem;
    }

        #newslist .nlist_cat{

        }
        #newslist .nlist_ttl{
            font-size: 1.3rem;
        }
        #newslist .nlist_sttl, #newslist .nlist_date{
            font-size: 1.1rem;
        }
        #newslist .nlist_sttl{
            padding-top: 2px;
        }
        #newslist .nlist_date{
            padding-top: 0;

        }
    #newslist .nlist_poster{
        padding-top: 10px;
        border-top: none;
        margin-top: 0;
    }
        #newslist .nlist_pph{
            width: 37px;
            height: 37px;
        }
        #newslist .nlist_pname{
            font-size: 1.1rem;
        }

}

/* ------------------------------
   ABOUT
------------------------------ */
.mid_about{
    text-align: center;
    font-weight: bold;
    font-size: 3rem;
    margin-bottom: 50px;
}
        .mid_about img{margin-right: 18px;}
.about_txt{
    text-align: center;
    font-size: 1.6rem;
}
.about_txt span{
    font-size: 1.3rem;
}
@media screen and (max-width: 768px) {
    .mid_about{
        font-size: 1.5rem;
        margin-bottom: 28px;
    }
        .mid_about img{
            width:99px;
            margin-right: 8px;
        }
    .about_txt{
        font-size: 1.3rem;
    }
    .about_txt span{
        font-size: 1.2rem;
    }

}



/* ------------------------------
   MOVIE
------------------------------ */
.youtube{
    width:583px;
    margin: 0 auto 46px;
}
@media screen and (max-width: 768px) {
    .youtube{
        position:relative;
        width:100%;
        padding-top:56.25%;
        margin-bottom: 18px;
        }
    .youtube iframe{
        position:absolute;
        top:0;
        right:0;
        width:100%;
        height:100%;
    }
}

/* 2020.12.7追加 */

.yt{
  position:relative;
  width:100%;
  padding-top:56.25%;
}
.yt iframe{
  position:absolute;
  top:0;
  right:0;
  width:100%;
  height:100%;
}

.movlist{
  display:flex;
  justify-content: space-between;
  flex-wrap:wrap;
  margin-top:40px;
  margin-bottom:52px;
}
.movlist li{
  width:300px;
  margin-bottom:52px;
}
.movlist::after{
  content:"";
  display:block;
  width:30%;
  height:0;
}
.movlist .nlist_ph {
  position: relative;
  margin-bottom: 10px;
}
.movlist li h3{
  margin-bottom:1em;
}
.movlist li .nlist_ttl{
font-weight:bold;
}
.movbox{
  max-width:740px;
  margin:0 auto 102px;
}


@media screen and (max-width: 768px) {
.movlist li{
  width:100%;
}
img.pcmimg{
  object-fit: cover;
}
}

@media screen and (max-width: 414px) {
	img.pcmimg{
	height:100px;
	}
}
/* 2020.12.7追加ここまで */

/* 2021.05.28追加 */
.mov-phead{
text-align:center;
margin-bottom:60px;
background-image:url("http://www.shafuku-heros.com/wp/wp-content/uploads/2021/05/moviebn.jpg");
background-repeat:no-repeat;
background-size:cover;
background-position:center center;
}
.mov-phead img{
width:532.5px;
height:250px;
}

@media screen and (max-width: 768px) {
.mov-phead{
margin-bottom:35px;
}
.mov-phead img{
width:222px;
height:100px;
}
}
/* 2021.05.28追加ここまで */

/* 2025.09.11追加 */
.movie_tmds{
font-family: "Jost", sans-serif;
font-optical-sizing: auto;
font-size:3rem;
line-height:1.4;
padding-bottom:0;
margin-bottom:40px;
border-bottom:2px#000 solid;
}
.movie_tmds span{
font-size:1.6rem;
}
.movie_ttl{
font-size: 3rem;
text-align: center;
font-weight: bold;
margin-bottom: 20px;
}
.movie_catch{
text-align:center;
font-size:2.6rem;
margin-bottom: 20px;
}
.movie_lead{
font-weight:bold;
text-align:center;
margin-bottom: 40px;
}
.movlist li img{
width: 100%;
height:auto;
}

@media screen and (max-width: 768px) {
.movie_tmds{
font-family: "Jost", sans-serif;
font-size:2rem;
}
.movie_tmds span{
font-size:1.4rem;
}

}
/* 2025.09.11追加ここまで */

/* ------------------------------
   EVENT
------------------------------ */
/* 2025.09.11追加 */
.event_tmds{
font-family: "Jost", sans-serif;
font-optical-sizing: auto;
font-size:3rem;
line-height:1.4;
padding-bottom:0;
margin-bottom:40px;
border-bottom:2px#000 solid;
}
.event_tmds span{
font-size:1.6rem;
}
.event_latest{
margin-bottom:52px;
}
.event_latest img{
width: 100%;
height:auto;
}
.event_latest p{
font-size: 1.6rem;
color:#FFF;
font-weight:bold;
text-align:center;
padding:10px;
background:#333;
}

.event_list{
display:flex;
justify-content: space-between;
flex-wrap:wrap;
margin:0 auto 100px;
}
.event_list li{
width:48%;
margin-bottom:4%;
}
.event_list li a{
display:block;
font-size: 1.6rem;
font-weight: bold;
text-align:center;
padding: 14px 0;
border: 2px solid #6f6f6f;
}


@media screen and (max-width: 768px) {
.event_tmds{
font-family: "Jost", sans-serif;
font-size:2rem;
}
.event_tmds span{
font-size:1.4rem;
}
.event_list li{
width:100%;
margin-bottom:4%;
}

}
/* 2025.09.11追加ここまで */

/* ------------------------------
   EVENT single
------------------------------ */
/* 2025.09.11追加 */
.event_sec{
font-size:1.6rem;
}
.event_end{
position:absolute;
top:0;
right:0;
color:#FFF;
font-weight:bold;
padding:5px 10px;
background:#FF0000;
}


.event_sec img{
max-width: 100%;
height: auto;
}
.event_sec a{
text-decoration:underline;
}
.event_mainimg{
margin-bottom:40px;
}
.event_mds{
font-size:2.4rem;
font-weight:700;
padding-bottom:5px;
margin:40px 0;
border-bottom:2px #000 solid;
}
.event_intro{
margin-bottom:60px;
}
.event_intro .catch{
font-size:2rem;
font-weight:700;
margin-bottom:20px;
}

.event_gaiyo{
margin-bottom:60px;
}
.event_gaiyo_table{
width:100%;
border-top:1px #CCCCCC solid;
border-left:1px #CCCCCC solid;
}
.event_gaiyo_table>tbody>tr>th,
.event_gaiyo_table>tbody>tr>td{
padding:20px;
border-right:1px #CCCCCC solid;
border-bottom:1px #CCCCCC solid;
}
.event_gaiyo_table>tbody>tr>th{
width:220px;
font-weight:700;
background:#EEEEEE;
}
.event_gaiyo_table>tbody>tr>td th,
.event_gaiyo_table>tbody>tr>td td{
padding:5px;
}

.event_presentator{
}

.event_presentator_frm{
display:flex;
justify-content: space-between;
flex-wrap:wrap;
}

.event_presenter_box{
width:48%;
display:flex;
justify-content: space-between;
flex-wrap:wrap;
font-size:1.4rem;
margin-bottom:40px;
}
.event_presenter_box .profbox{
width:36%;
background:#FFF132;
}
.event_presenter_box .profbox .profile{
padding:10px;
}
.event_presenter_box .profbox .profile span{
font-size:1.5rem;
font-weight:700;
}
.event_presenter_box .txtbox{
width:60%;
}
.event_presenter_box .txtbox h3{
font-size:1.5rem;
font-weight:700;
margin-bottom:10px;
}
.event-award{
color:#FFF;
font-weight:700;
text-align:center;
margin-bottom:10px;
background:#FF0000;
}
.event_report{
}

.event_report .bnr{
text-align:center;
}

@media screen and (max-width: 768px) {
.event_end{
position:relative;
top:0;
right:0;
}
.event_sec .postd_ttlbox{
padding-bottom:10px;
}

.event_mds{
font-size:1.8rem;
}
.event_gaiyo_table>tbody>tr>th,
.event_gaiyo_table>tbody>tr>td{
display:block;
width:100%;
}

.event_presenter_box{
width:100%;
}
}

@media screen and (max-width: 480px) {
.event_presenter_box .profbox,
.event_presenter_box .txtbox{
width:100%;
}
.event_presenter_box .profbox{
margin-bottom:10px;
}

}
/* 2025.09.11追加ここまで */

/* ------------------------------
   NEWS/BLOG共通
------------------------------ */
/*----------
 一覧
----------*/
.post_list{
    width: 889px;
    margin: 0 auto;
}
.post_list li{
    display: table;
    width: 100%;
    position: relative;
    border-bottom: 1px solid #ccc;
    padding-bottom: 10px;
    padding-left: 16px;
    word-break: break-all;
}
.post_list li+li{
    margin-top: 10px;
}
.post_list li:before{
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    background: #000;
    margin-top: 10px;
    left: 0;
    position: absolute;
}
.post_list li a{display: block;}
.post_list li span{
    display: table-cell;
    vertical-align: top;
}
.post_list .post_date{
    width: 7em;
}
.post_list .post_ttl{
}
.post_list li{
}

.post_list .pager{
    display: flex;
    justify-content: center;
    margin-top: 40px;
}
.post_list .pager li{
    position: relative;
    width: 38px;
    height: 38px;
    margin: 0 10px;
    padding: 0;
    border: none;
}
.post_list .pager li.sp{
    display: block !important;
}
.post_list .pager li.leader{
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding-bottom: 5px;
}
.post_list .pager li::before{
    display: none;
}
.post_list .pager li.active{
    background: #ffe900;
}
.post_list .pager li a{
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.post_list .pager li.prev{
    margin-right: 20px;
}
.post_list .pager li.next{
    margin-left: 20px;
}
.post_list .pager li.prev::before,
.post_list .pager li.next::before{
    content: '';
    display: block;
    background: white;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0;
}
.post_list .pager li.prev::after,
.post_list .pager li.next::after{
    content: '';
    display: block;
    position: absolute;
    width: 0.6em;
    height: 0.6em;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    border-right: 2px solid #000;
    border-bottom: 2px solid #000;
}
.post_list .pager li.prev::after{
    transform: rotate(135deg);
}
.post_list .pager li.next::after{
    transform: rotate(-45deg);
}

.wp-pagenavi{
font-size:14px;
font-size:1.4rem;
text-align:center;
margin:40px 0;
}
.wp-pagenavi a, .wp-pagenavi span{
padding: 9px 14px;
border:none;
letter-spacing:0;
}
.wp-pagenavi .current{
background:#ffe900;
}
.wp-pagenavi a:hover, .wp-pagenavi span.current{
border:none;
}
@media screen and (max-width: 768px) {
    .post_list{
        padding: 0 1%;
        width: 100%;
    }
    .post_list li:before{
        margin-top: 7px;
    }
    .post_list .post_date{
        width: 6.5em;
    }
    .post_list .pager li:not(.sp){
        display: none;
    }
    .post_list .pager li.prev,
    .post_list .pager li.sp,
    .post_list .pager li.next{
        display: block;
    }
    .post_list .pager li.prev,
    .post_list .pager li.next{
        border: 3px solid #6f6f6f;
        width: 22%;
        margin: 0;
    }
    .post_list .pager li.prev::before,
    .post_list .pager li.next::before{
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .post_list .pager li.prev::before{
        content: '前へ';
        padding-left: 15%;
    }

    .post_list .pager li.next::before{
        content: '次へ';
        padding-right: 15%;
    }
    .post_list .pager li.prev::after{
        left: 15%;
        right: auto;
    }
    .post_list .pager li.next::after{
        left: auto;
        right: 15%;
    }
}


/*----------
 投稿内容
----------*/
.post_wrap{
    padding-top: 60px;
}
/*-----投稿タイトル-----*/
.postd_ttlbox{
    position:relative;
    padding-bottom: 30px;
}
.postd_ttl{
    padding-bottom: 16px;
    border-bottom: 2px solid #000;
    font-size: 3rem;
    letter-spacing: 0.1em;
    font-weight: bold;
    text-align: left;
    margin-bottom: 16px;
    line-height: 1.3;
}
.postd_sttl{
    color: #6f6f6f;
}
.postd_sttl p span{display: inline-block;}
.postd_sttl p span+span:before{
    content: " ｜ ";
}
@media screen and (min-width: 769px) {
        .postd_sttl p{
            float: left;
        }
        .postd_sttl p+p{
            float: right;
            padding-left: 30px;
        }

}
@media screen and (max-width: 768px) {
    .post_wrap{
        padding-top: 20px;
    }
    .postd_ttlbox{
        padding-bottom: 27px;
    }
    .postd_ttl{
        padding-bottom: 10px;
        font-size: 1.8rem;
        margin-bottom: 12px;
    }
        .postd_sttl{
            font-size: 1.2rem;
        }
}

/*-----投稿内容-----*/
.postd_content{
    padding: 0 30px 30px;

}
.postd_content img{
    display: block;
    margin: 0 auto 30px;
}
.postd_content .caption,
.postd_content .wp-caption-text{
	margin-top: -20px;
	font-size: 1.2rem;
}
.postd_content .wp-caption-text{
    text-align: center;
}
.postd_content p{
    margin-bottom: 30px;
}
.postd_content a{
    text-decoration: underline;
}
@media screen and (max-width: 768px) {
    .postd_content{
        padding: 0 0 20px;

    }
    .postd_content img{
        width: auto;
        max-width: 86%;
        margin: 0 auto 20px;
    }
    .postd_content p{
        margin-bottom: 20px;
    }

}

/*-----投稿者-----*/
.postd_poster{
    border: 2px solid #d4d4d4;
    padding: 34px 40px;
}
.poster_inner{
    display: table;
    width: 100%;
}
.poster_ph{
    display: table-cell;
    vertical-align: top;
}
.poster_ph .ph{
    width: 190px;
    height: 190px;
    border-radius: 50%;
    overflow: hidden;
}
.poster_ph .ph img{
    width: 100%;
    height:auto;
}
.poster_txt{
    display: table-cell;
    padding-left: 34px;
    vertical-align: middle;
    line-height: 1.6;
}
.poster_name{
    font-size: 2rem;
    font-weight: bold;
    padding-bottom: 10px;
}

.poster_info{
}
.poster_info a{
    text-decoration: underline;
}
.poster_sns{
    text-align: right;
    padding-top: 30px;
}
.poster_sns li{
    font-weight: bold;
}
.poster_sns li a{
    position: relative;
    display: block;
    padding-right: 24px;
}

.poster_sns li a:after{
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    right:0;
    width: 8px;
    height: 8px;
    margin-top: -5px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

@media screen and (min-width: 769px) {
    .poster_sns li{
        display: inline-block;
    }
    .poster_sns li+li{
        margin-left: 40px;
    }
    .poster_name span:before{
      content: " ｜ ";
      font-weight: normal;
    }
    .poster_name span:first-child:before{
        display: none;
    }

}
@media screen and (max-width: 768px) {
    .postd_poster{
        padding: 17px 20px;

    }
    .poster_inner{
        padding-bottom: 20px;
    }
    .poster_ph{
        width: 95px;
    }
    .poster_ph .ph{
        width: 95px;
        height: 95px;
    }
    .poster_txt{
        padding-left: 15px;
    }
    .poster_name{
        font-size: 1.3rem;
    }
    .poster_name span+span:before{
      content: " ｜ ";
      font-weight: normal;
    }
   .poster_txt2{
        display: block;
    }
    .poster_info{
        font-size: 1.2rem;
    }
    .poster_sns{
        padding-top: 24px;
    }
    .poster_sns li{
        text-align: right;
    }
    .poster_sns li+li{
        margin-top: 14px;
    }
    .poster_sns li a{
        display: inline-block;
        padding-right: 14px;
        font-size: 1.1rem;
        letter-spacing: 0.1em;
    }
    .poster_sns li a:after{
        border-width: 1px;
        width: 6px;
        height: 6px;
        margin-top: -3px;
    }

}

/*-----投稿シェア-----*/
.postd_share{
    padding-top: 70px;
}
.postd_share p{
    font-size: 1.7rem;
    text-align: center;
    margin-bottom: 24px;
}
.postd_share div{
    width: 550px;
    display: table;
    margin: 0 auto;
}
.postd_share div a{
    display: table-cell;
    width: 50%;
    vertical-align: middle;
    text-align: center;
    color: #fff;
    height: 42px;
    letter-spacing: 0.1em;
    padding-right: 14px;
}
.postd_share div a img{
    vertical-align: middle;
    width: 19px;
    margin-right: 30px;
}
.postd_share .share_fb{
    background: #3b5998;
}
.postd_share .share_tw{
    background: #00aced;
}
.postd_share .share_x{
    background: #000;
}

@media screen and (max-width: 768px) {
    .postd_share{
        padding-top: 45px;
    }
    .postd_share p{
        font-size: 1.15rem;
        margin-bottom: 16px;
    }
    .postd_share div{
        width: 100%;
    }
    .postd_share div a{
        font-size: 1rem;
        height: 40px;
        padding-right: 6px;
    }
    .postd_share div a img{
        width: 16px;
        margin-right: 11px;
    }
}
/*-----一覧に戻る-----*/
.posted_backbtn{
    display: block;
    margin: 80px auto 0;
    font-size: 1.7rem;
    line-height: 1;
    letter-spacing: 0.1em;
    font-weight: bold;
    text-align: center;
    text-decoration:none!important;
    width: 188px;
    padding: 14px 0;
    border:2px solid #6f6f6f;
    position: relative;
}
.posted_backbtn:after{
    content: '';
    display: inline-block;
    width: 9px;
    height: 9px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    -webkit-transform: translateY(-2px) rotate(45deg);
    transform: translateY(-2px) rotate(45deg);
}

@media screen and (max-width: 768px) {
    .posted_backbtn{
        margin: 55px auto 0;
        font-size: 1.2rem;
        letter-spacing: 0.05em;
        width: 122px;
        padding: 8px 0;
    }
    .posted_backbtn:after{
        width: 6px;
        height: 6px;
        border-top: 1px solid #333;
        border-right: 1px solid #333;
        -webkit-transform: translateY(-2px) rotate(45deg);
        transform: translateY(-2px) rotate(45deg);
        margin-left: 4px;
    }
}

