@charset "UTF-8";
/*----------このエリアは削除すると正しく動作しない可能性があります----------

Theme Name:   LION MEDIA Child
Theme URI:    http://fit-jp.com/theme/
Description:  FIT(フィット) が制作するメディア用WordPressTHEME「LION MEDIA」の子テーマ
Author:       Kota Naito　@FIT(フィット)
Author URI:   http://fit-jp.com/about/
Template:     lionmedia
Version:      1.2
License:      GNU GENERAL PUBLIC LICENSE
License URI:  http://www.gnu.org/licenses/gpl.html

----------このエリアは削除すると正しく動作しない可能性があります----------*/


/*/////////////////////////////////////////////////
//下記ユーザーカスタマイズエリア
/////////////////////////////////////////////////*/
/*@import url('https://fonts.googleapis.com/css?family=Playfair+Display');*/
/* @import url('https://fonts.googleapis.com/css?family=Secular+One'); */
@import url('https://fonts.googleapis.com/css?family=Raleway');
body{
    color: white;
    background: #191919;
    /* background-image: url(./img/home_bgL.png), url(./img/home_bgR.png); */
    /* background-repeat: repeat-y, repeat-y; */
    /* background-position: left, right; */
    overflow-x: hidden;
    font-family: "UD Shin Go NT Medium", Helvetica, Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
}
/* #home .My-wrapper {
    position: relative;
    background: #191919;
    background-image: url(./img/home_bgL.png), url(./img/home_bgR.png);
    background-repeat: repeat-y, repeat-y;
    background-position: left, right;
    overflow-x: hidden;
} */
#home .My-wrapper {
    position: relative;
    background: #191919;
    background-image: url(./img/company_bg.png);
    background-repeat: repeat-y;
    background-position: 15%;
    background-size: 12vw;
    overflow-x: hidden;
}
body#company {
    background-image: url(./img/works_bg.png);
    background-repeat: repeat-y;
    background-position: center;
    background-size: cover;
    height: 100vh;
}
body#works {
    background-image: url(./img/company_bg.png);
    background-repeat: repeat-y;
    background-position: 15%;
    background-size: 12vw;
}
/* body#contacts {
    background-image: url(./img/contacts_bg_01.png), url(./img/contacts_bg_02.png);;
    background-repeat: no-repeat, no-repeat;
    background-position: 15% 10%, center 70%;

} */
/* body#contacts {
    background-image: url(./img/contacts_bg_02.png);
    background-repeat: no-repeat;
    background-position: 15% 470px;
    background-size: 400px;
} */
body#contacts {
    background-image: url(./img/works_bg.png);
    background-repeat: repeat-y;
    background-position: center;
    background-size: cover;
    height: 100vh;
}



/*メニュー*/
.globalNavi{
    overflow: visible;
    padding-top: 0px;

}

.globalNavi__list{
    width: 100%;
}

.globalNavi__list .menu-item {
    width: 25%;
    text-align: center;
    padding: 0;
    margin-bottom: 0px; 
    height: 60px;
}
.globalNavi__list > .menu-item {
    padding-top: 23px;
    position: relative;
}


.globalNavi__list > .menu-item > a {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding-top: 23px;
}
.globalNavi__list .menu-item:hover {
    color: inherit;
    font-weight: normal;
}
.globalNavi__list .menu-item li {
    font-weight: normal;
}
.globalNavi__list > .menu-item:hover, .globalNavi__list .menu-item li:hover {
    color: #ffffff;
    font-weight: bold;
}

/* .globalNavi__list .menu-item.current-menu-parent, .globalNavi__list .menu-item .current-menu-item{
    color: #ffffff;
    font-weight: bold;
} */


.globalNavi__list .sub-menu {
    margin-top: 37px;
    list-style: none;
}

.globalNavi__list .sub-menu .menu-item {
    display:inline-block;
    width: 100%;
    height: auto;
    margin: 0;
    background: #191919;
    position: relative;
    z-index: 1;
}
.globalNavi__list .sub-menu .menu-item a {
    display:block;
    width:100%;
    padding:12px 0;
}

.globalNavi__list .menu-item > .sub-menu{
    display: none;
    width: 100%;
}

.globalNavi__list .menu-item:hover > .sub-menu{
    display: block;
}
@media only screen and (max-width: 767px){
    .globalNavi__list .menu-item:hover > .sub-menu{
        display: none;
    }
}
.menuNavi__item.u-txtShdw:first-child{
    display: none;
}



/*PCグローバルメニュー固定*/
.l-extra{
    position: fixed;
    top: 70px;
    z-index: 1000;
    width: 100%;
}
.l-extra.home{
    position: fixed;
    top: 0px;
    z-index: 1000;
    width: 100%;
}
.l-header{
    position: fixed;
    z-index: 1000;
    top: 0;
    width: 100%;
}


.key {
    width: 100%;
    padding-top: 100px;
}
.l-extra-pad{
    height: 60px;
}
.l-header-pad{
    height: 70px;
}

/*SPグローバルメニュー固定*/
@media only screen and (max-width: 767px){
    .l-extra{
        position: fixed;
        top: 50px;
        z-index: 1000;
        width: 100%;
    }
    .l-extra-pad{
        height: 48px;
    }
    .l-header-pad{
        height: 50px;
    }
    .l-extra.home{
        position: fixed;
        top: 0px;
        z-index: 1000;
        width: 100%;
    }
    .l-header{
        position: fixed;
            top: 0;
        z-index: 1000;
        width: 100%;
    }
    .globalNavi{
        padding: 0;
    }
    .globalNavi__list .page_item, .globalNavi__list .menu-item{
        float: left;
    }
    .globalNavi__list .menu-item{
        height: 48px;
    }
    .globalNavi__list > .menu-item > a {
        padding-top: 18px;
    }
    .globalNavi__list .sub-menu{
        margin-top: 25px;
    }
}
/*トップ画像*/
.top-img{
    height: calc(100vh - 60px);
    overflow: hidden;
    position:relative
}
.top-img > img{
    position: fixed;
    min-height: 100%;
    min-width: 100%;
    left: 50%;
    top: 50%;
    transform: translate3d(-50%, -50%, 0);
    -webkit-transform: translate3d(-50%, -50%, 0);
}
@media only screen and (max-width: 1350px){
    .top-img > img{
        height: 100%;
        /* min-width: 0; */
        max-width: none;
    }
}
@media only screen and (max-width: 767px){
    .top-img {
        height: calc(100vh - 48px);
    }
    .top-img > img{
        height:100%;
        min-width: 0;
        max-width: none;
    }
}
.top-logo p{
    font-size: 48px;
    font-weight: bold;
    text-shadow: 0px 0px 15px #000;
    /*font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;*/
    /*font-family: 'Playfair Display', serif;*/
}
.top-logo p:last-child {
    font-size: 28px;
}
.top-logo img {
    position: fixed;
    /* height: 35%; */
    width: 28%;
    left: 50%;
    top: 50%;
    transform: translate3d(-50%, -50%, 0);
    -webkit-transform: translate3d(-50%, -50%, 0);
}
.top-button p {
    position: fixed;
    text-align: center;
    left: 50%;
    bottom: 2%;
    transform: translate3d(-50%, -50%, 0);
    -webkit-transform: translate3d(-50%, -50%, 0);
}


/* @media only screen and (max-width: 767px){ */

/*メイン*/

.l-main{
    padding: 0;
    width: 100%;
}

.top-content,.top-slider,.top-tile,.top-aboutus {
    padding: 1300px 0 180px ; /*.top-lineと.top-aboutusは↓で上書きしてる*/
}
@media only screen and (max-width: 767px){
    .top-content,.top-slider,.top-tile,.top-aboutus {
        padding: 1500px 0 180px ; /*.top-lineと.top-aboutusは↓で上書きしてる*/
    }
}

.top-tile h4, .top-slider h4, .top-content h4 {
    text-align: center;
    font-size: 64px;
    font-weight: normal;
    padding-top: 30px;
    margin-bottom: 120px;
    /*font-family: 'Playfair Display', serif;*/
}
.top-tile h4 .top-h4, .top-slider h4 .top-h4, .top-content h4 .top-h4 {
    display:inline-block;
    width: 80%;
    padding-bottom: 10px;
    border-bottom: solid 1px #fff;
}

/* .top-news{
    position: absolute;
    z-index: 10;
    width: 450px;
    bottom: -60px;
    left: 8vw;
    background: rgba(0, 0, 0, .4);
    padding: 16px;
} */
.top-news{
    position: absolute;
    z-index: 10;
    width: 70vw;
    left: 0;
    right: 0;
    margin: auto;
    transform: translate3d(0, 700px, 0);
    -webkit-transform: translate3d(0, 700px, 0);
    background: rgba(0, 0, 0, .4);
    padding: 16px;
    border: 5px solid;
    border-color: darkgray;
}
@media only screen and (max-width: 767px){
    .top-news{
        left: 0;
        width: 95%;
        margin: 0 2.5%;
    }
}

.top-news h4{
    text-align: center;
    font-size: 32px;
    padding-bottom: 8px; 
    margin-bottom: 20px; 
    border-bottom: solid 1px #ffffff;
    /* background-image: url(./img/news_d.png); */

}
.top-news h4 img{
    width: 23px;
}
.top-news .news-page-cont {
    margin: 0 8px;
}
.top-news .news-page-cont p {
    line-height: 1.25;
}
.top-news .news-page-cont td:first-child {
    padding: 0 12px 0 0; 
}

.content .top-content{
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.content .top-content h4 {
    font-family: "UD Shin Go NT Medium", Helvetica, Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
}


.top-slider{
    padding: 0px 0 150px;
}
@media only screen and (max-width: 767px){
    .top-slider{
        padding: 60px 0 620px;
    }
}
.top-line-cont{
    position: relative;
}
.top-line-img{
    position: relative;
    width: 50%;
    z-index: 10;
}
@media only screen and (max-width: 767px){
    .top-line-img{
        display: none;
    }
}
.top-line-waku{
    position: absolute;
    right: 0;
    top: 50%;
    transform: translate(0, -50%);
    -webkit-transform: translate(0, -50%);
    padding:  20px;
    width: 100%;
    border: solid 1px antiquewhite;
    z-index: 9;
}
@media only screen and (max-width: 767px){
    .top-line-waku{
        top: 0;
        transform: translate(0, 0);
        -webkit-transform: translate(0, 0);
    }
}
.top-line-page-cont{
    padding:  40px 40px 40px 55%;
    font-size: 24px;
    color: rgb(60, 20, 10);
    background-color: #faebd7c9;
}

@media only screen and (max-width: 1023px){
    .top-line-page-cont{
        font-size: 18px;
    }
}
@media only screen and (max-width: 767px){
    .top-line-page-cont{
        padding:  20px;
        font-size: 12px;
    }
}
.top-line-page-cont h2{
    font-size: 2em;
    text-align: center;
}
.top-line-page-cont li{
    list-style-type: none;
    margin-left: 2em; 
}
.top-tile .container {
    max-width: 100%;
    width: 1080px;
}



.top-tile{
    background-color: #2b2b2b;
    margin: 0 -500%; /* ネガティブマージンを追記 */
    padding: 90px 500% 150px; /* マージンで横へはみ出した部分を相殺 */
}
@media only screen and (max-width: 767px){
    .top-tile{
        margin: 0; /* ネガティブマージンを追記 */
        padding: 90px 0 150px; /* マージンで横へはみ出した部分を相殺 */
    }   
}
.top-tile .container .grid {
    width: 360px;
    float: left;
    /*background-color: #2b2b2b;*/
    /*border: double 1px #fff;*/
}
@media only screen and (max-width: 767px){
    .top-tile .container .grid {
        margin: auto;
        width: 360px;
        float: none;
        /*background-color: #2b2b2b;*/
        /*border: double 1px #fff;*/
    } 
}
.top-tile .container .grid .grid_image {
    display: table;
    width: 80%;
    height: 280px;
    margin: 30px auto;
    position: relative;
    overflow: hidden;
    border-radius: 50%;
    background: #fff;
    font-family: 'Raleway', sans-serif;
}
.top-tile .container .grid .grid_image:before {
    position: absolute;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    opacity: .85;
    background-size: cover;
    filter: grayscale(0%);
    -webkit-transition: all 300ms 0s ease;
    transition: all 300ms 0s ease;
}
.top-tile .container .grid .grid_image:hover:before {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
    filter: grayscale(100%);
}/*
.top-tile .container .grid:nth-child(2) {
    margin-top: 120px;
}
.top-tile .container .grid:nth-child(4) {
    margin-top: 250px;
}*/
.top-tile .container .grid:nth-child(2) .grid_image:before {
    border-radius: 50%;
    background-image: url(./img/link_comic.png);
}
.top-tile .container .grid:nth-child(3) .grid_image:before {
    border-radius: 50%;
    background-image: url(./img/link_script.png);
}
.top-tile .container .grid:nth-child(4) .grid_image:before {
    border-radius: 50%;
    background-image: url(./img/link_illust.png);
}



.top-tile .container .grid .grid_image a {
    border-radius: 50%;
    position: relative;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    font-size: 42px;
}
.top-tile .container .grid .grid_image a h5 {
    line-height: 1.2em;
    text-shadow: 0px 0px 30px #000, 0px 0px 30px #000, 0px 0px 30px #000;
}

.top-tile .container .grid p {
    padding: 20px 30px;
    text-align:center
}
.top-aboutus {
    background-color: #2b2b2b;
    margin: 0 -500%; /* ネガティブマージンを追記 */
    padding: 90px 500%; /* マージンで横へはみ出した部分を相殺 */
    font-size: 48px;
}
@media only screen and (max-width: 1023px){
    .top-aboutus{
        font-size: 32px;
    }   
}
@media only screen and (max-width: 767px){
    .top-aboutus{
        margin: 0; /* ネガティブマージンを追記 */
        padding: 90px 0; /* マージンで横へはみ出した部分を相殺 */
        font-size: 42px;
    }   
}
.top-aboutus::after {
    content: "";
    display: block;
    clear:both;
}
.top-aboutus > div {
    display: table;
    width: 49.5%;
    height: 272.25px;
    position: relative;
    overflow: hidden;
}
.top-aboutus .top-recruit {
    float: right;
}
.top-aboutus .top-recruit:after {
    position: absolute;
    content: "Recruit";
    text-align: center;
    width: 100%;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    font-size: 1em;
    font-weight: bold;
    text-shadow: 0px 0px 30px #000, 0px 0px 30px #000;
    opacity: 1;
    -webkit-transition: all 300ms 0s ease;
    transition: all 300ms 0s ease;
}
.top-aboutus .top-recruit:hover:after {
    opacity: 0;
}
.top-aboutus .top-recruit a {
    position: relative;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    font-size: 1em;
    opacity: 0;
    background: rgba(0, 0, 0, .5);
    z-index: 10;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    -webkit-transition: all 500ms 0s ease;
    transition: all 500ms 0s ease;
}
.top-aboutus .top-recruit:hover a {
    opacity: 1;
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
}

.top-aboutus .top-recruit a h5 {
    text-shadow: 0px 0px 30px #000, 0px 0px 30px #000;
}
.top-aboutus .top-contact {
    float: left;
}
.top-aboutus .top-contact:after {
    position: relative;
    content: "Contact";
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    width: 100%;
    height: 100%;
    font-size: 1em;
    font-weight: bold;
    text-shadow: 0px 0px 30px #000, 0px 0px 30px #000;
    opacity: 1;
    -webkit-transition: all 300ms 0s ease;
    transition: all 300ms 0s ease;
}
.top-aboutus .top-contact:hover:after {
    opacity: 0;
}
.top-aboutus > div:before {
    position: absolute;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-size: contain;
    -webkit-transition: all 300ms 0s ease;
    transition: all 300ms 0s ease;
}
.top-aboutus .top-recruit:before {
    background-image: url(./img/recruit.png);
    background-size: cover;
}
.top-aboutus .top-contact:before {
    background-image: url(./img/contact.png);
    background-size: cover;
}



.top-aboutus .top-contact .top-contact-box {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0%;
    left: 0%;
    z-index: 10;
    opacity:0;
    -webkit-transition: all 300ms 0s ease;
    transition: all 300ms 0s ease;
}

.top-aboutus .top-contact .top-contact-box:hover {
    opacity:1;
}
.top-aboutus .top-contact .top-contact-box div {
    position: relative;
    display: table;
    width: 30%;
    height: 100%;
    font-size: 0.6em;
    -webkit-transition: all 300ms 0s ease;
    transition: all 300ms 0s ease;
}
.top-aboutus .top-contact .top-contact-box .top-contact-access {
    float: left;
}
.top-aboutus .top-contact .top-contact-box .top-contact-contact {
    float: right;
}

.top-aboutus .top-contact .top-contact-box div a {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    -webkit-transition: all 300ms 0s ease;
    transition: all 300ms 0s ease;
}
.top-aboutus .top-contact .top-contact-box div a:after {
    position: absolute;
    z-index: 10;
    content: "";
    display: block;
    width: 210%;
    height: 200%;
    top: -50%;
    background-color: rgba(0, 0, 0, .5);
    -webkit-transform: rotate(20deg);
    transform: rotate(20deg);
    -webkit-transition: all 300ms 0s ease;
    transition: all 300ms 0s ease;
}

.top-aboutus .top-contact .top-contact-box .top-contact-access a{
    -webkit-transform: translateY(-30%);
    transform: translateY(-30%);
}
.top-aboutus .top-contact .top-contact-box .top-contact-access a:hover{
    -webkit-transform: translateX(50%);
    transform: translateX(50%);
    font-size: 1.65em;
}
.top-aboutus .top-contact .top-contact-box .top-contact-access a:after {
    left: -100%;
}
.top-aboutus .top-contact .top-contact-box .top-contact-access a:hover:after {
    width: 280%;
    background-color: rgba(0, 0, 0, .5);
}
.top-aboutus .top-contact .top-contact-box .top-contact-contact a{
    -webkit-transform: translateY(30%);
    transform: translateY(30%);
}
.top-aboutus .top-contact .top-contact-box .top-contact-contact a:hover{
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    font-size: 1.65em;
}
.top-aboutus .top-contact .top-contact-box .top-contact-contact a:after {
    right: -100%;
}
.top-aboutus .top-contact .top-contact-box .top-contact-contact a:hover:after {
    width: 280%;
    background-color: rgba(0, 0, 0, .5);
}
.top-aboutus .top-contact .top-contact-box div a h6 {
    position: absolute;
    z-index: 11;
    width: 150%;
    top: 40%;
    left: -25%;
}
@media only screen and (max-width: 1023px) and (min-width: 768px) {
    .top-aboutus .top-contact .top-contact-box .top-contact-access a:hover{
        -webkit-transform: translateX(60%);
        transform: translateX(60%);
        font-size: 1.65em;
    }
    .top-aboutus .top-contact .top-contact-box .top-contact-contact a:hover{
        -webkit-transform: translateX(-60%);
        transform: translateX(-60%);
        font-size: 1.65em;
    }
}
@media only screen and (max-width: 768px){
    .top-aboutus .top-recruit, .top-aboutus .top-contact {
        float: none;
        margin: auto auto 60px auto;
    }
    .top-aboutus > div{
        width: 95%;
    }
}
@media only screen and (max-width: 480px){
    .top-aboutus > div {
        height: 180px;
    }
}
.top-recruit.hovered ,.top-contact.hovered {
    opacity:1;
  }


.copySns__copy{
    width: 100%;
    text-align: center;
}
.breadcrumb{
    background: #2b2b2b;
}
.breadcrumb__item {
    color: #ffffff;
}

.content table {
    border-top: 1px solid #999;
    border-left: 1px solid #999;
}
.content table tr:nth-child(2n+1){
    background: #2b2b2b;
}
.content table td {
    border-right: 1px solid #999;
    border-bottom: 1px solid #999;
}
.content table td p {
    margin-left: 0;
    margin-right: 0;    
}
.heading.heading-page {
    color: #ffcc44;
    margin-bottom: 40px;
}
.content p {
    margin-left: 1em;
    margin-right: 1em;
}
.content ul li, .content ol li {
    margin-left: 1em;
    margin-right: 1em;
}
.content .top-content h2 {
    padding: 0;
    color: #ffffff;
    border-left: none;
    border-bottom: none;
}

.siteTitle__main {
    color: #ffcc44;
}

.pagetop__link:active::before {
	background:transparent;
	z-index:auto;
}


.top-first {
    position: absolute;
    z-index: 10;
    width: 90%;
    left: 0;
    right: 0;
    margin: auto;
    transform: translate3d(0, -135px, 0);
    -webkit-transform: translate3d(0, -135px, 0);
}








/* スマホのみ表示 */
.only-sp {
    display: none;
} 


@media screen and (max-width: 780px){
/* PCのみ表示 */
.only-pc {
    display: none;
} 

/* スマホのみ表示 */
.only-sp {
    display: unset;
} 
}
/* 固定ヘッダー・ナビゲーションのアンカー位置補正 */
html {
    scroll-padding-top: 150px;
}

@media only screen and (max-width: 767px) {
    html {
        scroll-padding-top: 110px;
    }
}
