@charset "UTF-8";


/*
Theme Name: common


 =BreakPoint
--------------------------------------------------------------
pc & tab
@media ( min-width: 641px ){
}
pc
@media ( min-width: 961px ){
}
tab
@media ( min-width: 641px ) and ( max-width: 960px ) {
}
tab & sp
@media ( max-width: 960px ){
}
sp
@media ( max-width: 640px ){
}
--------------------------------------------------------------
*/

/* =Reset
-------------------------------------------------------------- */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;word-wrap:break-word;overflow-wrap:break-word;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {display: block;}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:normal;}
li{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:inherit;}
q:before,q:after{content:'';}
abbr,acronym{border:0;font-variant:normal;}
sup{vertical-align:super;}
sub{vertical-align:text-bottom;}
input,textarea,select,button{font-family:inherit;font-size:inherit;font-weight:inherit;}
input,textarea,select,button{*font-size:100%;}
legend{color:#000;}
img {vertical-align:top;}
input[type="radio"],input[type="checkbox"] {vertical-align: -2px;}
label {cursor: pointer;}


/* =Common
-------------------------------------------------------------- */
body {
    text-align: center;
    line-height: 1;
    -webkit-text-size-adjust: 100%;
}
@media ( min-width: 768px ){
    a ,a img, input[type="submit"], input[type="reset"] {
        -webkit-transition: color .3s , opacity .3s, background-color .3s , fill .3s;
        transition: color .3s , opacity .3s, background-color .3s , fill .3s;
        opacity: 1;
    }
    a, a img, input[type="image"] {
        -webkit-transition: all .4s;
        -moz-transition: all .4s;
        -ms-transition: all .4s;
        -o-transition: all .4s;
        transition: all .4s;
        opacity: 1;
    }
    a img:hover, input[type="submit"]:hover, input[type="reset"]:hover, button:hover {
        opacity: 0.7;
    }
}
img {
    max-width: 100%;
    height: auto;
}
input[type="submit"],input[type="reset"] {
    -webkit-appearance: none;
}

/* clearfix */
.cf:before, .cf:after {content:"";display:table;}
.cf:after {clear:both;}
.clr {clear: both;}

/* text */
.fl {float: left;}
.fr {float: right;}
.ta_l {text-align: left;}
.ta_c {text-align: center;}
.ta_r {text-align: right;}
.va_t {vertical-align: top;}
.va_b {vertical-align: bottom;}
.va_m {vertical-align: middle;}
.lh17 {line-height: 1.7;}
.lh20 {line-height: 2;}
.bold {font-weight: bold;}

/* color */
.red {color: #f00;}
.pink{color: #e3026d;}
.blue{color: #329cf0;}


/* =Styles
-------------------------------------------------------------- */
body {
    font-family: "メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic", "Osaka",sans-serif;
    color: #535353;
    background: #fff;
    overflow-x:hidden;
}
a {
    text-decoration: none;
    color: #e3026d;
}
@media ( min-width: 641px ){
    body {
        font-size: 15px;
    }
    a:hover {
        text-decoration: underline;
    }
    .sp {
        display: none;
    }
    .inner {
        max-width: 1100px;
        margin: 0 auto;
        padding: 0 20px;
    }
    #container{
        padding: 32px 0 0;
    }
    #container.top{
        padding: 0;
    }
}
@media ( min-width: 961px ){
    .sptab {
        display: none;
    }
}
@media ( max-width: 960px ){
    .pc {
        display: none;
    }
}
@media ( max-width: 640px ){
    body {
        font-size: 3.73vw;
    }
    .pctab {
        display: none;
    }
    .sp {
        display: block;
    }
    .inner {
        padding: 0 4vw;
    }
    #container{
        padding: 4vw 0 0;
    }
    #container.top{
        padding: 0;
    }
}

/* common
-------------------------------------------------------------- */
/* header */
#header{
    border-bottom: 1px solid #019cdc;
    box-sizing: border-box;
    position: relative;
}
#header .logo{
    float: left;
    width: 26%;
    max-width: 246px;
    padding: 39px 0 0;
}
#header .logo img{
    width: 100%;
}
#header #g_nav{
    float: right;
    width: 74%;
}
#header #g_nav>ul{
    display: table;
    table-layout: fixed;
    width: 100%;
    padding: 12.5px 0;
}
#header #g_nav>ul>li{
    display: table-cell;
    vertical-align: middle;
}
#header #g_nav>ul>li>a{
    display: block;
    font-size: 12px;
    font-weight: bold;
    color: #329cf0;
    padding: 10px 0;
}
#header #g_nav>ul>li>a:hover{
    background: #daefff;
    border-radius: 0.5em;
    text-decoration: none;
}
#header #g_nav>ul>li>a:hover>img{
    opacity: 1.0;
}
#header #g_nav>ul>li>a>img{
    width: 45px;
    margin: 0 auto 15px;
}
#header #g_nav ul li.open_mddWrap a img{
    width: 30px;
    margin: 0 auto 20px;
    padding: 10px 0 0;
}
#header #g_nav>ul>li>a>span{
    display: block;
    letter-spacing: -0.05em;
}
#header #g_nav ul li.open_mddWrap{
    position: relative;
    cursor: pointer;
}
/* g_nav */
#g_nav .mddWrap{
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
    overflow: hidden;
    width: 160px;
    padding: 105px 0 0;
}
#g_nav .mddWrap .mddIn{
    background: #daefff;
    text-align: left;
    padding: 15px 20px;
}
#g_nav .mddWrap .mddIn a{
    display: block;
    color: #329cf0;
    font-size: 13px;
    font-weight: bold;
    padding: 15px 5px 10px 30px;
}
#g_nav .mddWrap .mddIn li:nth-child(1) a{
    background: url(img/nav10.png) no-repeat 0 center;
    background-size: 18px auto;
}
#g_nav .mddWrap .mddIn li:nth-child(2) a{
    background: url(img/nav22.png) no-repeat 0 center;
    background-size: 20px auto;
}
#g_nav .mddWrap .mddIn li:nth-child(3) a{
    background: url(img/nav07.png) no-repeat 0 center;
    background-size: 20px auto;
}
#g_nav .mddWrap .mddIn li:nth-child(4) a{
    background: url(img/nav13.png) no-repeat 0 center;
    background-size: 20px auto;
}
#g_nav .mddWrap .mddIn li:nth-child(5) a{
    background: url(img/nav20.png) no-repeat 0 center;
    background-size: 20px auto;
}
#g_nav .mddWrap .mddIn li:nth-child(6) a{
    background: url(img/nav03.png) no-repeat 0 center;
    background-size: 20px auto;
}
#g_nav .mddWrap .mddIn li:nth-child(7) a{
    background: url(img/nav04.png) no-repeat 0 center;
    background-size: 20px auto;
}
#g_nav .mddWrap .mddIn li:nth-child(8) a{
    background: url(img/nav08.png) no-repeat 0 center;
    background-size: 20px auto;
}
#header #glnav_sp {
    display: none;
}
@media ( max-width: 1099px ){
    #g_nav .mddWrap{
        left: inherit;
        right: -20px;
    }
}
@media ( max-width: 960px ){
    #header{
        padding: 0;
    }
    #header #g_nav ul li.pc {
        display: none;
    }
    #header .logo{
        width: 28%;
    }
    #header #g_nav{
        width: 70%;
    }
}
@media ( max-width: 640px ){
    #header{
        padding: 3.66vw 0;
    }
    #header h1{
        display: inline-block;
    }
    #header .logo {
        display: inline-block;
        float: none;
        width: 50%;
        max-width: inherit;
        margin: 0 0 0 -5vw;
        padding: 0;
    }
    #header #g_nav{
        display: none;
    }
    .w_shadow {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.70);
        z-index: 998;
        cursor: pointer;
    }
    #header .menubtn_sp {
        display: block;
        position: absolute;
        left: 0;
        top: 50%;
        transform: translate(0,-50%);
        width: 16vw;
    }
    #header .menubtn_sp img{
        width: 6.33vw;
        margin: 0 auto 1.5vw;
    }
    #header .menubtn_sp span{
        display: block;
        font-size: 2.5vw;
        color: #329cf0;
        font-weight: bold;
    }
    #header .loginout{
        display: block;
        position: absolute;
        top: 50%;
        transform: translate(0,-50%);
        right: 0;
        width: 21vw;
    }
    #header .loginout img{
        width: 8vw;
        margin: 0 auto 0.5vw;
    }
    #header .loginout span{
        display: block;
        font-size: 2.3vw;
        color: #329cf0;
        font-weight: bold;
        letter-spacing: -0.05em;
    }
    #header #glnav_sp {
        display: none;
        width: 84vw;
        position: absolute;
        top: 0;
        left: 0;
        background: #fff;
        z-index: 999;
        padding: 4.5vw 4vw;
        box-sizing: border-box;
    }
    #header #glnav_sp a.block_btn {
        display: block;
        height: 20vw;
        line-height: 20vw;
        background: #329cf0;
        color: #fff;
        font-size: 6.66vw;
        border-radius: 0.25em;
        margin: 0 0 2vw;
    }
    #header #glnav_sp ul.btn{
        padding: 0 0 4vw;
    }
    #header #glnav_sp ul.btn li{
        width: 30%;
        float: left;
        margin: 0 5% 0 0;
    }
    #header #glnav_sp ul.btn li:nth-child(3n){
        margin: 0;
    }
    #header #glnav_sp ul.btn li a{
        display: block;
        padding: 3vw 0;
    }
    #header #glnav_sp ul.btn li a img{
        width: 8vw;
        margin: 0 auto 1vw;
    }
    #header #glnav_sp ul.btn li a span{
        display: block;
        font-size: 3.7vw;
        font-weight: bold;
        color: #329cf0;
    }
    #header #glnav_sp ul.list{
        margin: 0 -4vw 4vw;
        text-align: left;
        border-top: 1px solid #329cf0;
    }
    #header #glnav_sp ul.list li{
        border-bottom: 1px solid #329cf0;
        padding: 0;
    }
    #header #glnav_sp ul.list li a{
        display: block;
        padding: 4vw;
        color: #329cf0;
        font-size: 4.5vw;
        background: url(img/arw01.png) no-repeat right 4vw center;
        background-size: 2.53vw auto;
    }
    #header #glnav_sp ul.bnr{
        margin: 0 0 4vw;
    }
    #header #glnav_sp ul.bnr a{
        display: block;
        margin: 0 0 0.66vw;
    }
    #header #glnav_sp a.closebtn {
        position: absolute;
        top: 3vw;
        right: -10vw;
        width: 7vw;
        display: none;
    }
    #header #glnav_sp a.closebtn2 img {
        width: 7vw;
    }
    #header #glnav_sp a.closebtn2 span {
        display: inline-block;
        color: #329cf0;
        font-size: 4.53vw;
        padding: 1.8vw 0 0 2.66vw;
    }
}
/* footer */
#footer .bnr_wrap{
    padding: 0 0 45px;
}
#footer .bnr_wrap ul li{
    float: left;
    max-width: 350px;
    width: 32%;
    margin: 0 2% 25px 0;
}
#footer .bnr_wrap ul li:nth-child(3n){
    margin: 0 0 25px 0;
}
#footer #pagetop{
    width: 58px;
    margin: 0 auto;
}
#footer .sns_wrap{
    padding: 50px 0 55px;
}
#footer .sns_wrap ul li{
    display: inline-block;
    margin: 0 18px 0 0;
    width: 174px;
    height: 45px;
    line-height: 45px;
    border-radius: 0.5em;
    transition: all .4s;
}
#footer .sns_wrap ul li:last-child{
    margin: 0
}
#footer .sns_wrap ul li.fb{
    background: #4267b2 url(img/icon_fb.png) no-repeat 20px center;
    background-size: 20px auto;
}
#footer .sns_wrap ul li.tw{
    background: #1da1f2 url(img/icon_tw.png) no-repeat 20px center;
    background-size: 20px auto;
}
#footer .sns_wrap ul li.hb{
    background: #008fde url(img/icon_hb.png) no-repeat 20px center;
    background-size: 20px auto;
}
#footer .sns_wrap ul li:hover{
    opacity: 0.7;
}
#footer .sns_wrap ul li a{
    display: block;
    color: #fff;
    font-size: 14px;
    text-decoration: none;
    outline: none!important;
}
#footer .link_wrap{
    background: #e5e5e5;
    padding: 50px 0 40px;
}
#footer .link_wrap ul li{
    display: inline-block;
    margin: 0 28px;
}
#footer .link_wrap ul li a{
    color: #535353;
    font-size: 14px;
}
#footer .copy{
    padding: 28px 0;
    border-top: 1px solid #329cf0;
}
#footer .copy span{
    color: #329cf0;
    font-size: 13px;
}
@media ( max-width: 640px ){
    #footer{
        padding: 0 0 19.8vw;
    }
    #footer .bnr_wrap{
        padding: 0 0 10vw;
    }
    #footer .bnr_wrap ul.inner{
        padding: 0;
    }
    #footer .bnr_wrap ul li{
        float: left;
        max-width: inherit;
        width: 50%;
        margin: 0;
    }
    #footer .bnr_wrap ul li:nth-child(3n){
        margin: 0;
    }
    #footer #pagetop{
        width: 14vw;
    }
    #footer .sns_wrap{
        padding: 9.33vw 0;
    }
    #footer .sns_wrap ul li{
        margin: 0 2% 0 0;
        width: 32%;
        height: 8vw;
        line-height: 8vw;
        border-radius: 0.25em;
        float: left;
    }
    #footer .sns_wrap ul li.fb{
        background: #4267b2 url(img/icon_fb.png) no-repeat 3vw center;
        background-size: 3.73vw auto;
    }
    #footer .sns_wrap ul li.tw{
        background: #1da1f2 url(img/icon_tw.png) no-repeat 3vw center;
        background-size: 3.73vw auto;
    }
    #footer .sns_wrap ul li.hb{
        background: #008fde url(img/icon_hb.png) no-repeat 3vw center;
        background-size: 3.73vw auto;
    }
    #footer .sns_wrap ul li:hover{
        opacity: 1.0;
    }
    #footer .sns_wrap ul li a{
        font-size: 2.8vw;
    }
    #footer .link_wrap{
        padding: 4vw;
    }
    #footer .link_wrap ul li{
        display: block;
        margin: 0;
    }
    #footer .link_wrap ul li a{
        display: block;
        padding: 3vw 0;
        font-size: 4vw;
    }
    #footer .copy{
        padding: 4.5vw 0;
    }
    #footer .copy span{
        font-size: 2.66vw;
    }
}
/* fix bottom btn */
@media ( max-width: 640px ){
    #fix_btn{
        width: 100%;
        background-color: rgba(255,255,255,0.9);
        position: fixed;
        bottom: 0;
        left: 0;
        border-top: 1px solid #329cf0;
        z-index: 997;
    }
    #fix_btn ul li{
        float: left;
        width: 25%;
    }
    #fix_btn ul li a{
        display: block;
        padding: 3vw 0;
    }
    #fix_btn ul li a img{
        width: 8vw;
        margin: 0 auto 2.66vw;
    }
    #fix_btn ul li a span{
        display: block;
        font-size: 3vw;
        font-weight: bold;
        color: #329cf0;
    }
}
/* more_btn a */
.more_btn a{
    display: block;
    width: 305px;
    height: 70px;
    line-height: 70px;
    border-radius: 0.5em;
    background: #329cf0;
    color: #fff;
    font-size: 18px;
    margin: 0 auto;
    box-sizing: border-box;
    text-decoration: none;
    position: relative;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    transform: translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.more_btn a:before {
    content: '';
    position: absolute;
    border: #329cf0 solid 4px;
    border-radius: 0.5em;
    top: -16px;
    right: -16px;
    bottom: -16px;
    left: -16px;
    opacity: 0;
    transition-duration: .1s;
    transition-property: top right bottom left;
}
.more_btn a:hover{
    text-decoration: none;
}
.more_btn a:hover:before {
    top: -8px;
    right: -8px;
    bottom: -8px;
    left: -8px;
    opacity: 1;
}
.more_btn_side a{
    display: block;
    height: 70px;
    line-height: 70px;
    border-radius: 0.5em;
    background: #329cf0;
    color: #fff;
    font-size: 18px;
    margin: 0 auto;
    box-sizing: border-box;
    text-decoration: none;
    position: relative;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    transform: translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    width: auto;
    text-align: center;
}
.more_btn_side a:before {
    content: '';
    position: absolute;
    border: #329cf0 solid 4px;
    border-radius: 0.5em;
    top: -16px;
    right: -16px;
    bottom: -16px;
    left: -16px;
    opacity: 0;
    transition-duration: .1s;
    transition-property: top right bottom left;
}
.more_btn_side a:hover{
    text-decoration: none;
}
.more_btn_side a:hover:before {
    top: -8px;
    right: -8px;
    bottom: -8px;
    left: -8px;
    opacity: 1;
}
.more_btn_news a{
    display: block;
    height: 70px;
    line-height: 70px;
    border-radius: 0.5em;
    background: #329cf0;
    color: #fff;
    font-size: 18px;
    margin: 0 auto;
    box-sizing: border-box;
    text-decoration: none;
    position: relative;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    transform: translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    width: auto;
    text-align: center;
}
.more_btn_news a:before {
    content: '';
    position: absolute;
    border: #329cf0 solid 4px;
    border-radius: 0.5em;
    top: -16px;
    right: -16px;
    bottom: -16px;
    left: -16px;
    opacity: 0;
    transition-duration: .1s;
    transition-property: top right bottom left;
}
.more_btn_news a:hover{
    text-decoration: none;
}
.more_btn_news a:hover:before {
    top: -8px;
    right: -8px;
    bottom: -8px;
    left: -8px;
    opacity: 1;
}
@media ( max-width: 640px ){
    .more_btn a{
        width: 60%;
        height: 14vw;
        line-height: 14vw;
        font-size: 4vw;
    }
    .more_btn_side a{
        width: 60%;
        height: 14vw;
        line-height: 14vw;
        font-size: 4vw;
    }
    .more_btn_news a{
        width: 60%;
        height: 14vw;
        line-height: 14vw;
        font-size: 4vw;
    }
}
.indent li{
    text-indent: -1em;
    padding-left: 1em;
}

/* =Top
-------------------------------------------------------------- */
/* slider */
#fv {
    overflow: hidden;
}
#fv .swiper-container {
    overflow: visible;
}
#fv img {
    width: 100%;
}
#fv .btn-prev,
#fv .btn-next {
    position: absolute;
    width: 15%;
    height: 100%;
    top: 0;
    background: rgba(0,0,0,0);
    z-index: 11;
    cursor: pointer;
}
#fv .btn-prev {
    left: 0;
}
#fv .btn-next {
    right: 0;
}
#fv .btn-prev::before,
#fv .btn-next::before {
    position: absolute;
    display: block;
    content: '';
    width: 39px;
    height: 75px;
    top: 50%;
    transform: translateY(-50%);
}
#fv .btn-prev::before {
    left: 30px;
    background: url(img/arw_prev.png) no-repeat 0 0;
}
#fv .btn-next::before {
    right: 30px;
    background: url(img/arw_next.png) no-repeat 0 0;
}
#fv .swiper-pagination-bullet {
    background: #d0d0d0;
    opacity: 1;
}
#fv .swiper-pagination-bullet-active {
    background: #636363;
}
@media ( min-width: 601px ){
    #fv .swiper-container-horizontal > .swiper-pagination-bullets{
        bottom: 22px;
    }
    #fv .swiper-pagination-bullet {
        width: 10px;
        height: 10px;
    }
}
@media ( max-width: 1099px ){
    #fv .btn-prev::before,
    #fv .btn-next::before {
        width: 20px;
        height: 38px;
        top: 50%;
        transform: translateY(-50%);
    }
    #fv .btn-prev::before {
        left: 30px;
        background: url(img/arw_prev.png) no-repeat 0 0;
        background-size: contain;
    }
    #fv .btn-next::before {
        right: 30px;
        background: url(img/arw_next.png) no-repeat 0 0;
        background-size: contain;
    }
}
@media ( max-width: 600px ){
    #fv .swiper-container-horizontal > .swiper-pagination-bullets{
        bottom: 3.3333vw;
    }
    #fv .swiper-pagination-bullet {
        width: 2.5333vw;
        height: 2.5333vw;
    }
    #fv .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
        margin: 0 1vw;
    }
    #fv .btn-prev::before {
        right: 5vw;
        background: url(img/arw_prev.png) no-repeat 0 0;
        background-size: contain;
        left: auto;
    }
    #fv .btn-next::before {
        left: 5vw;
        background: url(img/arw_next.png) no-repeat 0 0;
        background-size: contain;
        right: auto;
    }
}
#ticker{
    overflow: hidden;
    background: #daefff;
    padding: 34px 0;
}
@media ( max-width: 600px ){
    #ticker {
        padding: 6vw 0;
    }
}
/* news */
#top_contents .sec{
    padding: 80px 0;
}
#top_contents .sec .tit{
    font-size: 30px;
    color: #329cf0;
    margin: 0 0 50px;
}
#top_contents .sec .tit span{
    display: block;
    font-size: 15px;
    color: #87c1ee;
    padding: 20px 0 0;
}
#top_contents .news_box{
    margin: 0 0 70px;
}
#top_contents .news_box .news_list{
    display: block;
    width: 72%;
    max-width: 790px;
    float: right;
    text-align: left;
}
#top_contents .news_box .news_list dl{
    display: block;
    border-bottom: 1px dotted #535353;
    padding: 20px 0;
}
#top_contents .news_box .news_list dl:last-child{
    border-bottom: none;
    padding: 20px 0 0;
}
#top_contents .news_box .news_list dl:first-child{
    padding: 0 0 20px;
}
#top_contents .news_box .news_list dl dt,
#top_contents .news_box .news_list dl dd{
    display: table-cell;
    vertical-align: middle;
}
#top_contents .news_box .news_list dl dt .ymd{
    display: inline-block;
    color: #329cf0;
    margin: 0 20px 0 0;
}
#top_contents .news_box .news_list dl dt .cat{
    display: inline-block;
    color: #329cf0;
}
#top_contents .news_box .news_list dl dt .cat span{
    display: inline-block;
    font-size: 14px;
    border: 1px solid #329cf0;
    padding: 3px 5px 2px;
}
#top_contents .news_box .news_list dl dt{
    width: 200px;
}
#top_contents .news_box .news_list dl dd .tit{
    display: inline-block;
    color: #535353;
    font-size: 15px;
    margin: 0;
    background: url(img/list_arw.png) no-repeat 0 center;
    padding: 0 0 0 17px;
}
#top_contents .news_box .news_list dl dd .tit a{
    color: #535353;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
    width: 100%;
    -webkit-line-clamp: 1;
}
#top_contents .news_box .news_list dl dd .tit a:hover{
    text-decoration: none;
    color: #e3026d;
}
#top_contents .news_box a.bnr{
    display: block;
    float: left;
    width: 24%;
    max-width: 260px;
}
#top_contents .news_box a.bnr img{
    width: 100%;
}
#top_contents .bnr_btn{
    display: none;
}
@media (max-width: 1050px) {
    #top_contents .news_box a.bnr{
        display: none;
    }
    #top_contents .news_box .news_list{
        float: none;
        width: 100%;
        max-width: none;
        margin: 0 0 50px;
    }
    #top_contents .bnr_btn{
        display: block;
    }
    #top_contents .more_button{
        display: block;
        position: relative;
        width: 305px;
        height: 70px;
        line-height: 70px;
        border-radius: 0.5em;
        background: #329cf0;
        color: #fff;
        font-size: 18px;
        margin: 0 auto;
        box-sizing: border-box;
        text-decoration: none;
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
        transform: translateZ(0);
        box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    }
    #top_contents .more_button:after{
        content: '';
        position: absolute;
        border: #329cf0 solid 4px;
        border-radius: 0.5em;
        top: -16px;
        right: -16px;
        bottom: -16px;
        left: -16px;
        opacity: 0;
        transition-duration: .1s;
        transition-property: top right bottom left;
    }
    #top_contents .more_button:hover:after {
        top: -8px;
        right: -8px;
        bottom: -8px;
        left: -8px;
        opacity: 1;
    }
}
@media ( max-width: 740px ){
    #top_contents .news_box .news_list{
        width: 100%;
        max-width: inherit;
        float: none;
        margin: 0 0 20px;
    }
    #top_contents .news_box .news_list dl:last-child {
        padding: 20px 0;
    }
    #top_contents .news_box a.bnr{
        display: none;
    }
    #top_contents .bnr_btn{
        display: block;
    }
}
@media ( max-width: 640px ){
    #top_contents .sec{
        padding: 12vw 0;
    }
    #top_contents .sec.news{
        padding: 12vw 0 4.8vw;
    }
    #top_contents .sec .tit{
        font-size: 6.6vw;
        margin: 0 0 6.6vw;
    }
    #top_contents .sec .tit span{
        font-size: 4vw;
        padding: 2.6vw 0 0;
    }
    #top_contents .news_box{
        margin: 0 0 4.6vw;
    }
    #top_contents .news_box .news_list{
        margin: 0 0 4vw;
    }
    #top_contents .news_box .news_list dl{
        padding: 6vw 0;
    }
    #top_contents .news_box .news_list dl:last-child{
        padding: 6vw 0;
    }
    #top_contents .news_box .news_list dl:first-child{
        padding: 6vw 0;
    }
    #top_contents .news_box .news_list dl dt,
    #top_contents .news_box .news_list dl dd{
        display: block;
        width: 100%;
    }
    #top_contents .news_box .news_list dl dt{
        margin: 0 0 3vw;
    }
    #top_contents .news_box .news_list dl dt .ymd{
        margin: 0 2vw 0 0;
    }
    #top_contents .news_box .news_list dl dt .cat{
    }
    #top_contents .news_box .news_list dl dt .cat span{
        font-size: 4vw;
        padding: 1vw 1vw 0.5vw;
    }
    #top_contents .news_box .news_list dl dd .tit{
        font-size: 4.6vw;
        background: url(img/list_arw_sp.png) no-repeat 0 center;
        background-size: 2.4vw;
        padding: 0 0 0 4vw;
    }
    #top_contents .news_box .news_list li .tit a:hover{
        color: #535353;
    }
    #top_contents .news_box .news_list dl dd .tit a{
        display: -webkit-box;
        -webkit-box-orient: vertical;
        line-height: 1.53;
        text-align: left;
        overflow: hidden;
        text-overflow: ellipsis;
        -webkit-text-overflow: ellipsis;
        -o-text-overflow: ellipsis;
        width: 100%;
        -webkit-line-clamp: 2;
    }
    #top_contents .more_button{
        width: 60%;
        height: 14vw;
        line-height: 14vw;
        font-size: 4vw;
    }
}
/* cast */
#top_contents  .sec.cast{
    background: #daefff;
    margin: 0 0 80px;
}
.cast_box ul{
    margin: 0 0 7px;
}
.cast_box ul li{
    max-width: 250px;
    width: 23%;
    float: left;
    margin: 0 2.6% 33px 0;
}
.cast_box ul li:nth-child(4n){
    margin: 0 0 33px 0;
}
.cast_box ul li.new{
    position: relative;
}
.cast_box ul li.new::before{
    content: "";
    background: url(img/new.png) no-repeat 0 0;
    background-size: contain;
    width: 45px;
    height: 45px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10
}
.cast_box ul li > a{
    text-decoration: none;
    display: block;
}
.cast_box ul li a .img_box{
    width: 100%;
    height: 250px;
    overflow: hidden;
    background: #329cf0;
}
.cast_box ul li a .img_box p{
    width: 100%;
    height: 250px;
    display: table-cell;
    vertical-align: middle;
}
.cast_box ul li a .img_box p img{
    transition: all 0.3s ease-out;
}
.cast_box ul li a:hover .img_box p img{
    transform: scale(1.2);
    opacity: 1.0;
}
.cast_box ul li a .name_area{
    background: #fff;
    padding: 15px 10px 15px 90px;
    text-align: left;
    line-height: 1.4;
    position: relative;
}
.cast_box ul li a .name_area .name{
    display: block;
    font-size: 18px;
    color: #019cdc;
    transition: all .4s;
}
.cast_box ul li a:hover .name_area .name{
    color: #e3026d;
}
.cast_box ul li a .name_area .date{
    display: block;
    font-size: 12px;
    color: #8c8c8c;
}
.cast_box ul li a .name_area .thumb_img {
    position: absolute;
    top: -12px;
    left: 9px;
    width: 70px;
    height: 70px;
    object-fit: cover;
    font-family: 'object-fit: cover';
    border: solid 4px #97e0ff;
    border-radius: 50%;
    box-sizing: border-box;
    overflow: hidden;
    transition: all .4s;
}
.cast_box ul li a .name_area .thumb_img img {
    width: 100%;
    height: auto;
}
.cast_box ul li a:hover .name_area .thumb_img {
    border: solid 4px #fbc9e2;
}
.cast_box ul li a:hover .name_area .thumb_img img{
    opacity: 1.0;
}
@media ( max-width: 1130px ){
    .cast_box ul li a .img_box{
        height: 22vw;
    }
    .cast_box ul li a .img_box p{
        height: 22vw;
    }
}
@media ( max-width: 960px ){
    .cast_box ul li{
        max-width: inherit;
        width: 32%;
        margin: 0 2% 33px 0;
    }
    .cast_box ul li:nth-child(4n){
        margin: 0 2% 33px 0;
    }
    .cast_box ul li:nth-child(3n){
        margin: 0 0 33px 0;
    }
    .cast_box ul li a .img_box{
        height: 30vw;
    }
    .cast_box ul li a .img_box p{
        height: 30vw;
    }
}
@media ( max-width: 680px ){
    .cast_box ul li a .name_area{
        padding: 8px 8px 8px 60px;
    }
    .cast_box ul li a .name_area .thumb_img {
        position: absolute;
        top: -15px;
        left: 5px;
        width: 50px;
        height: 50px;
        border: solid 2px #97e0ff;
    }
    .cast_box ul li a:hover .name_area .thumb_img {
        border: solid 2px #fbc9e2;
    }
}
@media ( max-width: 640px ){
    #top_contents  .sec.cast{
        margin: 0;
    }
    .cast_box ul li{
        margin: 0 2% 2vw 0;
    }
    .cast_box ul li:nth-child(4n){
        margin: 0 2% 2vw 0;
    }
    .cast_box ul li:nth-child(3n){
        margin: 0 0 2vw 0;
    }
    .cast_box ul li.new::before{
        width: 8vw;
        height: 8vw;
    }
    .cast_box ul li a .name_area{
        padding: 2vw 3vw;
    }
    .cast_box ul li a .name_area .thumb_img{
        display: none;
    }

    .cast_box ul li a .name_area .name{
        font-size: 3.73vw;
    }
    .cast_box ul li a .name_area .date{
        font-size: 2.66vw;
    }
}

/* = Underlayer common
-------------------------------------------------------------- */
/* main */
#main{
    max-width: 800px;
    float: right;
    padding: 0 0 50px;
    width : 73% ; /* IE8以下とAndroid4.3以下用フォールバック */
    width : -webkit-calc(100% - 285px) ;
    width : calc(100% - 285px) ;
}
#bread{
    text-align: left;
    margin: 0 0 24px;
}
#bread div{
    display: inline-block;
    padding: 0 1em 0 0;
    margin: 0 0.5em 0 0;
    position: relative;
    color: #535353;
    font-size: 14px;
}
#bread div::after{
    content: "";
    background: url(img/bread_arw.png) no-repeat 0 0;
    background-size: contain;
    width: 4px;
    height: 7px;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}
#bread div:last-child::after{
    display: none;
}
#bread div a{
    display: inline-block;
    color: #535353;
}
#bread div a:hover{
    text-decoration: underline;
}
#main .maintit {
    text-align: left;
    color: #329cf0;
    font-size: 32px;
    border-left: 4px solid #329cf0;
    padding: 20px 0 20px 24px;
    position: relative;
    box-sizing: border-box;
    margin: 0 0 45px;
    line-height: 1.2;
}
#main .maintit::after{
    content: "";
    background: #329cf0;
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: -15px;
    left: -4px;
}
#main .maintit span.sub {
    display: inline-block;
    font-size: 24px;
    padding: 0 0 0 1em;
}
#main .maintit span.sub2 {
    display: block;
    font-size: 16px;
}
#main .l_title {
    text-align: left;
    color: #329cf0;
    font-size: 32px;
    border-left: 4px solid #329cf0;
    padding: 20px 0 20px 24px;
    position: relative;
    box-sizing: border-box;
    margin: 0 0 45px;
    line-height: 1.2;
}
#main .l_title::after{
    content: "";
    background: #329cf0;
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: -15px;
    left: -4px;
}
#main .l_title span.sub {
    display: inline-block;
    font-size: 24px;
    padding: 0 0 0 1em;
}
#main .l_title span.sub2 {
    display: block;
    font-size: 16px;
}
@media ( max-width: 1050px ){
    #main{
        width : 78% ; /* IE8以下とAndroid4.3以下用フォールバック */
        width : -webkit-calc(100% - 220px) ;
        width : calc(100% - 220px) ;
        max-width: none;
    }
    #main .maintit {
        font-size: 28px;
        padding: 15px 0 15px 20px;
    }
}
@media ( max-width: 640px ){
    #main {
        width: 100%;
        float: none;
        padding: 0 0 6vw;
    }
    #bread{
        margin: 0 0 3.5vw;
    }
    #bread div{
        font-size: 3.73vw;
    }
    #bread div a:hover{
        text-decoration: none;
    }
    #main .maintit {
        font-size: 6vw;
        border-left: 1vw solid #329cf0;
        padding: 2.4vw 0 2.4vw 3.4vw;
        margin: 0 0 6vw;
    }
    #main .maintit::after{
        bottom: -2vw;
        left: -1vw;
    }
    #main .maintit span.sub {
        display: block;
        font-size: 4vw;
        padding: 0;
    }
    #main .maintit span.sub2 {
        font-size: 3vw;
    }
    #main .l_title{
        font-size: 6vw;
        border-left: 1vw solid #329cf0;
        padding: 2.4vw 0 2.4vw 3.4vw;
        margin: 0 0 6vw;
    }
}

/* side */
#aside{
    max-width: 260px;
    float: left;
}
#aside .more_btn a{
    width: auto;
}
#aside .mgn16{
    margin: 0 0 16px;
}
#aside .sec{
    background: #daefff;
    padding: 30px 15px 15px;
    margin: 0 0 15px;
}
#aside .sec .tit{
    font-size: 22px;
    color: #329cf0;
    margin: 0 0 18px;
}
#aside .sec .tit span{
    display: block;
    font-size: 14px;
    color: #87c1ee;
    padding: 10px 0 0;
}
#aside .sec_in{
    background: #fff;
    padding: 16px 12px;
    margin: 0 0 15px;
    text-align: left;
}
#aside .news .sec_in ul li{
    border-bottom: 1px dotted #535353;
    padding: 12px 0 15px;
}
#aside .news .sec_in ul li:last-child{
    border-bottom: none;
    padding: 12px 0 0;
}
#aside .news .sec_in ul li:first-child{
    padding: 0 0 15px;
}
#aside .news .sec_in ul li a{
    text-decoration: none;
}
#aside .news .sec_in ul li a .ymd{
    display: inline-block;
    color: #329cf0;
    margin: 0 0.5em 0 0;
}
#aside .news .sec_in ul li a .cat{
    display: inline-block;
    color: #329cf0;
}
#aside .news .sec_in ul li a .cat span{
    display: inline-block;
    font-size: 13px;
    border: 1px solid #329cf0;
    padding: 3px 5px 2px;
}
#aside .news .sec_in ul li a .tit{
    display: block;
    color: #535353;
    font-size: 15px;
    margin: 0;
    background: url(img/list_arw.png) no-repeat 0 15px;
    padding: 10px 0 0 15px;
    line-height: 1.4;
}
#aside .news .sec_in ul li a:hover .tit {
    text-decoration: none;
    color: #e3026d;
}
#aside .cast .sec_in ul li{
    border-bottom: 1px dotted #535353;
    padding: 10px 0;
    width: 100%;
    margin: 0;
}
#aside .cast .sec_in ul li:last-of-type{
    border-bottom: none;
    padding: 10px 0 0;
}
#aside .cast .sec_in ul li:first-of-type{
    padding: 0 0 10px;
}
#aside .cast .sec_in ul li .btnbox{
    text-decoration: none;
    display: table;
    width: 100%;
}
#aside .cast .sec_in ul li a .left_box {
    display: table-cell;
    vertical-align: middle;
    width: 70px;
}
#aside .cast .sec_in ul li a .thumb_img {
    width: 70px;
    height: 70px;
    object-fit: cover;
    font-family: 'object-fit: cover';
    border: solid 4px #97e0ff;
    border-radius: 50%;
    box-sizing: border-box;
    overflow: hidden;
    transition: all .4s;
}
#aside .cast .sec_in ul li a:hover .thumb_img{
    border: solid 4px #fbc9e2;
}
#aside .cast .sec_in ul li a .thumb_img img {
    width: 100%;
    height: auto;
}
#aside .cast .sec_in ul li a .right_box{
    display: table-cell;
    vertical-align: middle;
    padding: 0 0 0 10px;
}
#aside .cast .sec_in ul li a .right_box .date{
    display: inline-block;
    font-size: 12px;
    color: #8c8c8c;
    margin: 0 0 10px;
}
#aside .cast .sec_in ul li a .right_box .date span{
    display: inline-block;
    font-size: 12px;
    font-weight: bold;
    color: #fff;
    background: #e3026d;
    padding: 5px;
    margin: 0 3px 0 0;
}
#aside .cast .sec_in ul li a .right_box .name{
    display: block;
    font-size: 18px;
    color: #019cdc;
    transition: all .4s;
}
#aside .cast .sec_in ul li a .right_box .new{
    display: inline-block;
    margin: 0 0 5px;
    line-height: 1;
}
#aside .cast .sec_in ul li a .right_box .new + .date{
    margin: 0 0 5px;
}
#aside .cast .sec_in ul li a:hover .right_box .name{
    color: #e3026d;
}
#aside #side_nav{
    margin: 0 0 15px;
}
#aside #side_nav ul{
    text-align: left;
    border: 1px solid #329cf0;
    border-radius: 0.25em;
}
#aside #side_nav ul li{
    border-bottom: 1px solid #329cf0;
}
#aside #side_nav ul li:last-child{
    border-bottom: none;
}
#aside #side_nav ul li a{
    display: block;
    font-size: 16px;
    color: #329cf0;
    padding: 23px 10px 23px 60px;
    position: relative;
    text-decoration: none;
}
#aside #side_nav ul li a:hover{
    color: #e3026d;
}
#aside #side_nav ul li a::after{
    content: "";
    background: url(img/list_arw.png) no-repeat 0 0;
    background-size: contain;
    width: 6px;
    height: 10px;
    position: absolute;
    top: 50%;
    right: 5%;
    transform: translateY(-50%);
    transition: .2s;
}
#aside #side_nav ul li a:hover:after{
    right: 4%;
}
#aside #side_nav ul li.nav01 a{
    background: url(img/nav14.png) no-repeat 20px center;
}
#aside #side_nav ul li.nav02 a{
    background: url(img/nav15.png) no-repeat 20px center;
}
#aside #side_nav ul li.nav03 a{
    background: url(img/nav16.png) no-repeat 20px center;
}
#aside #side_nav ul li.nav04 a{
    background: url(img/nav17.png) no-repeat 20px center;
}
#aside #side_nav ul li.nav05 a{
    background: url(img/nav18.png) no-repeat 20px center;
}
#aside #side_nav ul li.nav06 a{
    background: url(img/nav19.png) no-repeat 20px center;
}
#aside #side_nav ul li.nav01 a:hover{
    background: url(img/nav14_on.png) no-repeat 20px center;
}
#aside #side_nav ul li.nav02 a:hover{
    background: url(img/nav15_on.png) no-repeat 20px center;
}
#aside #side_nav ul li.nav03 a:hover{
    background: url(img/nav16_on.png) no-repeat 20px center;
}
#aside #side_nav ul li.nav04 a:hover{
    background: url(img/nav17_on.png) no-repeat 20px center;
}
#aside #side_nav ul li.nav05 a:hover{
    background: url(img/nav18_on.png) no-repeat 20px center;
}
#aside #side_nav ul li.nav06 a:hover{
    background: url(img/nav19_on.png) no-repeat 20px center;
}
#aside .bnr_wrap ul li{
    margin: 0 0 15px;
}
#aside .bnr_wrap ul li img{
    width: 100%;
}
@media ( max-width: 1050px ){
    #aside {
        max-width: 200px;
    }
    #aside .more_btn a{
        height: 60px;
        line-height: 60px;
    }
    #aside .mgn16{
        margin: 0 0 2vw;
    }
    #aside .sec {
        padding: 20px 10px 10px;
        margin: 0 0 15px;
    }
    #aside .sec_in {
        padding: 10px 6px;
        margin: 0 0 15px;
    }
    #aside .sec .tit {
        font-size: 18px;
    }
    #aside .news .sec_in ul li a .ymd {
        margin: 0 0.2em 0 0;
        font-size: 13px;
    }
    #aside .news .sec_in ul li a .tit {
        font-size: 14px;
        background: url(img/list_arw.png) no-repeat 0 14px;
        padding: 10px 0 0 10px;
    }
    #aside .cast .sec_in ul li a .left_box {
        width: 50px;
    }
    #aside .cast .sec_in ul li a .thumb_img {
        width: 50px;
        height: 50px;
        border: solid 2.5px #97e0ff;
    }
    #aside .cast .sec_in ul li a .right_box {
        padding: 0 0 0 3px;
    }
    #aside .cast .sec_in ul li a .right_box .new{
        margin: 0 0 3px;
    }
    #aside .cast .sec_in ul li a .right_box .date{
        display: block;
        margin: 0 0 3px;
    }
    #aside .cast .sec_in ul li a .right_box .name {
        font-size: 15px;
    }
    #aside #side_nav ul li a{
        padding: 20px 13px 20px 34px;
    }
    #aside #side_nav ul li a::after {
        right: 4%;
    }
    #aside #side_nav ul li a:hover:after{
        right: 3%;
    }
    #aside #side_nav ul li.nav01 a{
        background: url(img/nav14.png) no-repeat 7px center;
        background-size: 24px auto;
    }
    #aside #side_nav ul li.nav02 a{
        background: url(img/nav15.png) no-repeat 7px center;
        background-size: 24px auto;
    }
    #aside #side_nav ul li.nav03 a{
        background: url(img/nav16.png) no-repeat 7px center;
        background-size: 24px auto;
    }
    #aside #side_nav ul li.nav04 a{
        background: url(img/nav17.png) no-repeat 7px center;
        background-size: 24px auto;
    }
    #aside #side_nav ul li.nav05 a{
        background: url(img/nav18.png) no-repeat 7px center;
        background-size: 24px auto;
    }
    #aside #side_nav ul li.nav06 a{
        background: url(img/nav19.png) no-repeat 7px center;
        background-size: 24px auto;
    }
    #aside #side_nav ul li.nav01 a:hover{
        background: url(img/nav14_on.png) no-repeat 7px center;
        background-size: 24px auto;
    }
    #aside #side_nav ul li.nav02 a:hover{
        background: url(img/nav15_on.png) no-repeat 7px center;
        background-size: 24px auto;
    }
    #aside #side_nav ul li.nav03 a:hover{
        background: url(img/nav16_on.png) no-repeat 7px center;
        background-size: 24px auto;
    }
    #aside #side_nav ul li.nav04 a:hover{
        background: url(img/nav17_on.png) no-repeat 7px center;
        background-size: 24px auto;
    }
    #aside #side_nav ul li.nav05 a:hover{
        background: url(img/nav18_on.png) no-repeat 7px center;
        background-size: 24px auto;
    }
    #aside #side_nav ul li.nav06 a:hover{
        background: url(img/nav19_on.png) no-repeat 7px center;
        background-size: 24px auto;
    }
}
@media ( max-width: 640px ){
    #aside {
        display: none;
    }
}

/* = cast list
-------------------------------------------------------------- */
.cast_rank ul{
    margin: 0 0 40px;
}
.cast_rank ul li{
    width: 22%;
    float: left;
    margin: 0 4% 0 0;
}
.cast_rank ul li:last-child{
    margin: 0;
}
.cast_rank ul li a{
    display: block;
    color: #fff;
    padding: 26px 0;
    border-radius: 0.5em;
    position: relative;
}
.cast_rank ul li a:hover{
    text-decoration: none;
}
.cast_rank ul li a:hover::before,
.cast_rank ul li a.active::before{
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    left: 50%;
    bottom: -15px;
    border-top: 15px solid #fff3ad;
    border-right: 15px solid transparent;
    border-left: 15px solid transparent;
    margin: 0 0 0 -15px;
}
.cast_list ul li{
    width: 22%;
    float: left;
    margin: 0 4% 34px 0;
}
.cast_list ul li:nth-child(4n){
    margin: 0 0 34px 0;
}
.cast_list ul li a{
    text-decoration: none;
    display: block;
}
.cast_list ul li .img_box{
    margin: 0 0 20px;
    position: relative;
}
.cast_list ul li .img_box::after{
    content: "";
    background: #ccc;
    color: #fff;
    font-size: 12px;
    line-height: 25px;
    width: 85px;
    height: 25px;
    position: absolute;
    bottom: 7px;
    left: 7px;
    border-radius: 2px;
}
.cast_list ul li.premium .img_box::after{
    content: "プレミアム";
}
.cast_list ul li.special .img_box::after{
    content: "スペシャル";
}
.cast_list ul li.regular .img_box::after{
    content: "レギュラー";
}
.cast_list ul li.fresh .img_box::after{
    content: "フレッシュ";
}
.cast_list ul li .img_box img{
    width: 100%;
}
.cast_list ul li span{
    display: block;
}
.cast_list ul li span.name{
    color: #329cf0;
    font-size: 20px;
    padding: 0 0 8px;
}
.cast_list ul li span.concept #sec03 .sec_in{
    color: #e3026d;
    font-size: 14px;
}
/* Circle */
.cast_list ul li .img_box figure {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    background: #fff;
    overflow: hidden;
}
.cast_list ul li .img_box figure {
    position: relative;
}
.cast_list ul li .img_box figure::before {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    display: block;
    content: '';
    width: 0;
    height: 0;
    background: rgba(255,255,255,.2);
    border-radius: 100%;
    transform: translate(-50%, -50%);
    opacity: 0;
}
.cast_list ul li .img_box figure:hover::before {
    -webkit-animation: circle .75s;
    animation: circle .75s;
}
@-webkit-keyframes circle {
    0% {
        opacity: 1;
    }
    40% {
        opacity: 1;
    }
    100% {
        width: 200%;
        height: 200%;
        opacity: 0;
    }
}
@keyframes circle {
    0% {
        opacity: 1;
    }
    40% {
        opacity: 1;
    }
    100% {
        width: 200%;
        height: 200%;
        opacity: 0;
    }
}
@media ( max-width: 1050px ){
    .cast_list ul li{
        width: 32%;
        margin: 0 2% 34px 0;
    }
    .cast_list ul li:nth-child(4n){
        margin: 0 2% 34px 0;
    }
    .cast_list ul li:nth-child(3n){
        margin: 0 0 34px 0;
    }
}
@media ( max-width: 840px ){
    .cast_rank ul li{
        width: 24%;
        margin: 0 1.3% 0 0;
    }
}
@media ( max-width: 640px ){
    .cast_rank ul{
        margin: 0 0 6vw;
    }
    .cast_rank ul li a{
        padding: 4vw 0;
        border-radius: 0.25em;
        font-size: 3.73vw;
    }
    .cast_rank ul li a:hover::before,
    .cast_rank ul li a.active::before{
        content: '';
        position: absolute;
        display: block;
        width: 0;
        height: 0;
        left: 50%;
        bottom: -10px;
        border-top: 10px solid #fff3ad;
        border-right: 10px solid transparent;
        border-left: 10px solid transparent;
        margin: 0 0 0 -10px;
    }
    .cast_rank ul li.premium a:hover::before,
    .cast_rank ul li.premium a.active::before{
        border-top: 10px solid #b8982a;
    }
    .cast_rank ul li.special a:hover::before,
    .cast_rank ul li.special a.active::before{
        border-top: 10px solid #4f70dc;
    }
    .cast_rank ul li.regular a:hover::before,
    .cast_rank ul li.regular a.active::before{
        border-top: 10px solid #eb75ad;
    }
    .cast_rank ul li.fresh a:hover::before,
    .cast_rank ul li.fresh a.active::before{
        border-top: 10px solid #7db73e;
    }
    .cast_list ul li{
        margin: 0 2% 4vw 0;
    }
    .cast_list ul li:nth-child(4n){
        margin: 0 2% 5vw 0;
    }
    .cast_list ul li:nth-child(3n){
        margin: 0 0 5vw 0;
    }
    .cast_list ul li .img_box{
        margin: 0 0 2vw;
    }
    .cast_list ul li span.name{
        font-size: 4vw;
        padding: 0 0 1.5vw;
    }
    .cast_list ul li span.cast_type{
        font-size: 3vw;
    }
    .cast_list ul li span.concept #sec03 .sec_in{
        font-size: 3.73vw;
    }
}

/* = detail
-------------------------------------------------------------- */
#main .subtit{
    text-align: left;
    color: #329cf0;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.4;
    padding: 0 0 15px;
    border-bottom: 1px solid #329cf0;
    margin: 0 0 30px;
}
#main .subtit2{
    display: block;
    margin: 0 0 30px;
    font-size: 20px;
    font-weight: bold;
    color: #329cf0;
    background: #daefff;
    padding: 10px;
    line-height: 1;
    text-align: left;
}
#main .subtit2.v2{
    display: inline-block;
    margin: 0 0 5px;
    background: none;
    padding: 0;
}
#main .catch{
    margin: 0 0 30px;
}
#main .catch img{
    width: 100%;
}
#main .txt_box{
    text-align: left;
    line-height: 1.7;
    padding: 0 0 40px;
}
#main .txt_box .txt_link{
    text-align: right;
}
#main .txt_box .txt_link a{
    display: inline-block;
    color: #535353;
    background: url(img/list_arw.png) no-repeat 0 center;
    padding: 0 0 0 15px;
    text-decoration: none;
}
#main .txt_box .txt_link a:hover{
    color: #e3026d;
}
#main .pager{
    padding: 20px 0;
}
#main .pager .btn{
    text-align: center;
    display: inline-block;
    width: 25%;
    float: left;
    margin: 0 4% 0 0;
}
#main .pager .btn:last-child{
    margin: 0;
    float: right;
}
#main .pager .btn.list{
    text-align: center;
    width: 42%;
}
#main .pager .btn a{
    display: block;
    color: #329cf0;
    font-size: 16px;
    text-decoration: none;
    background: #fff;
    border: 1px solid #329cf0;
    border-radius: 0.5em;
    box-sizing: border-box;
    padding: 30px 0;
}
#main .pager .btn a:hover{
    color: #fff;
    background: #329cf0;
}
#main .pager.v2 .btn{
    width: auto;
    margin: 0;
}
#main .pager.v2 .btn a{
    padding: 30px 15px;
}
#main .bdr_box{
    border: 1px solid #329cf0;
    background: #daefff;
    padding: 15px;
}
#main .complete{
    border: 1px solid #329cf0;
    background: #daefff;
    padding: 15px;
    text-align: left;
}
#main .complete div{
    background: #fff;
    padding: 13px;
    text-align: left;
    line-height: 1.5;
}
#main .bdr_box > div{
    background: #fff;
    padding: 13px;
    text-align: left;
    line-height: 1.5;
}
#main .bdr_box ul li{
    text-indent: -1em;
    padding-left: 1em;
    margin: 0 0 0.8em;
}
#main .bdr_box p{
    padding: 0 0 1em;
}
@media ( max-width: 640px ){
    #main .subtit{
        font-size: 4.5vw;
        padding: 0 0 2vw;
        border-bottom: 1px solid #329cf0;
        margin: 0 0 4vw;
    }
    #main .subtit2{
        margin: 0 0 3vw;
        font-size: 4.5vw;
        padding: 2vw;
    }
    #main .subtit2.v2{
        margin: 0 0 0.66vw;
        font-size: 4vw;
    }
    #main .catch{
        margin: 0 0 4vw;
    }
    #main .txt_box{
        padding: 0 0 5vw;
    }
    #main .txt_box .txt_link a{
        background: url(img/list_arw.png) no-repeat 0 center;
        background-size: 6px auto;
        padding: 0 0 0 15px;
        text-decoration: underline;
        color: #e3026d;
    }
    #main .txt_box .txt_link a:hover{
        color: #535353;
    }
    #main .pager{
        padding: 3vw 0;
    }
    #main .pager .btn a{
        font-size: 4vw;
        padding: 4vw 0;
        color: #fff;
        background: #329cf0;
    }
    #main .pager .btn a:hover{
        color: #fff;
        background: #329cf0;
    }
    #main .pager.v2 .btn a{
        padding: 4vw 2vw;
    }
    #main .bdr_box{
        border: 0.33vw solid #329cf0;
        padding: 2.66vw;
    }
    #main .bdr_box > div{
        padding: 2.66vw;
    }
}

/* = reg
-------------------------------------------------------------- */
.wpmem_box{
    margin: 0 0 40px;
}
.wpmem_box {
    box-sizing: border-box;
    border: 5px solid #329cf0;
}
#wpmem_login {
    float: right;
    width: 40%;
}
#wpmem_reg {
    float: left;
    width: 58%;
}
.wpmem_box fieldset,
.wpmem_box .inner {
    padding: 20px;
}
.wpmem_box .inner {
    text-align: left;
}
.wpmem_box .inner p{
    margin: 0 0 0.3em;
}
.wpmem_box .mem_tit {
    text-align: left;
    font-size: 22px;
    color: #329cf0;
    border-bottom: 1px #329cf0 dashed;
    padding: 0 0 5px;
    margin: 0 0 20px;
}
.wpmem_box label {
    display: block;
    text-align: left;
}
.wpmem_box .div_text {
    padding: 5px 0 15px;
    text-align: left;
}
.wpmem_box .div_text.cell {
    padding: 0;
}
.wpmem_box .memo {
    margin: 0 0 10px;
    font-size: 13px;
}
.wpmem_box .must{
    color: #f00;
    font-size: 12px;
}
.wpmem_box input[type="text"],
.wpmem_box input[type="password"] {
    width: 100%;
    padding: 3px;
    background: #fff;
    border: 1px #bfbfbf solid;
    box-sizing: border-box;
}
.wpmem_box .button_div input[type="submit"],
.wpmem_box .button_div input[type="reset"] {
    font-size: 14px;
    padding: 8px 12px;
    color: #fff;
    background: #329cf0;
    border: 0;
    border-radius: 5px;
    cursor: pointer;
    transition: all .3s;
    opacity: 1;
}
.wpmem_box .button_div input[type="reset"] {
    color: #434343;
    background: #eee;
}
.wpmem_box .button_div input[type="submit"]:hover,
.wpmem_box .button_div input[type="reset"]:hover {
    opacity: 0.7;
}
.wpmem_box .button_div label {
    display: inline-block;
    cursor: pointer;
}
.button_div .dr_txt{
    margin: 0 0 10px;
}
#wpmem_reg .kiyakuarea{
    margin: 0 0 10px;
}
#wpmem_reg .button_div{
    margin: 0 0 10px;
}
#wpmem_reg .button_div + p{
    display: none;
}
#reg {
    text-align: left;
    line-height: 1.7;
}
#reg .title {
    display: block;
    margin: 0 0 20px;
    font-size: 18px;
    font-weight: bold;
    color: #329cf0;
    background: #daefff;
    padding: 10px;
    line-height: 1;
}
#reg .reg_tit {
    margin: 15px 0;
    padding: 0 0 5px;
    font-size: 16px;
    font-weight: bold;
    line-height: 27px;
    border-bottom: 1px #329cf0 dashed;
}
#reg .reg_tit span {
    display: inline-block;
    width: 25px;
    height: 25px;
    margin: 0 8px 0 0;
    text-align: center;
    vertical-align: middle;
    color: #fff;
    background: #329cf0;
    border-radius: 25px;
}
#reg .txt_box p{
    padding: 0 0 1em;
}
#reg .txt_box ul.mgn{
    padding: 0 0 1em;
}
#reg .txt_box strong{
    color: #329cf0;
    display: block;
}
#reg strong{
    display: block;
    margin: 0 0 20px;
    font-size: 18px;
    font-weight: bold;
    color: #329cf0;
    background: #daefff;
    padding: 10px;
    line-height: 1;
}
@media ( max-width: 940px ){
    #wpmem_login {
        float: none;
        width: 100%;
        margin: 0 0 30px;
    }
    #wpmem_reg {
        float: none;
        width: 100%;
    }
}
@media ( max-width: 640px ){
    #container.reg{
        margin: 0 0 20vw;
    }
    #wpmem_login {
        margin: 0 0 4vw;
    }
    #wpmem_reg{
        margin: 0 0 10vw;
    }
    .formwrap{
        margin: 0 0 6vw;
    }
    .wpmem_box {
        border: 1vw solid #329cf0;
    }
    .wpmem_box fieldset,
    .wpmem_box .inner {
        padding: 6vw 5vw;
    }
    .wpmem_box .mem_tit {
        font-size: 5.2vw;
        border-bottom: 0.3vw #329cf0 dashed;
        padding: 0 0 1.3vw;
        margin: 0 0 4vw;
    }
    .wpmem_box label {
        font-size: 4vw;
    }
    .wpmem_box .div_text {
        padding: 1.5vw 0 4vw;
    }
    .wpmem_box .memo {
        margin: 0 0 2vw;
        font-size: 3.73vw;
        line-height: 1.3;
    }
    .wpmem_box .must{
        font-size: 3.2vw;
    }
    .wpmem_box input[type="text"],
    .wpmem_box input[type="password"] {
        padding: 1vw;
    }
    .wpmem_box .button_div input[type="submit"],
    .wpmem_box .button_div input[type="reset"] {
        font-size: 4.5vw;
        width: 100%;
        padding: 3vw;
        letter-spacing: 0.3vw;
        border-radius: 0.66vw;
    }
    .wpmem_box .button_div input[type="reset"] {
        margin: 0 0 2.6vw;
    }
    .wpmem_box .button_div input[type="submit"]:hover,
    .wpmem_box .button_div input[type="reset"]:hover {
        opacity: 1;
    }
    #reg .title {
        margin: 0 0 3vw;
        font-size: 4.5vw;
        padding: 2vw;
    }
    #reg .reg_tit {
        margin: 2vw 0;
        padding: 0 0 0.66vw;
        font-size: 4.2vw;
        line-height: 1.7;
        border-bottom: 0.3vw #329cf0 dashed;
    }
    #reg .reg_tit span {
        width: 7vw;
        height: 7vw;
        margin: 0 1vw 0 0;
        border-radius: 50%;
    }
}

/* = about
-------------------------------------------------------------- */
#flow {
    margin: 0 0 60px;
}
#tab {
    margin: 0 0 40px;
    border-bottom: 2px #329cf0 solid;
}
#reserve_tab {
    margin: 0 0 40px;
    border-bottom: 2px #329cf0 solid;
}
#tab li {
    display: inline-block;
    margin: 0 0.5% -2px;
    width: 40%;
}
#reserve_tab li {
    display: inline-block;
    margin: 0 0.5% -2px;
    width: 40%;
}
#tab li a {
    display: block;
    padding: 13px 0;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    background: #329cf0;
    border-left: 2px #329cf0 solid;
    border-top: 2px #329cf0 solid;
    border-right: 2px #329cf0 solid;
    text-decoration: none;
}
#reserve_tab li a {
    display: block;
    padding: 13px 0;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    background: #329cf0;
    border-left: 2px #329cf0 solid;
    border-top: 2px #329cf0 solid;
    border-right: 2px #329cf0 solid;
    text-decoration: none;
}
#tab li a:hover,
#tab li a.active {
    color: #329cf0;
    background: #fff;
}
#reserve_tab li a:hover,
#reserve_tab li a.active {
    color: #329cf0;
    background: #fff;
}
#flow .subtit{
    margin: 0;
    font-size: 24px;
    font-weight: bold;
    border-bottom: none;
    text-align: center;
}
#flow .flow2 ol .step_box{
    margin: 0 0 40px;
    border: 5px solid #97e0ff;
    position: relative;
}
#flow .flow2 ol li:last-child{
    margin: 0 0 70px;
}
#flow .flow2 ol .step_box::after{
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 30px 75px 0 75px;
    border-color: #329cf0 transparent transparent transparent;
    position: absolute;
    bottom: -40px;
    left: 50%;
    transform: translateX(-50%);
}
#flow .flow2 ol .step_box .in1 {
    width: 100%;
    font-size: 22px;
    font-weight: bold;
    color: #fff;
    line-height: 1.4;
    background: #97e0ff;
    padding: 10px 0;
    letter-spacing: 1px;
}
#flow .flow2 ol .step_box .in1 p{
    display: inline-block;
}
#flow .flow2 ol .step_box .in1 p br{
    display: none;
}
#flow .flow2 ol .step_box .in1 hr{
    display: none;
}
#flow .flow2 ol .step_box .in1 .step{
    display: inline-block;
    font-size: 24px;
    border-bottom: 5px solid #fcef07;
    margin: 0 12px 0 0;
}
#flow .flow2 ol .step_box .in1 .step .nbr{
    font-size: 30px;
}
#flow .flow2 ol .step_box .cf{
    padding: 20px;
    display: table;
    width: 100%;
    box-sizing: border-box;
    direction: rtl;
}
#flow .flow2 ol .step_box .cf div{
    direction: ltr;
}
#flow .flow2 ol .step_box .cf .in3{
    display: table-cell;
    vertical-align: middle;
    width: 74%;
    padding: 0 6% 0 0;
    text-align: left;
}
#flow .flow2 ol .step_box .cf .in3 p{
    font-size: 16px;
    line-height: 1.4;
    padding: 0 0 0 20px;
    position: relative;
    margin: 0 0 1em;
}
#flow .flow2 ol .step_box .cf .in3 p::before{
    content:'';
    width: 15px;
    height: 15px;
    display: inline-block;
    border-radius: 100%;
    background: #97e0ff;
    position: absolute;
    left: 0;
    top: 3px;
}
#flow .flow2 ol .step_box .cf .in3 p:last-of-type{
    margin: 0;
}
#flow .flow2 ol .step_box .cf .in3 .button {
    text-align: center;
    margin: 20px auto 0;
}
#flow .flow2 ol .step_box .cf .in3 .button a {
    background: #fff;
    color: #fe4d6a;
    font-size: 20px;
    line-height: 1.0;
    padding: 12px 40px;
    border-radius: 0.25em;
    display: inline-block;
    border: 3px solid #fe4d6a;
    font-weight: bold;
    text-decoration: none;
}
#flow .flow2 ol .step_box .cf .in3 .button a:before {
    content: "▼";
    position: relative;
    left: -20px;
    display: inline-block;
    transform: rotate(-90deg);
}
#flow .flow2 ol .step_box .cf .in3 .button a:hover{
    background: #fe4d6a;
    color: #fff;
}#flow .flow2 ol .step_box .cf .in3 .button a:hover::before {
    color: #fff;
}
#flow .flow2 ol .step_box .cf .in2{
    float: right;
    vertical-align: middle;
}
#flow .flow2 ol .step_box .cf .in2 img{
    width: 100%;
    height: auto;
}
#flow .flow_cta{
    margin: 0 0 60px;
}
#flow #rules{
    line-height: 1.7;
}
#flow #rules strong{
    display: block;
    margin: 0 0 20px;
    font-size: 18px;
    font-weight: bold;
    color: #329cf0;
    background: #daefff;
    padding: 10px;
    line-height: 1;
}

#flow .flow_box{
    margin: 0 0 40px;
    border: 5px solid #97e0ff;
    position: relative;
}
#flow .flow_box:last-of-type{
    margin: 0 0 70px;
}
#flow .flow_box::after{
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 30px 75px 0 75px;
    border-color: #329cf0 transparent transparent transparent;
    position: absolute;
    bottom: -40px;
    left: 50%;
    transform: translateX(-50%);
}
#flow .flow_box dt {
    width: 100%;
    font-size: 22px;
    font-weight: bold;
    color: #fff;
    line-height: 1.4;
    background: #97e0ff;
    padding: 10px 0;
    letter-spacing: 1px;
}
#flow .flow_box dt .step{
    display: inline-block;
    font-size: 24px;
    border-bottom: 5px solid #fcef07;
    margin: 0 12px 0 0;
}
#flow .flow_box dt .step .num{
    font-size: 30px;
}
#flow .flow_box dd{
    padding: 20px;
    display: table;
    width: 100%;
    box-sizing: border-box;
}

#flow .flow_box dd .txt_box{
    display: table-cell;
    vertical-align: middle;
    width: 74%;
    padding: 0 6% 0 0;
}
#flow .flow_box dd .txt_box p{
    font-size: 16px;
    line-height: 1.4;
    padding: 0 0 0 20px;
    position: relative;
    margin: 0 0 1em;
}
#flow .flow_box dd .txt_box p::before{
    content:'';
    width: 15px;
    height: 15px;
    display: inline-block;
    border-radius: 100%;
    background: #97e0ff;
    position: absolute;
    left: 0;
    top: 3px;
}
#flow .flow_box dd .txt_box p:last-of-type{
    margin: 0;
}
#flow .flow_box dd .txt_box .btn {
    text-align: center;
    margin: 20px auto 0;
}
#flow .flow_box dd .txt_box .btn a {
    background: #fff;
    color: #fe4d6a;
    font-size: 20px;
    line-height: 1.0;
    padding: 12px 40px;
    border-radius: 0.25em;
    display: inline-block;
    border: 3px solid #fe4d6a;
    font-weight: bold;
    text-decoration: none;
}
#flow .flow_box dd .txt_box .btn a:before {
    content: "▼";
    position: relative;
    left: -20px;
    display: inline-block;
    transform: rotate(-90deg);
}
#flow .flow_box dd .txt_box .btn a:hover{
    background: #fe4d6a;
    color: #fff;
}#flow .flow_box dd .txt_box .btn a:hover::before {
    color: #fff;
}
#flow .flow_box dd .img_box{
    display: table-cell;
    vertical-align: middle;
}
#flow .flow_box dd .img_box img{
    width: 100%;
    height: auto;
}
@media ( max-width: 1050px ){
    #flow .flow2 ol .step_box .cf .in3 {
        width: 74%;
        padding: 0 2% 0 0;
    }
}
@media ( max-width: 700px ){
    #flow .flow2 ol .step_box .cf .in3 .button a {
        padding: 12px 20px;
    }
    #flow .flow2 ol .step_box .cf .in3 .button a:before {
        left: -8px;
    }
    #flow .flow_box dd .txt_box .btn a {
        padding: 12px 20px;
    }
    #flow .flow_box dd .txt_box .btn a:before {
        left: -8px;
    }
}
@media ( max-width: 640px ){
    #flow {
        margin: 0 0 8vw;
    }
    #tab {
        margin: 0 0 5vw;
        border-bottom: 0.5vw #329cf0 solid;
    }
    #tab li {
        display: inline-block;
        margin: 0 0.5% -0.5vw;
        width: 40%;
    }
    #tab li a {
        padding: 3vw 0;
        font-size: 4.66vw;
        border-left: 0.5vw #329cf0 solid;
        border-top: 0.5vw #329cf0 solid;
        border-right: 0.5vw #329cf0 solid;
    }
    #tab li a:hover, {
        color: #fff;
        background: #329cf0;
    }
    #tab li a.active {
        color: #329cf0;
        background: #fff;
    }
    #flow .subtit{
        font-size: 4.25vw;
    }
    #flow .flow2 ol .step_box{
        margin: 0 0 8vw;
        border: 1vw solid #97e0ff;
    }
    #flow .flow2 ol .step_box:last-of-type{
        margin: 0 0 10vw;
    }
    #flow .flow2 ol .step_box::after{
        border-width: 6vw 16vw 0 16vw;
        bottom: -8vw;
    }
    #flow .flow2 ol .step_box .in1 {
        font-size: 4.5vw;
        padding: 1.5vw 0;
    }
    #flow .flow2 ol .step_box .in1 .step{
        display: inline-block;
        font-size: 4.25vw;
        border-bottom: 1vw solid #fcef07;
        margin: 0 2% 0 0;
    }
    #flow .flow2 ol .step_box .in1 .step .num{
        font-size: 6vw;
    }
    #flow .flow2 ol .step_box dd{
        padding: 5vw;
        display: block;
    }
    #flow .flow2 ol .step_box .cf{
        display: flex;
        flex-flow: row wrap;
        padding: 5vw;
    }
    #flow .flow2 ol .step_box .cf .in3{
        display: block;
        width: 100%;
        padding: 0;
        order: 1;
    }
    #flow .flow2 ol .step_box .cf .in3 p{
        font-size: 4vw;
        padding: 0 0 0 4.5vw;
    }
    #flow .flow2 ol .step_box .cf .in3 p:last-of-type{
        margin: 0 0 1em;
    }
    #flow .flow2 ol .step_box .cf .in3 p::before{
        content:'';
        width: 3vw;
        height: 3vw;
        top: 1vw;
    }
    #flow .flow2 ol .step_box .cf .in3 .button {
        margin: 0 auto 3vw;
    }
    #flow .flow2 ol .step_box .cf .in3 .button a {
        font-size: 4.66vw;
        padding: 3vw 6vw;
        display: inline-block;
        border: 0.66vw solid #fe4d6a;
    }
    #flow .flow2 ol .step_box .cf .in3 .button a:before {
        left: -8px;
    }
    #flow .flow2 ol .step_box .cf .in3 .button a:hover{
        background: #fff;
        color: #fe4d6a;
    }#flow .flow2 ol .step_box .cf .in3 .button a:hover::before {
        color: #fe4d6a;
    }
    #flow .flow2 ol .step_box .cf .in2{
        display: block;
        vertical-align: middle;
        width: 60%;
        margin: 0 auto;
        order: 2;
    }
    #flow .flow2 ol .step_box .cf .in2 img{
        width: 100%;
        height: auto;
    }
    #flow .flow2 ol .step_box .in1 .step .nbr{
        font-size: 6vw;
    }
    #flow .flow_box{
        margin: 0 0 8vw;
        border: 1vw solid #97e0ff;
    }
    #flow .flow_box:last-of-type{
        margin: 0 0 10vw;
    }
    #flow .flow_box::after{
        border-width: 6vw 16vw 0 16vw;
        bottom: -8vw;
    }
    #flow .flow_box dt {
        font-size: 4.5vw;
        padding: 1.5vw 0;
    }
    #flow .flow_box dt .step{
        display: inline-block;
        font-size: 4.25vw;
        border-bottom: 1vw solid #fcef07;
        margin: 0 2% 0 0;
    }
    #flow .flow_box dt .step .num{
        font-size: 6vw;
    }
    #flow .flow_box dd{
        padding: 5vw;
        display: block;
    }
    #flow .flow_box dd .txt_box{
        display: block;
        width: 100%;
        padding: 0;
    }
    #flow .flow_box dd .txt_box p{
        font-size: 4vw;
        padding: 0 0 0 4.5vw;
    }
    #flow .flow_box dd .txt_box p:last-of-type{
        margin: 0 0 1em;
    }
    #flow .flow_box dd .txt_box p::before{
        content:'';
        width: 3vw;
        height: 3vw;
        top: 1vw;
    }
    #flow .flow_box dd .txt_box .btn {
        margin: 0 auto 3vw;
    }
    #flow .flow_box dd .txt_box .btn a {
        font-size: 4.66vw;
        padding: 3vw 6vw;
        display: inline-block;
        border: 0.66vw solid #fe4d6a;
    }
    #flow .flow_box dd .txt_box .btn a:before {
        left: -8px;
    }
    #flow .flow_box dd .txt_box .btn a:hover{
        background: #fff;
        color: #fe4d6a;
    }#flow .flow_box dd .txt_box .btn a:hover::before {
        color: #fe4d6a;
    }
    #flow .flow_box dd .img_box{
        display: block;
        vertical-align: middle;
        width: 60%;
        margin: 0 auto;
    }
    #flow .flow_box dd .img_box img{
        width: 100%;
        height: auto;
    }
    #flow #rules strong{
        margin: 0 0 3vw;
        font-size: 4.5vw;
        padding: 2vw;
    }
    #reserve_tab li a{
        font-size: 4vw;
    }
    #reserve_tab{
        margin: 0 0 5vw;
    }
}

/* = request , re_request , contact
-------------------------------------------------------------- */
.caution_box {
    padding: 15px;
    font-size: 14px;
    line-height: 1.7;
    color: #f00;
    border: 1px #f00 solid;
    background: #fff;
    text-align: left;
    margin: 0 0 30px;
}
.cancel .caution_box {
    margin: 0 0 60px;
}
.caution_box a{
    font-weight: bold;
}
.caution_box .mgn{
    padding: 0 0 1em;
}
.caution_box p{
    padding: 0 0 1em;
}
.caution_box dt{
    margin: 0 0 5px;
    font-weight: bold;
}
.caution_box dd ul li{
    text-indent: -1em;
    padding-left: 1em;
}
.caution_box.errow {
    text-align: center;
}
#container #main .blue_box {
    margin: 0 0 60px;
    background: #daefff;
    border: 1px #329cf0 solid;
}
.cancel .blue_box {
    margin: 0 0 30px;
}
#container #main .blue_box > dt {
    padding: 12px 15px;
    font-size: 16px;
    font-weight: bold;
    text-align: left;
    color: #fff;
    background: #329cf0;
    line-height: 1;
}
#container #main .blue_box > dd {
    margin: 15px;
    font-size: 15px;
    line-height: 1.5;
    text-align: left;
    background: #fff;
    padding: 0;
}
#container #main .blue_box > dd > div{
    background: #fff;
    padding: 13px;
}
#container #main .blue_box > dd > div p{
    font-size: 15px;
    margin: 0 0 1em;
}
#container #main .blue_box > dd > div p:last-child{
    margin: 0;
}
#container #main .blue_box .step_in {
    display: table;
    width: 100%;
    margin: 0 0 50px;
    position: relative;
}
#container #main .blue_box .step_in:last-child{
    margin: 0;
}
#container #main .blue_box .step_in::after{
    content: "";
    background: url(img/arw02.png) no-repeat 0 0;
    background-size: contain;
    width: 30px;
    height: 19px;
    position: absolute;
    bottom: -34px;
    left: 25px;
}
.blue_box .step_in:last-of-type::after{
    display: none;
}
.blue_box .step_in dt,
.blue_box .step_in dd{
    display: table-cell;
}
.blue_box .step_in dt{
    width: 80px;
    text-align: center;
}
.blue_box .step_in dt span{
    display: block;
    background: #fcef07;
    color: #329cf0;
    font-size: 15px;
    font-weight: bold;
    padding: 5px 0;
    border-radius: 0.25em;
}
.blue_box .step_in dd{
    padding: 0 0 0 1em;
}
.blue_box .step_in dd ul li{
    text-indent: -1em;
    padding-left: 1em;
}
.step_box {
    margin: 0 0 60px;
}
.step_box > dt {
    padding: 12px 15px;
    font-size: 16px;
    font-weight: bold;
    text-align: left;
    color: #fff;
    background: #329cf0;
    line-height: 1;
}
.step_box > dd {
    padding: 15px;
    font-size: 16px;
    line-height: 1.5;
    text-align: left;
    border: 1px #329cf0 solid;
    background: #daefff;
}
.step_box > dd > div {
    background: #fff;
    padding: 13px;
}
.step_box .step_in {
    display: table;
    width: 100%;
    margin: 0 0 50px;
    position: relative;
}
.step_box .step_in:last-child{
    margin: 0;
}
.step_box .step_in dt, .step_box .step_in dd {
    display: table-cell;
}
.step_box .step_in dt {
    width: 80px;
    text-align: center;
}
.step_box .step_in dt span {
    display: block;
    background: #fcef07;
    color: #329cf0;
    font-size: 15px;
    font-weight: bold;
    padding: 5px 0;
    border-radius: 0.25em;
}
.step_box .step_in dd {
    padding: 0 0 0 1em;
}
.step_box .step_in dd ul li {
    text-indent: -1em;
    padding-left: 1em;
}
.step_box .step_in::after {
    content: "";
    background: url(img/arw02.png) no-repeat 0 0;
    background-size: contain;
    width: 30px;
    height: 19px;
    position: absolute;
    bottom: -34px;
    left: 25px;
}
.step_box .step_in:last-of-type::after{
    display: none;
}
#form_wrap{
    text-align: left;
}
#form_wrap .form_tit {
    border-top: 2px solid #fcef07;
    border-bottom: 2px solid #fcef07;
    color: #329cf0;
    font-size: 26px;
    padding: 10px 0 10px 40px;
    margin: 0 0 30px;
    background: url(img/nav15.png) no-repeat 5px center;
    background-size: 29px auto;
}
#form_wrap .memo{
    font-size: 14px;
    line-height: 1.4;
    color: #f00;
    margin: 10px 0 0;
    background: initial;
}
#form_wrap .memo2{
    font-size: 14px;
    margin: 0 0 10px;
}
#form_wrap .must{
    display: inline-block;
    font-size: 14px;
    color: #f00;
    margin: 0 0 0 0.2em;
}
#form_wrap dl dt .must{
    font-size: 16px;
}
#form_wrap dl dd{
    padding: 20px 0 40px;
}
#form_wrap dl:last-of-type dd{
    padding: 20px 0 10px;
}
#form_wrap dl dd select{
    height: 34px;
    border: 1px solid #ccc;
    border-radius: 3px;
    padding: 0 10px;
    box-sizing: border-box;
}
#form_wrap dl dd div.inline,
#form_wrap dl dd div.date_box div{
    display: inline-block;
}
#form_wrap dl dd div.inline,
#form_wrap dl dd div.date_box{
    margin: 0 0 10px;
}
#main #form_wrap .subtit {
    display: block;
    font-size: 16px;
    font-weight: bold;
    padding: 0;
    border-bottom: none;
    margin: 20px 0 10px;
}
#main #form_wrap div:first-of-type .subtit {
    margin: 0 0 10px;
}
#form_wrap .radio_box.mgn{
    margin: 0 0 20px;
}
#form_wrap .radio_box label{
    margin: 0 20px 0 0;
}
#form_wrap .radio_box label:last-child{
    margin: 0;
}
#form_wrap .radio_box2 label {
    margin: 0 20px 0 0;
}
#form_wrap .check{
    margin: 20px 0 0;
}
#form_wrap .check:before{
    content: '';
    display: table;
}
#form_wrap .check:after{
    content: '';
    display: table;
    clear: both;
}
#form_wrap .check label{
    float: left;
    margin: 0 0 10px 0;
    width: 25%;
}
#form_wrap .check.radio label{
    width: auto;
    margin: 0 20px 0 0;
}
#form_wrap .check label input[type="radio"],
#form_wrap .check label input[type="checkbox"]{
    margin: 0 0.5em 0 0;
}
#form_wrap .check.select label{
    width: 25%;
    float: left;
    margin: 0 0 10px;
}
#form_wrap .check.select label input[type="checkbox"]{
    margin: 0 0.5em 0 0;
}
#form_wrap .check label input{
    margin: 0;
}
#form_wrap .short{
    margin: 10px 0 0;
}
#form_wrap[type="text"]{
    height: 34px;
    border: 1px solid #ccc;
    border-radius: 3px;
    padding: 0 5px;
    box-sizing: border-box;
}
#form_wrap input[type="text"],
#form_wrap select{
    height: 34px;
}
#form_wrap textarea{
    width: 100%;
    box-sizing: border-box;
}
#form_wrap input[type="text"],
#form_wrap select,
#form_wrap textarea{
    border: 1px solid #ccc;
    border-radius: 3px;
    padding: 0 10px;
    box-sizing: border-box;
}
#form_wrap dl dd.w2 input[type="text"]{
    width: 100px;
}
#form_wrap dl dd.w3 input[type="text"]{
    width: 80%;
}
#form_wrap tr td.w20 input[type="text"]{
    width: 100px;
}
#form_wrap dl dd textarea{
    width: 100%;
    height: 100px;
    border: 1px solid #ccc;
    border-radius: 3px;
    padding: 10px 5px;
    box-sizing: border-box;
}
#form_wrap .ta_c{
    width: 300px;
    margin: 50px auto;
}
#form_wrap .ta_c input[type="submit"] {
    width: 100%;
    height: 70px;
    background: #fff url(img/form_icon.png) no-repeat 94% center;
    background-size: 29px auto;
    border: 2px solid #e3026d;
    border-radius: 0.25em;
    cursor: pointer;
    color: #e3026d;
    font-size: 20px;
    font-weight: bold;
    box-sizing: border-box;
    transition: all .4s;
    outline: none;
}
#form_wrap .ta_c input[type="submit"]:hover {
    background: #e3026d url(img/form_icon_on.png) no-repeat 94% center;
    color: #fff;
}
#form_wrap .hide_wrap{
    padding: 12px 0 0;
}
#form_wrap .hide_box{
}
#form_wrap label.bold{
    display: block;
    font-size: 18px;
    font-weight: bold;
    color: #329cf0;
    background: #daefff;
    padding: 10px;
    line-height: 1.4;
    margin: 20px 0;
}
#form_wrap label.bold span{
    color: #f00;
}
#form_wrap .date_box .date{
    display: inline-block;
}
#form_wrap .date_box .time{
    display: inline-block;
}
#form_wrap .mgn20 strong{
    display: block;
    font-size: 18px;
    font-weight: bold;
    color: #329cf0;
    background: #daefff;
    padding: 10px;
    line-height: 1.4;
}
#form_wrap.request .mgn20 .mgn05{
    display: inline-block;
}
#form_wrap .mgn20.fl_box .mgn05{
    float: left;
}
#form_wrap .mgn20.fl_box #form_video02 .ta_l.red{
    float: left;
}
#form_wrap .mgn20.fl_box #form_video02 .mgn05{
    margin: 0 0 20px;
}
#form_wrap.request .mgn20.fl_box .ta_l.red{
    margin: 0;
}
#form_wrap.request .mgn20 .mgn05 select{
    margin: 0;
}
#form_wrap.request .mgn20 .mgn05 .error{
    display: inline-block;
    margin: 0 0 0 0.5em;
}
#form_wrap .mgn20 .ta_l.red{
    display: block;
    font-size: 14px;
    line-height: 1.4;
    color: #f00;
    margin: 10px 0 20px;
}
#form_wrap.request .mgn20 .mgn15 .date_box{
    display: table-cell;
        white-space: nowrap;
}
#form_wrap.request .mgn20 .mgn15.select_area:first-of-type{
    margin: 20px 0 10px 0;
}
#form_wrap.request .mgn20 .mgn15.select_area{
    display: table;
    margin: 0 0 10px;
}
#form_wrap.request .mgn20 .mgn15.select_area .mgn05{
    float: none;
    display: table-cell;
    vertical-align: middle;
    padding: 0 2% 0 0;
    width: 6em;
}
#form_wrap.request .mgn20 .mgn15.select_area .date{
    display: inline-block;
    vertical-align: middle;
}
#form_wrap.request .mgn20 .mgn15.select_area .time{
    display: inline-block;
    vertical-align: middle;
}
#form_wrap.request .mgn20 .mgn15 select{
    margin: 0;
}
#form_wrap.request .mgn20 .mgn10 select{
    margin: 0 0 10px;
}
#form_wrap.request .mgn20 .mgn10 + .short input[type="text"]{
    margin: 0;
}
#form_wrap .mgn20 .f14.bold{
    float: none;
    display: block;
    font-size: 16px;
    font-weight: bold;
    padding: 0;
    border-bottom: none;
    margin: 20px 0 10px;
    color: #329cf0;
    line-height: 1.4;
    width: 100%;
}
#form_wrap .mgn20.fl_box .f14.bold{
    margin-top: 0;
}
#form_wrap .mgn20 .f14.bold span,
#form_wrap .mgn10 .f14.bold span{
    display: inline-block;
    font-size: 14px;
    color: #f00;
    margin: 0 0 0 0.2em;
}
#form_wrap .mgn20 .gray.f12.mgn10{
    margin: 0 0 10px;
}
#form_wrap .mgn10 .f14.bold{
    float: none;
    display: block;
    font-size: 16px;
    font-weight: bold;
    padding: 0;
    border-bottom: none;
    margin: 20px 0 10px;
    color: #329cf0;
    line-height: 1.4;
}
#form_wrap .mgn20 .time_select{
    margin: 0 0 10px;
}
#form_wrap .mgn20 .time_select br{
    display: none;
}
#form_wrap .mgn20 .f14 + .check.select label{
    width: 25%;
    float: left;
    margin: 0 0 10px;
}
#form_wrap .mgn20 .f14 + select{
    margin: 0;
}
#form_wrap .mgn20 .f14 + textarea{
    margin: 0 0 40px;
}
#form_wrap .mgn20 .f14 + input[type="text"]{
    margin: 0;
    box-sizing: border-box;
}
#form_wrap .mgn20.last_select select{
    margin: 0;
}
#form_wrap .mgn20 .mgn15 textarea{
    margin: 0 0 10px;
}
#form_wrap textarea{
    width: 100%;
    height: 100px;
    border: 1px solid #ccc;
    border-radius: 3px;
    padding: 10px 5px;
    box-sizing: border-box;
}
#form_wrap .mgn20 .check.mgn20 label{
    float: left;
    margin: 0 0 10px 0;
    width: 25%;
}
#form_wrap .mgn20 .check.mgn20.radio label{
    display: inline-block;
    margin: 0 20px 0 0;
    width: auto;
}
#form_wrap .mgn20.last_select{
    margin: 0;
}
#form_wrap p strong{
    margin: 0 0 40px;
    font-size: 14px;
    line-height: 1.4;
    color: #f00;
    background: none;
    font-weight: normal;
}
#form_wrap.re_request .date_box{
    margin: 20px 0 10px 0;
}
#form_wrap.re_request .date_box select{
    margin: 0;
}
#form_wrap.re_request .ta_l.red{
    font-size: 14px;
    line-height: 1.4;
    color: #f00;
}
#form_wrap.re_request textarea{
    width: 100%;
    height: 100px;
    border: 1px solid #ccc;
    border-radius: 3px;
    padding: 10px 5px;
    box-sizing: border-box;
}
#form_wrap.re_request .mgn20 .mgn15 textarea{
    margin: 0 0 10px;
}
#form_wrap.re_request .mgn20 .mgn20 select{
    margin: 0;
}
#form_wrap.re_request .mgn10 select{
    margin: 0;
}
#form_wrap.re_request .mgn20 .mgn05 select{
    margin: 0 0 10px;
}
#form_wrap.re_request .short input{
    margin: 0;
}
#form_wrap .mgn20 strong{
    display: block;
    font-size: 18px;
    font-weight: bold;
    color: #329cf0;
    background: #daefff;
    padding: 10px;
    line-height: 1.4;
    margin: 20px 0;
}
#form_wrap.re_request .mgn20 .f14{
    margin:
}
#form_wrap.re_request .mgn20 .f14 + select{
    margin: 0;
}
#form_wrap.re_request input[type="text"] + .ta_l.red{
    margin: 10px 0 20px;
    font-size: 14px;
    line-height: 1.4;
    color: #f00;
}
#form_wrap .mw_wp_form .error{
    color: #f00;
    margin: 10px 0 0 0;
}
#form_wrap .mw_wp_form .check .error{
    float: left;
    margin: 0;
}
.request #tab.three li {
    width: 32%;
    margin: 0 0 -2px;
}#form_wrap strong{
    display: block;
    font-size: 18px;
    font-weight: bold;
    color: #329cf0;
    background: #daefff;
    padding: 10px;
    line-height: 1.4;
    margin: 20px 0;
}
#form_wrap .mgn20 + p strong.plane{
    margin: 0 0 40px;
    font-size: 14px;
    line-height: 1.4;
    color: #f00;
    background: none;
    font-weight: normal;
}
#form_wrap .mgn20 + p strong{
    display: block;
    font-size: 18px;
    font-weight: bold;
    color: #329cf0;
    background: #daefff;
    padding: 10px;
    line-height: 1.4;
    margin: 20px 0;
}
#form_wrap strong span{
    font-size: 16px;
    color: #f00;
}
#form_wrap .complete strong{
    color: initial;
    font-size: initial;
    background: initial;
    line-height: initial;
    margin: 0;
    padding: 0;
}
#form_wrap.fan br{
    display: none;
}
#form_wrap.fan .check{
    margin: 20px 0 0;
}
#form_wrap.fan .check.select label{
    width: 25%;
    float: left;
    margin: 0 0 10px;
}
#form_wrap.fan .check.radio{
    margin: 20px 0 40px 0;
}
#form_wrap.fan .check.radio label{
    display: inline-block;
    width: auto;
    margin: 0 20px 0 0;
}
#form_wrap.fan .ta_l{
    display: block;
    font-size: 16px;
    font-weight: bold;
    padding: 0;
    border-bottom: none;
    margin: 0;
    color: #329cf0;
    margin: 20px 0;
    line-height: 1.3;
}

@media (max-width: 1050px) {
    #form_wrap .mgn20 .check.mgn20 label{
        width: 50%;
        margin: 0 0 20px 0;
    }
}
@media ( max-width: 860px ){
    .request #tab.three li a {
        font-size: 15px;
    }
    #form_wrap dl dd.w3 input[type="text"]{
        width: 100%;
    }
    #form_wrap .check label{
        width: 50%;
    }
    .blue_box .step_in {
        display: block;
    }
    .blue_box .step_in dt,
    .blue_box .step_in dd{
        display: block;
    }
    .blue_box .step_in dt{
        margin: 0 0 8px;
    }
    .blue_box .step_in dd{
        padding: 0;
    }
    .step_box .step_in dt,
    .step_box .step_in dd {
        display: block;
    }
    .step_box .step_in dt{
        margin: 0 0 8px;
    }
    .step_box .step_in dd{
        padding: 0;
    }
    #form_wrap.request .mgn20 .mgn05{
        display: block;
        margin: 0 0 10px;
    }
}
@media ( max-width: 750px ){
    #form_wrap dl dd.w1 input[type="text"]{
        width: 100%;
    }
    #form_wrap tr td.w20 input[type="text"] {
        width: 30%;
    }
    #form_wrap .check label{
        margin: 0;
        padding: 0.66vw 0;
    }
}
@media ( max-width: 700px ){
    .request #tab li a {
        font-size: 16px;
    }
    .request #tab.three li a {
        font-size: 13px;
    }
}
@media ( max-width: 640px ){
    .request #tab li a {
        font-size: 4vw;
    }
    .request #tab.three li{
        margin: 0 0 -0.5vw;
    }
    .request #tab.three li a {
        font-size: 3.4vw;
    }
    .caution_box {
        padding: 2vw;
        font-size: 3.73vw;
        border: 0.33vw #f00 solid;
        margin: 0 0 4vw;
    }
    .cancel .caution_box {
        margin: 0 0 6.66vw;
    }
    .caution_box dt{
        margin: 0 0 1vw;
        font-size: 4vw;
    }
    .blue_box {
        margin: 0 0 6.66vw;
    }
    .cancel .blue_box {
        margin: 0 0 4vw;
    }
    .blue_box > dt {
        padding: 2vw;
        font-size: 4vw;
        line-height: 1.3;
    }
    .step_box{
        margin: 0 0 6.66vw;
    }
    .step_box > dd{
        padding: 2.66vw;
        font-size: 3.73vw;
    }
    .step_box > dd > div{
        padding: 2.66vw;
    }
    #container #main #form_wrap dl.blue_box > dd {
        padding: 2.66vw;
        font-size: 3.73vw;
        border: 0.33vw #329cf0 solid;
    }
    #container #main .blue_box > dd{
        margin: 2.66vw;
    }
    #container #main .blue_box > dd > div{
        padding: 2.66vw;
    }
    #container #main .blue_box > dd > div p {
        font-size: 3.73vw;
    }
    #container #main .blue_box .step_in {
        margin: 0 0 4vw;
    }
    #container #main .blue_box .step_in::after{
        display: none;
    }
    #container #main .blue_box .step_in dt{
        width: 20vw;
        margin: 0 0 1.33vw;

    }
    #container #main .blue_box > dt{
        padding: 2vw;
        font-size: 4vw;
        line-height: 1.3;
    }
    #container #main .blue_box .step_in dt span{
        font-size: 4vw;
        padding: 1vw 0;
    }
    #form_wrap.request .mgn20 .mgn05{
        margin: 0 0 1.33vw;
    }
    #form_wrap.request .mgn20.fl_box .mgn05{
        float: none;
        width: 100%;
    }
    #form_wrap.request .mgn20.fl_box .mgn05 select{
        margin: 0;
    }
    #form_wrap .form_tit {
        border-top: 0.5vw solid #fcef07;
        border-bottom: 0.5vw solid #fcef07;
        font-size: 4.66vw;
        padding: 2.33vw 0 2.33vw 7.5vw;
        margin: 0 0 4vw;
        background: url(img/nav15.png) no-repeat 1vw center;
        background-size: 6vw auto;
    }
    #form_wrap .memo{
        font-size: 3.4vw;
        margin: 1.33vw 0 0;
    }
    #form_wrap .memo2{
        font-size: 3.4vw;
        margin: 0 0 1.33vw;
    }
    #form_wrap .must{
        font-size: 3.4vw;
    }
    #form_wrap dl dt .must{
        font-size: 3.6vw;
    }
    #form_wrap .mgn20 strong{
        font-size: 3.88vw;
        padding: 1.33vw;
    }
    #form_wrap dl dd{
        padding: 2.66vw 0 5.33vw;
    }
    #form_wrap dl:last-of-type dd{
        padding: 2.66vw 0 1.33vw;
    }
    #form_wrap dl dd select{
        height: 10vw;
        border-radius: 1vw;
        padding: 0 1.5vw;
    }
    #form_wrap dl dd div.inline{
        display: block;
        margin: 0 0 1.33vw;
    }
    #form_wrap dl dd div.date_box{
        margin: 0 0 1.33vw;
    }
    #form_wrap dl dd div.date_box.mgn{
        padding: 0 0 2vw;
        border-bottom: 0.33vw dashed #ccc;
        margin: 0 0 3vw;
    }
    #form_wrap dl dd div.date_box.mgn:last-child{
        border-bottom: none;
    }
    #form_wrap dl dd div.date_box.mgn .title{
        display: block;
        padding: 0 0 1vw;
    }
    #main #form_wrap .subtit {
        font-size: 3.88vw;
        margin: 2.66vw 0 1.33vw;
    }
    #main #form_wrap div:first-of-type .subtit {
        margin: 0 0 1.33vw;
    }
    #form_wrap .radio_box.mgn {
        margin: 0 0 2.66vw;
    }
    #form_wrap .radio_box label {
        margin: 0;
        width: 50%;
        float: left;
        padding: 1vw 0;
    }
    #form_wrap .radio_box2 label {
        margin: 0;
        padding: 1vw 2vw;
    }
    #form_wrap .short{
        margin: 1.33vw 0 0;
    }
    #form_wrap dl dd input[type="text"]{
        height: 10vw;
        border-radius: 1vw;
        padding: 0 1.5vw;
    }
    #form_wrap dl dd.w2 input[type="text"]{
        width: 25%;
    }
    #form_wrap dl dd textarea{
        height: 28vw;
        border-radius: 1vw;
        padding: 2vw 1.5vw;
    }
    #form_wrap .ta_c{
        width: 80%;
        margin: 6.66vw auto 8vw;
    }
    #form_wrap .ta_c input[type="submit"] {
        height: 14vw;
        border: 0.66vw solid #e3026d;
        background: #e3026d url(img/form_icon_on.png) no-repeat 94% center;
        color: #fff;
        font-size: 5.33vw;
    }
    #form_wrap .mgn20 strong{
        margin: 5.33vw 0 2.66vw;
    }
    #form_wrap .mgn20 .f14.bold{
        font-size: 3.88vw;
        margin: 2.66vw 0 1.33vw;
    }
    #form_wrap .mgn20 .ta_l.red{
        font-size: 3.4vw;
        margin: 1.33vw 0 0;
    }
    #form_wrap select,
    #form_wrap input[type="text"]{
        height: 10vw;
        border-radius: 1vw;
        padding: 0 1.5vw;
        box-sizing: border-box;
    }
    #form_wrap input[type="text"]{
        width: 100%;
    }
    #form_wrap .short input[type="text"]{
        width: 25%;
    }
    #form_wrap textarea{
        height: 28vw;
        border-radius: 1vw;
        padding: 2vw 1.5vw;
    }
    #form_wrap.request .mgn20 .check.mgn20 label,
    #form_wrap.request .mgn20 .check.mgn20.radio label{
        width: 50%;
        margin: 0;
        padding: 1vw 0;
    }
    #form_wrap.request .mgn20 .f14 + textarea{
        margin: 0;
    }
    #form_wrap.request .mgn20 .mgn05:last-child{
        margin: 0;
    }
    #form_wrap.request .mgn20 .mgn15.select_area:first-of-type{
        margin: 2.66vw 0 1.33vw;
    }
    #form_wrap.request .mgn20 .mgn15.select_area{
        margin: 0 0 1.33vw;
    }
    #form_wrap strong{
        font-size: 3.88vw;
        padding: 1.33vw;
    }
    #form_wrap span.red.bold,
    #form_wrap .mgn20 .f14.bold span,
    #form_wrap .mgn10 .f14.bold span,
    #form_wrap p strong{
        font-size: 3.4vw;
    }
    #form_wrap .mgn10 .f14.bold{
        font-size: 3.88vw;
        margin: 2.66vw 0 1.33vw;
    }
    .step_box .step_in{
        margin: 0 0 4vw;
    }
    .step_box .step_in dt{
        width: 20vw;
    }
    .step_box .step_in dt span{
        display: block;
        font-size: 4vw;
        padding: 1vw 0;
    }
    .step_box .step_in dd{
        font-size: 3.73vw;
    }
    .step_box .step_in::after{
        content: none;
    }
    #form_wrap.request .mgn20 .f14 + .check.select label{
        width: 50%;
        margin: 0;
        padding: 0.66vw 0;
        white-space: nowrap;
    }
    #form_wrap .check.select label{
        width: 50%;
        margin: 0;
        padding: 0.66vw 0;
    }
    #form_wrap strong span{
        font-size: 3.4vw;
    }
    #form_wrap.fan .ta_l{
        font-size: 3.73vw;
    }
    #form_wrap .mgn20 + p strong{
        font-size: 3.88vw;
        padding: 1.33vw;
    }
    #form_wrap.re_request input[type="text"] + .ta_l.red{
        font-size: 3.4vw;
        margin: 1.33vw 0 0 0;
    }
    #form_wrap .mgn20 + p strong.plane{
        font-size: 3.4vw;
        margin: 1.33vw 0 0 0;
    }
    #form_wrap.request .mgn20.fl_box .mgn05 select{
        margin: 0 0 1.33vw;
    }
}

/* = faq
-------------------------------------------------------------- */
.case_box {
    margin: 0 0 20px;
    padding: 8px;
    background: #daefff;
}
.case_box dl {
    text-align: left;
    background: #fff;
}
.case_box dl dt {
    padding: 20px 15px 20px 70px;
    background: #fff url(img/arw_down.png) no-repeat 19px center;
    background-size: 32px auto;
    cursor: pointer;
}
.case_box dl dt:hover {
    background: #e9f6ff url(img/arw_down.png) no-repeat 19px center;
    background-size: 32px auto;
}
.case_box dl dt.active {
    background: #fff url(img/arw_up.png) no-repeat 19px center;
    background-size: 32px auto;
}
.case_tit {
    font-size: 22px;
    line-height: 1.1;
}
.case_tit p {
    padding: 0 0 0 8px;
}
.case_box dd {
    display: none;
    padding: 0 15px 15px;
}
.case_box .exa {
    margin: 0 0 15px;
    padding: 15px;
    border: 2px #329cf0 solid;
}
.case_box .exa:last-child{
    margin: 0;
}
.case_box .exa h5{
    font-size: 18px;
    font-weight: bold;
    line-height: 1.3;
    color: #329cf0;
    border-bottom: 1px #329cf0 solid;
    padding: 0 0 5px;
    margin: 0 0 5px;
}
.case_box .exa .question {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.3;
    color: #329cf0;
    border-bottom: 1px #329cf0 solid;
    padding: 0 0 5px;
    margin: 0 0 5px;
}
.case_box .exa p {
    padding: 8px 0 0;
    line-height: 1.5;
    font-size: 15px;
}
.case_box .exa ul{
    padding: 8px 0 0;
    line-height: 1.8;
}
.case_box .faq_tit p{
    padding: 0 0 0 2.5em;
    text-indent: -2.5em;
    line-height: 1.3;
}
@media ( max-width: 640px ){
    .case_box {
        margin: 0 0 3vw;
        padding: 1.5vw;
    }
    .case_box dl dt {
        padding: 3vw 2vw 3vw 8vw;
        background: #fff url(img/arw_down.png) no-repeat 2vw center;
        background-size: 4vw auto;
    }
    .case_box dl dt:hover {
        background: #daefff url(img/arw_down.png) no-repeat 2vw center;
        background-size: 4vw auto;
    }
    .case_box dl dt.active {
        background: #fff url(img/arw_up.png) no-repeat 2vw center;
        background-size: 4vw auto;
    }
    .case_tit {
        font-size: 4.5vw;
    }
    .case_tit p {
        padding: 0 0 0 2vw;
    }
    .case_box dd {
        padding: 0 3% 2vw;
    }
    .case_box .exa {
        margin: 0 0 2vw;
        padding: 3vw;
        border: 0.5vw #329cf0 solid;
    }
    .case_box .exa .question {
        font-size: 4vw;
        border-bottom: 0.33vw #329cf0 solid;
        padding: 0 0 1vw;
        margin: 0 0 1vw;
    }
    .case_box .exa p {
        padding: 1.5vw 0 0;
        font-size: 3.73vw;
    }
    .case_box .exa ul {
        padding: 2vw 0 0;
        font-size: 3.73vw;
    }
    .case_box .exa h5{
        font-size: 4vw;
    }
}

/* = system , system_tel
-------------------------------------------------------------- */
#contents.system .price tr{
    display: block;
    width: 100%;
}
#contents.system .price tr th,
#contents.system .price tr td{
    display: block;
    width: 100%;
}
#contents.system .price tr td .red{
    font-size: 18px;
    font-weight: bold;
    color: #f00;
    line-height: 1.4;
}
#contents.system .price tr td .red.mgn10{
    margin: 0 0 30px;
}
#contents.system .price .subtit2{
    text-align: center;
}
#contents.system .price table{
    display: block;
    width: 100%;
}
#contents.system .price tbody{
    display: block;
    width: 100%;
}
#contents.system .rank tr{
    display: block;
    width: 100%;
}
#contents.system .rank tr th,
#contents.system .rank tr td{
    display: block;
    width: 100%;
}
#contents.system .rank .subtit2{
    text-align: center;
}
#contents.system .rank table{
    display: block;
    width: 100%;
}
#contents.system .rank tbody{
    display: block;
    width: 100%;
}
#contents.system .place tr{
    display: block;
    width: 100%;
}
#contents.system .place tr th,
#contents.system .place tr td{
    display: block;
    width: 100%;
    box-sizing: border-box;
}
#contents.system .place tr td p{
    font-weight: bold;
    font-size: 18px;
}
#contents.system .place tr td p.f12{
    text-align: left;
    font-size: 15px;
    font-weight: normal;
    line-height: 1.4;
}
#contents.system .place tr td p.txt{
    text-align: left;
    font-size: 15px;
    font-weight: normal;
    line-height: 1.4;
}
#contents.system .place tr td img{
    border: dotted 2px #b6daf5;
    margin: 0 0 15px;
}
#contents.system .place .subtit2{
    text-align: center;
}
#contents.system .place table{
    display: block;
    width: 100%;
}
#contents.system .place tbody{
    display: block;
    width: 100%;
}
#contents.system .payment tr{
    display: block;
    width: 100%;
}
#contents.system .payment tr th,
#contents.system .payment tr td{
    display: block;
    width: 100%;
}
#contents.system .place tr th.no_bkg{
    padding: 0 5%;
}
#contents.system .payment tr th.no_bkg{
    padding: 0 5%;
    width: 100%;
    box-sizing: border-box;
}
#contents.system .payment tr th.no_bkg + td{
    padding: 0 5%;
    margin: 0 0 18px;
}
#contents.system .payment .subtit2{
    text-align: center;
}
#contents.system .payment table{
    display: block;
    width: 100%;
}
#contents.system .payment tbody{
    display: block;
    width: 100%;
}
#container #contents .red_box{
    padding: 15px;
    font-size: 14px;
    line-height: 1.7;
    color: #f00;
    border: 1px #f00 solid;
    background: #fff;
    text-align: left;
    margin: 0 0 30px;
    text-align: center;
}
#container #contents .red_box b{
    display: block;
}
.system dl.sec_in > dd{
    padding: 0 50px 50px;
}
.system .sec_in > td{
    padding: 0 50px 50px;
    box-sizing: border-box;
}
.system .sec_in > td dl.s_box .fw4{
    text-align: center
}
.system .sec_in > td dl .fw4{
    text-align: left;
    font-weight: normal;
    font-size: 15px;
}
.system .payment .sec_in td{
    text-align: left;
    font-size: 15px;
    line-height: 1.7;
}
.system .about{
    padding: 0 50px;
    text-align: left;
    margin: -30px 0 50px;
}
.system .about ul li + li{
    margin: 18px 0 0;
}
.system .price .s_box{
    border-bottom: 1px solid #aaa;
    padding: 0 0 20px;
    margin: 0 0 20px;
}
.system .price .box_wrap .cf{
    padding: 0 0 10px;
}
.system .price .box_wrap .mgn15.wide{
    display: inline-block;
    text-align: center;
    background: #329df0;
    font-size: 20px;
    font-weight: bold;
    color: #fff;
    border-radius: 0.25em;
    position: relative;
    margin: 0 20px 10px;
    padding: 65px 20px;
}
.system .price .box_wrap .s_box dd{
    display: inline-block;
    padding: 0;
    font-size: 0px;
}
.system .price .box_wrap .s_box dd.mgn15{
    display: inline-block;
    width: 150px;
    text-align: center;
    background: #329df0;
    font-size: 20px;
    font-weight: bold;
    color: #fff;
    border-radius: 0.25em;
    position: relative;
    margin: 0 20px 10px;
    padding: 65px 0;
}
.system .price .box_wrap .s_box .mgn15::after {
    content: "+";
    color: #329df0;
    position: absolute;
    top: 50%;
    transform: translate(0 , -50%);
    right: -38px;
    font-size: 40px;
}
.system .price .box_wrap .s_box .mgn15:last-of-type::after{
    display: none;
}
.system .price .box_wrap .s_box .mgn15.v2{
    width: auto;
    margin: 0;
    padding: 0 20px;
}
.system .price .box_wrap .s_box .mgn15.v2::after{
    display: none;
}

.system dl.sec_in .campaign_txt{
    font-size: 18px;
    font-weight: bold;
    color: #f00;
    line-height: 1.4;
}
.system dl.sec_in .txt{
    font-size: 15px;
    line-height: 1.4;
    text-align: left;
}
.system dl.sec_in ul.txt li{
    font-size: 15px;
    line-height: 1.7;
    text-align: left;
    text-indent: -1em;
    padding-left: 1em;
}
.system dl.sec_in .maintxt{
    font-size: 18px;
    font-weight: bold;
}
.system dl.sec_in a{
    display: inline-block;
    font-weight: bold;
    font-size: 18px;
}
.system dl.sec_in .link_wrap a{
    margin: 0 10px;
}
.system dl.sec_in{
    padding: 30px 0 0;
}
.system tr.sec_in dl{
    width: 100%;
    box-sizing: border-box;
}
.system tr.sec_in dl p{
    font-weight: bold;
    font-size: 18px;
}
.system tr.sec_in.link p{
    font-weight: bold;
    font-size: 18px;
}
.system tr.sec_in.link td dl:first-child{
    border-bottom: solid 1px #000;
    margin: 0 0 20px;
}
.system tr.sec_in.link td dl:first-child p{
    margin: 0 0 20px;
}
.system tr.sec_in.rank dl{
    display: block;
    border-bottom: solid 1px #000;
    padding: 20px 0;
}
.system tr.sec_in.rank dl:last-of-type{
    margin: 0 0 20px;
}
.system tr.sec_in.rank dl dt{
    padding: 0 0 0 5%;
    vertical-align: middle;
}
.system tr.sec_in.rank .f12.fw4{
    text-align: left;
}
.system tr.sec_in dl.s_box{
    border-bottom: 1px solid #aaa;
}
.system tr.sec_in dl dt,
.system tr.sec_in dl dd{
    display: table-cell;
    vertical-align: middle;
}
.system tr.sec_in dl dt{
    max-width: 200px;
    width: 30%;
}
.system tr.sec_in dl dt img{
    width: 100%;
}
.system tr.sec_in dl dd{
    text-align: left;
    font-size: 22px;
    padding: 0 0 0 50px;
}
.system tr.sec_in dl dd p{
    font-size: 16px;
    line-height: 1.4;
}
.system dl.sec_in .bdr{
    padding: 0 0 20px;
    margin: 0 0 20px;
    border-bottom: 1px solid #aaa;
}
.system dl.sec_in .img_box {
    border: 1px dotted #329df0;
    margin: 0 0 15px;
    position: relative;
    z-index: 1;
}
.system .place dl.sec_in2{
    margin: 0 0 20px;
}
.system .place tr.sec_in dl{
    display: table;
    width: 100%;
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 5px;
}
.system .place tr.sec_in dl:last-child{
    margin: 15px 0 0 0;
}
.system .place tr.sec_in dl dt,
.system .place tr.sec_in dl dd{
    display: table-cell;
    vertical-align: middle;
}
.system .place tr.sec_in dl dt {
    width: 40%;
    background: #daefff;
    padding: 11px;
    position: relative;
    white-space: nowrap;
}
.system .place tr.sec_in dl dt:before {
    content:" ";
    position: absolute;
    display:inline-block;
    width: 30px;
    height: 100%;
    background: url(img/arw_system.png) no-repeat;
    background-size:contain;
    top: 0;
    right: 0;
    transform: translate(100%,0);
}
.system .place tr.sec_in dl dd{
    padding: 0 0 0 10%;
    text-align: left;
    background: #f5f5f5;
}
.system dl.sec_in .link_wrap{
    display: inline-block;
    margin: 0 auto;
}
.system dl.sec_in .link_wrap p{
    display: inline-block;
}
.system dl.sec_in .link_wrap p + p{
    margin: 0 0 0 1em;
}
.system dl.sec_in .link_wrap p a{
    margin: 0;
}
.system dl.sec_in .link_wrap p a:hover span{
    text-decoration: underline;
}
.system dl.sec_in .link_wrap p span{
    display: inline-block;
}
.system dl.sec_in .link_wrap p span + span{
    margin: 0 0 0 1em;
}
@media ( max-width: 1050px ){
    .system dl.sec_in > dd{
        padding: 0 3% 50px;
    }
    .system .about{
        padding: 0 3%;
        margin: -30px 0 50px;
    }
    .system tr.sec_in dl{
        padding: 0 0 20px;
    }
    .system tr.sec_in dl dd{
        padding: 0 0 0 3%;
        font-size: 18px;
    }
    .system dl.sec_in .link_wrap p{
        display: block;
    }
    .system dl.sec_in .link_wrap p + p{
        margin: 10px 0 0;
    }
    .system .sec_in > td{
        padding: 0 3% 50px;
    }
}
@media ( max-width: 900px ){
    .system .price .box_wrap .box {
        width: 18vw;
        height: 18vw;
        line-height: 18vw;
        font-size: 3.8vw;
        margin: 0 2.5vw;
    }
    .system .price .box_wrap .box::after {
        right: -5.5vw;
        font-size: 6vw;
    }
    .system dl.sec_in .campaign_txt {
        font-size: 15px;
    }
}
@media ( max-width: 640px ){
    .system tr.sec_in dl.s_box{
        margin: 0 0 3vw;
        padding: 0 0 3vw;
    }
    .system .sec_in > td dl .fw4{
        font-size: 3.73vw;
        line-height: 1.4;
    }
    .system dl.sec_in > dd{
        padding: 0 0 6.6vw;
    }
    .system .about{
        padding: 0;
        margin: -3.3vw 0 6.6vw;
    }
    .system .about ul li + li{
        margin: 2.5vw 0 0;
    }
    .system .price .box_wrap{
        padding: 0 0 3vw;
        margin: 0 0 3vw;
    }
    .system .price .box_wrap .cf{
        padding: 0 0 1.5vw;
    }
    .system .price .box_wrap .box.v2 {
        padding: 0 3vw;
    }
    #contents.system .price tr td .red{
        font-size: 4vw;
    }
    #contents.system .price tr td .red.mgn10{
        margin: 0;
    }
    .system .place tr.sec_in dl,
    #contents.system .place tr td p{
        font-size: 3.73vw;
    }
    .system tr.sec_in.link p{
        font-size: 4vw;
    }
    .system dl.sec_in .txt{
        font-size: 3.73vw;
    }
    .system dl.sec_in ul.txt li{
        font-size: 3.73vw;
    }
    .system dl.sec_in .maintxt{
        font-size: 4vw;
    }
    .system dl.sec_in a{
        font-size: 4vw;
        padding: 2vw 1vw;
    }
    .system dl.sec_in .link_wrap a{
        margin: 0;
    }
    .system dl.sec_in{
        padding: 4vw 0 0;
    }
    .system tr.sec_in dl{
        padding: 3vw 3%;
    }
    .system tr.sec_in.rank dl{
        padding: 3vw 3%;
    }
    .system tr.sec_in dl:last-of-type{
        margin: 0 0 3vw;
    }
    .system tr.sec_in dl dt{
        max-width: auto;
    }
    .system tr.sec_in.rank dl dt{
        padding: 0;
    }
    .system tr.sec_in dl dd{
        font-size: 4.2vw;
    }
    .system tr.sec_in dl dd p{
        font-size: 3.8vw;
    }
    .system dl.sec_in .bdr{
        padding: 0 0 3vw;
        margin: 0 0 3vw;
    }
    .system dl.sec_in .img_box {
        border: 0.13vw dotted #329df0;
        margin: 0 0 2vw;
    }
    .system .place dl.sec_in2{
        margin: 0 0 3vw;
    }
    .system .place dl.sec_in dl{
        font-size: 3.73vw;
        margin: 0 0 1.33vw;
    }
    .system .place dl.sec_in dl dt {
        width: 36%;
        height: 10vw;
        line-height: 10vw;
    }
    .system .sec_in > td{
        padding: 0 0 6.66vw;
    }
    .system .place dl.sec_in dl dt:before {
        content:" ";
        position: absolute;
        right: -5vw;
        display:inline-block;
        width: 5vw;
        height: 10vw;
        background: url(img/arw_system.png) no-repeat;
        background-size:contain;
    }
    .system .place dl.sec_in dl dd{
        padding: 0 0 0 8%;
        text-align: left;
        background: #f5f5f5;
    }
    .system dl.sec_in .link_wrap p + p{
        margin: 1.33vw 0 0;
    }
    .system .place tr.sec_in dl dt{
        padding: 3vw;
    }
    .system .place tr.sec_in dl dt:after{
        height: 100%;
        background-size: cover;
    }
    .system .place tr.sec_in dl dd {
        padding: 0 0 0 6%;
    }
    #contents.system .place tr td p.f12,
    #contents.system .place tr td p.txt,
    #contents.system .payment tr p{
        font-size: 3.73vw;
    }
    #contents.system .payment tr th.no_bkg,
    #contents.system .payment tr th.no_bkg + td,
    #contents.system .place tr th.no_bkg{
        padding: 0;
    }
    .system .price .box_wrap .mgn15.wide{
        padding: 9vw 3vw;
        font-size: 4vw;
    }
    .system .price .box_wrap .s_box dd.mgn15 {
        width: 22vw;
        padding: 9vw 0;
        font-size: 4vw;
        margin: 0 2.5vw 1.5vw;
    }
    .system .price .box_wrap .s_box .mgn15::after{
        right: -5.2vw;
        font-size: 6vw;
    }
    .system tr.sec_in.link td.nopdng{
        padding: 0;
    }
    .system tr.sec_in.link td dl:first-child{
        padding: 0 3% 3vw 3%;
        margin: 0 0 3vw;
    }
    .system tr.sec_in.link td dl:first-child p{
        margin: 0;
    }
    .system tr.sec_in.link td dl:lat-child{
        padding: 3vw 3% 0 3%;
        margin: 0;
    }
}

/* = freeschedule
-------------------------------------------------------------- */
.freeschedule .lead {
    text-align: left;
    line-height: 1.7;
    margin: 0 0 20px;
}
.freeschedule .lead .line {
    background: linear-gradient(transparent 70%, #ffea00 0%);
}
.freeschedule .calendar {
    border: 1px #329cf0 solid;
    background: #fff;
    margin: 0 0 40px;
}
.freeschedule .date {
    color: #fff;
    background: #329cf0;
    padding: 10px 8px;
    text-align: left;
    font-weight: bold;
}
.freeschedule .schedule {
    text-align: left;
    padding: 10px 8px 5px;
    border-bottom: 1px #329cf0 solid;
}
.freeschedule .schedule:last-child {
    border-bottom: none;
}
.freeschedule a.link {
    display: inline-block;
    text-decoration: none;
    vertical-align: middle;
}
.freeschedule a.link span{
    display: inline-block;
    font-size: 14px;
    margin: 0 5px 5px 0;
    padding: 5px 8px;
    float: left;
}
.freeschedule .no-cast{
    text-align: left;
    padding: 10px 8px 5px;
    border-bottom: 1px #329cf0 solid;
}
.freeschedule .no-cast span{
    display: inline-block;
    font-size: 14px;
    margin: 0 5px 5px 0;
    padding: 5px 8px;
    float: left;
}
.freeschedule .name {
    color: #fff;
    background: #e3026d;
    border: 1px #e3026d solid;
    border-radius: 0.5em;
}
.freeschedule .time {
    color: #333;
    background: #e8e8e8;
    border: 1px #e8e8e8 solid;
    border-radius: 100px;
}
.freeschedule .sample .schedule {
    border: 1px #329cf0 solid;
}
.freeschedule .description {
    padding: 10px 0;
    text-align: left;
    margin: 0 0 20px;
    line-height: 1.5;
}
@media ( max-width: 640px ){
    .freeschedule .lead {
        margin: 0 0 3vw;
        line-height: 1.5;
    }
    .freeschedule .calendar {
        border: 0.33vw #329cf0 solid;
        margin: 0 0 5vw;
    }
    .freeschedule .date {
        padding: 2vw;
    }
    .freeschedule .schedule {
        padding: 2vw 1.5vw 1vw;
        border-bottom: 0.33vw #329cf0 solid;
    }
    .freeschedule a.link span{
        font-size: 3.6vw;
        margin: 0 1vw 1vw 0;
        padding: 1vw 1.5vw;
    }
    .freeschedule .sample .schedule {
        border: 0.33vw #329cf0 solid;
    }
    .freeschedule .description {
        padding: 1.33vw 0;
        margin: 0 0 3vw;
    }
    .freeschedule .no-cast{
        padding: 2vw 1.5vw 1vw;
        border-bottom: 0.33vw #329cf0 solid;
    }
    .freeschedule .no-cast span{
        font-size: 3.6vw;
        margin: 0 1vw 1vw 0;
        padding: 1vw 1.5vw;
    }
}

/* = blog , voice ,article
-------------------------------------------------------------- */
#main .list .subtit2 {
    margin: 0 0 10px;
    color: #329cf0;
    line-height: 1.3;
    text-align: left;
}
#main .list .subtit2 a{
    color: #329cf0;
}
#main .date_cat_box{
    text-align: right;
    margin: 0 0 5px;
}
#main .date_cat_box span{
    display: inline-block;
    font-size: 13px;
    color: #329cf0;
    line-height: 1.0;
}
#main .date_cat_box span.cat {
    margin: 0 0 0 0.5em;
    border: 1px solid #329cf0;
    padding: 2px 5px 0;
}
#main .date_cat_box span.cat.cast {
    border: 1px solid #e3026d;
    color: #e3026d;
}
#main .return a{
    display: inline-block;;
    color: #329cf0;
    font-size: 16px;
    text-decoration: none;
    background: #fff;
    border: 1px solid #329cf0;
    border-radius: 0.5em;
    box-sizing: border-box;
    padding: 30px;
}
#main .return a:hover{
    color: #fff;
    background: #329cf0;
}
#post_wrap .post_title {
    text-align: left;
    color: #329cf0;
    font-size: 32px;
    border-left: 4px solid #329cf0;
    padding: 20px 0 20px 24px;
    position: relative;
    box-sizing: border-box;
    margin: 0 0 45px;
    line-height: 1.2;
    height: auto;
    background: none;
}
#post_wrap .post_title:before{
    content: none;
}
#post_wrap .post_title::after{
    content: "";
    background: #329cf0;
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: -15px;
    left: -4px;
}
#post_wrap .post_img{
    text-align: center;
    margin: 0 0 50px;
    box-sizing: border-box;
    box-shadow: 0 0 3px 0 rgba(0,0,0,.05), 0 2px 3px 0 rgba(0,0,0,.15);
}
.post_content{
    text-align: left;
    line-height: 1.7;
    margin: 0 0 50px;
}
.post_content .iframe_wrap{
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    overflow: hidden;
}
.post_content iframe{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.post_content p{
    padding: 0 0 1.5em;
}
.post_content h3 {
    color: #329cf0;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.4;
    padding: 0 0 15px;
    border-bottom: 1px solid #329cf0;
}
.post_content h4 {
    text-align: left;
    display: block;
    margin: 0 0 20px;
    font-size: 18px;
    color: #329cf0;
    background: #daefff;
    padding: 10px;
    line-height: 1.4;
}
.post_content img {
    max-width: 100%;
    box-shadow: 0 0 3px 0 rgba(0,0,0,.05), 0 2px 3px 0 rgba(0,0,0,.15);
    margin: 5px 10px 10px;
}
.post_content a{
    color: #329cf0;
    text-decoration: none
}
.post_content a:hover{
    text-decoration: underline;
}

@media ( max-width: 1050px ){
    #post_wrap .post_title {
        font-size: 28px;
        padding: 15px 0 15px 20px;
    }
}
@media ( max-width: 640px ){
    #main .list .subtit2 {
        margin: 0 0 2vw;
    }
    #main .date_cat_box{
        margin: 0 0 1vw;
    }
    #main .date_cat_box span{
        font-size: 3.5vw;
    }
    #main .date_cat_box span.cat {
        border: 0.13vw solid #329cf0;
        padding: 0.5vw 1vw 0;
    }
    #main .date_cat_box span.cat.cast {
        border: 0.13vw solid #e3026d;
    }
    #main .return a{
        font-size: 4vw;
        padding: 4vw;
        color: #fff;
        background: #329cf0;
    }
    #main .return a:hover{
        color: #fff;
        background: #329cf0;
    }
    #post_wrap .post_title {
        font-size: 6vw;
        border-left: 1vw solid #329cf0;
        padding: 2.4vw 0 2.4vw 3.4vw;
        margin: 0 0 6vw;
    }
    #post_wrap .post_title::after{
        bottom: -2vw;
        left: -1vw;
    }
    #post_wrap .post_img{
        margin: 0 0 4vw;
    }
    .post_content{
        margin: 0 0 6vw;
    }
    .post_content h3 {
        font-size: 4.5vw;
        padding: 0 0 2vw;
        border-bottom: 1px solid #329cf0;
    }
    .post_content h4 {
        font-size: 4.5vw;
        padding: 2vw;
    }
    .post_content a{
        text-decoration: underline;
    }
}

/* = change , cancel
-------------------------------------------------------------- */
.change .caution_box table {
    width: 100%;
    font-size: 14px;
    color: #333;
    margin: 0 0 20px;
}
.change .caution_box table th {
    width: 6em;
    padding: 10px;
    font-weight: bold;
    text-align: center;
    background: #f7f7f7;
    border: 1px #ccc solid;
}
.change .caution_box table thead th {
    width: auto;
    padding: 8px;
    background: #FFE0E0;
}
.change .caution_box table td {
    padding: 10px;
    text-align: left;
    border: 1px #ccc solid;
}
.change .caution_box dl{
    font-size: 14px;
    margin: 0 0 15px;
}
.change .caution_box dl:last-child{
    margin: 0;
}
.change .caution_box dl dt{
    margin: 0;
}
#contents.change #form_wrap .mgn20.in_mgn{
    margin: 0 0 20px;
}
#contents.change #form_wrap .mgn20.in_mgn + strong{
    font-size: 15px;
    font-weight: normal;
    color: #f00;
    background: none;
}
#contents.change #form_wrap .mgn20.in_mgn + strong.subtit{
    display: block;
    font-size: 18px;
    font-weight: bold;
    color: #329cf0;
    background: #daefff;
    padding: 10px;
    line-height: 1.4;
    margin: 20px 0;
}
#contents.change #form_wrap .red.f12.mgn05 + .mgn20.in_mgn{
    margin: 10px 0 20px 0;
}
#contents.change #form_wrap .mgn20.in_mgn .ta_l.red{
    margin: 10px 0 0 0;
}
#contents.change #form_wrap .f14.bold{
    text-align: left;
    color: #329cf0;
    line-height: 1.4;
    font-size: 16px;
    font-weight: bold;
    margin: 0 0 10px;
}
#contents.change #form_wrap .f14.bold span{
    color: #f00;
    font-size: 15px;
}
#contents.change #form_wrap .mgn20.in_mgn .f14.bold.mgn05{
    text-align: left;
    color: #329cf0;
    line-height: 1.4;
    font-size: 16px;
    font-weight: bold;
    margin: 0 0 10px;
}
#tab .w960{
    display: none;
}
#tab.line2 li{
    line-height: 1.3;
}
@media ( max-width: 960px ){
    #tab .w960{
        display: inline-block;
    }
}
@media ( max-width: 640px ){
    #tab.line2 li a {
            padding: 1.5vw 0;
            font-size: 4vw;
            letter-spacing: 0.05em;
    }
}

/* = rules
-------------------------------------------------------------- */
#main .rules .txt_box{
    padding: 0 0.5em 40px;
}
.rules ol > li {
    list-style: decimal;
    list-style-position: inside;
    padding-left: 1.2em;
    text-indent: -1.3em;
}
.rules ol > li > ol{
    padding: 0.5em 0 0.5em 1.5em;
}
.rules ol > li > ol > li {
    font-size: 14px;
    list-style: none;
    counter-increment: cnt1;
    padding-left: 2em;
    text-indent: -2.6em;
    position: relative;
}
.rules ol > li > ol > li:nth-child(n + 10) {
    padding-left: 2.5em;
    text-indent: -3.2em;
}
.rules ol > li > ol > li:before {
    content: "（" counter(cnt1) "）";
}
#rules{
    text-align: left;
    line-height: 1.7;
}
#rules p{
    padding: 0 0.5em 40px;
    line-height: 1.7;
}
#rules ol ul{
    padding: 0 0.5em 40px;
    line-height: 1.7;
}
#rules ol ul p{
    padding: 0;
    padding-left: 3.7em;
    text-indent: -2.5em;
}
#rules strong{
    display: block;
    margin: 0 0 20px;
    font-size: 18px;
    font-weight: bold;
    color: #329cf0;
    background: #daefff;
    padding: 10px;
    line-height: 1;
}
#rules.privacy{
    line-height: 1.7;
}
#rules.privacy strong:first-child{
    margin: 0 0 20px;
}
#rules.privacy strong{
    display: block;
    margin: 0 0 20px;
    font-size: 18px;
    font-weight: bold;
    color: #329cf0;
    background: #daefff;
    padding: 10px;
    line-height: 1;
    margin: 40px 0 20px 0;
}
#rules.privacy b{
    color: #329cf0;
    display: block;
}
@media ( max-width: 1050px ){
    .rules ol > li > ol{
        padding: 0.5em 0;
    }
}
@media ( max-width: 640px ){
    #main .rules .txt_box{
        padding: 0 0.5em 5vw;
    }
    .rules ol > li > ol > li {
        font-size: 3.4vw;
    }
    #rules ol li strong{
        font-size: 3.88vw;
        padding: 1.33vw;
    }
}

/* = company
-------------------------------------------------------------- */
#info{
    border: 1px solid #329cf0;
    border-bottom: none;
}
#info tr{
    display: table;
    width: 100%;
}
#info tr th,
#info tr td{
    display: table-cell;
    vertical-align: middle;
    padding: 1em;
    line-height: 1.4;
}
#info tr th{
    text-align: center;
    white-space: nowrap;
    width: 240px;
    color: #fff;
    background: #329cf0;
    border-bottom: 1px solid #daefff;
}
#info tr:last-child th{
    border-bottom: 1px solid #329cf0;
}
#info tr td{
    text-align: left;
    border-bottom: 1px solid #329cf0;
}
#info table{
    width: 100%;
}
@media ( max-width: 1050px ){
    #info tr th{
        width: 130px;
    }
}
@media ( max-width: 640px ){
    .tbl tr th{
        width: 40%;
    }
    #info tr th{
        width: 45%;
    }
}

/* = concept
-------------------------------------------------------------- */
/*
.concept #sec01 .sec_in {
    background: #bdefff;
    padding: 25px;
    margin: 0 0 30px;
    box-sizing: border-box;
}
.concept #sec01 .sec_in{
    display: table;
    width: 100%;
    margin: 0 0 20px;
}
.concept #sec01 .sec_in .left_box{
    display: table-cell;
    vertical-align: middle;
    min-width: 335px;
}
.concept #sec01 .sec_in .img_box{
    display: table-cell;
    vertical-align: middle;
}
.concept #sec01 .sec_in .left_box p{
    background-color: rgba(255,255,255,0.7);
    line-height: 3em;
    color: #1492d4;
    font-size: 19px;
    padding: 25px 0;
}
.concept #sec01 .sec_in .left_box .uline {
    font-weight: bold;
    background: linear-gradient(transparent 30%, rgba(251, 160, 179, 0.36) 70%);
}
.concept #sec01 .sec_in .txt{
    text-align: left;
    line-height: 1.7;
}
.concept #sec01 .slide{
    overflow: hidden;
    margin: 0 0 50px;
}
.concept #sec01 .slide .flm {
    background: #fff;
    color: #1492d4;
    font-size: 20px;
    padding: 5px 0;
    display: inline-block;
    border: 2px solid #1492d4;
    border-radius: 0.3em;
    width: 100%;
    box-sizing: border-box;
    margin: 0 0 10px;
}
.concept #sec01 .slide .media_slide {
    background: url("img/concept_media_slide.png") repeat-x;
    height: 200px;
    width: 6510px;
    animation: slide 60s linear infinite;
}
@keyframes slide{
    0%{
        transform: translate3d(0, 0, 0);
    }
    100%{
        transform: translate3d(-3255px, 0, 0);
    }
}
.concept #sec02 .sec_in{
    position: relative;
    height: 600px;
}
.concept #sec02 .sec_in .img_box {
    position: absolute;
    left: 0;
    top: 0;
    width: 40%;
}
.concept #sec02 .sec_in .img_box img{
    width: 100%;
}
.concept #sec02 .sec_in li {
    position: absolute;
    padding: 30px 25px;
    border-radius: 50%;
    line-height: 1.3;
}
.concept #sec02 .balloon{
    position: relative;
    height: 600px;
}
.concept #sec02 .sec_in .b_blue li {
    background: #bdefff;
    font-size: 18px;
    font-weight: bold;
    color: #1492d4;
    border: 2px dashed #1492d4;
}
.concept #sec02 .sec_in .b_glay li {
    background: #f9f9f9;
    font-size: 14px;
    border: 2px dashed #ababab;
}
.concept #sec02 .sec_in .bl01 {
    top: 0;
    left: 41%;
}
.concept #sec02 .sec_in .bl02 {
    top: 20%;
    left: 69%;
}
.concept #sec02 .sec_in .bl03 {
    top: 36%;
    left: 35%;
}
.concept #sec02 .sec_in .bl04 {
    top: 62%;
    left: 70%;
}
.concept #sec02 .sec_in .bl05 {
    top: 60%;
    left: 29%;
}
.concept #sec02 .sec_in .bl06 {
    top: 2%;
    left: 71%;
}
.concept #sec02 .sec_in .bl07 {
    top: 21%;
    left: 39%;
}
.concept #sec02 .sec_in .bl08 {
    top: 40%;
    left: 75%;
}
.concept #sec02 .sec_in .bl09 {
    top: 53%;
    left: 50%;
}
.concept #sec02 .sec_in .bl10 {
    top: 63%;
    left: 0;
}
.concept #sec03{
    margin: 0 0 50px;
}
.concept #sec03 .sec_in>div {
    position: relative;
    margin: 0 0 20px;
    padding: 20px;
}
.concept #sec03 .sec_in .idol {
    background: #ffe8ef url(img/concept23.png) no-repeat 100% bottom;
    background-size: 40% auto;
}
.concept #sec03 .sec_in .trainer {
    background: #dafff3 url(img/concept24.png) no-repeat 100% bottom;
    background-size: 40% auto;
}
.concept #sec03 .sec_in .kikijo {
    background: #daf6ff url(img/concept25.png) no-repeat 100% bottom;
    background-size: 40% auto;
}
.concept #sec03 .sec_in .box1 {
    padding: 20px 20px 20px 40px;
    border: 2px dashed #c7c7c7;
    background: #f7f7f7;
    width: 50%;
    font-weight: bold;
    margin: 0 0 20px;
    box-sizing: border-box;
    line-height: 37px;
}
.concept #sec03 .sec_in .box1 p {
    position: relative;
    width: fit-content;
}
.concept #sec03 .sec_in .box1 p:nth-child(1):before,
.concept #sec03 .sec_in .box1 p:nth-child(2):before {
    content: "✓";
    color: #1492d4;
    font-size: 30px;
    font-weight: bold;
    position: absolute;
    left: -24px;
}
.concept #sec03 .sec_in .txt{
    line-height: 1.7;
    text-align: left;
    padding: 0 23% 0 0;
}
.concept #sec03 .sec_in .txt p{
    padding: 0 0 1em;
    font-weight: bold;
    text-shadow: 1px 1px 3px #fff;
}
.concept .marker {
    background:
        rgba(0, 0, 0, 0)
        repeat scroll 0 0;
    font-size: 22px;
    font-weight: bold;
    margin: auto;
}
.concept .marker.pink {
    background: linear-gradient(transparent 60%, #FFDFEF 0%);
    color: #000;
}
.concept .marker.blue{
    background: linear-gradient(transparent 60%, #cce5ff 0%);
    color: #000;
}
.concept .marker.green {
    background: linear-gradient(transparent 60%, #cdffcc 0%);
}
.concept #sec04{
    margin: 0 0 50px;
}
.concept #sec04 .sec_in > div{
    position: relative;
    text-align: left;
    line-height: 1.7;
    display: table;
    min-height: 255px;
}
.concept #sec04 .sec_in > div::after{
    content: "";
    background: #329cf0;
    background-size: contain;
    transform: rotate(6.5deg);
    width: 101%;
    height: 3px;
    position: absolute;
    bottom: 0;
    left: -0.5%;
}
.concept #sec04 .sec_in > div.right{
    min-height: 316px;
}
.concept #sec04 .sec_in > div.right::after{
    transform: rotate(-6.5deg);
}
.concept #sec04 .sec_in > div:last-child::after{
    display: none;
}
.concept #sec04 .sec_in > div .img_box{
    width: 40%;
    display: table-cell;
    vertical-align: middle;
}
.concept #sec04 .sec_in > div .img_box.sp{
    display: none;
}
.concept #sec04 .sec_in > div .txt{
    font-size: 14px;
    display: table-cell;
    vertical-align: middle;
    padding: 0 0 0 2%;
}
.concept #sec04 .sec_in > div.right .txt {
    padding: 0 2% 0 0;
}
.concept #sec04 .sec_in > div .txt h3 {
    color: #329cf0;
    font-weight: bold;
    padding: 0 0 0.5em;
    font-size: 16px;
}
.concept .c_voice ul {
    width: 32%;
}
.concept .c_voice .left {
    float: left;
}
.concept .c_voice .right {
    float: right;
}
.concept .c_voice .center {
    margin: 30px auto 0;
}
.concept .c_voice li {
    position: relative;
    background: #fdfdfd;
    margin-bottom: 35px;
    padding: 25px 15px 10px;
    border-radius: 3px;
    box-shadow: 0 2px 5px 1px rgba(0,0,0,.2);
    text-align: left;
    font-size: 14px;
    line-height: 1.5;
}
.concept .c_voice li:last-child {
    margin-bottom: 35px;
}
.concept .c_voice li:before {
    content: "";
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
}
.concept .c_voice .left li:nth-child(1):before {
    background: url(img/concept10.png) no-repeat;
    background-size: contain;
    width: 165px;
    height: 41px;
}
.concept .c_voice .left li:nth-child(2):before {
    background: url(img/concept11.png) no-repeat;
    background-size: contain;
    width: 164px;
    height: 32px;
}
.concept .c_voice .left li:nth-child(3):before {
    background: url(img/concept12.png) no-repeat;
    background-size: contain;
    width: 164px;
    height: 37px;
}
.concept .c_voice .center li:nth-child(1):before {
    background: url(img/concept13.png) no-repeat;
    background-size: contain;
    width: 169px;
    height: 32px;
}
.concept .c_voice .center li:nth-child(2):before {
    background: url(img/concept14.png) no-repeat;
    background-size: contain;
    width: 164px;
    height: 37px;
}
.concept .c_voice .right li:nth-child(1):before {
    background: url(img/concept15.png) no-repeat;
    background-size: contain;
    width: 164px;
    height: 34px;
}
.concept .c_voice .right li:nth-child(2):before {
    background: url(img/concept16.png) no-repeat;
    background-size: contain;
    width: 164px;
    height: 32px;
}
.concept .c_voice .right li:nth-child(3):before {
    background: url(img/concept17.png) no-repeat;
    background-size: contain;
    width: 164px;
    height: 37px;
}
.concept #newslist {
    margin: 0 0 50px;
}
.concept #newslist .fl_img {
    float: left;
    width: 215px;
}
.concept #newslist .fl_img img {
    width: 100%;
    height: auto;
}
.concept #newslist .fl_box {
    width : 70% ;
    width : -webkit-calc(100% - 235px) ;
    width : calc(100% - 235px) ;
    height: 215px;
    overflow-y: scroll;
    float: right;
    border: 1px solid #ddd;
    box-sizing: border-box;
    font-size: 14px;
    text-align: left;
}
.concept #newslist .fl_box ul{
    padding: 0 3%;
}
#sec06 #newslist .fl_box ul li a{
    display: block;
    color: #000;
    padding: 5px 0 0 0;
}
#sec06 #newslist .fl_box ul li a:hover{
    color: #e3026d;
    text-decoration: none;
}
.concept #newslist .fl_box ul li {
    padding: 10px 0;
    border-bottom: 1px solid #ddd;
}
.concept #newslist .fl_box ul li:last-child{
    border-bottom: none;
}
.concept #newslist .fl_box ul li > span,
.concept #newslist .fl_box ul li > a{
    padding: 0 5px;
    line-height: 1.3;
}
.concept #newslist .fl_box ul li .cat span {
    margin: 0 0 0 15px;
    border: 1px solid #329cf0;
    color: #329cf0;
    padding: 0 8px;
    font-size: 13px;
}
.concept #newslist .fl_box ul li > a{
    color: #000;
}
.concept #newslist ::-webkit-scrollbar {
    width: 10px;
}
.concept #newslist ::-webkit-scrollbar-track {
    border-radius: 10px;
    box-shadow: inset 0 0 6px rgba(0, 0, 0, .1);
}
.concept #newslist ::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 50, .5);
    border-radius: 10px;
    box-shadow:0 0 0 1px rgba(255, 255, 255, .3);
}
.concept #sec07 .bg {
    position: relative;
    background: url(img/concept18.png) no-repeat center center;
    background-size: cover;
    height: 300px;
}
.concept #sec07 .bg a {
    width: 66%;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
}
.concept .message_box img {
    width: 25%;
    margin-top: -100px;
    position: relative;
    z-index: 2;
}
.concept .comment {
    position: relative;
    display: inline-block;
    margin: 30px 0;
    padding: 35px 50px 10px;
    color: #555;
    background: #fff;
    border: solid 5px #daefff;
    box-sizing: border-box;
    border-radius: 0.5em;
    width: 68%;
    float: right;
    text-align: left;
}
.concept .comment::before{
    content: "";
    position: absolute;
    top: 5%;
    left: -53px;
    border: 30px solid transparent;
    border-right: 30px solid #FFF;
    z-index: 2;
}
.concept .comment::after{
    content: "";
    position: absolute;
    top: 5%;
    left: -60px;
    border: 30px solid transparent;
    border-right: 30px solid #daefff;
    z-index: 1;
}
.concept .comment p {
    font-size: 22px;
    padding: 0 0 1.2em;
    line-height: 1.5;
}
.concept .comment .u_line{
    text-decoration: underline;
}
.concept .comment .pink{
    font-weight: bold;
}

@media ( max-width: 1250px ){
    .concept #sec04 .sec_in > div .txt{
        padding: 20px 0 20px 2%;
    }
    .concept #sec04 .sec_in > div.right .txt {
        padding: 20px 2% 20px 0;
    }
}
@media ( max-width: 1050px ){
    .concept #sec02 .sec_in li {
        padding: 3vw 2vw;
    }
    .concept #sec02 .sec_in .b_blue li {
        font-size: 1.9vw;
    }
    .concept #sec02 .sec_in .b_glay li {
        font-size: 1.7vw;
    }
    .concept #sec02 .sec_in .bl01 {
        top: 0;
        left: 41%;
    }
    .concept #sec02 .sec_in .bl02 {
        top: 20%;
        left: 69%;
    }
    .concept #sec02 .sec_in .bl03 {
        top: 36%;
        left: 35%;
    }
    .concept #sec02 .sec_in .bl04 {
        top: 62%;
        left: 70%;
    }
    .concept #sec02 .sec_in .bl05 {
        top: 60%;
        left: 29%;
    }
    .concept #sec02 .sec_in .bl06 {
        top: 2%;
        left: 71%;
    }
    .concept #sec02 .sec_in .bl07 {
        top: 21%;
        left: 39%;
    }
    .concept #sec02 .sec_in .bl08 {
        top: 40%;
        left: 75%;
    }
    .concept #sec02 .sec_in .bl09 {
        top: 53%;
        left: 50%;
    }
    .concept #sec02 .sec_in .bl10 {
        top: 63%;
        left: 0;
    }
    .concept #sec03 .sec_in .box1 {
        width: 65%;
    }
    .concept #sec03 .sec_in .idol {
        background-size: 35% auto;
    }
    .concept #sec03 .sec_in .trainer {
        background-size: 35% auto;
    }
    .concept #sec03 .sec_in .kikijo {
        background-size: 35% auto;
    }
}
@media ( max-width: 960px ){
    .concept #sec01 .sec_in .left_box{
        min-width: auto;
        width: 70%;
    }
    .concept #sec01 .sec_in .left_box p{
        font-size: 15px;
        line-height: 2.5em;
    }
    .concept #sec03 .sec_in .txt {
        padding: 0px 25% 0 0;
    }
    .concept .c_voice ul {
        width: 100%;
    }
    .concept .c_voice .left {
        float: none;
    }
    .concept .c_voice .right {
        float: none;
    }
    .concept .c_voice .center {
        margin: 0;
        padding-top: 0;
    }
    .concept #newslist {
        margin: 0 0 6vw;
    }
    .concept #newslist .fl_box {
        width : 100% ;
        float: none;
    }
    .concept #sec07 .bg {
        height: 250px;
    }
    .concept #sec07 .bg a {
        width: 80%;
    }
    .concept .message_box img {
        width: 30%;
        margin-top: -30px;
    }
    .concept .comment {
        padding: 20px 30px 0px;
        width: 65%;
    }
    .concept .comment p {
        font-size: 18px;
        padding: 0 0 1em;
    }
}
@media ( max-width: 840px ){
    .concept #sec03 .sec_in .box1 {
        width: 100%;
    }
}
@media ( max-width: 780px ){
    .concept #sec01 .sec_in .left_box p{
        font-size: 14px;
        line-height: 2em;
    }
}
@media ( max-width: 640px ){
    .concept #sec01 .sec_in {
        padding: 3vw;
        margin: 0 0 4vw;
    }
    .concept #sec01 .sec_in{
        display: block;
        margin: 0 0 3vw;
    }
    .concept #sec01 .sec_in .left_box{
        display: block;
        width: 100%;
    }
    .concept #sec01 .sec_in .img_box{
        display: block;
        width: 70%;
        margin: 0 auto;
    }
    .concept #sec01 .sec_in .left_box p{
        font-size: 4vw;
        padding: 3vw 0;
        margin: 0 0 3vw;
    }
    .concept #sec01 .slide{
        margin: 0 0 5vw;
    }
    .concept #sec01 .slide .media_slide {
        background: url("img/concept_media_slide.png") repeat-x;
        background-size: contain;
        height: 150px;
        width: 4882.5px;;
    }
    .concept #sec01 .slide .flm {
        font-size: 4.4vw;
        padding: 2vw 3vw;
        border: 0.33vw solid #1492d4;
    }
    .concept #sec02 {
        margin: 0 0 6vw;
    }
    .concept #sec02 .sec_in {
        height: auto;
    }
    .concept #sec02 .balloon {
        height: 540px;
    }
    .concept #sec02 .sec_in .img_box {
        position: relative;
        width: 100%;
    }
    .concept #sec02 .sec_in .img_box img{
        width: 60%;
        margin: 0 auto 2vw;
    }
    .concept .balloon li {
        position: absolute;
        padding: 20px 20px;
        text-align: center;
        border-radius: 50%;
    }
    .concept .balloon .b_blue {
        position: relative;
        z-index: 1;
        height: 100%;
    }
    .concept #sec02 .sec_in li {
        padding: 20px 20px;
        width: auto;
        white-space: nowrap;
    }
    .concept #sec02 .sec_in .b_blue li {
        font-size: 15px;
    }
    .concept #sec02 .sec_in .b_glay li {
        font-size: 12px;
    }
    .concept #sec02 .sec_in .bl01 {
        top: 20px;
        left: 1%;
        right: 43%;
    }
    .concept #sec02 .sec_in .bl02 {
        top: 149px;
        left: 41%;
        right: 0%;
    }
    .concept #sec02 .sec_in .bl03 {
        top: 215px;
        left: 11%;
    }
    .concept #sec02 .sec_in .bl04 {
        top: 351px;
        left: 42%;
        right: 4%;
    }
    .concept #sec02 .sec_in .bl05 {
        top: 450px;
        left: 1%;
        right: 45%;
    }
    .concept #sec02 .sec_in .bl06 {
        top: 4px;
        left: 50%;
        right: 2%;
    }
    .concept #sec02 .sec_in .bl07 {
        top: 94px;
        left: 13%;
    }
    .concept #sec02 .sec_in .bl08 {
        top: 268px;
        left: 52%;
    }
    .concept #sec02 .sec_in .bl09 {
        top: 312px;
        left: 0%;
    }
    .concept #sec02 .sec_in .bl10 {
        top: 422px;
        left: 48%;
        right: 2%;
    }
    .concept #sec03{
        margin: 0 0 6vw;
    }
    .concept #sec03 .sec_in>div {
        margin: 0 0 3vw;
        padding: 3vw;
    }
    .concept #sec03 .sec_in .idol {
        background: #ffe8ef url(img/concept23.png) no-repeat 110% bottom;
        background-size: 50% auto;
    }
    .concept #sec03 .sec_in .trainer {
        background: #dafff3 url(img/concept24.png) no-repeat 110% bottom;
        background-size: 50% auto;
    }
    .concept #sec03 .sec_in .kikijo {
        background: #daf6ff url(img/concept25.png) no-repeat 110% bottom;
        background-size: 50% auto;
    }
    .concept #sec03 .sec_in .box1 {
        padding: 2.5vw 2.5vw 2.5vw 5vw;
        border: 0.66vw dashed #c7c7c7;
        margin: 0 0 3vw;
        line-height: 1.8;
    }
    .concept #sec03 .sec_in .box1 p:nth-child(1):before,
    .concept #sec03 .sec_in .box1 p:nth-child(2):before {
        font-size: 4vw;
        left: -4vw;
    }
    .concept #sec03 .sec_in .txt{
        padding: 0 30% 0 0;
    }
    .concept #sec03 .sec_in .txt p{
        text-shadow: 0.33vw 0.33vw 1vw #fff;
    }
    .concept #sec04{
        margin: 0 0 6vw;
    }
    .concept #sec04 .sec_in > div::after {
        height: 1px;
        bottom: 10px;
    }
    .concept #sec04 .sec_in > div .img_box,
    .concept #sec04 .sec_in > div .img_box.sp{
        display: block;
        width: 100%;
    }
    .concept #sec04 .sec_in > div .img_box.pc{
        display: none;
    }
    .concept #sec04 .sec_in > div .txt {
        font-size: 3.73vw;
        display: block;
        vertical-align: middle;
        padding: 0 0 3vw;
    }
    .concept #sec04 .sec_in > div .txt.pad {
        padding: 8vw 0 3vw;
    }
    .concept #sec04 .sec_in > div .txt h3 {
        font-size: 4.5vw;
        padding: 0 0 0.25em;
    }
    .concept .c_voice.cf {
        margin: 10vw 0 0;
    }
    .concept #newslist .fl_box ul li {
        padding: 2.3vw 0;
        display: block;
    }
    .concept #newslist .fl_box ul li > span{
        display: inline-block;
        padding: 0;
    }
    .concept #newslist .fl_box ul li .cat span {
        font-size: 12px;
        border: 1px solid #1782ce;
        padding: 0px 4px;
        margin: 0 0 0 1vw;
    }
    .concept #newslist .fl_box ul li > a{
        display: block;
        margin: 1.5vw 0 0;
        padding: 0;
    }
    .concept #sec07 .bg {
        height: 200px;
    }
    .concept .message_box img {
        margin-top: 10px;
    }
    .concept .comment {
        margin: 20px 0;
        padding: 10px 4% 0px;
    }
    .concept .comment p {
        font-size: 3.73vw;
    }
}
*/
#contents.concept #sec01 .lead_text {
    color: #329cf0;
    line-height: 1.58;
}
#contents.concept #sec01 .text {
    color: #4e4e4e;
    line-height: 1.62;
}
#contents.concept #sec01 .slide{
    overflow: hidden;
    margin: 0 0 50px;
}
#contents.concept #sec01 .slide .flm {
    background: #fff;
    width: 100%;
    box-sizing: border-box;
    color: #eb0095;
    display: block;
}
#contents.concept #sec01 .slide .media_slide {
    background: url("img/concept_media_slide.png") repeat-x;
    height: 200px;
    width: 6510px;
    animation: slide 60s linear infinite;
}
@keyframes slide{
    0%{
        transform: translate3d(0, 0, 0);
    }
    100%{
        transform: translate3d(-3255px, 0, 0);
    }
}
@media ( min-width: 641px ){
    #contents.concept #sec01 {
        margin: 0 0 58px;
    }
    #contents.concept #sec01 .title_image {
        margin: 0 auto 45px;
    }
    #contents.concept #sec01 .lead_text {
        font-size: 24px;
        margin: 0 0 35px;
    }
    #contents.concept #sec01 .text {
        font-size: 16px;
        margin: 0 0 65px;
    }
    #contents.concept #sec01 .slide .flm {
        font-size: 24px;
        border: 2px solid #eb0095;
        border-radius: 7px;
        padding: 18px;
        margin: 0 0 20px;
    }
}
@media ( max-width: 640px ){
    #contents.concept #sec01 {
        margin: 0 0 8vw;
    }
    #contents.concept #sec01 .title_image {
        margin: 0 auto 4vw;
    }
    #contents.concept #sec01 .lead_text {
        font-size: 5.33vw;
        margin: 0 0 4.06vw;
    }
    #contents.concept #sec01 .text {
        font-size: 4vw;
        text-align: left;
        margin: 0 0 6.4vw;
    }
    #contents.concept #sec01 .slide .flm {
        font-size: 4.8vw;
        border: 0.53vw solid #eb0095;
        border-radius: 1.87vw;
        padding: 4vw;
        margin: 0 0 2.67vw;
    }
    #contents.concept #sec01 .slide .media_slide {
        background: url("img/concept_media_slide.png") repeat-x;
        background-size: contain;
        height: 150px;
        width: 4882.5px;;
    }
}
#contents.concept #sec02 .list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#contents.concept #sec02 .list li {
    box-sizing: border-box;
    color: #329cf0;
    background: #daefff;
    line-height: 1.3;
}
#contents.concept #sec02 .list li span {
    color: #eb0095;
}
@media ( min-width: 641px ){
    #contents.concept #sec02 {
        margin: 0 0 50px;
    }
    #contents.concept #sec02 .title_image {
        margin: 0 auto 30px;
    }
    #contents.concept #sec02 .list li {
        width: 48%;
        border-radius: 10px;
        font-size: 20px;
        padding: 20px;
        margin: 0 0 20px;
    }
}
@media ( max-width: 640px ){
    #contents.concept #sec02 {
        margin: 0 0 8vw;
    }
    #contents.concept #sec02 .title_image {
        margin: 0 auto 4vw;
    }
    #contents.concept #sec02 .list li {
        width: 100%;
        border-radius: 2.13vw;
        font-size: 4.8vw;
        padding: 4.27vw;
        margin: 0 0 2.67vw;
    }
}
#contents.concept #sec03 .use:first-of-type {
    border-top: none;
}
#contents.concept #sec03 .use .subtitle {
    color: #329cf0;
    text-align: left;
    line-height: 1.54;
}
#contents.concept #sec03 .use .subtitle span {
    color: #eb0095;
}
#contents.concept #sec03 .use .content_box .text {
    color: #4e4e4e;
    text-align: left;
    line-height: 1.62;
}
@media ( min-width: 641px ){
    #contents.concept #sec03 {
        margin: 0 0 72px;
    }
    #contents.concept #sec03 .use {
        border-top: 1px solid #349aec;
        padding: 38px 0;
    }
    #contents.concept #sec03 .use:first-of-type {
        padding: 8px 0 38px;
    }
    #contents.concept #sec03 .use .subtitle {
        font-size: 22px;
        margin: 0 0 30px;
    }
    #contents.concept #sec03 .use .content_box .image {
        width: 45%;
        float: left;
        margin: 0 15px 15px 0;
    }
    #contents.concept #sec03 .use .content_box .text {
        font-size: 16px;
    }
    #contents.concept #sec03 .use:nth-of-type(even) .content_box .image {
        float: right;
        margin: 0 0 15px 15px;
    }
}
@media ( max-width: 640px ){
    #contents.concept #sec03 {
        margin: 0 0 8vw;
    }
    #contents.concept #sec03 .use {
        border-top: 0.27vw solid #349aec;
        padding: 4.27vw 0;
    }
    #contents.concept #sec03 .use:first-of-type {
        padding: 1.07vw 0 4.27vw;
    }
    #contents.concept #sec03 .use .subtitle {
        font-size: 4.8vw;
        margin: 0 0 4vw;
    }
    #contents.concept #sec03 .use .content_box .image {
        width: 100%;
        margin: 0 0 2.67vw;
    }
    #contents.concept #sec03 .use .content_box .text {
        width: 100%;
        font-size: 4vw;
    }
}
#contents.concept #sec04 .voice {
    position: relative;
    background: #def7fe;
}
#contents.concept #sec04 .voice::before {
    content: '';
    position: absolute;
    border-style: solid;
    background: #98dbee;
    display: block;
    width: 0;
}
#contents.concept #sec04 .voice:nth-of-type(odd)::before {
    top: 0;
    right: 0;
    border-color: #fff #fff #98dbee #98dbee;
}
#contents.concept #sec04 .voice:nth-of-type(even)::before {
    top: 0;
    left: 0;
    border-color: #fff #fff #98dbee #fff;
}
#contents.concept #sec04 .voice .name {
    color: #eb0095;
    line-height: 1;
    text-align: left;
}
#contents.concept #sec04 .voice:nth-of-type(even) .name {
    text-align: right;
}
#contents.concept #sec04 .voice .impressions {
    color: #4e4e4e;
    line-height: 1.5;
    text-align: left;
}
@media ( min-width: 641px ){
    #contents.concept #sec04 {
        margin: 0 0 37px;
    }
    #contents.concept #sec04 .voice {
        font-size: 16px;
        padding: 30px 25px;
        margin: 0 0 10px;
    }
    #contents.concept #sec04 .voice:nth-of-type(odd)::before {
        border-width: 0 34px 34px 0;
    }
    #contents.concept #sec04 .voice:nth-of-type(even)::before {
        border-width: 0 0 34px 34px;
    }
    #contents.concept #sec04 .voice .name {
        margin: 0 0 10px;
    }
}
@media ( max-width: 640px ){
    #contents.concept #sec04 {
        margin: 0 0 8vw;
    }
    #contents.concept #sec04 .voice {
        font-size: 4vw;
        padding: 5.33vw;
        margin: 0 0 2.67vw;
    }
    #contents.concept #sec04 .voice:nth-of-type(odd)::before {
        border-width: 0 8vw 8vw 0;
    }
    #contents.concept #sec04 .voice:nth-of-type(even)::before {
        border-width: 0 0 8vw 8vw;
    }
    #contents.concept #sec04 .voice .name {
        margin: 0 0 1.33vw;
    }
}
#contents.concept #sec05 .list_wrap {
    overflow-y: scroll;
}
#contents.concept #sec05 .list dl {
    text-align: left;
    line-height: 1.5;
}
#contents.concept #sec05 .list dl:last-child {
    border-bottom: none;
}
#contents.concept #sec05 .list dl dt,
#contents.concept #sec05 .list dl dd {
    display: table-cell;
    vertical-align: middle;
}
#contents.concept #sec05 .list dl dt .ymd {
    display: inline-block;
    color: #329cf0;
}
#contents.concept #sec05 .list dl dt .cat {
    display: inline-block;
    color: #329cf0;
}
#contents.concept #sec05 .list dl dt .cat span {
    display: inline-block;
}
#contents.concept #sec05 .list dl dd .tit {
    display: inline-block;
    color: #535353;
    margin: 0;
    background: url(img/list_arw.png) no-repeat 0 center;
}
#contents.concept #sec05 .list dl dd .tit a {
    color: #535353;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
    width: 100%;
    -webkit-line-clamp: 1;
    text-decoration: none;
}
@media ( min-width: 641px ){
    #contents.concept #sec05 {
        margin: 0 0 40px;
    }
    #contents.concept #sec05 .list_wrap {
        height: 219px;
    }
    #contents.concept #sec05 .list dl {
        border-bottom: 1px dotted #7f7f7f;
        font-size: 16px;
        padding: 15px 0 14px;
    }
    #contents.concept #sec05 .list dl:first-child {
        padding: 0 0 14px;
    }
    #contents.concept #sec05 .list dl dt,
    #contents.concept #sec05 .list dl dd {
        font-size: 16px;
    }
    #contents.concept #sec05 .list dl dt {
        width: 185px;
    }
    #contents.concept #sec05 .list dl dt .ymd {
        margin: 0 20px 0 0;
    }
    #contents.concept #sec05 .list dl dt .cat span {
        border: 1px solid #329cf0;
        padding: 3px 5px 2px;
    }
    #contents.concept #sec05 .list dl dd .tit {
        padding: 0 0 0 17px;
        background: url(img/list_arw.png) no-repeat 0 center;
    }
    #contents.concept #sec05 .list dl dd .tit a:hover {
        color: #e3026d;
    }
}
@media ( max-width: 640px ){
    #contents.concept #sec05 {
        margin: 0 0 8vw;
    }
    #contents.concept #sec05 .list_wrap {
        height: 106.67vw;
    }
    #contents.concept #sec05 .list dl {
        border-bottom: 0.27vw dotted #7f7f7f;
        font-size: 4vw;
        padding: 4vw 0;
    }
    #contents.concept #sec05 .list dl dt,
    #contents.concept #sec05 .list dl dd {
        display: block;
    }
    #contents.concept #sec05 .list dl dt {
        margin: 0 0 3vw;
    }
    #contents.concept #sec05 .list dl dt .ymd {
        margin: 0 2vw 0 0;
    }
    #contents.concept #sec05 .list dl dt .cat span {
        border: 0.27vw solid #329cf0;
        padding: 1vw 1vw 0.5vw;
    }
    #contents.concept #sec05 .list dl dd .tit {
        padding: 0 0 0 4vw;
        background: url(img/list_arw_sp.png) no-repeat 0 center;
        background-size: 2.4vw;
    }
}
#contents.concept #sec06 .content_box {
    background: #e5dece;
}
#contents.concept #sec06 .content_box .lead_text {
    color: #3a3a3a;
    line-height: 1.4;
}
#contents.concept #sec06 .content_box .lead_text span {
    color: #eb0095;
}
#contents.concept #sec06 .content_box .btn {
    display: block;
    color: #fff;
    background: #9d8440;
    text-decoration: none;
    margin: 0 auto
}
#contents.concept #sec06 .notes {
    color: #4e4e4e;
    text-align: left;
    line-height: 1.5;
}
@media ( min-width: 641px ){
    #contents.concept #sec06 {
        margin: 0 0 105px;
    }
    #contents.concept #sec06 .content_box {
        padding: 50px 20px;
        margin: 0 0 40px;
    }
    #contents.concept #sec06 .content_box .lead_text {
        font-size: 24px;
        margin: 0 0 20px;
    }
    #contents.concept #sec06 .content_box .btn {
        font-size: 18px;
        border-radius: 7px;
        width: 304px;
        height: 69px;
        line-height: 69px;
    }
    #contents.concept #sec06 .notes {
        font-size: 16px;
    }
}
@media ( max-width: 640px ){
        #contents.concept #sec06 {
            margin: 0 0 8vw;
        }
        #contents.concept #sec06 .content_box {
            padding: 8vw 4vw;
            margin: 0 0 5.33vw;
        }
        #contents.concept #sec06 .content_box .lead_text {
            font-size: 5.33vw;
            margin: 0 0 4vw;
        }
        #contents.concept #sec06 .content_box .btn {
            font-size: 4.8vw;
            border-radius: 1.87vw;
            width: 100%;
            height: 16vw;
            line-height: 16vw;
        }
        #contents.concept #sec06 .notes {
            font-size: 3.73vw;
        }
    }
}


/* = cast_detail,movie,movie_detail
-------------------------------------------------------------- */
#talent_photo {
    margin: 0 0 30px;
}
#talent_photo div {
    position: relative;
    float: left;
    width: 318px;
    height: 480px;
    overflow: hidden;
    box-sizing: border-box;
}
#talent_photo div::before {
    content: "";
    background: #ccc;
    color: #fff;
    font-size: 16px;
    line-height: 30px;
    width: 100px;
    height: 30px;
    position: absolute;
    bottom: 10px;
    left: 10px;
    border-radius: 2px;
    z-index: 3;
}
#talent_photo.premium div::before{
    content: "プレミアム";
    background: #b8982a;
}
#talent_photo.special div::before{
    content: "スペシャル";
    background: #4f70dc;
}
#talent_photo.regular div::before{
    content: "レギュラー";
    background: #eb75ad;
}
#talent_photo.fresh div::before{
    content: "フレッシュ";
    background: #7db73e;
}
#talent_photo div::after{
    content: "";
    border: 12px solid rgba(255,255,255,0.4);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    box-sizing: border-box;
}
#talent_photo div img {
    display: none;
    position: absolute;
    width: 100%;
    height: auto;
    top: 0;
    left: 0;
}
#talent_photo ul {
    float: right;
    width: 55% ; /* IE8以下とAndroid4.3以下用フォールバック */
    width: -webkit-calc(100% - 350px) ;
    width: calc(100% - 350px) ;
}
#talent_photo ul li {
    float: left;
    width: 23%;
    max-height: 147px;
    margin: 0 2.66% 18px 0;
    overflow: hidden;
    box-sizing: border-box;
    position: relative;
}
#talent_photo ul li:nth-child(4n){
    margin: 0 0 18px 0;
}
#talent_photo ul li::after{
    content: "";
    border: 5px solid rgba(255,255,255,0.4);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    box-sizing: border-box;
}
#talent_photo ul li img {
    width: 100%;
    height: auto;
    cursor: pointer;
}
.reserve_btn_wrap{
    margin: 0 0 40px;
}
.reserve_btn_wrap ul li{
    margin: 0 2% 0 0;
    float: left;
}
.reserve_btn_wrap ul.two li{
    width: 49%;
}
.reserve_btn_wrap ul.three li{
    width: 32%;
}
.reserve_btn_wrap ul li:last-child{
    margin: 0;
}
.reserve_btn_wrap ul li a{
    display: block;
    border: 1px solid #e4026e;
    border-radius: 0.5em;
    padding: 20px 15px 15px;
    box-sizing: border-box;
    text-decoration: none;
    background: #fff;
}
.reserve_btn_wrap ul li a img{
    opacity: 1.0;
}
.reserve_btn_wrap ul li a .bdr{
    padding: 13px 0 0;
    border-top: 1px solid #fbb4d5;
    margin: 20px 0 0;
}
.reserve_btn_wrap ul li a p{
    color: #e4026e;
    font-size: 22px;
    line-height: 1.3;
    text-align: left;
    background: url(img/list_arw.png) no-repeat 100% center;
    background-size: 6px auto;
    padding: 0 6% 0 0;
}
.reserve_btn_wrap ul li a p span{
    display: block;
    font-size: 15px;
    color: #f278b1;
    padding: 0 0 5px;
}
.reserve_btn_wrap ul li a:hover{
    background: #e4026e;
}
.reserve_btn_wrap ul li a:hover p{
    color: #fff;
    background: url(img/list_arw_on.png) no-repeat 100% center;
    background-size: 6px auto;
}
.reserve_btn_wrap ul li a:hover p span{
    color: #fff;
}
#profile{
    background: #daefff;
    padding: 30px 15px;
    margin: 0 0 60px;
}
#profile .tit{
    font-size: 22px;
    color: #2994e9;
    padding: 0 30px;
    text-align: left;
    margin: 0 0 25px;
}
#profile .tit span{
    display: inline-block;
    font-size: 15px;
    color: #74b5e8;
    padding: 0 0 0 22px;
}
#profile .tbl dl {
    display: table;
    width: 100%;
    height: 70px;
    background: #fff;
    margin: 0 0 10px;
    padding: 21px 0;
    box-sizing: border-box;
    font-size: 18px;
}
#profile .tbl dl dt,
#profile .tbl dl dd{
    display: table-cell;
    vertical-align: middle;
    text-align: left;
    padding: 0 30px;
}
#profile .tbl dl dt{
    width: 220px;
    border-right: 1px dotted #2994e9;
    font-size: 18px;
    color: #2994e9;
    box-sizing: border-box;
    white-space: nowrap;
}
#profile .tbl dl dd{
    line-height: 1.3;
}
#profile .tbl dl dd span{
    display: inline-block;
}
#profile .tbl dl dd .rank{
    font-weight: bold
}
#profile .tbl dl dd .price{
    color: #e4026e;
}
#profile .tbl dl dd .price span{
    font-size: 28px;
    font-weight: bold;
    padding: 0 0.3em 0 0;
}
#profile .tbl dl dd .type{
    font-weight: bold;
    color: #329cf0;
}
#de_tb {
    background: #fff;
    padding: 21px;
    position: relative;
}
#de_tb ul.btn_box li {
    float: left;
    width: 23%;
    margin: 0 2.66% 0 0;
}
#de_tb ul.btn_box li:last-child{
    margin: 0;
}
#de_tb ul.btn_box li .btn {
    display: block;
    border: 1px solid #2994e9;
    border-radius: 0.3em;
    box-sizing: border-box;
    font-size: 15px;
    text-decoration: none;
    background: #2994e9 url(img/arw03_down.png) no-repeat 96% center;
    background-size: 10px auto;
    color: #fff;
    padding: 17px 0;
}
#de_tb ul.btn_box li .btn:hover {
    background: #fff url(img/arw03_down_on.png) no-repeat 96% center;
    background-size: 10px auto;
    color: #2994e9;
}
#de_tb ul.btn_box li.active .btn {
    background: #fff url(img/arw03_up.png) no-repeat 96% center;
    background-size: 10px auto;
    color: #2994e9;
}
#de_tb li .slide_box {
    padding: 21px;
    text-align: left;
    font-size: 15px;
    line-height: 1.7;
    max-height: 650px;
    overflow-y: auto;
    display: none;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
}
#de_tb .slide_box dl dt{
    font-weight: bold;
    color: #2994e9;
    border-bottom: 1px solid #daefff;
    padding: 0 0 5px;
    margin: 0 0 10px;
}
#de_tb .slide_box dl dd {
    padding: 0 0 30px;
}
#de_tb .slide_box.qa dt {
    font-size: 18px;
}
#de_tb .slide_box.qa dd {
    padding: 0 0 40px;
    font-size: 16px;
}
#de_tb .slide_box.qa .slidedown {
    text-align: center;
}
#de_tb .slide_box.qa .slidedown .more_btn{
    cursor: pointer;
    color: #e3026d;
    text-decoration: underline;
}
#de_tb .slide_box.qa .slidedown .more_btn:hover{
    text-decoration: none;
}
.slidedown .more_btn a{
    background: #329cf0 url(img/arw_down02.png) no-repeat 94% center;
    background-size: 20px auto;
    display: block;
    cursor: pointer;
}
#faq30 {
    display: none;
}

#sns_wrap{
    margin: 0 0 50px;
}
#sns_wrap .title{
    position: relative;
}
#sns_wrap .title .link_box{
    position: absolute;
    top: 5px;
    right: 0;
}
#sns_wrap .title .link_box li{
    float: left;
}
#sns_wrap .title .link_box li + li{
    position: relative;
    padding: 0 0 0 2em;
    margin: 0 0 0 1em;
}
#sns_wrap .title .link_box li + li::before{
    content: "/";
    color: #f278b1;
    width: 1em;
    height: 1em;
    position: absolute;
    top: 0;
    left: 0;
}
#sns_wrap .title{
    position: relative;
}
#sns_wrap .title .link_box{
    float: right;
}
#sns_wrap .title .link_box li{
    float: left;
}
#sns_wrap .cast_box ul{
    margin: 0 0 7px;
}
#sns_wrap .cast_box ul li{
    max-width: 255px;
    width: 32%;
    float: left;
    margin: 0 2% 33px 0;
}
#sns_wrap .cast_box ul li:nth-child(4n){
    margin: 0 2% 33px 0;
}
#sns_wrap .cast_box ul li:nth-child(3n){
    margin: 0 0 33px 0;
}
#sns_wrap .cast_box ul li:nth-child(12){
    margin: 0 0 33px 0;
}
#sns_wrap .cast_box .article_wrap.hide{
    display: none;
}
#sns_wrap .cast_box.single #load_button{
    margin: 0 0 20px;
}
.sns_popup {
    display: none;
    position: absolute;
}
.w_shadow2 {
    position: fixed;
    top: 0px;
    width: 100%;
    height: 100%;
    z-index: 999;
    left: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.50);
}
.sns_popup .pupbox {
    width: 50%;
    height: 60vh;
    background: #fff;
    position: fixed;
    z-index: 9999;
    padding: 10px 15px 20px;
    box-sizing: border-box;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
}
.sns_popup .close {
    width: 30px;
    position: fixed;
    top: 0;
    right: -40px;
    z-index: 9999;
}
.sns_popup .close img{
    width: 100%;
}
.sns_popup .pupbox .title {
    padding: 5px 0;
    margin-bottom: 5px;
}
.sns_popup .pupbox .title img {
    float: left;
    width: 50px;
}
.sns_popup .pupbox .title .t_area {
    float: none;
    text-align: left;
    padding: 0 0 0 60px;
}
.sns_popup .pupbox .title .t_area .name {
    font-size: 14px;
    color: #329df0;
    font-weight: bold;
    margin-bottom: 5px;
    display: block;
    text-decoration: underline;
}
.sns_popup .pupbox .title .t_area .name:hover {
    text-decoration: none;
}
.sns_popup .pupbox .title .t_area .time {
    font-size: 10px;
}
.sns_popup .pupbox .title .more {
    display: block;
    padding: 10px 20px;
    text-align: center;
    background: #329df0;
    color: #fff;
    text-decoration: none;
    float: right;
    border-radius: 6px;
    margin: 7px 0 5px 5px;
    font-size: 12px;
}
.sns_popup .pupbox .area {
    text-align: left;
    font-size: 14px;
    border: 3px solid #e3e3e3;
    padding: 10px;
    height: 50vh;
    overflow-y: auto;
    box-sizing: border-box;
    line-height: 1.7;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
}
.sns_popup .pupbox .area img {
    max-width: 100%;
    height: auto;
}
.sns_popup .pupbox .area p {
    margin-bottom: 15px;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}
.sns_popup .pupbox .area a {
    pointer-events: none;
}
#movie_list {
    margin: 0 0 30px;
}
#movie_list .movie_box li{
    float: left;
    width: 32%;
    margin: 0 0 30px 2%;
    position: relative;
    line-height: 1.5;
}
#movie_list .movie_box li:nth-of-type(3n+1){
    margin: 0 0 30px 0;
    clear: both;
}
#movie_list .movie_box li a{
    margin: 0 0 8px;
}
#movie_list .movie_box li a:hover{
    text-decoration: none;
}
#movie_list .movie_box li a.cast_name{
    display: inline-block;
    margin: 0;
}
#movie_list .movie_box li a.img_thum{
    display: block;
    position: relative;
    margin: 0 0 8px;
}
#movie_list .movie_box li a.img_thum::after{
    background: url(img/icon_movie.png) no-repeat 0 0;
    background-size: contain;
    width: 40px;
    height: 40px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    pointer-events: none;
}
#movie_list .movie_box li img {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: top;
    font-family: 'object-fit: cover; object-position: top;';
    margin: 0 0 8px;
}
#movie_list .movie_box li .movie_tit {
    padding: 0 0 5px;
    font-size: 14px;
    font-weight: bold;
    text-align: left;
    color: #000;
}
#movie_list .movie_box li a:hover .movie_tit{
    text-decoration: none;
    color: #e3026d;
}
#movie_list .movie_box li .movie_tit a{
    display:inline-block;
    background:url(img/icon_movie02.png) no-repeat 0 0;
    background-size: 20px auto;
    padding: 0 0 0 25px;
    color:#000;
    line-height: 1.3;
    text-decoration: none;
}
#movie_list .movie_box li .movie_tit a:hover{
    color: #e3026d;
}
#movie_list .movie_box li p {
    text-align:left;
    font-size:12px;
}
#movie_list .movie_box li.new::before {
    content: "";
    background: url(img/new.png) no-repeat 0 0;
    background-size: contain;
    width: 45px;
    height: 45px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
}
.pager{
    margin: 40px 0;
}
.page-numbers{
    display: inline-block;
    background: #fff;
    padding: 10px 14px;
    border: 1px solid #329cf0;
    border-radius: 0.25em;
    margin: 0 2px;
    color: #329cf0;
    font-weight: bold;
}
.page-numbers.current,
a.page-numbers:hover{
    background: #329cf0;
    color: #fff;
    text-decoration: none;
}
.iframeWrap {
    position: relative;
    width: 100%;
    height:0;
    padding-top: 56.25%;
    margin: 0 0 30px;
}
.iframeWrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
#movie_dtl .cast{
    text-align: left;
    margin: 0 0 1em;
}
#movie_dtl .cast a{
    text-decoration: underline;
}
#movie_dtl .cast a:hover{
    text-decoration: none;
}
#movie_dtl .txt_link a{
    color: #329cf0;
}

@media ( max-width: 960px ){
    #talent_photo ul {
        float: right;
        width: 55% ; /* IE8以下とAndroid4.3以下用フォールバック */
        width: -webkit-calc(100% - 325px);
        width: calc(100% - 325px);
    }
    #talent_photo div {
        float: none;
        margin: 0 auto 20px;
    }
    #talent_photo ul {
        float: none;
        width: 100% ;
    }
    #talent_photo ul li {
        width: 15%;
        margin: 0 2% 15px 0;
    }
    #talent_photo ul li:nth-child(4n){
        margin: 0 2% 15px 0;
    }
    #talent_photo ul li:nth-child(6n){
        margin: 0 0 15px 0;
    }
    #talent_photo ul li:nth-child(12n){
        margin: 0 0 15px 0;
    }
    .reserve_btn_wrap ul li a{
        padding: 20px 3% 10px;
    }
    .reserve_btn_wrap ul li a .bdr{
        padding: 8px 0 0;
        margin: 15px 0 0;
    }
    .reserve_btn_wrap ul li a p{
        font-size: 16px;
    }
    .reserve_btn_wrap ul li a p span{
        font-size: 13px;
    }
    #de_tb {
        padding: 21px 3%;
    }
    #de_tb ul.btn_box li {
        width: 24%;
        margin: 0 1.33% 0 0;
    }
    #de_tb ul.btn_box li .btn {
        font-size: 14px;
        background: #2994e9 url(img/arw03_down.png) no-repeat center 80%;
        background-size: 10px auto;
        padding: 17px 0 27px;
    }
    #de_tb ul.btn_box li .btn:hover {
        background: #fff url(img/arw03_down_on.png) no-repeat center 80%;
    }
    #de_tb ul.btn_box li.active .btn {
        background: #fff url(img/arw03_up.png) no-repeat center 80%;
    }
    #profile .tbl dl dt,
    #profile .tbl dl dd {
        padding: 0 3%;
    }
    #profile .tbl dl dt {
        width: 160px;
    }
    #sns_wrap .title .link_box li + li {
        padding: 0 0 0 1em;
        margin: 0 0 0 0.3em;
    }
    #sns_wrap .cast_box ul li a .img_box {
        height: 22vw;
    }
    #sns_wrap .cast_box ul li a .img_box p {
        height: 22vw;
    }
    #sns_wrap .cast_box ul li a .name_area {
        padding: 10px 3%;
    }
    #sns_wrap .cast_box ul li a .name_area .thumb_img{
        display: none;
    }
}
@media ( max-width: 640px ){
    /* talent_photo_sp slider */
    #talent_photo_sp .swiper-custom-parent {
        position: relative;
        padding: 0 10% 8vw;
        margin: 0 0 6vw;
    }
    #talent_photo_sp .swiper-custom-parent .swiper-button-next,
    #talent_photo_sp .swiper-custom-parent .swiper-button-prev {
        position: absolute;
        width: 5.2vw;
        height: 10vw;
        top: 50%;
        transform: translateY(-50%);
        z-index: 10;
    }
    #talent_photo_sp .swiper-custom-parent .swiper-button-prev {
        left: 0;
        background: url(img/arw_prev02.png) no-repeat 0 0;
        background-size: contain;
    }
    #talent_photo_sp .swiper-custom-parent .swiper-button-next {
        right: 0;
        background: url(img/arw_next02.png) no-repeat 0 0;
        background-size: contain;
    }
    #talent_photo_sp .swiper-custom-parent .swiper-pagination{
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
    }
    #talent_photo_sp .swiper-custom-parent .swiper-pagination-bullet {
        background: #ccc;
        opacity: 1;
        width: 3.2vw;
        height: 3.2vw;
        margin: 0 0.4vw 0.4vw;
        box-sizing: border-box;
    }
    #talent_photo_sp .swiper-custom-parent .swiper-pagination-bullet-active {
        background: #329cf0;
    }

    #talent_photo_sp .swiper-wrapper > div{
        position: relative;
    }
    #talent_photo_sp .swiper-wrapper > div::before {
        content: "";
        background: #ccc;
        color: #fff;
        font-size: 16px;
        line-height: 30px;
        width: 100px;
        height: 30px;
        position: absolute;
        bottom: 10px;
        left: 10px;
        border-radius: 2px;
        z-index: 3;
    }
    #talent_photo_sp.premium .swiper-wrapper > div::before{
        content: "プレミアム";
        background: #b8982a;
    }
    #talent_photo_sp.special .swiper-wrapper > div::before{
        content: "スペシャル";
        background: #4f70dc;
    }
    #talent_photo_sp.regular .swiper-wrapper > div::before{
        content: "レギュラー";
        background: #eb75ad;
    }
    #talent_photo_sp.fresh .swiper-wrapper > div::before{
        content: "フレッシュ";
        background: #7db73e;
    }
    .reserve_btn_wrap{
        margin: 0 0 5vw;
    }
    .reserve_btn_wrap ul.two li,
    .reserve_btn_wrap ul.three li{
        width: 100%;
        margin: 0 0 1.5vw;
        float: none;
    }
    .reserve_btn_wrap ul.two li a,
    .reserve_btn_wrap ul.three li a{
        padding: 2vw 3%;
    }
    .reserve_btn_wrap ul.two li a img,
    .reserve_btn_wrap ul.three li a img{
        float: left;
        width: 12%;
    }
    .reserve_btn_wrap ul.two li a .bdr,
    .reserve_btn_wrap ul.three li a .bdr{
        float: left;
        padding: 0 0 0 2vw;
        border-top: none;
        border-left: 1px solid #fbb4d5;
        margin: 0 0 0 2vw;
        white-space: nowrap;
        width: 85%;
        box-sizing: border-box;
    }
    .reserve_btn_wrap ul li a p{
        font-size: 4.5vw;
        padding: 0;
    }
    .reserve_btn_wrap ul li a p span{
        font-size: 3.2vw;
        padding: 0;
    }
    .reserve_btn_wrap ul li a:hover{
        background: #fff;
    }
    .reserve_btn_wrap ul li a:hover p{
        color: #e4026e;
        background: url(img/list_arw.png) no-repeat 100% center;
        background-size: 6px auto;
    }
    .reserve_btn_wrap ul li a:hover p span{
        color: #f278b1;
    }
    #de_tb ul.btn_box li .btn {
        font-size: 3.73vw;
        line-height: 1.3;
        padding: 0;
        height: 20vw;
        position: relative;
        background: #2994e9 url(img/arw03_down.png) no-repeat center 85%;
        background-size: 10px auto;
    }
    #de_tb ul.btn_box li .btn span{
        position: absolute;
        width: 100%;
        top: 50%;
        left: 50%;
        transform: translateY(-50%) translateX(-50%);
        padding: 0 0 3vw;
    }

    #de_tb li .slide_box {
        padding: 4vw 3%;
        font-size: 3.8vw;
        max-height: 60vh;
    }
    #de_tb .slide_box.qa dl dt {
        font-size: 4vw;
        padding: 0 0 0.66vw;
        margin: 0 0 1.3vw;
    }
    #de_tb .slide_box.qa dl dd {
        padding: 0 0 4vw;
        font-size: 3.8vw;
    }
    #de_tb .slide_box dl dt{
        font-size: 4vw;
        padding: 0 0 0.66vw;
        margin: 0 0 1.3vw;
    }
    #de_tb .slide_box dl dd{
        padding: 0 0 4vw 0;
    }
    #profile{
        padding: 4vw 2vw;
        margin: 0 0 6vw;
    }
    #profile .tit{
        font-size: 5.6vw;
        padding: 0 3%;
        margin: 0 0 3.5vw;
    }
    #profile .tit span{
        font-size: 3.8vw;
        padding: 0 0 0 1em;
    }
    #profile .tbl dl {
        height: auto;
        margin: 0 0 1.33vw;
        padding: 4vw 0;
        font-size: 4vw;
    }
    #profile .tbl dl dt {
        width: 40%;
        font-size: 4vw;
    }
    #profile .tbl dl dd .price span {
        font-size: 7vw;
    }
    #movie_list{
        margin: 0;
    }
    #sns_wrap{
        margin: 0 0 5vw;
    }
    #sns_wrap .cast_box ul{
        margin: 0 0 2vw;
    }
    #sns_wrap .cast_box ul li{
        margin: 0 2% 2vw 0;
    }
    #sns_wrap .cast_box ul li:nth-child(4n){
        margin: 0 2% 2vw 0;
    }
    #sns_wrap .cast_box ul li:nth-child(3n){
        margin: 0 0 2vw 0;
    }
    #sns_wrap .cast_box ul li:nth-child(12){
        margin: 0 0 2vw 0;
    }
    #sns_wrap .cast_box ul li a .img_box {
        height: 30vw;
    }
    #sns_wrap .cast_box ul li a .img_box p {
        height: 30vw;
    }
    #sns_wrap .cast_box ul li a .name_area {
        padding: 2vw 3%;
    }
    #sns_wrap .cast_box.single #load_button{
        margin: 0 0 3vw;
    }
    .sns_popup .pupbox {
        width: 90%;
        height: auto;
        top: 50%;
        padding: 3vw;
    }
    .sns_popup .close{
        top: -9vw;
        right: 0;
        width: 7vw;
    }
    .sns_popup .pupbox .area {
        font-size: 3.73vw;
        border: 0.4vw solid #e3e3e3;
        padding: 2vw;
        height: 50vh;
    }
    .sns_popup .pupbox .title .more{
        float: left;
        margin: 0 0 2vw 3vw;
    }
    .sns_popup .pupbox .title img{
        width: 19vw;
    }
    .sns_popup .pupbox .title .t_area{
        display: block;
        float: left;
        margin: 0 0 0 3vw;
        padding: 0;
        width: 60vw;
    }
    #movie_list .movie_box{
        margin: 0 0 6vw;
    }
    #movie_list .movie_box li{
        float: none;
        width: 100%;
        margin: 0 0 4vw 0;
    }
    #movie_list .movie_box li img{
        margin: 0 0 1vw;
    }
    #movie_list .movie_box li:nth-child(3n){
        margin: 0 0 4vw 0;
    }
    #movie_list .movie_box li a.img_thum{
        margin: 0 0 3vw;
    }
    #movie_list .movie_box li a.img_thum::after{
        width: 10vw;
        height: 10vw;
    }
    #movie_list .movie_box li .movie_tit {
        padding: 0 0 1vw;
        font-size: 3.73vw;
    }
    #movie_list .movie_box li .movie_tit a{
        background:url(img/icon_movie02.png) no-repeat 0 0;
        background-size: 4.5vw auto;
        padding: 0 0 0 5.5vw;
    }
    #movie_list .movie_box li .movie_tit a:hover{
        color: #000;
    }
    #movie_list .movie_box li p {
        font-size:3vw;
    }
    #movie_list .movie_box li.new::before {
        width: 8vw;
        height: 8vw;
    }
    .pager{
        margin: 4vw 0;
    }
    .page-numbers{
        padding: 2vw 3vw;
        margin: 0 0.5vw;
    }
    .page-numbers.current, a.page-numbers:hover{
        padding: 2vw 3vw;
        margin: 0 0.5vw;
    }
    .iframeWrap {
        margin: 0 0 4vw;
    }
    #movie_dtl .cast a:hover{
        text-decoration: underline;
    }
    #movie_list .movie_box li a{
        margin: 0;
    }
}

/* = photo photo_detail
-------------------------------------------------------------- */
#photo_list .photo_box li{
    width: 32%;
    float: left;
    margin: 0 2% 30px 0;
}
#photo_list .photo_box li:nth-child(3n){
    margin: 0 0 30px;
}
#photo_list .photo_box li a{
    display: block;
    color: #329cf0;
}
#photo_list .photo_box li a:hover{
    color: #e3026d;
    text-decoration: none;
}
#photo_list .photo_box li a .cast_name{
    text-align: left;
    padding: 10px 0 10px 25px;
    background: url(img/icon_camera.png) no-repeat 0 center;
    background-size: 20px auto;
}
#photo_list .photo_box li a:hover .cast_name{
    background: url(img/icon_camera_on.png) no-repeat 0 center;
    background-size: 20px auto;
}
#photo_list .photo_box li .img {
}
#photo_list .photo_box li .img div{
    position: relative;
    padding: 66% 0 0 0;
    overflow: hidden;
}
#photo_list .photo_box li .img img{
    position: absolute;
    width: 100%;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}
#photo_dtl .photo_box{
    margin: 0 0 30px;
}
#photo_dtl .photo_box a{
    display: block;
    float: left;
    width: 32%;
    margin: 0 2% 20px 0;
}
#photo_dtl .photo_box a:nth-child(3n){
    margin: 0 0 20px 0;
}
#photo_dtl .photo_box a img{
    width: 100%;
    height: 384px;
    object-fit: cover;
    object-position: 50% 30%;
    font-family: 'object-fit: cover;object-position: 50% 30%;'; /*IE対策*/
}
@media ( max-width: 640px ){
    #photo_list .photo_box li{
        margin: 0 2% 4vw 0;
    }
    #photo_list .photo_box li:nth-child(3n){
        margin: 0 0 4vw;
    }
    #photo_list .photo_box li a{
        color: #e3026d;
    }
    #photo_list .photo_box li a .cast_name{
        padding: 1.3vw 0 1vw 5vw;
        background: url(img/icon_camera_on.png) no-repeat 0 center;
        background-size: 4vw auto;
    }
    #photo_list .photo_box li a:hover .cast_name{
        background: url(img/icon_camera_on.png) no-repeat 0 center;
        background-size: 4vw auto;
    }
    #photo_dtl .photo_box{
        margin: 0 0 4vw;
    }
    #photo_dtl .photo_box a{
        margin: 0 2% 2vw 0;
    }
    #photo_dtl .photo_box a:nth-child(3n){
        margin: 0 0 2vw 0;
    }
    #photo_dtl .photo_box a img{
        height: 40vw;
    }
}

/* = recruit
-------------------------------------------------------------- */
.recruit .mv{
    margin: 0 0 30px;
}
.recruit .work_cont{
    margin: 0 0 30px;
}
.recruit .work_cont .bdr_img{
    position: relative;
    width: 48%;
}
.recruit .work_cont .left .bdr_img{
    float: left;
}
.recruit .work_cont .right .bdr_img{
    float: right;
}
.recruit .work_cont .bdr_img::before,
.recruit .work_cont .bdr_img::after{
    content: "";
    background: #ffaace;
    width: 100px;
    height: 100px;
    position: absolute;
    z-index: -1;
}
.recruit .work_cont .bdr_img::before{
    top: -10px;
    left: -10px;
}
.recruit .work_cont .bdr_img::after{
    bottom: -10px;
    right: -10px;
}
.recruit .work_cont .bdr_img img{
    width: 100%;
}
.recruit .work_cont .txt_box{
    width: 48%;
    text-align: left;
}
.recruit .work_cont .left .txt_box{
    float: right;
}
.recruit .work_cont .right .txt_box{
    float: left;
    margin: -160px 0 0;
}
.recruit .work_cont .txt_box .bdr_tit{
    text-align: right;
    margin: 0 0 30px;
    background: none;
    color: initial;
}
.recruit .work_cont .txt_box .bdr_tit span {
    font-size: 24px;
    background: linear-gradient(transparent 60%, #ffaace94 80%);
    line-height: 1.7;
}
.recruit .work_cont .txt_box .bdr_tit span.emsp {
    background: none;
}
.recruit .work_cont .txt_box .bdr_txt{
    border: 1px dashed #6f6f6f;
    padding: 10px;
    font-size: 15px;
}
.recruit .work_cont .txt_box .bdr_txt p{
    padding: 0 0 1em;
}
.recruit .work_cont .txt_box .bdr_txt p:last-child{
    padding: 0;
}
.recruit .work_type{
    margin: 0 0 50px;
}
.recruit .work_type .sec_in {
    position: relative;
    margin: 0 0 20px;
    padding: 20px;
    text-align: left;
}
.recruit .work_type .idol {
    background: #ffe8ef;
}
.recruit .work_type .trainer {
    background: #dafff3;
}
.recruit .work_type .kikijo {
    background: #daf6ff;
}
.recruit .work_type .box1 {
    padding: 15px 10px;
    border: 2px dashed #c7c7c7;
    background: #f7f7f7;
    font-weight: bold;
    margin: 0 0 15px;
    box-sizing: border-box;
}
.recruit .work_type .box1 p {
    width: fit-content;
    font-size: 20px;
}
.recruit .work_type .idol .box1 p,
.recruit .work_type .idol dl dd{
    color: #f94c81;
}
.recruit .work_type .trainer .box1 p,
.recruit .work_type .trainer dl dd{
    color: #33ca99;
}
.recruit .work_type .kikijo .box1 p,
.recruit .work_type .kikijo dl dd{
    color: #41bbe2;
}
.recruit .work_type .txt{
    line-height: 1.7;
    padding: 0 23% 0 0;
}
.recruit .work_type .trainer .txt{
    padding: 0 25% 0 0;
}
.recruit .work_type .balloon{
    background: #fff;
    padding: 20px;
    border-radius: 10px;
    line-height: 1.5;
    position: relative;
    margin: 0 0 20px;
}
.recruit .work_type .balloon::before {
    content: "";
    position: absolute;
    top: -25px;
    right: 25%;
    width: 0;
    height: 0;
    border-top: 30px solid #fff;
    border-right: 50px solid transparent;
    border-bottom: 30px solid transparent;
    border-left: 50px solid transparent;
    transform: rotate(-31deg);
    z-index: 2;
}
.recruit .work_type .balloon::after{
    content: "";
    width: 165px;
    height: 187.5px;
    position: absolute;
    top: -187.5px;
    right: -20px;
}
.recruit .work_type .idol .balloon::after{
    background: url(img/concept23.png) no-repeat 0 0;
    background-size: contain;
}
.recruit .work_type .trainer .balloon::after{
    background: url(img/concept24.png) no-repeat 0 0;
    background-size: contain;
}
.recruit .work_type .kikijo .balloon::after{
    background: url(img/concept25.png) no-repeat 0 0;
    background-size: contain;
}
.recruit .work_type .txt p{
    padding: 0 0 1em;
    font-weight: bold;
}
.recruit .work_type .sec_in dl {
    font-weight: bold;
    line-height: 1.5;
}
.recruit .work_type .sec_in .memo{
    display: block;
    text-align: left;
    font-size: 13px;
    line-height: 1.3;
}
.recruit .work_cont2 ul{
    margin: 0 0 20px;
}
.recruit .work_cont2 ul li{
    width: 30%;
    float: left;
    margin: 0 5% 0 0;
}
.recruit .work_cont2 ul li:last-child{
    margin: 0;
}
.recruit .work_cont2 ul li dl dt{
    background: #329cf0;
    border-radius: 0.5em;
    margin: 0 0 15px;
}
.recruit .work_cont2 ul li dl dt span{
    display: inline-block;
    color: #fff;
    font-size: 25px;
    font-weight: bold;
    padding: 30px 30px 30px 70px;
}
.recruit .work_cont2 ul li dl dt span.mail{
    background: url(img/icon_mail.png) no-repeat 0 center;
    background-size: 50px auto
}
.recruit .work_cont2 ul li dl dt span.date{
    background: url(img/icon_heart.png) no-repeat 0 center;
    background-size: 50px auto
}
.recruit .work_cont2 ul li dl dt span.brog{
    background: url(img/icon_brog.png) no-repeat 0 center;
    background-size: 50px auto
}
.recruit .work_cont2 ul li dl dd{
    text-align: left;
    line-height: 1.7;
}
.recruit .work_cont2 .memo_box{
    border: 1px dashed #aaa;
    border-radius: 3px;
    padding: 10px 10px;
    margin: 0 0 40px;
    line-height: 1.4;
}
.recruit .work_cont2 .memo_box p{
    text-align: center;
}
.recruit .work_cont2 .img_box{
    width: 30%;
    max-width: 400px;
    float: right;
}
.recruit .work_cont2 .txt_box{
    width: 65%;
    float: left;
    font-size: 15px;
}
.recruit .support .box_wrap{
    margin: 0 0 20px;
}
.recruit .support .box_wrap .img_box{
    width: 30%;
    float: left;
    margin: 0 5% 0 0;
    position: relative;
}
.recruit .support .box_wrap .img_box:last-child{
    margin: 0;
}
.recruit .support .box_wrap .img_box span{
    display: block;
    background-color: rgba(000,000,000,0.7);
    color: #fff;
    padding: 8px 0;
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
}
.recruit .reason .rec_img{
    margin: 0 0 20px;
}
.recruit .reason .rec_img li{
    width: 22%;
    float: left;
    margin: 0 4% 0 0;
}
.recruit .reason .rec_img li:last-child{
    margin: 0;
}
.newslist.media{
    margin: 0 0 50px;
}
.newslist.media .img_box{
    float: left;
    width: 215px;
}
.newslist.media .fl_box {
    text-align: left;
    width: calc(100% - 230px);
    float: right;
    height: 215px;
    overflow: auto;
    border: 1px solid #ddd;
    box-sizing: border-box;
}
.newslist.media .fl_box ul li {
    padding: 10px;
    margin: 0 15px;
    border-bottom: 1px solid #ababab;
    line-height: 1.4;
}
.newslist.media .fl_box ul li:last-child{
    border-bottom: none;
}
.newslist.media .fl_box ul li span {
    margin: 0 0 0 15px;
    border: 1px solid #329cf0;
    color: #329cf0;
    padding: 0 8px;
    font-size: 13px;
}
.newslist.media .fl_box ul li a{
    color: #000;
    display: block;
    padding: 5px 0 0;
}
.recruit .requirements{
    margin: 0 0 50px;
}
.recruit .requirements .sec_in{
    width: 48%;
    float: left;
    margin: 0 4% 0 0;
    text-align: left;
    line-height: 1.4;
}
.recruit .requirements .sec_in:last-child{
    margin: 0;
}
.recruit .requirements .sec_in dl{
    margin: 0 0 15px;
}
.recruit .requirements .sec_in dl dt{
    font-weight: bold;
}
.recruit .requirements .sec_in dl dd ul li{
    text-indent: -1em;
    padding-left: 1em;
}
.recruit .requirements .sec_in dl.tbl{
    display: table;
    margin: 0 0 5px;
}
.recruit .requirements .sec_in dl.tbl dt,
.recruit .requirements .sec_in dl.tbl dd{
    display: table-cell;
    vertical-align: top;
}
.recruit .requirements .sec_in dl.tbl dt{
    white-space: nowrap;
}
.recruit .recruit_form{
    margin: 0 0 50px;
}
.recruit .faq_wrap .case_tit{
    font-size: 18px;
    line-height: 1.4;
}
.common_txt{
    text-align: left;
}
.common_txt .txt_box p{
    margin: 0 0 1em 0;
    font-size: 15px;
}
.common_txt .title{
    display: block;
    margin: 0 0 20px;
    font-size: 18px;
    font-weight: bold;
    color: #329cf0;
    background: #daefff;
    padding: 10px;
    line-height: 1;
    text-align: left;
}
#form_wrap.recruit input,
#form_wrap.recruit select,
#form_wrap.recruit textarea{
    margin: 0;
    max-width: 100%;
}
#form_wrap.recruit input,
#form_wrap.recruit select{
    margin: 0 0.5em 0 0;
}
#form_wrap.recruit .both input,
#form_wrap.recruit .both select{
    margin: 0 0.5em;
}
#form_wrap.recruit input[type="file"]{
    margin: 0 0 10px 0.5em;
}
.recruit .recruit_form #form_wrap tr th,
.recruit .recruit_form #form_wrap tr td{
    display: block;
    width: 100%;
}
.recruit .recruit_form #form_wrap tr th{
    display: block;
    font-size: 16px;
    font-weight: bold;
    padding: 0;
    border-bottom: none;
    margin: 20px 0 10px;
    color: #329cf0;
    line-height: 1.4;
}
.recruit .recruit_form #form_wrap .Req{
    display: inline;
    font-size: 14px;
    color: #f00;
    margin: 0 0 0 0.2em;
}
.recruit .recruit_form #form_wrap .Req:before{
    content: '※';
}
#form_wrap .form_btn{
    width: 300px;
    margin: 50px auto;
}
#form_wrap .form_btn input[type="submit"] {
    width: 100%;
    height: 70px;
    background: #fff url(img/form_icon.png) no-repeat 94% center;
    background-size: 29px auto;
    border: 2px solid #e3026d;
    border-radius: 0.25em;
    cursor: pointer;
    color: #e3026d;
    font-size: 20px;
    font-weight: bold;
    box-sizing: border-box;
    transition: all .4s;
}
#form_wrap .form_btn input[type="submit"]:hover {
    background: #e3026d url(img/form_icon_on.png) no-repeat 94% center;
    color: #fff;
}
#form_wrap textarea{
    resize: vertical;
    overflow: auto;
    min-height: 100px;
}
@media ( max-width: 1200px ){
    .recruit .work_cont .txt_box .bdr_tit span.emsp {
        display: none;
    }
}
@media ( max-width: 960px ){
    .recruit .work_cont .bdr_img{
        width: 80%;
        margin: 0 auto 30px;
    }
    .recruit .work_cont .left .bdr_img{
        float: none;
    }
    .recruit .work_cont .right .bdr_img{
        float: none;
    }
    .recruit .work_cont .txt_box{
        width: 100%;
        margin: 0 0 40px;
    }
    .recruit .work_cont .right .txt_box{
        margin: 0;
    }
    .recruit .work_cont .txt_box .bdr_tit{
        text-align: left;
    }
    .recruit .work_cont2 ul li dl dt span{
        font-size: 20px;
        padding: 30px 30px 30px 35px;
        margin: 0 0 0 10px;
    }
    .recruit .work_cont2 ul li dl dt span.mail{
        background: url(img/icon_mail.png) no-repeat 0 center;
        background-size: 30px auto
    }
    .recruit .work_cont2 ul li dl dt span.date{
        background: url(img/icon_heart.png) no-repeat 0 center;
        background-size: 30px auto
    }
    .recruit .work_cont2 ul li dl dt span.brog{
        background: url(img/icon_brog.png) no-repeat 0 center;
        background-size: 30px auto
    }
    .recruit .work_cont2 .memo_box{
        border: 1px dashed #aaa;
        border-radius: 3px;
        padding: 10px 10px;
        margin: 0 0 40px;
        line-height: 1.4;
    }
    .recruit .work_cont2 .img_box{
        width: 70%;
        float: none;
        margin: 0 auto 30px;
        text-align: center;
    }
    .recruit .work_cont2 .txt_box{
        width: 100%;
        float: none;
    }
    .recruit .support .box_wrap .img_box{
        width: 32%;
        margin: 0 2% 0 0;
    }
    .newslist.media .img_box{
        float: none;
        width: 215px;
        margin: 0 auto 20px;
    }
    .newslist.media .fl_box{
        width: 100%;
        float: none;
        height: 215px;
    }
}
@media ( max-width: 750px ){
    .recruit .work_cont2 ul{
        margin: 0 0 6vw;
    }
    .recruit .work_cont2 ul li{
        width: 100%;
        float: none;
        margin: 0 0 4vw;
    }
    .recruit .work_cont2 ul li dl{
        display: table;
        width: 100%;
    }
    .recruit .work_cont2 ul li dl dt,
    .recruit .work_cont2 ul li dl dd{
        display: table-cell;
        vertical-align: middle;
    }
    .recruit .work_cont2 ul li dl dt{
        margin: 0;
    }
    .recruit .work_cont2 ul li dl dd{
        padding: 0 0 0 2.66vw;
    }
    .recruit .work_cont2 ul li dl dt span{
        font-size: 4.66vw;
        padding: 3vw 3vw 3vw 6vw;
        margin: 0 0 0 2vw;
        white-space: nowrap;
    }
    .recruit .work_cont2 ul li dl dt span.mail{
        background: url(img/icon_mail.png) no-repeat 0 center;
        background-size: 4vw auto
    }
    .recruit .work_cont2 ul li dl dt span.date{
        background: url(img/icon_heart.png) no-repeat 0 center;
        background-size: 4vw auto
    }
    .recruit .work_cont2 ul li dl dt span.brog{
        background: url(img/icon_brog.png) no-repeat 0 center;
        background-size: 4vw auto
    }
    .recruit .work_cont2 .memo_box{
        border-radius: 0.4vw;
        padding: 1.3vw;
        margin: 0 0 6vw;
    }

    .recruit .requirements{
        margin: 0 0 4vw;
    }
    .recruit .requirements .sec_in{
        width: 100%;
        float: none;
        margin: 0;
    }
}
@media ( max-width: 640px ){
    .recruit .mv{
        margin: 0 0 4vw;
    }
    .recruit .work_cont{
        margin: 0 0 4vw;
    }
    .recruit .work_cont .bdr_img{
        margin: 0 auto 4vw;
    }
    .recruit .work_cont .bdr_img::before,
    .recruit .work_cont .bdr_img::after{
        width: 13.3vw;
        height: 13.3vw;
    }
    .recruit .work_cont .bdr_img::before{
        top: -1.33vw;
        left: -1.33vw;
    }
    .recruit .work_cont .bdr_img::after{
        bottom: -1.33vw;
        right: -1.33vw;
    }
    .recruit .work_cont .txt_box {
        margin: 0 0 3vw;
        font-size: 3.4vw;
    }
    .recruit .work_cont .txt_box .bdr_txt {
        padding: 4vw;
    }
    .recruit .work_cont .txt_box .bdr_tit{
        margin: 0 0 4vw;
    }
    .recruit .work_cont .txt_box .bdr_tit span {
        font-size: 4vw;
        line-height: 1.3;
    }
    .recruit .work_type .box1 {
        padding: 2vw;
        border: 0.3vw dashed #c7c7c7;
        margin: 0 0 2vw;
    }
    .recruit .work_type .box1 p {
        font-size: 4.66vw;
    }
    .recruit .work_type{
        margin: 0 0 6vw;
    }
    .recruit .work_type .sec_in .type_cat {
        margin: 0 0 4vw;
        padding: 4vw;
    }
    .recruit .work_type .balloon {
        padding: 4vw;
        border-radius: 1.33vw;
        margin: 0 0 4vw;
    }
    .recruit .work_type .balloon::after{
        content: "";
        width: 33vw;
        height: 37.5vw;
        top: -37.5vw;
        right: -4vw;
    }
    .recruit .work_type .sec_in .memo{
        font-size: 3.4vw;
    }
    .newslist.media{
        margin: 0 0 6vw;
    }
    .newslist.media .img_box{
        margin: 0 auto 3vw;
    }
    .newslist.media .fl_box{
        height: 60vw;
    }
    .recruit .requirements .sec_in dl{
        margin: 0 0 2vw;
    }
    .recruit .requirements .sec_in dl.tbl{
        margin: 0 0 2vw;
    }
    .recruit .recruit_form{
        margin: 0 0 6vw;
    }
    .recruit .faq_wrap .case_tit{
        font-size: 4vw;
    }
    .common_txt .title{
        font-size: 3.88vw;
        padding: 1.33vw;
        margin: 0 0 3vw;
    }
    .recruit .recruit_form #form_wrap tr th h4{
        font-size: 3.88vw;
    }
    .recruit .recruit_form #form_wrap .Req{
        font-size: 3.4vw;
    }
    #form_wrap .form_btn input[type="submit"]{
        height: 14vw;
        border: 0.66vw solid #e3026d;
        background: #e3026d url(img/form_icon_on.png) no-repeat 94% center;
        color: #fff;
        font-size: 5.33vw;
    }
    #form_wrap.recruit input[type="file"]{
        margin: 0.5em 1em 1em 0.5em;
    }
    .recruit .recruit_form #form_wrap tr th:first-of-type{
        margin: 2.66vw 0 1.33vw;
    }
    .common_txt .txt_box p{
        font-size: 3.73vw;
    }
}

/* = 記事コンテンツ
-------------------------------------------------------------- */
#article_list .wrap_b {
    display: flex;
    flex-wrap: wrap;
}
#article_list .box_view {
    position: relative;
    width: calc(33.3% - 10px);
    margin: 5px;
}
#article_list .box_img img {
    width: 100%;
    height: 250px;
    object-fit: cover;
}
#article_list .box_tit {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    background: rgba(255, 255, 255, 0.7);
    text-align: left;
}
#article_list .box_tit a {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow:hidden;
    color: #329cf0;
    line-height: 1.5;
}
#article_list .box_view h2 {
    font-size: 16px;
    font-weight: bold;
    padding: 3px 5px;
}
#article_list .box_view a:hover {
    text-decoration: none;
}
#article_dtl h2 {
    text-align: left;
    color: #329cf0;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.4;
    padding: 0 0 15px;
    border-bottom: 1px solid #329cf0;
    margin: 50px 0 30px;
}
@media ( max-width: 960px ){
    #article_list .box_view {
        position: relative;
        width: calc(50% - 10px);
    }
}
@media ( max-width: 640px ){
    #article_list .box_view {
        position: relative;
        width: calc(50% - 10px);
    }
    #article_list .box_img img {
        height: 45vw;
    }
    #article_list .box_tit a {
        line-height: 1.3;
    }
    #article_list .box_view h2 {
        font-size: 3.73vw;
        padding: 1vw 2.5vw;
    }
}

/* = result
-------------------------------------------------------------- */
#result .media{
    margin: 0 0 60px;
}
#result .media .media_box{
    width: 30%;
    float: left;
    margin: 0 5% 0 0;
}
#result .media .media_box:last-child{
    margin: 0;
}
#result .media .media_box .media_logo{
    height: 46px;
    margin: 0 auto 10px;
}
#result .media .media_box .media_logo img{
    height: 100%;
    width: auto;
}
#result .media .media_box .media_tit{
    font-size: 18px;
    font-weight: bold;
    color: #329cf0;
    margin: 0 0 10px;
}
#result .media .media_box p{
    text-align: left;
    line-height: 1.4;
    margin: 0 0 10px;
}
#result .other{
    margin: 0 0 50px;
}
#result .other .box{
    width: 48%;
    float: left;
}
#result .other .box.right{
    float: right;
}
#result .other dl{
    margin: 0 0 30px;
}
#result .other dl dt{
    font-size: 18px;
    font-weight: bold;
    color: #329cf0;
    background: #daefff;
    padding: 10px;
    margin: 0 0 10px;
}
#result .other dl ul li{
    text-align: left;
    line-height: 1.6;
}
#result .media_cont{
    text-align: left;
    line-height: 1.6;
}
#result .media_cont a{
    font-weight: bold;
}
@media ( max-width: 750px ){
    #result .media .media_box{
        width: 100%;
        float: none;
        padding: 0 0 20vw;
        border-bottom: 1px solid #ccc;
        margin: 0 0 20vw;
    }
    #result .media .media_box:last-child{
        padding: 0;
        border-bottom: none;
        margin: 0;
    }
}
@media ( max-width: 640px ){
    #result .media{
        margin: 0 0 8vw;
    }
    #result .media .media_box{
        padding: 0 0 4vw;
        margin: 0 0 4vw;
    }
    #result .media .media_box .media_logo{
        height: 6vw;
        margin: 0 auto 1.5vw;
    }
    #result .media .media_box .media_tit{
        font-size: 4vw;
        margin: 0 0 1.5vw;
    }
    #result .media .media_box p{
        margin: 0 0 1.5vw;
    }
    #result .other{
        margin: 0 0 6vw;
    }
    #result .other .box{
        width: 100%;
        float: none;
    }
    #result .other .box.right{
        float: none;
    }
    #result .other dl{
        margin: 0 0 4vw;
    }
    #result .other dl dt{
        font-size: 4vw;
        padding: 1.5vw;
        margin: 0 0 1.5vw;
    }
}

/* = practice
-------------------------------------------------------------- */
#practice .col1_2{
    height: auto;
}
#practice a{
    outline: none!important;
}
#practice .head_img{
    margin: 0 0 30px;
}
#practice .sec_in{
    margin: 0 0 60px;
}
#practice .col1_1 .col1_1_1,
#practice .col1_1 .col1_1_2,
#practice .col1_2,
#practice .col2{
    margin: 0 0 60px;
}
#practice .col1_1 .col1_1_1 img{
    width: 60%;
    margin: 0 auto 30px;
    max-width: 100%;
}
#practice .col1_1 div p{
    text-align: left;
    line-height: 1.7;
}
#practice .col1_2{
    margin: 0 0 60px;
}
#practice .col1_2 .bottom{
    display: none;
}
#practice .col2 .col2_1{
    width: 48%;
    float: left;
}
#practice .col2 .col2_2{
    width: 48%;
    float: right;
}
#practice .pamph {
    margin: 40px 0 0;
}
#practice .pamph a{
    display: inline-block;
    margin: 0 20px;
    text-decoration: none;
    width: 20%;
}
#practice .pamph a p{
    display: block;
    color: #000;
    padding: 8px 0 0;
    text-align: center;
}
#practice .service_box{
    width: 48%;
    float: left;
    margin: 0 0 60px;
}
#practice .service_box:first-child{
    margin: 0 4% 60px 0;
}
#practice .service_box .tit {
    font-size: 18px;
    font-weight: bold;
    color: #329cf0;
    background: #daefff;
    padding: 10px;
    margin: 0 0 10px;
    text-align: center;
}
#practice .service_box p{
    text-align: left;
    line-height: 1.4;
    padding: 0 0 20px;
}
#practice .service_box p.mgn20{
    padding: 0;
}
#practice .service_box p.cancel{
    display: inline-block;
    padding: 0;
}
#practice .service_box p.mgn20.bold.red{
    display: inline-block;
    padding: 0;
    font-weight: bold;
    font-size: 17px;
}
#practice .service_box p.cancel {
    text-decoration: line-through;
}
#practice .sec_in_wrap .sec_in{
    width: 48%;
    float: left;
}
#practice .sec_in_wrap .sec_in.right{
    float: right;
}
@media ( max-width: 960px ){
    #practice .service_box{
        width: 100%;
        float: none;
    }
    #practice .service_box:first-child{
        margin: 0 0 30px;
    }
    #practice .sec_in_wrap .sec_in{
        width: 100%;
        float: none;
    }
    #practice .sec_in_wrap .sec_in.right{
        float: none;
    }
}
@media ( max-width: 640px ){
    #practice .popup a {
        margin: 0 10px;
    }
    #practice .kv{
        margin: 0 0 4vw;
    }
    #practice .sec_in{
        margin: 0 0 6vw;
    }
    #practice .si01 .img_box{
        width: 70%;
        margin: 0 auto 4vw;
    }
    #practice .popup a{
        display: inline-block;
        margin: 0 1.5vw;
    }
    #practice .popup a span{
        padding: 1vw 0 0;
    }
    #practice .service_box .tit {
        font-size: 4vw;
        padding: 1.5vw;
        margin: 0 0 1.5vw;
    }
    #practice .service_box dd{
        padding: 0 0 3vw;
    }
    #practice .service_box dd .red{
        font-size: 4vw;
    }
}

/* = magazine
-------------------------------------------------------------- */
#magazine p{
    font-size: 15px;
    line-height: 1.7;
    text-align: left;
}
#magazine .sec_in_wrap{
    margin: 0 0 50px;
}
#magazine .sec_in .img_box{
    box-shadow: 0 2px 5px 1px rgba(0,0,0,.2);
    width: 250px;
    float: left;
    box-sizing: border-box;
    margin: 0 30px 30px 0;
}
#magazine .box{
    margin: 40px 0 40px;
}
#magazine .box .button{
    color: #fff;
    font-weight: bold;
    padding: 10px 0;
    background: #eb5199;
    border: 1px solid #eb5199;
    border-radius: 0.25em;
    text-decoration: none;
    display: inline-block;
    max-width: 130px;
    width: 32%;
    box-sizing: border-box;
}
#magazine .box .button:hover{
    color: #eb5199;
    background: #fff;
}
#magazine .sec_in .txt_box{
    text-align: left;
    line-height: 1.7;
}
#magazine .sec_in .txt_box p{
    padding: 0 0 1em;
}
#magazine .sec_in .txt_box p:last-child{
    padding: 0;
}
#magazine .col2 img{
    float: left;
    width: 250px;
    margin: 0 30px 30px 0;
}
.hr2 {
    margin: 0 auto 40px;
    width: 90%;
    border: 0;
    height: 1px;
    background-image: -webkit-linear-gradient(left, #f0f0f0, #1492d4, #f0f0f0);
    background-image: -moz-linear-gradient(left, #f0f0f0, #8c8b8b, #f0f0f0);
    background-image: -ms-linear-gradient(left, #f0f0f0, #8c8b8b, #f0f0f0);
    background-image: -o-linear-gradient(left, #f0f0f0, #8c8b8b, #f0f0f0);
}
#magazine .voice{
    text-align: left;
    font-size: 15px;
    line-height: 1.7;
}
#magazine .voice ul li{
    border-bottom: 1px dashed #329cf0;
    padding: 0 0 15px;
    margin: 0 0 30px;
}
#magazine .voice ul li:last-child{
    border-bottom: none;
    padding: 0;
    margin: 0;
}
#magazine .voice ul li img{
    width: 250px;
    float: left;
    margin: 0 20px 15px 0;
}
#magazine .voice ul li:nth-child(even) img{
    float: right;
    margin: 0 0 15px 20px;
}
#magazine .voice ul li dl{
    display: inline;
    text-align: left;
    line-height: 1.7;
}
#magazine .voice ul li p b{
    font-size: 16px;
    font-weight: bold;
    color: #329cf0;
}
@media ( max-width: 970px ){
    #magazine .sec_in .img_box{
        float: none;
        margin: 0 auto 30px;
    }
    #magazine .sec_in .btn_box .button{
        max-width: none;
    }
}
@media ( max-width: 750px ){
    #magazine .voice ul li .img_box{
        width: 70%;
        float: none;
        margin: 0 auto 20px;
    }
    #magazine .voice ul li:nth-child(even) .img_box{
        float: none;
        margin: 0 auto 20px;
    }
    #magazine .voice ul li dl{
        display: block;
    }
}
@media ( max-width: 640px ){
    #magazine .sec_in_wrap{
        margin: 0 0 6vw;
    }
    #magazine .sec_in .img_box{
        width: 50%;
        margin: 0 auto 3vw;
    }
    #magazine .sec_in .btn_box{
        margin: 0 0 5vw;
    }
    #magazine .sec_in .btn_box .button{
        padding: 3vw 0;
    }
    #magazine .sec_in .btn_box .button:hover{
        color: #fff;
        background: #eb5199;
    }
    .hr2 {
        margin: 0 auto 4vw;
    }
    #magazine .voice ul li{
        padding: 0 0 2vw;
        margin: 0 0 4vw;
    }
    #magazine .voice ul li .img_box{
        width: 60%;
        margin: 0 auto 3vw;
    }
    #magazine .voice ul li:nth-child(even) .img_box{
        margin: 0 auto 3vw;
    }
    #magazine .voice ul li dl dt{
        font-size: 4vw;
    }
}

/*loading animation*/
.loading {
  font-size: 10px;
  margin: 50px auto;
  text-indent: -9999em;
  width: 11em;
  height: 11em;
  border-radius: 50%;
  background: #329cf0;
  background: -moz-linear-gradient(left, #329cf0 10%, rgba(50,156,240, 0) 42%);
  background: -webkit-linear-gradient(left, #329cf0 10%, rgba(50,156,240, 0) 42%);
  background: -o-linear-gradient(left, #329cf0 10%, rgba(50,156,240, 0) 42%);
  background: -ms-linear-gradient(left, #329cf0 10%, rgba(50,156,240, 0) 42%);
  background: linear-gradient(to right, #329cf0 10%, rgba(50,156,240, 0) 42%);
  position: relative;
  -webkit-animation: load3 1.4s infinite linear;
  animation: load3 1.4s infinite linear;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
}
.loading:before {
  width: 50%;
  height: 50%;
  background: #329cf0;
  border-radius: 100% 0 0 0;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
}
.loading:after {
  background: #daefff;
  width: 75%;
  height: 75%;
  border-radius: 50%;
  content: '';
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
#media.single .loading:after{
    background: #fff;
}
#aside .pre .loading:after{
    background: #daefff;
}
#aside .loading:after{
    background: #fff;
}
#movie_list .more_btn .loading:after{
    background: #fff;
}
@-webkit-keyframes load3 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load3 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}


.cast_rank ul li.premium a{
    background: #b8982a;
}
.cast_rank ul li.special a{
    background: #4f70dc;
}
.cast_rank ul li.regular a{
    background: #eb75ad;
}
.cast_rank ul li.fresh a{
    background: #7db73e;
}
.cast_rank ul li.premium a:hover::before,
.cast_rank ul li.premium a.active::before{
    border-top: 15px solid #b8982a;
}
.cast_rank ul li.special a:hover::before,
.cast_rank ul li.special a.active::before{
    border-top: 15px solid #4f70dc;
}
.cast_rank ul li.regular a:hover::before,
.cast_rank ul li.regular a.active::before{
    border-top: 15px solid #eb75ad;
}
.cast_rank ul li.fresh a:hover::before,
.cast_rank ul li.fresh a.active::before{
    border-top: 15px solid #7db73e;
}
.cast_list ul li.premium .img_box::after{
    background: #b8982a;
}
.cast_list ul li.special .img_box::after{
    background: #4f70dc;
}
.cast_list ul li.regular .img_box::after{
    background: #eb75ad;
}
.cast_list ul li.fresh .img_box::after{
    background: #7db73e;
}
@media ( max-width: 640px ){

    .cast_rank ul li.premium a:hover::before,
    .cast_rank ul li.premium a.active::before{
        border-top: 10px solid #b8982a;
    }
    .cast_rank ul li.special a:hover::before,
    .cast_rank ul li.special a.active::before{
        border-top: 10px solid #4f70dc;
    }
    .cast_rank ul li.regular a:hover::before,
    .cast_rank ul li.regular a.active::before{
        border-top: 10px solid #eb75ad;
    }
    .cast_rank ul li.fresh a:hover::before,
    .cast_rank ul li.fresh a.active::before{
        border-top: 10px solid #7db73e;
    }
}

/*------------------pager-----------------*/
#main .pager li{
    display: inline-block;
}

.sns_bnr_box .loading:after {
    background: #fff;
}
.sns_bnr_box a {
    display: block;
}
.sns_bnr_box a img {
    width: 100%;
}
@media ( min-width: 641px ){
    .sns_bnr_box {
        margin: 0 0 20px;
    }
}
@media ( min-width: 961px ){
    .sns_bnr_box a {
        float: left;
        width: 32%;
        margin: 0 0 20px 2%;
    }
    .sns_bnr_box a:first-child,
    .sns_bnr_box a:nth-child(3n+1) {
        clear: both;
        margin: 0 0 20px 0;
    }
}
@media ( max-width: 960px ) {
    .sns_bnr_box a {
        width: 48%;
        margin: 0 0 4%;
    }
    .sns_bnr_box a:nth-child(odd) {
        float: left;
        clear: both;
    }
    .sns_bnr_box a:nth-child(even) {
        float: right;
    }
}
@media ( max-width: 640px ){
    .sns_bnr_box {
        margin: 0 0 4vw;
    }
}

/* YES・NO チャート */
.yn-chart{
  margin:0 auto 2rem;
  padding: 2em;
  max-width: 600px;
  background:#daefff;
  box-shadow: 0 3px 5px rgba(0,0,0,.07);
  font-size:0.9rem;
}
.yn-chart__add{
  background: #329cf0;
  color:#fff;
  padding: 0.2em 0.9em !important;
  margin:0 !important;
  text-align:center;
  display:inline-block;
  line-height: 1.5 !important;
}
.yn-chart__title{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
  width: 100%;
  padding: 0.5em 0 0.3em!important;
  margin: 0 auto !important;
  font-size:1.35em !important;
  font-weight: 600 !important;
  color:#329cf0;
  letter-spacing: 1px !important;
  line-height:1.5 !important;
}
.yn-chart__title:before,.yn-chart__title:after {
  content: "";
  flex: 1;
  height: 1px;
  background: #329cf0;
  display: block;
}
.yn-chart__title:before {
  margin-right: 0.7em;
}
.yn-chart__title:after {
  margin-left: 0.7em;
}
.yn-chart__ex{
  text-align:center;
  margin: 0 !important;
  padding: 0 !important;
}
.yn-chart > div{
  display:none;
  padding-top: 100px;
  margin-top: -100px;
}
.yn-chart > div.yn-chart__display{
  display:block;
}
.yn-chart > div > figure{
  margin:1em 0 2em;
}
.yn-chart > div > figure img{
  display:block;
}
.yn-chart > div > p{
  margin:2em 0 0 !important;
  padding: 0.8em 1em 0.8em 4.3em !important;
  background:#fff;
  position:relative;
}
.yn-chart > div > p:before{
  content: "Q";
  background: #329cf0;
  position: absolute;
  left: 0;
  top: 0;
  color: #fff;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-weight: 600;
  font-size: 1.1em;
  min-width: 48px;
}
.yn-chart > div ul{
  margin:2em 0 0 !important;
  padding:0 !important;
  list-style:none !important;
  border:none;
}
.yn-chart > div ul li {
  margin: 0 0 1em 1em!important;
  padding: 0 !important;
}
.yn-chart > div ul li:last-child{
  margin:0 0 0 1em !important;
}
.yn-chart > div ul li a{
  background: #fff;
  display: block;
  padding: 0.8em !important;
  text-decoration: none;
  color: #333;
  box-shadow: 0 3px 5px rgba(0,0,0,.07);
}
.yn-chart > div ul li a:hover{
  box-shadow: inset 2px 2px 0 0 #ee8f81, 2px 2px 0 0 #ee8f81, 2px 0 0 0 #ee8f81, 0 2px 0 0 #ee8f81;
  transition: 0.1s ease-in-out;
  opacity:1;
}
.yn-chart > div ul li:before{
  content:unset !important;
}
.yn-chart__result{
  background:#fff;
  padding:1em;
}
.yn-chart__result-title{
  color: #329cf0;
  font-size: 1.1em !important;
  font-weight:600 !important;
  padding: 0 !important;
  margin: 0 0 1em !important;
  border-bottom: 1px dashed #329cf0;
}
@media screen and (max-width: 560px) {
  .yn-chart{
    padding:1.8em 1.3em;
  }
  .yn-chart > div > figure {
    margin: 0.5em 0;
  }
  .yn-chart > div > p {
    margin: 1em 0 0 !important;
    padding: 0.8em 1em 0.8em 3.3em !important;
  }
  .yn-chart > div ul {
    margin: 1em 0 0 !important;
  }
  .yn-chart__title{
    font-size:1em !important;
  }
  .yn-chart__title:before {
    margin-right:0.3em;
  }
  .yn-chart__title:after {
    margin-left:0.3em;
  }
  .yn-chart__ex,.yn-chart__add{
    font-size:0.9em !important;
  }
  .yn-chart > div > p:before{
    min-width: 30px;
  }
}
/* Twitterシェアボタンなど */
.p-tw-btn,.p-check-btn{
  text-align:center;
  margin:1.5em 5em !important;
  padding:0 !important;
}
.p-tw-btn a,.p-check-btn a{
  display:block;
  box-shadow: 0 3px 5px rgba(0,0,0,.15);
  color:#fff !important;
  font-weight:600 !important;
  text-decoration:none !important;
  padding:0.5em 0;
  border-radius:30px;
}
.p-tw-btn a{
  background:  #00acee;
}
.p-check-btn a{
  background:#fbc55e;
}
.p-tw-btn a:hover,.p-check-btn a:hover{
  transform: translateY(3px);
  box-shadow: 0 2px 2px rgba(0,0,0,.22);
}
.yn-chart > div > p.p-check-btn{
  background: none !important;
  padding: 0 5em !important;
}
.yn-chart > div > p.p-check-btn:before{
  content:unset !important;
}
@media screen and (max-width: 800px) {
  .p-tw-btn,.p-check-btn{
    margin:1.5em 3em !important;
  }
}
@media screen and (max-width: 560px) {
  .p-tw-btn,.p-check-btn{
    margin:1.5em 1em !important;
  }
  .yn-chart > div > p.p-check-btn{
    padding: 0 3em !important;
  }
}

/* ポップアップwindow部分 */
#overlay {
    visibility: hidden;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 70;
    width: 100%;
    height: 100%;
}
/* オーバーレイの背景部分 */
#bg_gray {
    background: rgba(0,0,0,0.5);
    width: 100%;
    height: 100%;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 80;
}
/* オーバーレイの背景部分薄め */
#bg_grayusu {
    background: rgb(0,0,0,0.15);
    width: 100%;
    height: 100%;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 80;
}
/* ウィンドウ部分 */
#window {
    width: 90%;
    max-width: 500px;
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    z-index: 90;
    opacity: 0;
}
/* 閉じるボタン */
#btn_cloth {
  cursor: pointer;
  position: absolute;
  top: -26px;
  right: 0;
}
#btn_cloth:hover {
    opacity: 0.7;
}
#btn_cloth span,
#btn_cloth span::before {
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background: #fff;
}
#btn_cloth span {
    transform: rotate(45deg);
}
#btn_cloth span::before {
    content: "";
    position: absolute;
    bottom: 0;
    transform: rotate(-90deg);
}


/* クリックで表示 */
#popup:checked ~ #overlay {
    visibility: visible;
}
#popup:checked ~ #overlay #window {
    animation: fadein 500ms forwards;
    animation-timing-function: ease-in-out;
}
@keyframes fadein {
    100% {
        opacity: 1;
    }
}


/* コンテンツ部分のスタイル */


#txt_label {
    text-decoration: underline;
    cursor: pointer;
}
#txt_label:hover {
    opacity: 0.7;
}


#msg a {
    display: inline-block;
    color: #fff;
    background: #CE5D8B;
    border-radius: 20px;
    padding: 0.5em 1.5em;
    text-decoration: none;
}
#msg a:hover {
    opacity: 0.7;
}

/*--------------------------------------
  モーダル表示上から_1
--------------------------------------*/
.modal_wrap input {
  display: none;
}

.modal_overlay {
  display: flex;
  justify-content: center;
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  transition: opacity 0.5s, transform 0s 0.5s;
  transform: scale(0);
}

.modal_trigger {
  position: absolute;
  width: 100%;
  height: 100%;
}

.modal_content {
    align-self: center;
    width: 90%;
    max-width: 500px; 
    padding: 30px 5px 5px 10px;
    box-sizing: border-box;
    background: #f0f0f0;
    line-height: 1.4em;
    transition: 0.5s;
}

.modal_content p {
  padding-top: 0;
}

.close_button {
  cursor: pointer;
  position: absolute;
  top: -26px;
  right: 0;
  font-size: 24px;
  color: #f0f0f0;
}

.modal_wrap input:checked ~ .modal_overlay {
  opacity: 1;
  transform: scale(1);
  transition: opacity 0.5s;
}

.modal_wrap input:checked ~ .modal_overlay .modal_content {
  transform: translateY(20px);
}

.open_button {
   color: #4f96f6;
    background-color: #eeeeee;
    font-weight: bold;
    text-align: center;
    cursor :pointer;
    transition: all 0.3s;
    display: block;
    margin-top: 40px;
    margin-bottom: 1px;
    padding: 12px 2px;
    max-width:300px;
    text-decoration: none;
}

.open-button:active {
  /*ボタンを押したとき*/
  -webkit-transform: translateY(2px);
  transform: translateY(2px);/*下に動く*/

}

/*アイコンを表示*/
.open-button:after {
font-family: "Font Awesome 5 Free";
  content: "\f2d0";
    padding-left: 8px;
}

/*ラベルホバー時*/
.open-button:hover {
  color: #FFFFFF;
  background-color: #4f96f6;
  transition: .6s;
}

.modal_title2 {
  font-size: 1.5em;
	position: relative;
	overflow: hidden;
  padding-bottom: 10px;
  margin-top:0;
  margin-bottom: 0;
}

.modal_title2::before,
.modal_title2::after{
	content: "";
	position: absolute;
	bottom: 0;
}

/* キャストタイプpopup */
.works_item {
    list-style: none;
}
.works_modal_open {
    text-align: center;
}

.works_modal_content{
    text-align: center;
}

/* ------works_modal css------ */
.works_modal_wrapper {
    position: fixed;
    display: flex;
    align-items: center;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    border: none;
    opacity: 0;
    z-index: -1;
}
.works_modal_window {
    position: relative;
    bottom: 35px;
    width: 87%;
    max-width: 370px;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
    background: #f0f0f0;
    z-index: 1;
    overflow-y: hidden;
}
.works_modal_content {
    margin: 0 auto;
    width: 100%;
    height: 100%;
}
.works_modal_mask {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
}
.works_modal_close {
    z-index: 300;
    position: absolute;
    top: 12px;
    right: 10px;
    color: #fff;
    font-size: 1.5rem;
    cursor: pointer;
}
.works_modal_close:hover {
    color: #000;
    transition: all .5s;
}
html.is_open, body.is_open {
    overflow: hidden;
}
.works_modal_wrapper.is_open {
    animation: works_modal_wrapper_open .5s ease forwards;
}
.works_modal_wrapper.is_open .works_modal_window {
    animation: works_modal_window_open .5s ease forwards;
}
.works_modal_wrapper.is_close {
    animation: works_modal_wrapper_close .5s ease forwards;
}
.works_modal_wrapper.is_close .works_modal_window {
    animation: works_modal_window_close .5s ease forwards;
}

@keyframes works_modal_wrapper_open {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
      z-index: 300;
    }
  }
  @keyframes works_modal_window_open {
    0% {
      opacity: 0;
      transform: translateY(-30px);
    }
    100% {
      opacity: 1;
      transform: translateY(0);
    }
  }
  @keyframes works_modal_wrapper_close {
    0% {
      z-index: 300;
      opacity: 1;
    }
    100% {
      opacity: 0;
    }
  }
  @keyframes works_modal_window_close {
    0% {
      opacity: 1;
      transform: translateY(0);
    }
    100% {
      transform: translateY(-30px);
      opacity: 0;
    }
  }

/* キャストタイプのタグ表示 */
.type-tag {
  display:inline-block;
  padding: 0.5em 1em;
  margin: 0.5em 0.3em;
  background-color: #fff;
  border: solid 1.5px #45c3f1;
  border-radius: 100vh;
  color: #45c3f1;
  text-align: center;
  cursor: pointer;
}
.type-tag:hover {
  background-color: #45c3f1;
  color: #fff;
}
.type-button {
  display:inline-block;
  padding: 1em 2.5em;
  margin: -1px 6px 12px;
  background-color: #45c3f1;
  border-radius: 100vh;
  color: #fff;
  text-align: center;
  box-shadow: 0 5px 7px -5px rgba(0,0,0,0.8)
}
.type-button2 {
  float: left;
  width: 60px;
  height: 60px;
  line-height: 60px;
  background-color: #45c3f1;
  border-radius: 50%;
  color: #fff;
  text-align: center;
  box-shadow: 0 5px 7px -5px rgba(0,0,0,0.8)
}
.type-button3 {
  display:inline-block;
  width: 75px;
  padding: 0.7em 2em;
  margin: -1px 6px 12px;
  background-color: #45c3f1;
  border-radius: 100vh;
  color: #fff;
  text-align: center;
  box-shadow: 0 5px 7px -5px rgba(0,0,0,0.8)
}
.top-attention-box {
    padding: 0.5em 1em;
    margin: 2em 1em;
    border: double 5px #92cad9;
    line-height: normal;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
}
.top-attention-box p {
    margin: 0 0 10px;
    padding: 0;
}

/* デートLOG */

.datelog-flex {
  display: flex; /*横並び*/
}
.datelog-flex .image {
  margin: 0;
  padding: 0;
}
.datelog-flex .image img {
  width: 100%;
  height: auto;
}
.datelog-flex .right {
  margin: 0 0 0 20px;
  padding: 0;
}
.datelog-flex .title {
  text-align:left;
  margin: 0;
  padding: 0;
  font-weight: bold;
  font-size: 15px;
}
.datelog-flex .text {
  text-align:left;
  font-size: 13px;
  margin: 10px 0 0;
  padding: 0;
}

.datelog-btn {
  display: inline-block;
  border: 1px solid #535353;
  color: #535353; /* 文字色 */
  padding: 2px 10px; /* 上下の余白、左右の余白 */
  text-decoration: none; /* デフォルトで入るリンクの下線を消す */
  border-radius: 50px; /* 角を丸くする */
  font-size: 12px;
}


/* = カジュアライズ　自社カスタマイズ
-------------------------------------------------------------- */
.movie-wrap {
    display: inline-block;
    width: 100%;
    max-width: 500px;
    text-align: center;
}
.movie-in {
    position: relative;
    padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
    height: 0;
    overflow: hidden;
}
.movie-in iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.red_box {
    padding: 15px;
    font-size: 16px;
    color: #f00;
    border: 1px #f00 solid;
}