@charset "UTF-8";
.font-meiryo{
    font-family: "メイリオ", Meiryo, sans-serif !important;
    font-weight: 400;
}
.en{
    font-family: 'Arimo', sans-serif !important;
}
.min{
    font-family: 'Noto Serif JP', serif !important;
    font-weight: 500 !important;
}



/* ------------------------------
    reset
------------------------------ */
html {
    font-size: 62.5%;
    overflow-y: scroll;
}

*, *::before, *::after {
    box-sizing: border-box;
}

body, h1, h2, h3, h4, h5, h6, p, address, figure,
div, ul, ol, li, dl, dt, dd,
table, th, td, img, form {
    margin: 0;
    padding: 0;
    border: none;
    font-size: 1.6rem;
    font-weight: 400;
    list-style-type: none;
    font-style: normal;
    font-family: 'Noto Sans JP', sans-serif;

    text-align: left;
    color: #141414;
    word-break: break-word;
    box-sizing: border-box;
}
body {
    min-width: 1024px;
}

iframe {
  max-width: 100%;
    padding: 0;
    border: 0;
    outline: 0;
    box-sizing: border-box;
}

figure {
    line-height: 1;
}
figure img,img{
    max-width: 100%;
    height: auto;
}

a {
    color: #141414;
    text-decoration: none;
    transition: .4s;
}
a img {
    transition: opacity 0.4s ease-out;
}
a:hover img {
    opacity: 0.5;
}
input,
textarea {
    -webkit-appearance: none;
    border: none;
    border-radius: 0;
}
input:focus {
    outline: 0;
}


.pc{ display: block;}
.sp{ display: none;}

@media screen and (max-width: 767px) {
    body {
        min-width: inherit;
    }
    img{
        width: 100%;
        max-width: inherit;
        height: auto;
    }
    .pc{ display: none;}
    .sp{ display: block;}

}
/* ------------------------------
   common
------------------------------ */
.wrapper{
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
}
.inner {
    max-width: 1200px;
    margin: 0 auto;
    width: 92%;
}

.flex{
    display: flex;
}
strong,
.bold{
    font-weight: 700;
}
.italic{ font-style: italic; margin-right: 5px;}
.en.bold{
    font-weight: 600;
}

.main_cnts{
    box-sizing: border-box;
}
#contents{ overflow: hidden;}

.bg-gray{ background: #fafafa;}
.bg-red{ background: #bc121a;}


.line-yellow{
    background: linear-gradient(transparent 70%, #f9d971 30%);
    padding: 0 3px;
    box-sizing: border-box;
}

.aCen,
.custom-align-center{ text-align: center;}
.aL{ text-align: left !important;}
.aR{ text-align: right;}

.col01{ color: #e91919;}
.col02{ color: #bc111a;}

a{
    transition: .4s
}
a:hover{
    opacity: .7;
}
.object-fit-img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover';
}

.btn_wrap .btn{
    position: relative;
    display: block;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    font-size: 1.6rem;
    letter-spacing: .05em;
    font-weight: 600;
    color: #FFF;
    background: #bc121a;
    border-radius: 3px;
    padding: 10px 10px;
    box-sizing: border-box;
}

.btn_wrap .btn.-white{
    color: #141414;
    background: #FFF;
}
.btn_wrap .btn.-green{
    color: #FFF;
    background: #2fa15e;
}

.btn_wrap .btn.arrow{
    position: relative;
}
.btn_wrap .btn.arrow:after{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 25px;
    display: block;
    content: '';
    background: url("../img/common/icon_arrow_white.svg") no-repeat center center;
    background-size: 100% auto !important;
    width: 18px;
    height: 6px;
}
.btn_wrap .btn.-white.arrow:after{
    background: url("../img/common/icon_arrow.svg") no-repeat center center;
}

.page-ttl{
    position: relative;
}
.page-ttl .inner{
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0 auto;
    z-index: 2;
}
.page-ttl .ttl_inner{
    position: relative;
    width: 470px;
    bottom: -64px;
    display: inline-block;
    background: #bc121a;
    padding: 34px 30px;
    box-sizing: border-box;
    z-index: 2;
}
.page-ttl .title{
    font-size: 3.2rem;
    letter-spacing: .1em;
    color: #FFF;
}
/* 長い場合 */
.page-ttl .title.sm{
    font-size: 3rem;
}


.page-ttl .en-title{
    margin-top: 10px;
    font-size: 1.2rem;
    letter-spacing: .1em;
    color: #FFF;
}
.page-ttl .page-img{
    position: relative;
    z-index: 1;
}
.page-ttl .page-img img{
    display: block;
    width: 100%;
    height: auto;
}

.page-ttl.-detail .ttl_inner{
    display: flex;
    flex-direction: column;
    bottom: 20px;
    padding: 18px 30px;
}
.page-ttl.-detail .title{
    order: 2;
    font-size: 4rem;
}
.page-ttl.-detail .en-title{
    order: 3;
    margin-top: 5px;
}
.page-ttl.-detail .sub-title{
    order: 1;
    font-size: 1.5rem;
    letter-spacing: .1em;
    color: #FFF;
    margin-bottom: 5px;
}

@media screen and (max-width: 767px) {
    .inner {
        max-width: inherit;
        width: 92%;
    }
    .btn_wrap .btn{
        width: 70%;
        font-size: 1.4rem;
    }

    .page-ttl .ttl_inner{
        width: auto;
        bottom: -34px;
        padding: 10px 22px 15px 22px;
    }
    .page-ttl .title,
    .page-ttl .title.sm{
        font-size: 2.0rem;
    }
    .page-ttl .en-title{
        font-size: 1.0rem;
        margin-top: 5px;
    }
    .page-ttl .page-img{
        height: 46vw;
    }
    .page-ttl .page-img img{
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        font-family: 'object-fit: cover';
    }
/*    .page-ttl.-detail .inner{ bottom: 4%;}*/
    .page-ttl.-detail .ttl_inner{
        width: 62%;
        bottom: -34px;
        padding: 10px 17px 15px 17px;
    }
    .page-ttl.-detail .title{
        font-size: 2rem;
    }
    .page-ttl.-detail .en-title{
        margin-top: 3px;
    }
    .page-ttl.-detail .sub-title{
        font-size: 1.2rem;
        margin-bottom: 0;
    }
}

/* ------------------------------
   header
------------------------------ */
#header {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
}
#header .header-inner{
    position: relative;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 27px 17px 17px;
    margin-top: 34px;
}
#header .header-inner::before {
    content: '';
    width: 100%;
    height: 100%;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 4px;
}
#header .logo{
    position: relative;
    width: 17%;
    max-width: 175px;
    z-index: 2;
}
#header .request_btn{
    position: absolute;
    right: 23px;
    top: -12px;
}
#header .request_btn a{
    display: inline-block;
    text-align: center;
    color: #FFF;
    font-size: 1.6rem;
    font-weight: 500;
    background: #bc121a;
    border-radius: 4px;
    padding: 3px 33px;
    box-sizing: border-box;
}

#header .drawer_button{ display: none;}

#header .nav_wrapper{
    position: relative;
    z-index: 2;
}
#header .gnav_list{
    display: flex;
}
#header .gnav_list .gnav_list__1st{
    position: relative;
    padding: 10px 15px 10px 0;
    box-sizing: border-box;
}
#header .gnav_list .gnav_list__1st+.gnav_list__1st{ margin-left: 25px;}
#header .gnav_list .gnav_list__1st,
#header .gnav_list .gnav_list__1st a{
    font-size: 1.4rem;
    color: #333333;
    letter-spacing: .01em;
    box-sizing: border-box;
}
#header .gnav_list .gnav_list__1st:after{
    position: absolute;
    top: 50%;
    right: 0;
    display: inline-block;
    vertical-align: middle;
    content: '';
    width: 6px;
    height: 6px;
    border-bottom: 2px solid #000000;
    border-right: 2px solid #000000;
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
    margin-left: 12px;
}
#header .gnav_list .gnav_list__1st:hover:after{
    -webkit-transform: rotate(225deg) translateY(0);
    transform: rotate(225deg) translateY(0);
    transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
#header .gnav_list .gnav_list__1st.no-arrow{ padding-right: 0;}

#header .gnav_list .gnav_list__1st.no-arrow:before,
#header .gnav_list .gnav_list__1st.no-arrow:after{ display: none !important;}

#header .gnav_list__2nd{
    display: none;
    position: absolute;
    top: 38px;
    background-color: #bc121a;
    padding: 20px;
    border-radius: 4px;
}

#header .gnav_list__2nd.is-show{
    display: block;
    animation: fadeup .3s 0s cubic-bezier(0.19, 1, 0.22, 1) /* easeOutExpo */;
}
@keyframes fadeup{
  0%{
    opacity: 0;
    transform: translateY(20px);
  }
  
  100%{
    opacity: 1;
    transform: translateY(0);
  }
}
#header .gnav_list .gnav_list__1st .gnav_list__2nd li{ padding: 2px 0;}
#header .gnav_list .gnav_list__1st .gnav_list__2nd li a{
    color: #FFF;
    font-size: 1.3rem;
    white-space: nowrap;
}
#header .gnav_list .gnav_list__1st .gnav_list__2nd li a:after{
    position: relative;
    top: -2px;
    background: url("../img/common/icon_arrow_white.svg") no-repeat center center;
    background-size: 100% auto;
    width: 13px;
    height: 4px;
    border: none;
    transform: rotate(0deg);
    margin-left: 5px;
}

/* header.is-fixed */
#header.header_detail{
    overflow: hidden;
    position: relative;
}
#header.is-fixed .header-inner,
#header.header_detail .header-inner{
    padding-left: 0;
    padding-right: 0;
    margin-top: 0;
    border-radius: 0;
    transition: all 0.8s cubic-bezier(0.19, 1, 0.22, 1);
}
#header.header_detail .header-inner{
    height: 100px;
}
#header.is-fixed .header-inner:before,
#header.header_detail .header-inner:before{
    border-radius: 0;
    width: 100vw;
    transition: all 0.8s cubic-bezier(0.19, 1, 0.22, 1);
}
#header.is-fixed .request_btn{
    top: -2px;
    transition: all 0.8s cubic-bezier(0.19, 1, 0.22, 1);
}


@media screen and (min-width: 1120px) {
    #header .header-inner{
        transition: all 0.8s cubic-bezier(0.19, 1, 0.22, 1);
    }

}
@media screen and (max-width: 1119px) {
    .main_cnts{ margin-top: 58px;}

    #header .logo {
        width: 175px;
    }
    #header .header-inner{
        width: 100%;
        border-radius: 0;
        margin-top: 0;
        padding: 0 4%;
        height: 60px;
        background: none;
        background: #FFF;
    }
    #header.header_detail .header-inner{
        height: 100px;
    }
    #header.is-fixed .header-inner{ padding: 0 4%;}
    #header .drawer_button {
        display: block;
        background: #bc121a;
        width: 60px;
        height: 60px;
        position: fixed;
        top: 0;
        right: 0;
        z-index: 5;
        border: none;
        box-shadow: none;
        cursor: pointer;
        outline: none;
        border-radius: 0;
    }
    #header .drawer_bar{
        transform: translate(-50% , -50%);
        position: absolute;
        left: 50%;
        display: block;
        width: 70%;
        height: 1px;
        background: #FFF;
        transition: all .4s cubic-bezier(0.19, 1, 0.22, 1);
    }

    #header .drawer_button .drawer_bar.drawer_bar1 {
        top: 30%;
    }

    #header .drawer_button .drawer_bar.drawer_bar2 {
        top: 50%;
    }

    #header .drawer_button .drawer_bar.drawer_bar3 {
        top: 70%;
    }

    #header .drawer_button.active .drawer_bar {
        width: 64%;
        left: 11px
    }

    #header .drawer_button.active .drawer_bar.drawer_bar1 {
        transform: rotate(0.7853981633974483rad) translateY(-50%);
        top: 50%
    }

    #header .drawer_button.active .drawer_bar.drawer_bar2 {
        opacity: 0;
    }

    #header .drawer_button.active .drawer_bar.drawer_bar3 {
        transform: rotate(-0.7853981633974483rad) translateY(-50%);
        top: calc(100% - 50%)
    }
    #header .nav_wrapper{
        display: none;
        position: absolute;
        left: 0;
        top: 60px;
        width: 100%;
        background: #bc121a;
        padding: 2% 0 4% 0;
        box-sizing: border-box;
    }
    #header .nav_wrapper.-is-show{
        display: block;
    }
    #header .gnav_list{ 
        display: flex;
        flex-wrap: wrap;
        padding: 0 4%;
    }
    #header .gnav_list .gnav_list__1st{
        width: 50%;
        border-bottom: 1px solid rgba(255,255,255,.5);
    }
    #header .gnav_list .gnav_list__1st+.gnav_list__1st{ margin-left: 0;}
    #header .gnav_list .gnav_list__1st,
    #header .gnav_list .gnav_list__1st a{
        color: #FFF;
    }
    #header .gnav_list .gnav_list__1st a:after{
        border-bottom: 2px solid #FFF;
        border-right: 2px solid #FFF;
    }
    #header .gnav_list__2nd{
        position: relative;
        top: 0;
        display: block;
        opacity: 0;
        padding: 5px 10px;
        border-radius: 0;
        background: none;
    }
    #header .gnav_list__2nd.is-show{ opacity: 1;}

    .request_btn.pc{ display: none;}
    #header .request_btn.sp{
        display: block;
        position: relative;
        right: 0;
        top: 0;
        margin: 4%;
    }
    #header .request_btn.sp a{
        width: 100%;
        max-width: 380px;
        position: relative;
        background: #FFF;
        color: #bc121a;
        padding: 8px 33px;
    }

    #header .sns_wrap.sp{
        display: block;
        padding: 2% 4%;
        background: #FFF;
        box-sizing: border-box;
    }

    header .sns_link li+ li{
        margin-left: 2%;
    }
}

@media screen and (max-width: 767px) {
    .main_cnts{ margin-top: 4.8rem;}
    .main_cnts.-detail{ margin-top: 4.8rem;}

    #header .logo {
        width: 40%;
        margin-top: 1vw;
    }
    #header .header-inner{
        height: 5rem;
    }
    #header .drawer_button {
        width: 5rem;
        height: 5rem;
    }

    #header .nav_wrapper{
        top: 5rem;
        padding: 2% 0 48% 0;
        height: 100vh;
        overflow-y: auto;
        -webkit-overflow-scrolling:touch;
    }
    #header .gnav_list{
        display: block;
    }
    #header .gnav_list .gnav_list__1st{
        position: relative;
        width: 100%;
    }
    #header .gnav_list .gnav_list__1st:before,
    #header .gnav_list .gnav_list__1st:after{
        position: absolute;
        right: 4%;
        top: 2.3rem;
        display: block;
        content: '';
        background: #FFF;
        margin: 0;
        border: none;
        transform: rotate(0deg) translateY(0) !important;
    }
    #header .gnav_list .gnav_list__1st:before{
        width: 1.4rem;
        height: 2px;
    }
    #header .gnav_list .gnav_list__1st:after{
        top: 1.7rem;
        margin-right: 0.6rem;
        width: 2px;
        height: 1.4rem;
    }
    #header .gnav_list .gnav_list__1st.active:after{ display: none;}

    #header .gnav_list .gnav_list__1st a,
    #header .gnav_list .gnav_list__1st{
        font-size: 1.4rem;
    }
    #header .gnav_list .gnav_list__1st .gnav_list__2nd li a{ font-size: 1.3rem;}

    #header .gnav_list .gnav_list__1st a:after{ display: none;}
    #header .gnav_list .gnav_list__2nd a:after{
        position: relative;
        top: 0;
        display: inline-block;
        vertical-align: middle;
        content: '';
    }
    #header .gnav_list__2nd{ opacity: 1;}
    #header .gnav_list__2nd.is-show{
        animation: none;
    }
    #header .request_btn.sp{
        margin-top: 6%;
        margin-bottom: 0;
    }
    #header .request_btn a{ font-size: 1.6rem;}
    #header .sns_wrap.sp{ margin-top: 6%;}
    #header .sns_wrap .sns_link li{
        width: 11vw;
    }
    #header .sns_wrap .sns_link li+li{ margin-left: 4%;}

    #header.header_detail{
        position: fixed;
    }
    #header.header_detail .header-inner {
        height: 5rem;
        padding: 0 4%;
    }
}

/* ------------------------------
   footer_btm
------------------------------ */
.footer_btm{
    padding: 30px 0 50px;
    border-top: 3px solid #eb9a20;
    box-sizing: border-box;
}
.footer_btm .flex .white-box{
    background: #FFF;
}

.footer_btm .ttl_wrap{
    padding-bottom: 25px;
    background: #bc121a;
}
.footer_btm .ttl_wrap .sec-ttl{
    text-align: center;
    font-size: 2.5rem;
    line-height: calc(30 / 25);
    letter-spacing: .05em;
    color: #FFF;
}
.footer_btm .ttl_wrap .sub{
    position: relative;
    text-align: center;
    font-size: 1.1rem;
    line-height: 1;
    letter-spacing: .1em;
    color: #FFF;
    margin-top: 10px;
}
.footer_btm .ttl_wrap .sub:after{
    position: relative;
    display: block;
    content: '';
    width: 36px;
    height: 1px;
    background: #FFF;
    margin: 13px auto 0 auto;
}

.footer_btm .white-box{
    position: relative;
    background: #FFF;
    height: 77%;
    padding: 25px 42px 30px 30px;
    box-sizing: border-box;
}
.footer_btm .-dl .white-box{
    padding-left: 11px;
    padding-right: 10px;
}
.footer_btm .-seminar .white-box:after{
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    content: '';
    width: 1px;
    height: 84%;
    background: #dcdcdc;
}

.footer_btm .flex-box{
    display: flex;
    flex-direction: row-reverse;
}
.footer_btm .flex-box .box-img{
    width: 50%;
    max-width: 273px;
}
.footer_btm .-dl .flex-box .box-img{
    width: 53%;
}

.footer_btm .flex-box .box-txt{
    width: 49%;
    padding-top: 38px;
    padding-right: 24px;
    box-sizing: border-box;
}
.footer_btm .-dl .flex-box .box-txt{
    width: 49%;
    padding-right: 0;
}

.footer_btm .flex-box .box-txt p{
    font-size: 1.5rem;
    line-height: calc(24 / 15);
    letter-spacing: .025em;
}

.footer_btm .btn_wrap{
    margin-top: 30px;
}
.footer_btm .-seminar .btn_wrap .btn{
    max-width: 306px;
}
.footer_btm .-dl .btn_wrap .btn{
    max-width: 303px;
}
.footer_btm .btn_wrap .btn.arrow:after{
    right: 15px;
}

.footer_btm.footer_btm02{
    padding: 45px 0 50px;
}
.footer_btm.footer_btm02 .inner{ max-width: 1042px;}
.footer_btm.footer_btm02 .flex{ justify-content: space-between;}
.footer_btm.footer_btm02 .box{ width: 41%;}
.footer_btm.footer_btm02 .inner_box{
    width: 100%;
}
.footer_btm.footer_btm02 .ttl_wrap .sec-ttl{
    font-size: 2.2rem;
}
.footer_btm.footer_btm02 .inner_box .box-txt p{
    color: #FFF;
    text-align: center;
    font-size: 1.5rem;
    line-height: calc(30 / 15);
    letter-spacing: .025em;
}
.footer_btm.footer_btm02 .btn_wrap .btn{
    font-size: 1.4rem;
    letter-spacing: 0;
    max-width: 187px;
}

@media screen and (max-width: 767px) {
    .footer_btm{
        padding: 10% 0 18%;
    }
    .footer_btm .flex{ display: block;}
    .footer_btm .flex .box+.box{ margin-top: 12%;}
    .footer_btm .ttl_wrap{
        padding-bottom: 6%;
    }
    .footer_btm .ttl_wrap .sec-ttl{
        font-size: 2rem;
        line-height: calc(30 / 25);
    }
    .footer_btm .ttl_wrap .sub{
        margin-top: 12px;
    }
    .footer_btm .ttl_wrap .sub:after{
        width: 3.6rem;
    }

    .footer_btm .white-box{
        padding: 5% 4%;
        height: auto;
    }
    .footer_btm .-dl .white-box{
        padding-left: 4%;
        padding-right: 4%;
    }
    .footer_btm .-seminar .white-box:after{
        display: none;
    }

    .footer_btm .flex-box{
        display: block;
    }
    .footer_btm .flex-box .box-img{
        width: 100%;
        max-width: inherit;
    }
    .footer_btm .-dl .flex-box .box-img{
        width: 100%;
    }

    .footer_btm .flex-box .box-txt{
        width: 100%;
        padding-top: 2%;
        padding-right: 0;
    }
    .footer_btm .-dl .flex-box .box-txt{
        width: 100%;
        padding-right: 0;
    }

    .footer_btm .flex-box .box-txt p{
        font-size: 1.4rem;
    }

    .footer_btm .btn_wrap{
        margin-top: 8%;
    }
    .footer_btm .-seminar .btn_wrap .btn{
        width: 100%;
        max-width: inherit;
    }
    .footer_btm .-dl .btn_wrap .btn{
        width: 100%;
        max-width: inherit;
        }

    .footer_btm.footer_btm02{
        padding: 12% 0;
    }
    .footer_btm.footer_btm02 .inner{ max-width: inherit;}
    .footer_btm.footer_btm02 .box{ width: 100%;}

    .footer_btm.footer_btm02 .ttl_wrap .sec-ttl{
        font-size: 1.8rem;
    }
    .footer_btm.footer_btm02 .inner_box .box-txt p{
        font-size: 1.3rem;
        text-align: left;
    }
    .footer_btm.footer_btm02 .btn_wrap .btn{
        width: 92.005%;
        max-width: inherit;
    }


}

/* ------------------------------
   footer
------------------------------ */
#footer{
    position: relative;
    box-sizing: border-box;
}
#footer .pagetop_wrap{
    padding-top: 13px;
    text-align: right;
}
#footer .f_nav_wrap{
    margin-top: 11px;
    padding-top: 30px;
    border-top: 1px solid #dcdcdc;
    box-sizing: border-box;
}
#footer .bg-gray{ padding-bottom: 40px;}
#footer .f_nav_wrap .f_nav{
    display: flex;
    justify-content: space-between;
}
#footer .f_nav_wrap .f_nav.block{
    display: block;
}
#footer .f_nav_wrap .f_nav.block,
#footer .f_nav_wrap .f_nav.block .nav_link+.nav_link{ margin-top: 20px;}

#footer .f_nav_wrap .f_nav .nav_link,
#footer .f_nav_wrap .nav_link__2nd{
    font-size: 1.4rem;
    letter-spacing: .1em;
    line-height: calc(30 / 14);
    box-sizing: border-box;
}

#footer .f_nav_wrap .f_nav__2nd{}
#footer .f_nav_wrap .nav_link__2nd{
    position: relative;
    padding-left: 15px;
}
#footer .f_nav_wrap .nav_link__2nd:before{
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    margin-top: -1px;
    content: '-';
}

.sns_wrap{
    margin: 55px 0 0 0;
}
.sns_wrap .sns_link{
    display: flex;
    justify-content: center;
    align-items: center;
}
.sns_wrap .sns_link li+li{ margin-left: 20px;}

#footer .bg-white{
    padding: 50px 0 20px 0;
    text-align: center;
    box-sizing: border-box;
}
#footer .f_logo{
    display: inline-block;
    text-align: center;
    margin-bottom: 15px;
}
#footer .copy{
    text-align: center;
    font-size: 1rem;
    letter-spacing: .1em;
    color: #231815;
}

@media screen and (max-width: 767px) {
    #footer{
        position: relative;
        padding-bottom: 70px;
        box-sizing: border-box;
    }
    #footer .pagetop_wrap{
        position: absolute;
        right: 4%;
        bottom: 96px;
        padding-top: 0;
    }
    #footer .pagetop_wrap .pagetop img{
        width: auto;
        max-width: 100%;
    }

    #footer .bg-gray{
        padding: 0;
        background: none;
    }

  .sns_wrap{
      margin: 8% 0 0 0;
  }
  .sns_wrap .sns_link{
      display: flex;
      justify-content: center;
      align-items: center;
  }
  .sns_wrap .sns_link li{
    width: 11vw;
  }
  .sns_wrap .sns_link li+li{ margin-left: 4%;}


    #footer .bg-white{
        padding: 4% 0;
        box-sizing: border-box;
    }
    #footer .f_logo{
        width: 50%;
        margin: 0 auto 10px auto;
    }
}
.fixed-btn{
    display: none;
    position: fixed;
    width: 72px;
    right: 0;
    top: 50%;
    z-index: 88;
}
.fixed-btn .ico{
    display: block;
    font-size: 2.4rem;
    font-weight: 700;
    letter-spacing: .10em;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    color: #FFF;
    background: #bc121a;
    padding: 8px 17px 18px 17px;
    border-radius: 6px 0 0 6px;
    box-sizing: border-box;
}
.fixed-btn .ico:before{
    position: relative;
    display: inline-block;
    margin: 0 auto 10px auto;
    content: '';
    background: url("../img/common/icon_light.svg") no-repeat center center;
    background-size: 100% auto;
    width: 38px;
    height: 40px;
}


.fixed-btn.no-display{ display: none !important;}

@media screen and (max-width: 767px) {
    .fixed-btn{
        width: 100%;
        left: 0;
        top: auto;
        bottom: 0;
    }
    .fixed-btn .ico{
        font-size: 1.6rem;
        -ms-writing-mode: inherit;
        writing-mode: inherit;
        text-align: center;
        padding: 18px 10px 14px 10px;
        border-radius: 0;
    }
    .fixed-btn .ico:before{
        top: -4px;
        vertical-align: middle;
        margin: 0 10px 0 0;
        content: '';
        width: 28px;
        height: 30px;
    }
    #footer.no-display{ padding-bottom: 0;}

}

/* ------------------------------
    clearfix
------------------------------ */
.cf {
    zoom: 1;
}
.cf::after {
    content: " ";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
    overflow: hidden;
    /* 隙間対応 */
    font-size: 0.1em;
    /* 隙間対応 */
    line-height: 0;
    /* 隙間対応 */
}
/* ------------------------------
    margin
------------------------------ */
.mr00{ margin-right: 0 !important;}
.mb60{ margin-bottom: 60px !important;}


@media screen and (max-width: 767px) {
    .mb60{ margin-bottom: 12% !important;}

}

/* ------------------------------
    post
------------------------------ */
/* page-nav */
.page-nav ul{
    position: relative;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    padding-left: 9rem;
    box-sizing: border-box;
}
.page-nav li.all{
    position: absolute;
    left: 0;
    top: 0;
    min-width: inherit;
    padding: 0 25px 0 0;
}
.page-nav li.all.current{
    padding: 0 25px 0 10px;
}

.page-nav li{
    position: relative;
    text-align: center;
    min-width: 128px;
    padding: 0 17px 0 15px;
    margin-right: 5px;
    margin-bottom: 20px;
    box-sizing: border-box;
}
.page-nav li:after{
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    content: '';
    width: 1px;
    height: 90%;
    background: #d6d6d6;
}
.page-nav li a{
    position: relative;
    display: block;
    font-size: 1.3rem;
    letter-spacing: .1em;
    font-weight: 700;
    padding: 10px 25px 10px 0;
    box-sizing: border-box;
}
.page-nav li a:after{
    position: absolute;
    right: 0;
    top: 16px;
    display: block;
    content: '';
    width: 8px;
    height: 8px;
    border-top: 2px solid #bc121a;
    border-right: 2px solid #bc121a;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.page-nav li.noc2 a{
    letter-spacing: 1em;
    padding-right: 5px;
}

.page-nav li.current a{
    color: #bc121a;
    padding: 10px 0;
}
.page-nav li.current a:after{
    border: none;
    right: 0;
    left: 0;
    top: auto;
    bottom: -2px;
    margin: 0 auto;
    width: 100%;
    height: 2px;
    background: #bc121a;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
}
@media screen and (max-width: 767px) {
    .page-nav ul{
        padding-left: 0;
    }
    .page-nav li.all,
    .page-nav li.all.current{
        position: relative;
        padding: 0 3%;
    }
    .page-nav li{
        min-width: inherit;
        width: calc(100% / 2);
        padding: 0 3%;
        margin-bottom: 3%;
        margin-right: 0;
    }
    .page-nav li a{
        font-size: 1.2rem;
        padding: 7px 11px 7px 0;
    }
    .page-nav li a:after{
        top: 12px;
        right: 2px;
    }
    .page-nav li.noc2 a{
        padding-right: 0;
    }

}
/* post team */
.team_box_list.post-team{
    position: relative;
    width: 100%;
    max-width: 1140px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.team_box_list.post-team:after{
    position: relative;
    display: block;
    content: '';
    width: calc((100% - 135px) / 3);
    max-width: 335px;
}

.post-team .post{
    width: calc((100% - 126px) / 3);
    max-width: 335px;
    margin-bottom: 65px;
}

.post-team .post .post-txt{
    padding: 15px 0 0 0;
    box-sizing: border-box;
}
.post-team .post .post-ttl{
    text-align: center;
    font-size: 1.8rem;
    line-height: calc(24 / 18);
    letter-spacing: -.025em;
    margin-bottom: 10px;
}

.post-team .post .post-name{
    text-align: center;
    font-size: 2.4rem;
    line-height: calc(34 / 24);
    letter-spacing: -.01em;
    color: #800100;
}

.post-team .post .post-img{
    width: 100%;
    height: 235px;
}

@media screen and (max-width: 767px) {
    .team_box_list.post-team{
        max-width: inherit;
        display: block;
    }
    .team_box_list.post-team:after{
        display: none;
    }

    .post-team .post{
        width: 100%;
        max-width: inherit;
        margin-bottom: 0;
        padding: 5% 4%;
        box-shadow: 0 0 6px 3px rgb(0 0 0 / 20%);
    }
    .post-team .post+.post{ margin-top: 10%;}
    .post-team .post .post-txt{
        padding: 4% 0 0 0;
    }
    .post-team .post .post-ttl{
        font-size: 1.6rem;
        line-height: calc(24 / 18);
        margin-bottom: 2%;
    }
    .post-team .post .post-name{
        font-size: 2.2rem;
        line-height: calc(34 / 24);
    }

    .post-team .post .post-img{
        width: 100%;
        height: 60vw;
        margin: 0 auto;
    }
}


/* post_list */
.post_list_wrap{
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.post_list_wrap:after{
    position: relative;
    display: block;
    content: '';
    width: calc(96% / 3);
    max-width: 382px;
}
.post_list_wrap .post{
    width: calc(96% / 3);
    max-width: 382px;
    border: 1px solid #dcdcdc;
    background: #FFF;
    box-sizing: border-box;
}
@media screen and (max-width: 767px) {
    .post_list_wrap{
        display: block;
    }
    .post_list_wrap:after{
        display: none;
    }
    .post_list_wrap .post{
        width: 100%;
        max-width: inherit;
    }

}

/* post-contents */
.sec-contents .post-contents .post-img{
    width: 100%;
    height: 206px;
}
.sec-contents .post-contents.-whitepaper .post-img{ height: 248px;}

.sec-contents .post-contents .post-img .object-fit-img{
    object-fit: cover;
    font-family: 'object-fit: cover';
}
.post-contents .post .post-txt{
    padding: 10px 10px 15px 10px;
    box-sizing: border-box;
}
.post-contents .post .post-cat{
    display: inline-block;
    font-size: 1.4rem;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .05em;
    color: #FFF;
    text-align: center;
    padding: 7px;
    margin-bottom: 7px;
    box-sizing: border-box;
}
.post-contents.-whitepaper .post .post-cat{ background: #261e1c;}
.post-contents.-conversation .post .post-cat{ background: #7c66ac;}
.post-contents.-report .post .post-cat{ background: #e25c32;}

.post-contents .post .post-ttl{
    font-size: 1.8rem;
    line-height: calc(30 / 18);
    font-weight: 700;
    color: #333333;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
@media screen and (max-width: 767px) {
    .sec-contents .post-contents .post+.post{ margin-top: 10%;}
    .sec-contents .post-contents .post-img{
        width: 100%;
        height: 50vw;
    }
	.sec-contents .post-contents.-whitepaper .post-img{ height: 59vw;}
    .post-contents .post .post-txt{
        padding: 4%;
    }
    .post-contents .post .post-cat{
        font-size: 1.3rem;
        padding: 5px;
        margin-bottom: 7px;
    }
    .post-contents .post .post-ttl{
        font-size: 1.6rem;
    }
}


/* pager */
.pager{
    display: flex;
    justify-content: center;
    align-items: center;
}
.two-column .pager{
    margin-top: 90px;
    justify-content: flex-end;
    padding: 0 55px;
    box-sizing: border-box;
}
.pager a,
.pager span{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 48px;
    height: 48px;
    font-size: 1.4rem;
    font-weight: 700;
    color: #FFF;
    background: #bc121a;
    border-radius: 3px;
    margin: 0 10px;
    box-sizing: border-box;
}
.pager .current{
    color: #000000;
    background: #e0e0e0;
}
.pager a.prev,
.pager a.next{
    position: relative;
}
.pager a.prev:before,
.pager a.next:after{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50% , -50%);
    display: block;
    content: '';
    background: url("../img/common/icon_arrow_white.svg") no-repeat center center;
    background-size: 100% auto !important;
    width: 18px;
    height: 6px;
}
.pager a.prev:before{
    transform: translate(-50% , -50%) scale(-1, 1);
}
.pager a.prev{
    margin-right: 20px;
}
.pager a.next{
    margin-left: 20px;
}

.post-nav{
    margin: 135px 0 0 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.post-nav a{
    position: relative;
    font-size: 1.6rem;
    font-weight: 700;
    color: #000000;
    letter-spacing: .075em;
}
.post-nav .next{
  margin: 0 0 0 auto;
}
.post-nav a:before,
.post-nav a:after{
    position: relative;
    top: -3px;
    display: inline-block;
    margin: 0 3px;
    vertical-align: middle;
}

.post-nav .prev:before{ content: '<';}
.post-nav .next:after{ content: '>';}

@media screen and (max-width: 767px) {
    .two-column .pager{
        margin-top: 14%;
        justify-content: center;
        padding: 0;
    }
    .pager a,
    .pager span{
        width: 36px;
        height: 36px;
        font-size: 1.2rem;
        margin: 0 5px;
    }
    .pager a.prev{
        margin-right: 15px;
    }
    .pager a.next{
        margin-left: 15px;
    }

    .post-nav{
        margin: 16% 0 0 0;
    }
    .post-nav a{
        font-size: 1.4rem;
    }

}

/* 2カラム two-column */
.two-column{
    padding: 45px 0 70px 0;
    box-sizing: border-box;
}
.two-column .inner{
    position: relative;
    display: flex;
    align-items: flex-start;
}
.post-list__wrapper.two-column .inner{
    position: relative;
    gap: 0 40px;
}
.post-list__wrapper{ margin-top: 140px;}
.post-list__wrapper .post-list__inner{
    width: 66%;
    max-width: 792px;
    box-sizing: border-box;
}

.post-detail__wrapper.two-column .inner{
    max-width: 1124px;
    gap: 0 30px;
}

/* 1カラム one-column */
.one-column{
    padding: 45px 0 70px 0;
    box-sizing: border-box;
}
.post-detail__wrapper.one-column .inner{
    max-width: 1124px;
    margin: 0 auto;
		text-align: center;
}
.post-detail__wrapper.one-column .inner .post-detail__cnts{
	margin: 0 auto;
}

.post-detail__wrapper .post-detail__cnts{
/*    display: flex;
    flex-direction: column;*/
    width: 65%;
    max-width: 705px;
    background: #FFF;
    border: 1px solid #e9e9e9;
    padding: 20px 46px 105px 45px;
    box-sizing: border-box;
}

.post-detail__wrapper .post-detail__cnts.one-column {
    max-width: 1124px;
    width: 100%;
    padding: 40px 153px 120px 153px;
}

@media screen and (max-width:767px) {
  .post-detail__wrapper .post-detail__cnts.one-column {
    padding: 8% 4% 16% 4%;
  }
}

.post-detail__wrapper.detail02 .post-detail__cnts{
    display: block;
    padding-top: 40px;
}

.post-list__wrapper.two-column .side{
    width: 34%;
    max-width: 340px;
    border: none;
    box-sizing: border-box;
}

.post-detail__wrapper.two-column .side{
    width: 35%;
    max-width: 389px;
    background: #FFF;
    border: 1px solid #e9e9e9;
    box-sizing: border-box;
    border-top: 6px solid #bc121a;
    padding: 30px 20px 45px 20px;
}
.post-detail__wrapper.two-column.detail02 .side{
    border-top: 1px solid #e9e9e9;
    
}
.two-column .side h2{
    text-align: center;
    font-size: 2.0rem;
    font-weight: 700;
    color: #1a1311;
    letter-spacing: calc(24 / 20);
    letter-spacing: .05em;
    margin-bottom: 30px;
}

.two-column .form_style iframe{
    height: 100%;
    border: none;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

.two-column .form_style .flex .input_wrap+.input_wrap{ margin-left: 10px;}
.two-column .form_style .input_wrap,
.two-column .privacy_check .checkbox_txt{
    display: block;
    width: 100%;
    font-size: 1.6rem;
    color: #111;
    line-height: calc(24 / 16);
    margin-bottom: 30px;
}
.two-column .form_style label,
.two-column .privacy_check .checkbox_txt{
    display: block;
    margin-bottom: 10px;
}

.two-column .form_style .required{
    font-size: 1.8rem;
    line-height: calc(24 / 18);
    color: #bc121a;margin-right: 8px;
}
.two-column .form_style input::placeholder {
  color: #666666;
}
/* 旧Edge対応 */
.two-column .form_style input::-ms-input-placeholder {
  color: #666666;
}
/* IE対応 */
.two-column .form_style input:-ms-input-placeholder {
  color: #666666;
}

.two-column .form_style input,
.two-column .form_style textarea{
    width: 100%;
    font-size: 1.6rem;
    border: 1px solid #e9e9e9;
    padding: 14px;
    box-sizing: border-box;
}
.two-column .form_style textarea{
	resize: vertical;
	height: 11rem;
	font-family: 'Noto Sans JP', sans-serif;
}

.two-column .form_style .select_wrap {
    display: block;
    width: 100%;
    position: relative;
    text-overflow: ellipsis;
}
.select_wrap::before {
    position: absolute;
    top: 17px;
    right: 12px;
    display: block;
    content: '';
    width: 8px;
    height: 8px;
    border-bottom: 2px solid #2b2b2c;
    border-right: 2px solid #2b2b2c;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.safari .select_wrap::before{ top: 20px;}
.select_wrap select {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    width: 100%;
    font-size: 1.6rem;
    color: #111;
    padding: 14px;
    padding-right: 1em;
    border: none;
    outline: 0;
    background: #e9e9ed;
    background-image: none;
    box-shadow: none;
    text-indent: 0.01px;
    cursor: pointer;
}
.two-column .privacy_check .checkbox_txt{
    margin-bottom: 10px;
}
.two-column .privacy_check .checkbox{ position: relative;}

.two-column .privacy_check input[type="checkbox"] {
    visibility:hidden;
    width:1px;
    appearance: none;
    position: absolute;
}
.two-column .checkbox label span{
    position: relative;
    display: block;
    width: 20px;
    height: 20px;
    cursor: pointer;
}
.two-column .checkbox  label span::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 18px;
    height: 18px;
    border: 1px solid #e9e9e9;
    background: #fff;
    content: "";
    transition: all 0.3s;
}
 
.two-column .checkbox label span::after {
    position: absolute;
    top: 5px;
    left: 4px;
    display: block;
    content: '';
    width: 10px;
    height: 5px;
    border-left: 2px solid #FFF;
    border-bottom: 2px solid #FFF;
    transform: rotate(-45deg);
    opacity: 0;
    transition: all 0.3s;
}

.two-column .checkbox label input:checked + span::before { background: #0075ff;
}
.two-column .checkbox label input:checked + span::after{ opacity: 1;}

.two-column .privacy_txt{
    margin-top: 30px;
    border: 1px solid #e9e9e9;
    padding: 25px 19px;
    box-sizing: border-box;
}
.two-column .privacy_txt p{
    font-size: 1.2rem;
    line-height: 2;
    color: #333333;
}

.two-column .form_style .form_btn{
    margin-top: 30px;
}
.two-column .form_style .form_btn .submit_btn input{
    font-size: 2.4rem;
    font-weight: 700;
    color: #FFF;
    background: #2fa15e;
    border-radius: 6px;
    cursor: pointer;
    transition: .4s;
}
.two-column .form_style .form_btn .submit_btn input:hover{ opacity: .7;}

.search_wrap #form{
    position:relative;
    width: 100%;
    margin-bottom:30px;
}
.search_wrap #sbox{
    position: relative;
    width: 100%;
    padding:13px 42px 13px 12px;
    font-size: 1.6rem;
    left:0;
    top:0; 
    border-radius:4px;
    border: 1px solid #6b6b6b;
    outline:0;
    background:#FFF;
}
.search_wrap #sbox::placeholder {
  color: #e3e9e9;
}
/* 旧Edge対応 */
.search_wrap #sbox::-ms-input-placeholder {
  color: #e3e9e9;
}
/* IE対応 */
.search_wrap #sbox:-ms-input-placeholder {
  color: #e3e9e9;
}
.search_wrap #sbtn{
    position:absolute; 
    right:12px;/*アイコン左右の位置調整*/
    top:50%;
    transform: translateY(-50%);
    background:none;
    color:#4d4d4c;
    border:none;
    font-size:2.2rem;/*アイコンサイズ*/
    cursor: pointer;
    padding: 0;
}
.form_style .form-group+.form-group{ margin-top: 1.6rem;}
.form_style .badge{
	display: inline-block;
	padding: 0.25em 0.4em;
	font-size: 75%;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	white-space: nowrap;
	vertical-align: baseline;
	border-radius: 0.25rem;
}
.form_style .badge-danger {
	color: #fff;
	background-color: #dc3545;
}

.form_style .custom-control{
	position: relative;
	display: block;
	min-height: 1.5rem;
	padding-left: 2.5rem;
}
.form_style .custom-control-input{
	position: absolute;
	left: 0;
	z-index: -1;
	width: 1rem;
	height: 1.25rem;
	opacity: 0;
}

.form_style .custom-control .custom-control-label{
	position: relative;
	margin-bottom: 0;
	vertical-align: top;
	cursor: pointer;
}
.form_style .custom-control .custom-control-label:before,
.form_style .custom-control .custom-control-label:after{
	border-radius: 50%;
}

.form_style .custom-control .custom-control-label:before{
	position: absolute;
	top: 0.5rem;
	left: -2.5rem;
	display: block;
	width: 1.6rem;
	height: 1.6rem;
	pointer-events: none;
	content: "";
	background-color: #fff;
	border: #adb5bd solid 1px;
}
.form_style .custom-control .custom-control-label:after{
	position: absolute;
	top: 0.25rem;
	left: -1.5rem;
	display: block;
	width: 1.6rem;
	height: 1.6rem;
	content: "";
	background: no-repeat 50%/50% 50%;
}

.form_style .custom-control-input:checked + .custom-control-label::before {
	color: #fff;
	border-color: #007bff;
	background-color: #007bff;
}
.form_style .custom-control-input:checked + .custom-control-label::after{
	width: 0.6rem;
	height: 0.6rem;
	background: #FFF;
	top: 1rem;
	left: -2rem;
}
.form_style .btn-success {
	margin-top: 1.6rem;
	width: 100%;
	color: #fff;
	background-color: #28a745;
	border: 1px solid #28a745;
	padding: 0.5rem 1rem;
	font-size: 2rem;
	line-height: 1.5;
	border-radius: 0.3rem;
	cursor: pointer;
	transition: .4s;
	box-sizing: border-box;
}
.form_style .btn-success:hover,
.form_style .btn-success:focus{
	background-color: #218838;
	border-color: #218838;
}


.two-column .side-menu .side_box+.side_box{ margin-top: 50px;}
.two-column .side-menu .side_ttl{
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: .05em;
    color: #231815;
    text-align: left;
    border-top: 3px solid #231815;
    border-bottom: 3px solid #231815;
    padding: 17px 0;
    margin: 0;
    box-sizing: border-box;
}
.two-column .side-menu .list li{
    padding: 16px 20px;
    border-bottom: 1px solid #cccccc;
    box-sizing: border-box;
}
.two-column .side-menu .list li a{
    font-size: 1.5rem;
    letter-spacing: -.01em;
}

.two-column .side-menu .post-latest{}
.two-column .side-menu .post-latest .post{
    padding: 16px 0;
    border-bottom: 1px solid #cccccc;
    box-sizing: border-box;
}
.two-column .side-menu .post-latest .post a{
    display: flex;
    flex-direction: row-reverse;
}
.two-column .side-menu .post-latest .post .img{
    width: 12rem;
    height: 71px;
}
.two-column .side-menu .post-latest .post .txt{
    width: calc(100% - 12rem);
    padding-left: 15px;
    box-sizing: border-box;
}
.two-column .side-menu .post-latest .post .post-ttl{
    font-size: 1.4rem;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #231815;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.two-column .side-menu .post-latest .post .post-date{
    font-size: 1.0rem;
    letter-spacing: .05em;
    color: #666666;
    margin-top: 5px;
}

.-detail #contents{ overflow: inherit;}

/*  投稿一覧ページ */
.post-list__wrapper .post-list{
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.post-list__wrapper .post-list:after{
    position: relative;
    display: block;
    content: '';
    width: 48.3%;
    max-width: 382px;
}
.post-list__wrapper .post-list .post{
    width: 48.3%;
    max-width: 382px;
    margin-bottom: 65px;
    border: 1px solid #dcdcdc;
    box-sizing: border-box;
}
.post-list__wrapper .post-list .post a{
    display: flex;
    flex-direction: column-reverse;
}
.post-list__wrapper .post-list .post-img{
    position: relative;
    width: 100%;
    height: 226px;
}
.post-list__wrapper .post-list .post-img .post-cat{
    position: absolute;
    left: 10px;
    bottom: -18px;
}
.post-list__wrapper .post-list .post-img .post-cat ul{
    display: flex;
    flex-wrap: wrap;
}
.post-list__wrapper .post-list .post-img .post-cat li{
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1;
    padding: 7px 27px;
    margin: 0 5px 5px 0;
    color: #FFF;
    background: #231815;
    text-align: center;
    box-sizing: border-box;
}

.post-list__wrapper .post-list .post-txt{
    display: flex;
    flex-direction: column;
    border-top: 1px solid #dcdcdc;
    padding: 20px 10px 40px 10px;
    box-sizing: border-box;
}
.post-list__wrapper .post-list .post-txt .post-ttl{
    order: 2;
    font-size: 1.8rem;
    line-height: calc(30 / 18);
    font-weight: 700;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.post-list__wrapper .post-list .post-txt .post-date{
    order: 1;
    font-size: 1.2rem;
    line-height: calc(14 / 12);
    letter-spacing: .05em;
    color: #261e1c;
    margin-bottom: 7px;
}

/*  投稿詳細ページ */
.post-detail__wrapper .post-ttl_wrap h1.post-ttl{
  margin-bottom: 20px;
  background: none;
  color: #333333;
  font-size: 2.4rem;
  letter-spacing: -.02em;
  line-height: calc(36 / 24);
  text-align: left;
}

.post-detail__wrapper .post-detail__cnts .post-ttl_wrap .flex{
    align-items: center;
    margin-bottom: 20px;
}
.post-detail__wrapper .post-detail__cnts .post-ttl_wrap .post-cat{
    max-width: calc(100% - 8.5rem);
    font-size: 1.4rem;
    letter-spacing: -.05em;
    line-height: 1;
    font-weight: 700;
    text-align: center;
    color: #FFF;
    background: #231815;
    padding: 6px 35px;
    margin-right: 10px;
    box-sizing: border-box;
}
.post-detail__wrapper .post-detail__cnts .post-ttl_wrap .post-date{
    width: 7.5rem;
    font-size: 1.4rem;
    color: #261e1c;
    letter-spacing: -.05em;
}
.post-detail__wrapper.detail02 .post-detail__cnts .post-ttl_wrap .post-ttl{
    background: none;
    color: #333333;
    font-size: 2.4rem;
    letter-spacing: -.02em;
    line-height: calc(36 / 24);
    margin-bottom: 20px;
    padding: 0;
    text-align: left;
}
.post-detail__wrapper .post-detail__cnts .sns_wrap{
    margin: 0 0 40px 0;
}
.post-detail__wrapper .post-detail__cnts .sns_wrap ul{
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.post-detail__wrapper .post-detail__cnts .sns_wrap li+li{ margin-left: 10px;}
.addtoany_shortcode{text-align: right;}

.post-detail__wrapper .post-detail__cnts .post-mv{
    /* margin-bottom: 75px; */
    margin-bottom: 25px;
}
.post-detail__wrapper .post-detail__cnts .btn_wrap{
    margin-top: 0;
    margin-bottom: 75px;
}
.post-index,
.no_bullets{
    background: #fafafa;
    border: 1px solid #e9e9e9;
    margin-bottom: 96px;
    padding: 35px 25px 40px 25px;
    box-sizing: border-box;
}
.post-index h2,
.no_bullets .toc_title{
    text-align: center;
    font-size: 2.0rem;
    line-height: calc(24 / 20);
    color: #bc121a;
    letter-spacing: .05em;
    margin-bottom: 25px;
}
.post-index ol,
.no_bullets .toc_list{
    counter-reset: number 0;

}
.post-index li,
.no_bullets .toc_list li{
    position: relative;
    font-size: 1.6rem;
    line-height: calc(30 / 16);
    color: #333333;
}
.post-index li:before{
    position: relative;
    counter-increment: number 1;
    content: counter(number) ". ";
}
.no_bullets .toc_list li:before{ display: none !important;}

.no_bullets .toc_list .toc_number{ position: relative;}
.no_bullets .toc_list .toc_number:after{
  position: relative;
  display: inline-block;
  content: '.';
}


.post-detail__wrapper .post-detail__cnts .post-contents{
    order: 4;
}
.post-detail__wrapper h1,
.post-detail__wrapper .post-contents .post-ttl_a,
.post-detail.one-column .post-cnts .post-ttl_a{
    font-size: 3rem;
    line-height: calc(36 / 30);
    font-weight: 700;
    color: #FFF;
    background: #bc121a;
    padding: 16px 23px 18px 23px;
    margin-bottom: 50px;
    text-align: center;
    box-sizing: border-box;
}
.post-detail__wrapper .post-contents h1{ margin-top: 100px;}

.two-column .post-contents h2,
.post-detail.one-column .post-cnts h2,
.post-detail__wrapper .post-contents .post-ttl_b,
.post-detail.one-column .post-cnts .post-ttl_b{
    font-size: 2.2rem;
    font-weight: 700;
    letter-spacing: -.01em;
    background: #fafafa;
	border-left: 5px solid #4367a6;
	padding: 5px 20px 10px 25px;
    margin-bottom: 30px;
    box-sizing: border-box;
}
.post-detail__wrapper .post-contents h2:not(:first-of-type),
.post-detail.one-column .post-cnts h2:not(:first-of-type),
.post-detail__wrapper .post-contents .post-ttl_a:not(:first-of-type),
.post-detail.one-column .post-cnts .post-ttl_b:not(:first-of-type){ margin-top: 50px;}

.post-detail__wrapper .post-contents h3,
.post-detail.one-column .post-cnts h3,
.post-detail__wrapper .post-contents .post-ttl_c,
.post-detail.one-column .post-cnts .post-ttl_c{
    font-size: 2.4rem;
    font-weight: 700;
    letter-spacing: -.01em;
    margin-top: 50px;
    margin-bottom: 35px;
    padding-bottom: 10px;
    border-bottom: 2px solid #bc121a;
    box-sizing: border-box;
}
.post-detail__wrapper .post-contents h4,
.post-detail.one-column .post-cnts h4,
.post-detail__wrapper .post-contents .post-ttl_d,
.post-detail.one-column .post-cnts .post-ttl_d{
    font-size: 1.8rem;
    font-weight: 700;
    line-height: calc(24 / 18);
    letter-spacing: -.01em;
    border-bottom: 1px dotted #8c8c8c;
    padding-bottom: 12px;
    margin-top: 35px;
    margin-bottom: 48px;
    box-sizing: border-box;
}
.post-detail__wrapper .post-contents p,
.post-detail__wrapper .post-contents li,
.post-detail.one-column .post-cnts p,
.post-detail.one-column .post-cnts li{
    font-size: 1.6rem;
    line-height: calc(24 / 16);
    letter-spacing: -.01em;
    margin-bottom: 24px;
}

.post-detail__wrapper .post-contents ul,
.post-detail__wrapper .post-contents ol,
.post-detail.one-column .post-cnts ul,
.post-detail.one-column .post-cnts ol{
    margin-bottom: 24px;
}
.post-detail__wrapper .post-contents li,
.post-detail.one-column .post-cnts li{
    position: relative;
    margin-bottom: 0;
    padding-left: 24px;
}
.post-detail__wrapper .post-contents li:before,
.post-detail.one-column .post-cnts li:before{
    content: '●';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}

.post-detail__wrapper .post-contents .checklist li:before,
.post-detail__wrapper .post-contents .checklist li:after{
    content: '';
    display: block;
    position: absolute;
    top: 4px;
    left: 0;
}
.post-detail__wrapper .post-contents .checklist li:before {
    top: 10px;
    left: 5px;
    width: 10px;
    height: 5px;
    border-left: 2px solid #FFF;
    border-bottom: 2px solid #FFF;
    transform: rotate(-45deg);
    z-index: 2;
}
.post-detail__wrapper .post-contents .checklist li:after{
    width: 20px;
    height: 20px;
    border-radius: 100%;
    background: #339933;
    z-index: 1;
}
.post-detail__wrapper .post-contents .su-list li:before,
.post-detail.one-column .post-cnts .su-list li:before{
  display: none;
}
.su-list ul li>i{ top: 7px !important;}

.post-detail__wrapper .post-contents .slide_wrap,
.post-detail.one-column .post-cnts .slide_wrap{ margin-bottom: 20px;}

.post-detail__wrapper .post-contents .slide_wrap ul,
.post-detail.one-column .post-cnts .slide_wrap ul{ margin: 0;}
.post-detail__wrapper .post-contents .slide_wrap li,
.post-detail.one-column .post-cnts .slide_wrap li{
    padding: 0;
}
.post-detail__wrapper .post-contents .slide_wrap li:before,
.post-detail.one-column .post-cnts .slide_wrap li:before{ display: none;}

.slick-prev,
.slick-next{
    width: 20px;
    height: 20px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #bc121a;
    z-index: 3;
}

.slick-prev{
    left: 5px;
}
.slick-next{
    right: 5px;
}
.slick-prev:before, .slick-next:before{
    position: absolute;
    content: '';
}
.slick-next:before{
    right: 10px;
    margin-top: -1px;
    width: 7px;
    height: 7px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
}
.slick-prev:before{
    right: 8px;
    margin-top: -1px;
    width: 7px;
    height: 7px;
    border-bottom: 2px solid #fff;
    border-left: 2px solid #fff;
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus
{
    background: #bc121a;
}

.post-detail__wrapper .post-contents .checklist{ margin-left: 25px;}
.post-detail__wrapper .post-contents .checklist li{
    position: relative;
    letter-spacing: 0;
    margin-bottom: 10px;
    padding-left: 30px;
    box-sizing: border-box;
}
.slide_wrap li img{
    width: 100%;
}


.post-detail__wrapper .post-contents.lecturer_cnts .box{
    background: #fafafa;
    border: 1px solid #e9e9e9;
    padding: 26px 15px 35px 15px;
    box-sizing: border-box;
}
.post-detail__wrapper .post-contents.lecturer_cnts .flex{
    align-items: flex-start;
    flex-direction: row-reverse;
    margin-bottom: 27px;
}
.post-detail__wrapper .post-contents.lecturer_cnts .flex .img{
    width: 28%;
    max-width: 154px;
    height: 154px;
}
.post-detail__wrapper .post-contents.lecturer_cnts .flex .img img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover';
  
}
.post-detail__wrapper .post-contents.lecturer_cnts .flex .txt{
    width: 72%;
    padding-left: 40px;
    box-sizing: border-box;
}
.post-detail__wrapper .post-contents.lecturer_cnts .flex .txt h2{
    font-size: 2.4rem;
    font-weight: 400;
    background: none;
    color: #333333;
    border-left: none;
    border-bottom: 1px solid #aaaaaa;
    padding: 0 0 13px 0;
    margin-bottom: 20px;
    box-sizing: border-box;
}
.post-detail__wrapper .post-contents.lecturer_cnts .flex .txt p{
    font-size: 1.6rem;
    line-height: calc(24 / 16);
}
.post-detail__wrapper .post-contents.lecturer_cnts p{
    font-size: 1.5rem;
    line-height: calc(24 / 15);
    letter-spacing: 0;
}

.post-detail__wrapper .post-contents table{
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    box-sizing: border-box;
}
.post-detail__wrapper .post-contents table th,
.post-detail__wrapper .post-contents table td{
    vertical-align: top;
    font-size: 1.6rem;
    line-height: calc(36 / 16);
    letter-spacing: .05em;
    color: #111111;
    border: 1px solid #e9e9e9;
    padding: 14px 20px;
    box-sizing: border-box;
}


.post-detail__wrapper .post-contents table th{
    background: #f9f9f9;
}
.post-detail__wrapper .post-contents table.parts-tbl th{
    width: 162px;
}
.post-detail__wrapper .post-contents table td{
    padding-left: 15px;
    padding-right: 15px;
}
.post-detail__wrapper .post-contents table.parts-tbl td{
    width: calc(100% - 162px);
}

.post-detail__wrapper .post-contents table ul{ margin: 0;}
.post-detail__wrapper .post-contents table ul li{
    font-size: 1.5rem;
    line-height: calc(24 / 15);
    letter-spacing: 0;
    margin: 0;
    padding-left: 15px;
}
.post-detail__wrapper .post-contents table ul li:before{
    left: 0;
    top: 1px;
    content: '・';
    border: none;
    transform: rotate(0deg);
    
}
.post-detail__wrapper .post-contents table ul li:after{
    display: none;
}
.post-detail__wrapper .post-contents .btn_wrap,
.post-detail.one-column .post-cnts .btn_wrap{
    margin: 30px auto;
}
.post-detail__wrapper .post-contents table + .btn_wrap{ margin-top: 77px; margin-bottom: 0;}

.btn.-application{
	max-width: max-content;
    font-size: 2.4rem;
    line-height: 1;
    padding: 15px 10px 18px 10px;
    border-radius: 5px;
    background: #2fa15e;
}


@media screen and (max-width: 767px) {
  
    .one-column,
    .two-column{
        padding: 4% 0 16% 0;
        box-sizing: border-box;
    }
    .two-column .inner{
        max-width: inherit;
        display: block;
    }

    .post-list__wrapper{ margin-top: 8%;}
    .post-list__wrapper .post-list__inner{
        width: 100%;
        max-width: inherit;
        box-sizing: border-box;
    }

    .post-detail__wrapper.two-column .inner{
        max-width: inherit;
    }
    .post-detail__wrapper .post-contents .btn_wrap,
    .post-detail.one-column .post-cnts .btn_wrap{
        margin: 5% auto;
    }
    .post-detail__wrapper .post-contents table + .btn_wrap{ margin-top: 12%; margin-bottom: 0;}

    .post-detail__wrapper.two-column .side,
    .post-list__wrapper.two-column .side{
        margin-top: 12%;
        width: 100%;
        max-width: inherit;
        border-top: 5px solid #bc121a;
        padding: 6% 4%;
    }
    .post-list__wrapper.two-column .side{
        margin-top: 16%;
        border-top: none;
        padding: 0;
    }
    .two-column .side h2{
        font-size: 1.8rem;
        margin-bottom: 10%;
    }

    .two-column .form_style .flex .input_wrap+.input_wrap{ margin-left: 7px;}
    .two-column .form_style .input_wrap,
    .two-column .privacy_check .checkbox_txt{
        font-size: 1.4rem;
        margin-bottom: 5%;
    }
    .two-column .form_style label,
    .two-column .privacy_check .checkbox_txt{
        display: block;
    }
    .two-column .form_style .required{
        font-size: 1.3rem;
    }
    .select_wrap::before{ top: 20px;}
    .two-column .privacy_txt{
        margin-top: 10%;
        padding: 5% 4%;
    }
    .two-column .form_style .form_btn{
        margin-top: 10%;
    }
    .two-column .form_style .form_btn .submit_btn input{
        font-size: 1.8rem;
        border-radius: 5px;
    }

    .search_wrap #form{
        margin-bottom:6%;
    }
    .two-column .side-menu .side_box+.side_box{ margin-top: 12%;}
    .two-column .side-menu .side_ttl{
        padding: 15px 0;
    }
    .two-column .side-menu .list li{
        padding: 14px 4%;
    }
    .two-column .side-menu .list li a{
        font-size: 1.4rem;
    }
    .two-column .side-menu .post-latest .post{
        padding: 14px 0;
    }

    /*  投稿一覧ページ */
    .post-list__wrapper .post-list{
        display: block;
    }
    .post-list__wrapper .post-list:after{
        display: none;
    }
    .post-list__wrapper .post-list .post{
        width: 100%;
        max-width: inherit;
        margin-bottom: 0;
    }
    .post-list__wrapper .post-list .post+.post{ margin-top: 10%;}

    .post-list__wrapper .post-list .post-img{
        position: relative;
        height: 54vw;
    }

    .post-list__wrapper .post-list .post-img .post-cat li{
        font-size: 1.2rem;
        padding: 6px 20px 7px 20px;
        margin: 0 5px 5px 0;
    }
    .post-list__wrapper .post-list .post-txt{
        padding: 5% 4% 8% 4%;
    }
    .post-list__wrapper .post-list .post-txt .post-ttl{
        font-size: 1.6rem;
    }
    .post-list__wrapper .post-list .post-txt .post-date{
        font-size: 1.0rem;
    }

    /*  投稿詳細ページ */
    .post-detail__wrapper .post-ttl_wrap h1.post-ttl{
        font-size: 2.2rem;
        margin-bottom: 4%;
    }
    .post-detail__wrapper .post-detail__cnts .btn_wrap{
        margin: 8% auto;
    }
    .post-detail__wrapper .post-detail__cnts{
        width: 100%;
        max-width: inherit;
        padding: 5% 4% 16% 4%;
    }
    .post-detail__wrapper .post-detail__cnts .post-ttl_wrap .flex{
        margin-bottom: 4%;
    }
    .post-detail__wrapper .post-detail__cnts .post-ttl_wrap .post-cat{
        font-size: 1.2rem;
        padding: 6px 15px;
    }
    .post-detail__wrapper .post-detail__cnts .post-ttl_wrap .post-date{
        font-size: 1.2rem;
    }
    .post-detail__wrapper.detail02 .post-detail__cnts .post-ttl_wrap .post-ttl{
        font-size: 2.2rem;
        margin-bottom: 4%;
    }
    .post-detail__wrapper .post-detail__cnts .sns_wrap{
        margin: 0 0 40px 0;
    }

    .post-detail__wrapper .post-detail__cnts .sns_wrap li+li{ margin-left: 5px;}


    .post-detail__wrapper .post-detail__cnts .post-mv{
        margin-bottom: 8%;
    }
    .post-index,
    .no_bullets{
        margin-bottom: 10%;
        padding: 5% 4%;
    }
    .post-index h2,
    .no_bullets .toc_title{
        font-size: 1.8rem;
        margin-bottom: 6%;
    }
    .post-index li,
    .no_bullets .toc_list li{
        font-size: 1.4rem;
    }

    .post-detail__wrapper h1,
    .post-detail__wrapper .post-contents .post-ttl_a,
    .post-detail.one-column .post-cnts .post-ttl_a{
        font-size: 2.2rem;
        padding: 4% 4%;
        margin-bottom: 10%;
    }
    .post-detail__wrapper .post-contents h1{ margin-top: 16%;}

    .post-detail__wrapper .post-contents h2,
    .post-detail.one-column .post-cnts h2,
    .post-detail__wrapper .post-contents .post-ttl_b,
    .post-detail.one-column .post-cnts .post-ttl_b{
        font-size: 1.8rem;
        padding: 5px 4% 10px 4%;
        margin-bottom: 12%;
    }
    .post-detail__wrapper .post-contents h2:not(:first-of-type),
    .post-detail.one-column .post-cnts h2:not(:first-of-type),
    .post-detail__wrapper .post-contents .post-ttl_b:not(:first-of-type),
    .post-detail.one-column .post-cnts .post-ttl_b:not(:first-of-type){ margin-top: 14%;}

    .two-column .post-contents h2 br,
    .post-detail.one-column .post-cnts h2 br,
    .post-detail__wrapper .post-contents .post-ttl_b br,
    .post-detail.one-column .post-cnts .post-ttl_b br{ display: none;}

    .post-detail__wrapper .post-contents h3,
    .post-detail.one-column .post-cnts h3,
    .post-detail__wrapper .post-contents .post-ttl_c,
    .post-detail.one-column .post-cnts .post-ttl_c{
        font-size: 1.8rem;
        margin-top: 10%;
        margin-bottom: 8%;
    }
    .post-detail__wrapper .post-contents h4,
    .post-detail.one-column .post-cnts h4,
    .post-detail__wrapper .post-contents .post-ttl_d,
    .post-detail.one-column .post-cnts .post-ttl_d{
        font-size: 1.6rem;
        margin-top: 10%;
        margin-bottom: 8%;
        box-sizing: border-box;
    }
    .post-detail__wrapper .post-contents p,
    .post-detail__wrapper .post-contents li,
    .post-detail.one-column .post-cnts p,
    .post-detail.one-column .post-cnts li{
        font-size: 1.4rem;
        margin-bottom: 4%;
    }
    .post-detail__wrapper .post-contents li,
    .post-detail.one-column .post-cnts li{
        margin-bottom: 0;
        padding-left: 18px;
    }
    .post-detail__wrapper .post-contents ul,
    .post-detail__wrapper .post-contents ol,
    .post-detail.one-column .post-cnts ul,
    .post-detail.one-column .post-cnts ol{
        margin-bottom: 5%;
    }
    .post-detail__wrapper .post-contents .checklist{ margin-left: 0;}

    .post-detail__wrapper .post-contents .checklist li{
        padding-left: 25px;
    }
    .post-detail__wrapper .post-contents .checklist li:before,
    .post-detail__wrapper .post-contents .checklist li:after{
        top: 3px;
    }
    .post-detail__wrapper .post-contents .checklist li:before {
        top: 8px;
        left: 5px;
        width: 9px;
        height: 7px;
    }
    .post-detail__wrapper .post-contents li:after{
        width: 18px;
        height: 18px;
    }

    .post-detail__wrapper .post-contents .slide_wrap,
    .post-detail.one-column .post-cnts .slide_wrap{ margin-bottom: 20px;}
    .slick-prev{
        left: 0;
    }
    .slick-next{
        right: 0;
    }
    .slick-prev, .slick-next{
        width: 16px;
        height: 16px;
    }
    .slick-next:before{
        right: 8px;
        width: 5px;
        height: 5px;
    }
    .slick-prev:before{
        right: 7px;
        width: 5px;
        height: 5px;
    }


    .post-detail__wrapper .post-contents.lecturer_cnts .box{
        padding: 5% 4%;
    }
    .post-detail__wrapper .post-contents.lecturer_cnts .flex{
        flex-direction: column-reverse;
        margin-bottom: 4%;
    }
    .post-detail__wrapper .post-contents.lecturer_cnts .flex .img{
        width: 154px;
        margin: 0 auto 4% auto;
    }
    .post-detail__wrapper .post-contents.lecturer_cnts .flex .txt{
        width: 100%;
        padding-left: 0;
    }
    .post-detail__wrapper .post-contents.lecturer_cnts .flex .txt h2{
        font-size: 2rem;
        text-align: center;
        margin-bottom: 4%;
    }
    .post-detail__wrapper .post-contents.lecturer_cnts .flex .txt p{
        font-size: 1.4rem;
    }
    .post-detail__wrapper .post-contents.lecturer_cnts p{
        font-size: 1.3rem;
    }
    .post-detail__wrapper .post-contents table{
        border-top: 1px solid #e9e9e9;
    }
    .post-detail__wrapper .post-contents table th,
    .post-detail__wrapper .post-contents table td{
        font-size: 1.4rem;
        padding: 2% 4% !important;
        border-top: none;
        min-width: 90px;
    }
    .post-detail__wrapper .post-contents table.parts-tbl th,
    .post-detail__wrapper .post-contents table.parts-tbl td{
        display: block;
        width: 100% !important;
    }

    .post-detail__wrapper .post-contents table td{
        border-top: none;
        padding: 4% !important;
    }
    .post-detail__wrapper .post-contents table ul{ margin: 0;}
    .post-detail__wrapper .post-contents table ul li{
        font-size: 1.4rem;
        padding-left: 15px;
    }
    .post-detail__wrapper .post-contents table ul li:before{
        top: 0;
    }
    .post-detail__wrapper .btn_wrap{
        margin-top: 12%;
    }
    .btn.-application{
        width: auto;
        font-size: 1.8rem;
        line-height: 1;
        padding: 15px 10px 18px 10px;
    }

}
/* パンくずリスト */
.breadcrumb_wrap{
    padding-top: 130px;
}
.breadcrumb__list{
    max-width: 1110px;
    display: flex;
    flex-wrap: wrap;
}
.breadcrumb__item{
    position: relative;
    font-size: 1.2rem;
    color: #333333;
}
.breadcrumb__item:not(:last-of-type):after{
    position: relative;
    top: -2px;
    display: inline-block;
    vertical-align: middle;
    content: '＞';
    margin: 0 8px;
}

@media screen and (max-width: 1119px) {
    .breadcrumb_wrap{
        padding-top: 20px;
    }
}
@media screen and (max-width: 767px) {
    .breadcrumb_wrap{
        padding-top: 4%;
    }
    .breadcrumb__list{
        max-width: inherit;
    }
    .breadcrumb__item{
        font-size: 1.1rem;
    }
    .breadcrumb__item:not(:last-of-type):after{
        font-size: 1.0rem;
        margin: 0 5px;
    }
}

/* 投稿詳細ページ 1カラム */
.sec-detail{
    padding: 20px 0 115px 0;
}
.sec-detail .inner{
    max-width: 1110px;
    background: #FFF;
    border: 1px solid #e9e9e9;
    box-sizing: border-box;
}
.post-detail.one-column{
    padding: 40px 153px 120px 153px;
    background: #FFF;
    border-style: double solid solid solid;
    border-color: #ebebeb;
    border-top-width: 4px;
    border-left-width: 1px;
    border-right-width: 1px;
    border-bottom-width: 1px;
}
.post.one-column{
    display: block !important;
    margin: 0 !important;
}

.post-detail.one-column .post-head{
    display: flex;
    flex-direction: column;
}
.post-detail.one-column .post-head .post-ttl{
    order: 2;
    font-size: 2.4rem;
    line-height: calc(36 / 24);
    font-weight: 700;
    color: #333333;
    padding-bottom: 12px;
    border-bottom: 2px solid #808080;
    margin-bottom: 50px;
    box-sizing: border-box;
}
.post-detail.one-column .post-head .post-cat{
    order: 1;
}
.post-detail.one-column .post-head .post-img{
    order: 3;
    height: auto;
    text-align: center;
    margin-bottom: 72px;
}
.post-detail.one-column .post-movie{
    padding: 20px;
    background: #fafafa;
    border: 1px solid #e9e9e9;
    box-sizing: border-box;
}
.post-detail.one-column .post-movie h2{
    text-align: center;
    font-size: 1.8rem;
    line-height: 2;
    color: #111111;
    margin-bottom: 15px;
}

/*.post-detail.one-column .post-movie .youtube{
    position: relative;
    width: 100%;
    max-width: 610px;
    height: 377px;
    margin: 0 auto;
}
.post-detail.one-column .post-movie .youtube iframe{
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    border: none;
    box-sizing: border-box;
}*/


.post-detail.one-column .post-cnts{
    margin-top: 50px;
}

.post-detail.one-column .post-cnts .post-ttl_b,
.post-detail.one-column .post-cnts h2{
    margin-top: 80px;
}
.post-detail.one-column .post-cnts .post-ttl_c,
.post-detail.one-column .post-cnts h3{
    margin-top: 30px;
    font-size: 2.0rem;
}
.post-detail.one-column .post-cnts p{ margin-top: 20px;}
.post-detail.one-column .post-cnts p+h3,
.post-detail.one-column .post-cnts p+.post-ttl_c{ margin-top: 80px;}

.post-cnts i,
.post-detail.one-column .post-cnts .line-yellow{
    font-style: normal;
    font-weight: 700;
    background: linear-gradient(transparent 60%, #f9d971 40%);
    padding: 0;
}

.post-detail.one-column .post-cnts .aligncenter,
.post-detail__wrapper .post-detail__cnts .post-contents .aligncenter{
    display:block;
    margin:0 auto;
		
		text-align: center;
}
.post-detail.one-column .post-cnts .alignright,
.post-detail__wrapper .post-detail__cnts .post-contents .alignright{
	float:right;
}
.post-detail.one-column .post-cnts .alignleft,
.post-detail__wrapper .post-detail__cnts .post-contents .alignleft{
	float:left;
}
@media screen and (max-width: 767px) {
    .sec-detail{
        padding: 5% 0 16% 0;
    }
    .sec-detail .inner{
        max-width: inherit;
    }
    .post-detail.one-column{
        padding: 8% 4% 16% 4%;
    }

    .post-detail.one-column .post-head .post-ttl{
        font-size: 2.0rem;
        margin-bottom: 8%;
    }
    .post-detail.one-column .post-head .post-img{
        margin-bottom: 12%;
    }
    .post-detail.one-column .post-movie{
        padding: 5% 4% 8% 4%;
    }
    .post-detail.one-column .post-movie h2{
        font-size: 1.6rem;
    }

    .post-detail.one-column iframe{
        width: 100%;
        height: 63vw;
    }
    .post-detail.one-column .post-cnts{
        margin-top: 12%;
    }

    .post-detail.one-column .post-cnts h2,
    .post-detail.one-column .post-cnts .post-ttl_b{
        margin-top: 14%;
    }
    .post-detail.one-column .post-cnts h3,
    .post-detail.one-column .post-cnts .post-ttl_c{
        margin-top: 6%;
        font-size: 1.8rem;
    }
    .post-detail.one-column .post-cnts p{ margin-top: 4%;}
    .post-detail.one-column .post-cnts p+h3,
    .post-detail.one-column .post-cnts p+.post-ttl_c{ margin-top: 14%;}

}

.post-detail__cnts .whitebox,
.post-cnts .whitebox{
	background: #FFF;
  padding: 28px 13px;
  border: 1px solid #e9e9e9;
	border-top: 6px solid #b62723;
	box-sizing: border-box;
}
.post-detail__cnts .whitebox02,
.post-cnts .whitebox02{
	background: #FFF;
  padding: 28px 13px;
  border: 1px solid #e9e9e9;
	box-sizing: border-box;
}

.post-detail__cnts .whitebox+.whitebox,
.post-cnts .whitebox+.whitebox,
.post-detail__cnts .whitebox02+.whitebox02,
.post-cnts .whitebox02+.whitebox02{ margin-top: 45px;}

.post-detail__cnts .whitebox .box-ttl,
.post-cnts .whitebox .box-ttl{
		font-size: 2.4rem;
    line-height: calc(36 / 24);
    letter-spacing: -.025em;
		margin: 0 0 15px 0;
}
.post-detail__cnts .whitebox02 .box-ttl,
.post-cnts .whitebox02 .box-ttl{
		font-size: 1.8rem;
		text-align: center;
    line-height: calc(36 / 24);
    letter-spacing: -.025em;
		margin: 0 0 30px 0;
		border-bottom: 1px solid #aaa;
}
.post-detail__cnts .whitebox02 .box-ttl .box-ttl-red,
.post-cnts .whitebox02 .box-ttl .box-ttl-red{
		display: block;
		font-size: 2.0rem;
		font-weight: 700;
		color: #bc121a;
}

.post-detail__cnts .whitebox02 p,
.post-cnts .whitebox02 p{
	margin-bottom: 0;
}

.post-detail__cnts .flex-img,
.post-cnts .flex-img{
	display: flex;
	flex-direction: row-reverse;
	align-items: flex-start;
	justify-content: flex-end;
}
.post-detail__cnts .whitebox .flex-img img:nth-of-type(1),
.post-cnts .whitebox .flex-img img:nth-of-type(1){
	max-width: calc(195 / 612 * 100%) !important;
}
.post-detail__cnts .whitebox .flex-img img:nth-of-type(2),
.post-cnts .whitebox .flex-img img:nth-of-type(2){
	max-width: calc(362 / 612 * 100%) !important;
}

.post-detail__cnts .lecturer_msg,
.post-cnts .lecturer_msg{
		margin-top: 20px;
    padding: 10px 14px 15px;
    border: 1px solid #e2e2e2;
    border-radius: 5px;
    background: #fafafa;
}
.post-detail__cnts .lecturer_msg .msg_ttl,
.post-cnts .lecturer_msg .msg_ttl{
		position: relative;
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 1;
    letter-spacing: -.01em;
    color: #333;
		margin: 0 0 10px 0;
		padding-bottom: 0;
		border-bottom: none;
}

.post-detail__cnts .lecturer_msg .msg_img,
.post-cnts .lecturer_msg .msg_img{
		width: 83px;
}
.post-detail__cnts .lecturer_msg .msg_txt,
.post-cnts .lecturer_msg .msg_txt{
		width: calc(100% - 83px);
		padding-left: 15px;
		box-sizing: border-box;
}
.post-detail__cnts .lecturer_msg.one-column .msg_txt,
.post-cnts .lecturer_msg.one-column .msg_txt{
		width: 100%;
		padding-left: 0;
}

.post-detail__cnts .lecturer_msg .msg_txt p,
.post-cnts .lecturer_msg .msg_txt p{
		margin: 0;
}
.post-detail__cnts .flex.support-box,
.post-cnts .flex.support-box{
	flex-wrap: wrap;
	justify-content: space-between;
}

.post-detail__cnts .flex.support-box p,
.post-cnts .flex.support-box p{
	text-align: center;
}
.post-detail__cnts .flex.support-box p .name,
.post-cnts .flex.support-box p .name{
	display: block;
	font-size: 2.0rem;
}

.post-detail__cnts .bold_txt,
.post-cnts .bold_txt{
	text-align: center;
	font-weight: 700;
}
.post-detail__cnts .bold_txt.-fs20,
.post-cnts .bold_txt.-fs20{
	font-size: 2.0rem !important;
}
.post-detail__cnts .bold_txt.-fs24,
.post-cnts .bold_txt.-fs24{
	font-size: 2.4rem !important;
}
.post-detail__cnts .bold_txt.-red,
.post-cnts .bold_txt.-red{
	color: #e91919;
}
.post-detail__cnts .bold_txt.-black,
.post-cnts .bold_txt.-black{
	color: #000;
}
.post-detail__cnts .cause_box_ttl,
.post-cnts .cause_box_ttl{
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: -.01em;
	margin-top: 50px;
	margin-bottom: 35px;
	padding-bottom: 10px;
	text-align: center;
	border-bottom: 2px solid #bc121a;
	color: #e91919;
	box-sizing: border-box;
}
.post-detail__cnts .cause_box_ttl .cause_box_subttl,
.post-cnts .cause_box_ttl .cause_box_subttl{
	color: #000;
}
.post-detail__cnts .center_txt,
.post-cnts .center_txt{
	margin-top: 45px;
	text-align: center;
	font-size: 1.6rem;
}
.post-detail__cnts .center_txt_bold,
.post-cnts .center_txt_bold{
	font-size: 2.0rem;
	font-weight: 700;
	color: #e91919;
}

@media screen and (max-width: 767px) {
	.post-detail__cnts .whitebox .box-ttl,
	.post-cnts .whitebox .box-ttl{
			font-size: 2.0rem;
	}
	.post-detail__cnts .whitebox02 .box-ttl,
	.post-cnts .whitebox02 .box-ttl{
			font-size: 1.8rem;
	}
	.post-detail__cnts .whitebox02 .box-ttl .box-ttl-red,
	.post-cnts .whitebox02 .box-ttl .box-ttl-red{
			font-size: 2.0rem;
	}

	.post-detail__cnts .flex-img,
	.post-cnts .flex-img{
		display: block;
	}
	.post-detail__cnts .whitebox .flex-img img,
	.post-cnts .whitebox .flex-img img{
		display: block;
		margin: 0 auto;
	}
	.post-detail__cnts .whitebox .flex-img img:nth-of-type(1),
	.post-cnts .whitebox .flex-img img:nth-of-type(1){
		max-width: 60% !important;
	}
	.post-detail__cnts .whitebox .flex-img img:nth-of-type(2),
	.post-cnts .whitebox .flex-img img:nth-of-type(2){
		max-width: 100% !important;
	}
	.post-detail__cnts .flex.support-box,
	.post-cnts .flex.support-box{
		display: block;
	}

	.post-detail__cnts .bold_txt.-fs20,
	.post-cnts .bold_txt.-fs20{
		font-size: 1.4rem !important;
	}
	.post-detail__cnts .bold_txt.-fs24,
	.post-cnts .bold_txt.-fs24{
		font-size: 1.5rem !important;
	}

	.post-detail__cnts .cause_box_ttl,
	.post-cnts .cause_box_ttl{
		margin-top: 10%;
		font-size: 1.8rem;
    margin-bottom: 8%;
	}
	.post-detail__cnts .center_txt,
	.post-cnts .center_txt{
		margin-top: 10%;
		font-size: 1.4rem;
	}
	.post-detail__cnts .center_txt_bold,
	.post-cnts .center_txt_bold{
		font-size: 1.8rem;
	}
}


/* blog */
.entry-content * {
    line-height: 1.8;
    margin-bottom: 2em;
    font-size: 1.6rem;
    line-height: calc(24 / 16);
    letter-spacing: -.01em;
    margin-bottom: 24px;
}

@media screen and (max-width:767px) {
  .entry-content * {
    font-size: 14px;
    margin: 4% 0;
  }
}

.entry-content p {
/*     line-height: 1.8;
    margin-bottom: 2em; */
}

.entry-content h3 {
    margin-bottom: 20px;
}

.entry-content .example2 {
    font-size: 1.8em;
    font-weight: bold;
    border-top: 2px solid #44475B;
    border-bottom: 2px solid #44475B;
    display: block;
    width: 100%;
    background: #ffffff;
    padding-top: 2px;
    padding-bottom: 2px;
    text-decoration: none;
    color: #000;
}

/* h2 h3 */
.entry-content h2{
	font-size: 2.2rem;
	font-weight: 700;
	letter-spacing: -.01em;
	background: #fafafa;
	border-left: 5px solid #4367a6;
	padding: 5px 20px 10px 25px;
	margin-bottom: 30px;
	box-sizing: border-box;
}
.entry-content h2:not(:first-of-type){
	margin-top: 50px;
}
.entry-content h3{
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: -.01em;
	margin-top: 50px;
	margin-bottom: 35px;
	padding-bottom: 10px;
	border-bottom: 2px solid #bc121a;
	box-sizing: border-box;
}
.entry-content h4{
	font-size: 1.8rem;
	font-weight: 700;
	line-height: calc(24 / 18);
	letter-spacing: -.01em;
	border-bottom: 1px dotted #8c8c8c;
	padding-bottom: 12px;
	margin-top: 35px;
	margin-bottom: 35px;
	box-sizing: border-box;
}

@media screen and (max-width: 767px) {
	.entry-content h2{
			font-size: 1.8rem;
			padding: 5px 4% 10px 4%;
			margin-bottom: 12%;
	}
	.entry-content h2:not(:first-of-type){
		margin-top: 14%;
	}
	.entry-content h2 + *,
	.entry-content h2 + * > *{
		margin-top: 0 !important;
	}

	.entry-content h2 br {
		display: none;
	}

	.entry-content h3{
		font-size: 1.8rem;
		margin-top: 10%;
		margin-bottom: 8%;
	}
	.entry-content h4{
		font-size: 1.6rem;
		margin-top: 10%;
		margin-bottom: 8%;
		box-sizing: border-box;
	}
}




.su-highlight {
  display: inline-block !important;
	margin-bottom: 2em;
}

/* bfb */
[id^="bfb_content_"] a.bfb_btn {
  font-size: 13px;
  background: #2EA15D !important;
  height: 55px;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

[id^="bfb_content_"] a.bfb_btn svg.bfb_icon {
  margin-top: 1px !important;
}

/* Book CTA */
.book-cta {
    
}

.book-cta .book-cta-heading {
    font-size: 20px;
    border-left: solid 2px #AE2926;
    font-weight: 700;
    padding-left: 14px;
    letter-spacing: .03em;
    margin-bottom: 30px;
}

.book-cta .book-cta-box {
    padding: 1.5em;
    color: #555;
    background: #fff;
    border-radius: 2px;
    box-shadow: inset 0 0 1px rgba(0,0,0,.25);
    margin-bottom: 50px;
}

.book-cta .book-box {
    display: flex;
    margin: 2em 0 0.5em;
    padding: 16px;
    border: solid 1px #dbdbdb;
    background-color: #fff;
    box-shadow: 2px 3px 8px -5px rgba(0,0,0,.25);
    position: relative;
    overflow: visible;
}

.book-cta .book-image {
    width: 150px;
}

.book-cta .book-image img {
    width: 110px;
}

.book-cta .book-info {
    width: calc(100% - 150px);
}

.book-cta .book-title {
    display: inline-block;
    font-size: 18px;
    letter-spacing: 0.02em;
    margin-bottom: 8px;
    text-decoration: none;
    color: #000;
}

.book-cta .book-writer {
    font-size: 14px;
    color: #999;
}

.book-cta .button.amazon {
    display: inline-block;
    background: #f6a306;
    position: static;
    margin: 15px 0;
    padding: 0;
    border-radius: 2px;
    border: none;
    box-shadow: 0 6px 12px -5px rgba(0, 0, 0, .30);
    -ms-flex: 0 0 auto;
    color: #fff;
    padding: 2px 15px 5px;
    font-weight: 500;
}

@media screen and (max-width: 767px) {
    .book-cta .book-cta-heading {
        font-size: 17px;
    }

    .book-cta .intro {
        font-size: 14px;
        line-height: 1.75;
    }
    
    .book-cta .book-cta-box {
        padding: 1em;
    }
    
    .book-cta .book-box {
        margin: 1.5em 0 0.5em;
        padding: 12px;
    }
    
    .book-cta .book-image {
        width: 130px;
    }
    
    .book-cta .book-image img {
        width: 110px;
    }

    .book-cta .book-info {
        width: calc(100% - 110px);
    }
    
    .book-cta .book-title {
        font-size: 14px;
        line-height: 1.6;
    }
    
    .book-cta .book-writer {
        font-size: 11px;
    }
    
    .book-cta .button.amazon {
        display: block;
        text-align: center;
        font-size: 14px;
    }
}