@charset "utf-8";
body {
    max-width: 1400px;
    margin: 0 auto;
}
/* ページの準備が出来次第、以下削除OK */
body#blog .blog {
    display: block
}
.clear:after {
    display: block;
    content: "";
    clear: both;
}
/* 表示・非表示
===== ===== ===== =====*/
.sp {
    display: none;
}
.pc {
    display: block;
}
.sp_inline {
    display: none;
}
.pc_inline {
    display: inline-block;
}
table,
tr,
th,
td {
    font-size: 14px;
    letter-spacing: 1.5px;
}
section h2 {
    margin-bottom: 60px;
    text-align: center;
}
section h2 span:nth-of-type(1) {
    margin-bottom: 18px;
    text-align: center;
    font-size: 32px;
    letter-spacing: 0.15em;
    display: block;
}
section h2 span:nth-of-type(2) {
    font-size: 12px;
    font-weight: normal;
    letter-spacing: 0.2em;
    display: block;
}
p {
    font-size: 14px;
    color: #000;
    line-height: 360%;
    text-align: justify;
}
h3.bg_dotted {
    display: inline-block;
    min-width: 320px;
    padding: 20px 30px;
    text-align: center;
    margin: 0 auto;
    background: url(../commons/img/bg_dotted.png) , #fff;
    margin-bottom: 50px;
    letter-spacing: 4px;
}
/* contact Area
===== ===== ===== =====*/
div.contact {
    display: block;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}
/*------------------------------------------------------------------
	for_pc
------------------------------------------------------------------*/
/* about_us
===== ===== =====*/
section.aboutus {
    display: block;
    width: 100%;
    margin: 0 auto;
}
div.about-us {
    display: block;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}
div.about_us_top {
    margin-bottom: 135px;
    text-align: center;
}
div.about_us_top img {
    width: 180px;
    height: auto;
    display: block;
    margin: 0 auto 75px;
}
div.about-us p {
    width: 80%;
    margin: 0 auto;
    text-align: center;
}
div.about-us .contentsWrap {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto 145px;
}
div.about-us .contentsWrap li {
    width: calc(50% - 30px);
    max-width: 670px;
    height: auto;
    float: left;
    text-align: center;
}
div.about-us .contentsWrap li:nth-child(odd) {
    margin-right: 60px;
}
div.about-us .contentsWrap img {
    display: block;
    width: 100%;
    max-width: 620px;
    margin: 0 auto 55px;
    height: auto;
}
div.company_profile {
    background: #f5f5f5;
    padding: 60px 0;
}
div.company_profile h2:before {
    content: "";
    display: block;
    background: url(../img/aboutus/ico_company_profile.png) no-repeat center center;
    width: 60px;
    height: 60px;
    background-size: 60px auto;
    margin: 0 auto 20px;
}
div.company_profile table {
    width: 94%;
    max-width: 820px;
    height: auto;
    margin: 0 auto;
    border-collapse: collapse;
}
div.company_profile table tr {
    border-collapse: collapse;
    border-bottom: dotted 1px #000;
    padding: 30px 0;
}
div.company_profile table th,
div.company_profile table td {
    padding: 30px 75px;
    line-height: 210%;
}
div.company_profile table td ul li {
    list-style: disc;
    list-style-position: inside;
    text-indent: -20px;
    padding-left: 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
/* service
===== ===== =====*/
section.service_graphic {
    padding-top: 105px;
    overflow: hidden;
}

section.service_web {
    padding-top: 105px;
    overflow: hidden;
}

section.service_mixmedia {
    padding-top: 105px;
    overflow: hidden;
}


.service_concept01,
.service_concept02,
.service_concept03 {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto 120px;
    text-align: center;
}
.service_concept01 p,
.service_concept02 p,
.service_concept03 p {
    width: 100%;
    text-align: center;
    line-height: 360%;
}

/* slick slider
===== ===== ===== =====*/
.position_swiper_left {
    position: relative;
    width: 100%;
    height: 220px;
    margin-bottom: 100px;
    left: -300px;
}
.position_swiper_right {
    position: relative;
    width: 100%;
    height: 220px;
    margin-bottom: 100px;
    right: -300px;
}
#service_graphic .slider,
#service_web .slider,
#service_mixmedia .slider {
    height: 220px;
    width: auto;
}
#service_graphic .slider li,
#service_web .slider li,
#service_mixmedia .slider li {
    height: 220px;
    width: 300px;
}
#service_graphic .slider li img,
#service_web .slider li img,
#service_mixmedia .slider li img {
    width: 300px;
    height: 220px;
}
/*サービス 私たちにできること
===== ===== ===== ===== =====*/
.service_wecan {
    width: 100%;
    background: #f5f5f5;
}
.service_wecan h3 {
    text-align: center;
    padding: 80px 0 60px;
    font-size: 18px;
    letter-spacing: 1.75px;
}
.service_wecan ul {
    width: 85%;
    max-width: 1400px;
    margin: 0 auto;
}
.service_wecan ul li {
    width: 28%;
    margin-right: 8%;
    float: left;
}
.service_wecan ul li:nth-child(3n) {
    margin-right: 0;
}
.service_wecan ul li img {
    width: 85px;
    height: 85px;
    display: block;
    margin: 0 auto 30px;
}
.service_wecan ul li h4 {
    font-size: 18px;
    letter-spacing: 1.75px;
    text-align: center;
    margin-bottom: 30px;
}
.service_wecan ul li p {
    line-height: 180%;
    margin-bottom: 60px;
}
.service_wework {
    padding: 120px 0;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}
.service_wework ul li {
    width: 32%;
    margin-right: 2%;
    float: left;
}
.service_wework ul li:nth-child(3n) {
    margin-right: 0;
}
.service_wework ul li img {
    width: 100%;
}
.service_wework h3 {
    text-align: center;
    padding: 80px 0 60px;
    font-size: 18px;
    letter-spacing: 1.75px;
}
/* サービス　ご依頼の流れ
===== ===== ===== ===== =====*/
.service_flow {
    background: url(../commons/img/bg_dotted.png);
    padding-bottom: 80px;
}
.service_flow h3 {
    text-align: center;
    padding: 80px 0 60px;
    font-size: 18px;
    letter-spacing: 1.75px;
}
.service_flow ul {
    width: 96%;
    max-width: 1400px;
    margin: 0 auto;
}
.service_flow ul li {
    width: 30%;
    margin-right: 5%;
    float: left;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background: #fff;
    -webkit-box-shadow: #f5f5f5 0 0 7px 3px;
    box-shadow: #f5f5f5 0 0 7px 3px;
    position: relative;
}
.service_flow ul li:last-child {
    margin-right: 0;
}
.service_flow ul li:nth-child(1):before {
    content: "";
    display: block;
    width: 85px;
    height: 85px;
    background: url(../commons/img/flow_ico_step01.png) no-repeat center center;
    background-size: 80px 80px;
    position: absolute;
    top: -45px;
}
.service_flow ul li:nth-child(2):before {
    content: "";
    display: block;
    width: 85px;
    height: 85px;
    background: url(../commons/img/flow_ico_step02.png) no-repeat center center;
    background-size: 80px 80px;
    position: absolute;
    top: -45px;
}
.service_flow ul li:nth-child(3):before {
    content: "";
    display: block;
    width: 85px;
    height: 85px;
    background: url(../commons/img/flow_ico_step03.png) no-repeat center center;
    background-size: 80px 80px;
    position: absolute;
    top: -45px;
}
.service_flow ul li:nth-child(1):after,
.service_flow ul li:nth-child(2):after {
    content: "･･････････";
    display: block;
    font-size: 4px;
    font-weight: bold;
    position: absolute;
    right: -55px;
    bottom: 120px;
    z-index: -2;
}
.service_flow ul li h4 {
    text-align: center;
    margin: 50px 0px 20px;
}
.service_flow ul li p {
    padding: 0 20px 40px;
	line-height: 2.6;
}

/* guideline
===== ===== ===== =====*/
section.guideline {
    padding-top: 105px;
    overflow: hidden;
}
.guideline {
    width: 100%;
    max-width: 800px;
    margin: 0 auto 120px;
    text-align: center;
}
.guideline h3 {
    text-align: center;
    font-size: 18px;
    letter-spacing: 1.75px;
}
.guideline p {
    width: 100%;
    text-align: center;
}
/*===== ====== ===== =====
    for_web
 ===== ===== ===== =====*/
#service_web .service_concept01:before {
    content: "";
    display: block;
    background: url(../img/service_web/service_web_ttl01.png) no-repeat center center;
    width: 55px;
    height: 80px;
    background-size: 55px 80px;
    margin: 0 auto 30px;
}
#service_web .service_concept02:before {
    content: "";
    display: block;
    background: url(../img/service_web/service_web_ttl02.png) no-repeat center center;
    width: 55px;
    height: 80px;
    background-size: 55px 80px;
    margin: 0 auto 30px;
}
#service_web .service_concept03:before {
    content: "";
    display: block;
    background: url(../img/service_web/service_web_ttl03.png) no-repeat center center;
    width: 55px;
    height: 80px;
    background-size: 55px 80px;
    margin: 0 auto 30px;
}
/*===== ====== ===== =====
    for_graphic
 ===== ===== ===== =====*/
#service_graphic .service_concept01:before {
    content: "";
    display: block;
    background: url(../img/service_graphic/service_graphic_ttl01.png) no-repeat center center;
    width: 55px;
    height: 80px;
    background-size: 55px 80px;
    margin: 0 auto 30px;
}
#service_graphic .service_concept02:before {
    content: "";
    display: block;
    background: url(../img/service_graphic/service_graphic_ttl02.png) no-repeat center center;
    width: 55px;
    height: 80px;
    background-size: 55px 80px;
    margin: 0 auto 30px;
}
#service_graphic .service_concept03:before {
    content: "";
    display: block;
    background: url(../img/service_graphic/service_graphic_ttl03.png) no-repeat center center;
    width: 55px;
    height: 80px;
    background-size: 55px 80px;
    margin: 0 auto 30px;
}
/*===== ====== ===== =====
    for_mixmedia
 ===== ===== ===== =====*/
#service_mixmedia .service_concept01:before {
    content: "";
    display: block;
    background: url(../img/service_mixmedia/service_mixmedia_ttl01.png) no-repeat center center;
    width: 85px;
    height: 80px;
    background-size: auto 80px;
    margin: 0 auto 30px;
}
#service_mixmedia .service_concept02:before {
    content: "";
    display: block;
    background: url(../img/service_mixmedia/service_mixmedia_ttl02.png) no-repeat center center;
    width: 55px;
    height: 80px;
    background-size: 55px 80px;
    margin: 0 auto 30px;
}
#service_mixmedia .service_concept03:before {
    content: "";
    display: block;
    background: url(../img/service_mixmedia/service_mixmedia_ttl03.png) no-repeat center center;
    width: 55px;
    height: 80px;
    background-size: 55px 80px;
    margin: 0 auto 30px;
}
/*  work category color
===== ===== ===== =====*/
span.bg_web {
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 1.45px;
    color: #fff;
    background: #7ea4b6;
    padding: 10px;
    margin-right: 15px;
}
span.bg_mix_media {
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 1.45px;
    color: #fff;
    background: #8fc31f;
    padding: 10px;
    margin-right: 15px;
}
/* for works
===== ===== ===== ===== */
section#worksWrap {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    text-align: center;
}

/* for news
===== ===== ===== ===== */
/*
section#newsWrap {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    text-align: center;
}
#newsWrap div img {
    display: block;
    width: 180px;
    height: auto;
    margin: 0 auto 75px;
}
*/

/* for blog
===== ===== ===== ===== */
/*
section#blogWrap {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    text-align: center;
    background: #fff;
}
#blogWrap div img {
    display: block;
    width: 180px;
    height: auto;
    margin: 0 auto 75px;
}
*/
/* works
===== ===== =====*/
section.works {
    display: block;
    width: 100%;
    margin: 0 auto;
}
div.product {
    margin: 0 auto;
    width: 1100px;
}
div.product .productTab {
    margin: 64px auto;
    width: 483px;
    font-size: 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
div.product .productTab li {
    position: relative;
    top: 0px;
    left: 0px;
    letter-spacing: 0.15em;
    color: #000;
    cursor: pointer;
    opacity: 1.0;
    -webkit-transition: opacity 0.4s linear;
    transition: opacity 0.4s linear;
}
div.product .productTab li.active {
    opacity: 0.5;
}
div.product .productTab li:before {
    position: absolute;
    top: -12px;
    left: 50%;
    content: "";
    width: 4px;
    height: 4px;
    border-radius: 50%;
    display: none;
    background: #000;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}
div.product .productTab li:hover {
    opacity: 0.5;
}
div.product .productTab li:hover:before {
    display: block;
}
div.product .productList {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

div.product .productList:after {
    content: "";
    width: 348px;
}

div.product .productList li {
    margin-bottom: 28px;
    width: 348px;
    height: 262px;
    display: block;
    overflow: hidden;
}

div.product .productList li a {
    position: relative;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    color: #000;
    display: block;
}

div.product .productList li a:hover {
    opacity: 1.0 !important;
}

div.product .productList li a img {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-bottom: 0px !important;
    width: 348px !important;
    height: 262px !important;
    transform: translate(-50%, -50%) scale(1.0);
    transition: transform 0.5s ease-in-out;
    object-fit: cover;
}

div.product .productList li a:hover img {
     transform: translate(-50%, -50%) scale(1.25);
}

div.product .productList .productInfoWrapper {
    position: relative;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    opacity: 0.0;
    background: rgba(255, 255, 255, 0.8);
    transition: opacity 0.5s ease-in-out;
}

div.product .productList li a:hover .productInfoWrapper {
    opacity: 1.0;
}

div.product .productList .productInfo {
    position: absolute;
    top: 50%;
    left: 0%;
    padding: 0px 15px;
    width: 100%;
    font-size: 14px;
    box-sizing: border-box;
    transform: translate(-50%, -50%);
    transition: all 0.3s ease-out;
}

div.product .productList li a:hover .productInfo {
    left: 50%;
    transform: translate(-50%, -50%);
}

div.product .productList .productInfo .productCategorySP {
    display: none;
}

div.product .productList .productInfo span {
    display: block;
}
div.product .productList .productInfo .productName {
    line-height: 150%;
}
div.product .productList .productInfo .productCategory {
    margin: 13px 0px;
}

div.product .productList .productInfo .productTagSP {
    display: none;
}

div.product #readMore {
    margin: auto;
    width: 245px;
    height: 55px;
    line-height: 55px;
    text-align: center;
    font-size: 16px;
    border: solid 1px #000;
    border-radius: 55px;
    font-family: futura-pt, sans-serif;
    font-weight: 500;
    font-style: normal;
    color: #000;
    display: block;
    cursor: pointer;
}
div.product #readMore:hover {
    opacity: 0.3;
}

/* works_detail
===== ===== =====*/
div.productDetail {
    margin: 0 auto;
    width: 870px;
}
div.productDetail .worksSliderWrap .works-slider {
    margin-bottom: 20px;
}
div.productDetail .worksSliderWrap .works-slider li {
    position: relative;
    top: 0px;
    left: 0px;
    margin-bottom: 0px;
    width: 100%;
    height: 680px;
    overflow: hidden;
}
div.productDetail .worksSliderWrap .works-slider li img {
    position: absolute;
    top: 0px;
    left: 50%;
    width: auto;
    height: 100%;
    transform: translateX(-50%);
}
div.productDetail .worksSliderWrap .works-thumb {
    margin: 0px auto 30px auto;
}
div.productDetail .worksSliderWrap .works-thumb li {
    position: relative;
    top: 0px;
    left: 0px;
    margin-bottom: 0px;
    height: 100px;
    border: solid 1px #ddd;
    box-sizing: border-box;
    transition: opacity 0.3s ease-in-out;
    overflow: hidden;
    cursor: pointer;
}
div.productDetail .worksSliderWrap .works-thumb .slick-current {
    opacity: 0.5;
}
div.productDetail .worksSliderWrap .works-thumb li img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    transform: translate(-50%, -50%);
}

div.productDetail .producTag {
    margin-bottom: 22px;
    font-size: 15px;
    line-height: 1em;
    letter-spacing: 0.075;
}

div.productDetail h3 {
    margin-bottom: 18px;
    font-size: 16px;
    line-height: 2;
    text-align: left;
    letter-spacing: 0.1em;
}

div.productDetail .productType {
    margin-bottom: 25px;
    line-height: 1em;
}

div.productDetail .productDescription {
    margin-bottom: 42px;
    line-height: 2.063rem;
    font-size: 13px;
    word-break: break-all;
    text-align: left;
}

div.productDetail .productDescription p {
    margin-bottom: 20px;
    font-size: 14px;
    line-height: 34px;
    letter-spacing: 0.1em;
}
div.productDetail .productDescription img {
    margin-bottom: 20px;
    height: auto;
    max-width: 100%;
}


div.productDetail .productUrl {
    margin-bottom: 50px;
    line-height: 1em;
    font-size: 15px;
}

div.productDetail .productUrl a {
    color: #000;
}

div.productDetail li:not(:last-child) {
    margin-bottom: 45px;
}

div.productDetail .backBtn a {
    margin: auto;
    width: 245px;
    height: 55px;
    line-height: 55px;
    text-align: center;
    font-size: 16px;
    border: solid 1px #000;
    border-radius: 55px;
    font-family: futura-pt, sans-serif;
    font-weight: 500;
    font-style: normal;
    color: #000;
    display: block;
}
div.productDetail .backBtn a span {
    position: relative;
    top: 0px;
    left: 0px;
    padding-left: 30px;
}
div.productDetail .backBtn a span:before {
    position: absolute;
    top: 0px;
    left: 0px;
    content: "";
    width: 16px;
    height: 100%;
    display: block;
    background-image: url(../img/works_detail/arrow.png);
    background-repeat: no-repeat;
    background-position: center center;
}
/*==========================
recruit.html
============================*/
.recruitWrap,
.imageWork,
.topMessage,
.staffVoice,
.requirements,
.entryFlow {
    max-width: 890px;
    margin: 100px auto 0;
}
.typeOfPerson{
	max-width: 600px;
	margin: 100px auto 0;
}
.recruitWrap{
    text-align: center;
}
.recruitWrap_top p{
    text-align: center;
	margin-bottom: 60px;
}
.recruitWrap_top p:last-child{
	margin-bottom: 0;
}
.typeOfPerson{
    border: solid 1px #333;
    padding: 0 5% 5%;
	margin-top: 120px;
    position: relative;
	box-sizing: border-box;
}
.typeOfPerson h3{
    position: relative;
    top: -30px;
    left: calc(50% - 190px);
}
.typeOfPerson ul li{
    list-style: disc;
    list-style-position: inside;
    font-size: 15px;
    line-height: 2.875;
    font-weight: 600;
	letter-spacing: .1em;
	color: #333;
}
.imageWork ul{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.imageWork ul li{
    width: calc((100% - 80px)/5);
    margin-top: 10px;
}
.topMessage {
    text-align: center;
}
.topMessage .topText{
	letter-spacing: .075em;
    line-height: 2.5;
}
.topMessage .topName {
    font-size: 14px;
    line-height: 2em;
    letter-spacing: .075em;
    text-align: right;
    margin-top: 25px;
}
.staffVoice h3{
    display: block;
    width: 380px;
}
.staffVoiceBox {
	padding: 60px 0;
	border-bottom: 1px solid #333;
}
.staffVoiceBox.staff01 {
	padding-top: 0;
}

.staffVoiceBox .voiceContentQ {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: .1em;
}
.staffVoiceBox .voiceContentA {
    font-size: 14px;
    line-height: 2em;
    letter-spacing: .075em;
}
.staffVoiceBox ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.staffVoiceBox .imgStaff {
    width: 232px;
}
.staffVoiceBox .staffName {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .1em;
    line-height: 1.857em;
}
.staffVoiceBox .imgStaff img {
    margin-top: 20px;
}
.staffVoiceBox .voiceContent01 {
    width: calc(100% - 232px);
    padding-left: 40px;
}
.staffVoiceBox ul + .voiceContent02,
.staffVoiceBox .voiceContent02 + .voiceContent02{
    margin-top: 50px;
}
.requirements h3 {
    display: block;
    width: 380px;
    margin: auto;
}
.requirements table {
	width: 80%;
    margin: 40px auto 0;
}
.requirements table tr {
    border-bottom: solid 1px #000;
}
.requirements table th {
    padding: 20px 1em;
    text-align:left;
    letter-spacing: .2em;
}
.requirements table td {
    padding: 20px 1em;
}
.entryFlow h3{
    display: block;
    width: 380px;
}
.entryFlow p{
	letter-spacing: .075em;
    line-height: 2.5;
}

/*------------------------------------------------------------------
	sp
------------------------------------------------------------------*/
@media screen and (max-width:480px) {
    body,
    section,
    div,
    p,
    ul,
    ol,
    li,
    a {
        font-size: 13px;
        line-height: 180%;
    }
    .sp {
        display: block;
    }
    .pc {
        display: none;
    }
    .sp_inline {
        display: inline-block;
    }
    .pc_inline {
        display: none;
    }
    section h2 {
        margin-bottom: 60px;
        text-align: center;
    }
    section h2 span:nth-of-type(1) {
        margin-bottom: 18px;
        text-align: center;
        font-size: 32px;
        letter-spacing: 0.15em;
        display: block;
    }
    section h2 span:nth-of-type(2) {
        font-size: 12px;
        font-weight: normal;
        letter-spacing: 0.2em;
        display: block;
    }
    section p {
        font-size: 13px;
        color: #000;
        line-height: 240%;
    }
    h3.bg_dotted {
		min-width: auto;
        width: auto;
        margin: 0 auto 18px;
        line-height: 180%;
        font-size: 16px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        display: block;
    }
    /* ハンバーガーメニューのCSS
===== ===== ===== =====*/
    header {
        position: fixed;
        height: 60px;
        background: #fff;
        z-index: 3;
    }
    header .headerInner .headerLogo {
        top: 50%;
        left: 5%;
    }
    #nav-drawer {
        position: relative;
        padding: 15px;
    }
    /*チェックボックス等は非表示に*/
    .nav-unshown {
        display: none;
    }
    /*アイコンのスペース*/
    #nav-open {
        display: inline-block;
        width: 45px;
        height: 35px;
        vertical-align: middle;
        position: absolute;
        right: 0;
    }
    /*ハンバーガーアイコンをCSSだけで表現*/
    #nav-open span,
    #nav-open span:before,
    #nav-open span:after {
        position: absolute;
        height: 3px;
        /*線の太さ*/
        width: 30px;
        /*長さ*/
        border-radius: 3px;
        background: #555;
        display: block;
        content: '';
        cursor: pointer;
    }
    #nav-open span:before {
        bottom: -10px;
    }
    #nav-open span:after {
        bottom: -20px;
    }
    /*閉じる用の薄黒カバー*/
    #nav-close {
        display: none;
        /*はじめは隠しておく*/
        position: fixed;
        z-index: 99;
        top: 0;
        /*全体に広がるように*/
        right: 0;
        width: 100%;
        height: 100%;
        background: black;
        opacity: 0;
        -webkit-transition: .3s ease-in-out;
        transition: .3s ease-in-out;
    }
    /*中身*/
    #nav-content {
        padding: 15px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        overflow: auto;
        position: fixed;
        top: 0;
        right: 0;
        z-index: 9999;
        /*最前面に*/
        width: 65%;
        /*右側に隙間を作る（閉じるカバーを表示）*/
        max-width: 320px;
        /*最大幅（調整してください）*/
        height: 100%;
        background: #fff;
        /*背景色*/
        -webkit-transition: .3s ease-in-out;
        transition: .3s ease-in-out;
        /*滑らかに表示*/
        -webkit-transform: translateX(105%);
        transform: translateX(105%);
        /*左に隠しておく*/
    }
    /*チェックが入ったらもろもろ表示*/
    #nav-input:checked ~ #nav-close {
        display: block;
        /*カバーを表示*/
        opacity: .5;
    }
    #nav-input:checked ~ #nav-content {
        -webkit-transform: translateX(0%);
        transform: translateX(0%);
        /*中身を表示（右へスライド）*/
        -webkit-box-shadow: 6px 0 25px rgba(0, 0, 0, .15);
        box-shadow: 6px 0 25px rgba(0, 0, 0, .15);
    }
    /*ハンバーガーメニュー周り
===== ===== ===== ===== =====*/
    header .headerInner .headerMenu {
        position: static;
        top: 0;
        right: 0;
        -webkit-transform: unset;
        transform: unset;
        margin-bottom: 10px;
        padding-bottom: 8px;
    }
    header .headerInner .headerMenu li {
        border-bottom: dotted 1px #ccc;
        margin-bottom: 8px;
        padding-bottom: 8px;
    }
    header .headerInner .headerMenu li a {
        font-size: 15px;
        letter-spacing: 2.45px;
    }
    header .headerInner .headerMenu .serviceMenuWrapper .serviceMenu {
        position: static;
        top: 0;
        left: 0;
        width: 100%;
        -webkit-transform: unset;
        transform: unset;
        visibility: visible;
        padding-top: 0;
        margin-top: 10px;
    }
    header .headerInner .headerMenu .serviceMenuWrapper .serviceMenu li {
        border-bottom: none;
        text-align: left;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding: 0 0 0 30px;
    }
    header .headerInner .headerMenu li {
        float: unset;
    }
    header .headerInner .headerMenu li:not(.submenu):before {
        content: none;
    }
    header .headerInner .headerMenu li:not(:last-child) {
        margin-right: 0;
    }
    header .headerInner .headerMenu li a:hover:before {
        display: none;
    }
    a.en-book.contact_btn {
        background: url(../commons/img/contact-icon.png) no-repeat left 8px center;
        font-size: 14px;
        color: #000;
        font-weight: 500;
        letter-spacing: 3px;
        display: block;
        padding: 5px 35px;
        background-color: #f0d200;
    }
    /* サービス-slickループ表示
===== ===== ===== ===== =====*/
    .position_swiper_left {
        position: static;
        left: 0;
    }
    .position_swiper_right {
        position: static;
        right: 0;
    }
    #service_graphic .slider,
    #service_web .slider,
    #service_mixmedia .slider {
        width: 480px;
        height: auto;
    }
    #service_graphic .slider li,
    #service_web .slider li,
    #service_mixmedia .slider li {
        width: 120px;
        height: auto;
    }
    #service_graphic .slider li img,
    #service_web .slider li img,
    #service_mixmedia .slider li img {
        width: 120px;
        height: auto;
    }
    /* contact Area
===== ===== ===== =====*/
    div.contact {
        display: block;
        width: 100%;
        max-width: 480px;
        margin: 0 auto;
    }
    .contact .contactInner .contactItemWrapper h2 {
        margin-bottom: 30px;
    }
    .contact .contactInner .contactItemWrapper .contactItem .contactDescription h3 {
        font-size: 16px;
        text-align: center;
    }
    .contact .contactInner .contactItemWrapper .contactItem .contactDescription p {
        font-size: 13px;
    }
    .contact .contactInner {
        padding: 45px 0;
    }
    .contact .contactInner .contactItemWrapper {
        padding: 30px 5.2% 45px 5.2%;
    }
    .contact .contactInner .contactItemWrapper .contactItem .contactDescription {
        padding: 75px 0 20px;
        background-size: 45px auto;
        float: none;
        background: url(../img/home/contact-phone.png) top center;
        background-repeat: no-repeat;
    }
    .contact .contactInner .contactItemWrapper .contactItem .contactButton {
        width: 100%;
        margin: 0 auto;
        float: none;
        height: 45px;
        line-height: 45px;
        font-size: 14px;
        background-position: center left 8%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }
    /* about us
===== ===== =====*/
    div.about-us {
        width: 100%;
        max-width: 480px;
        margin: 0 auto;
        padding-top: 75px;
    }
    div.about_us_top {
        margin-bottom: 75px;
    }
    div.about_us_top img {
        margin: 0 auto 30px;
    }
    div.about-us p {
        width: 94%;
        margin: 0 auto;
    }
    div.about-us .contentsWrap {
        margin-bottom: 75px;
    }
    div.about-us .contentsWrap li {
        max-width: 480px;
        margin-bottom: 20px;
        float: none;
        width: 100%;
    }
    div.about-us .contentsWrap li:nth-child(odd) {
        margin-right: 0;
    }
    div.about-us .contentsWrap img {
        width: 100%;
        max-width: 480px;
        margin-bottom: 25px;
    }
    div.company_profile {
        padding: 30px 0;
    }
    div.company_profile h2:before {
        width: 60px;
        height: 45px;
        margin: 0 auto 20px;
    }
    div.company_profile table {
        width: 94%;
        max-width: 480px;
    }
    div.company_profile table tr {}
    div.company_profile table th,
    div.company_profile table td {
        padding: 15px;
        line-height: 210%;
    }
    div.company_profile table th {
        width: 35%;
    }
    div.company_profile table td {
        width: 65%;
    }
    
    section.service_graphic {
        padding-top: 75px;
        overflow: hidden;
    }

    section.service_web {
        padding-top: 75px;
        overflow: hidden;
    }

    section.service_mixmedia {
        padding-top: 75px;
        overflow: hidden;
    }
    
    /* サービス-common
===== ===== ===== =====  */
    .service_concept01,
    .service_concept02,
    .service_concept03 {
        width: 96%;
        max-width: 480px;
        margin: 0 auto 45px;
        text-align: center;
    }
    .position_swiper_left,
    .position_swiper_right {
        height: 100px;
        margin-bottom: 60px;
    }
    /*サービス　私たちにできること
    ===== ===== ===== =====*/
    .service_wecan {
        padding: 30px 0 20px;
    }
    .service_wecan h3 {
        font-size: 16px;
        padding: 0 0 20px;
        margin: 0;
    }
    .service_wecan ul {
        width: 90%;
        max-width: 480px;
    }
    .service_wecan ul li {
        width: calc(50% - 15px);
        margin-right: 30px;
        float: left;
    }
    .service_wecan ul li:nth-child(even) {
        margin-right: 0;
    }
    .service_wecan ul li:nth-child(3) {
        margin-right: 30px;
    }
    .service_wecan ul li img {
        width: 45px;
        height: 45px;
        margin-bottom: 15px;
    }
    .service_wecan ul li h4 {
        font-size: 14px;
        margin-bottom: 10px;
    }
    .service_wecan ul li p {
        margin-bottom: 20px;
    }
    /* サービス-実績
    ===== ===== ===== =====*/
    .service_wework {
        width: 96%;
        padding: 20px 0;
    }
    .service_wework h3 {
        font-size: 16px;
        padding: 0 0 20px;
    }
    .service_wework ul li {
        float: none;
        width: 100%;
        margin-bottom: 20px
    }
    .service_flow ul li:last-child {
        margin-right: inherit;
    }
    .service_wework ul li img {
        margin-bottom: 10px;
    }
    span.bg_web {
        font-size: 9px;
        width: 40px;
        text-align: center;
        margin-right: 10px;
        margin-bottom: 8px;
        padding: 3px 5px;
    }
    .service_flow {
        padding: 20px 0;
    }
    .service_flow h3 {
        font-size: 16px;
        padding: 0 0 20px;
    }
    .service_flow ul {
        max-width: 480px;
        margin-top: 30px;
    }
    .service_flow ul li {
        width: 94%;
        float: none;
        margin: 0 auto 55px;
        padding: 20px 0;
    }
    .service_flow ul li:nth-child(1)::after,
    .service_flow ul li:nth-child(2)::after {
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        bottom: -53px;
        right: 42%;
    }
	.service_flow ul li h4{
		margin: 10px auto;
	}
	.service_flow ul li p{
		padding: 0 6%;
	    line-height: 2.3;
	}
    /* サービス-web~mixmedia
===== ===== ===== ===== =====  */
    section#service_web {
        margin-top: 75px;
    }
    section#service_graphic {
        margin-top: 75px;
    }
    section#service_mixmedia {
        margin-top: 75px;
    }
    /* for works
===== ===== ===== =====*/
    section#worksWrap {
        margin-top: 75px;
    }
    /* for news
===== ===== ===== =====*/
    section#newsWrap {
        margin-top: 75px;
    }
    /* for blog
===== ===== ===== =====*/
    section#blogWrap {
        margin-top: 75px;
    }
    /* works
    ===== ===== =====*/
    div.product {
        width: 94%;
    }
    div.product .productTab {
        width: 100%;
        justify-content: space-around;
        margin: 30px auto;
    }
    div.product .productTab li{
        font-size: 14px;
    }
    div.product .productList {
        display: flex;
    }
    div.product .productList:after {
        width: 0px;
        display: none;
    }

    div.product .productList li {
        position: relative;
        margin-left: 0px;
        width: calc(50% - 10px);
        height: auto;
    }

    div.product .productList li:nth-child(3n+1) {
        margin-left: 0px;
    }

    div.product .productList li:nth-child(n+4){
        margin-top: 0px;
    }

    div.product .productList li a img {
        position: relative;
        top: 0px;
        left: 0px;
        width: 100% !important;
        height: 130px !important;
        object-fit: cover;
        transform: translate(0px, 0px) scale(1.0);
		border: 1px solid #ddd;
        box-sizing: border-box;
    }

    div.product .productList li a:hover .productInfoWrapper {
        opacity: 1.0;
    }

    div.product .productList li a:hover img {
         transform: translate(0%, 0%) scale(1.0);
    }

    div.product .productList .productInfoWrapper {
        height: auto;
        opacity: 1.0;
        background: none;
    }

    div.product .productList .productInfo {
        margin-top: 8px;
        padding: 0px;
        position: relative;
        line-height: 1;
        transform: translate(0px, 0px);
        text-align: left;
        font-family: 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    }

    div.product .productList li a:hover .productInfo {
        left: 0%;
        transform: translate(0%, 0%);
    }

    div.product .productList .productInfo .productCategorySP {
        margin-bottom: 10px;
        display: block;
    }

    div.product .productList .productInfo .productCategorySP .work_category {
        padding: 2% 4%;
        color: #fff !important;
        display: inline-block;
        font-size: 13px;
    }

    div.product .productList .productInfo .productName {
        margin-bottom: 5px;
        font-size: 13px;
    }
    
    div.product .productList .productInfo .productCategory {
        display: none;
    }

    div.product .productList .productInfo .productTag {
        display: none;
        font-size: 14px;
    }
    div.product .productList .productInfo .productTagSP {
        display: block;
        /*font-family: 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;*/
        font-size: 14px;
    } 

    /* works_detail
    ===== ===== =====*/
    div.productDetail {
        width: 94%;
    }
    div.productDetail .worksSliderWrap .works-slider li {
        position: relative;
        top: 0px;
        left: 0px;
        margin-bottom: 0px;
        width: 100%;
        height: 300px;
        overflow: hidden;
    }
    div.productDetail .productDescription img {
        width: 100%;
    }

    /*==========================
	recruit.html
	============================*/
    .recruitWrap, .typeOfPerson, .imageWork, .topMessage, .staffVoice, .requirements, .entryFlow{
        width: 94%;
        margin: 70px auto 0;
    }
    .recruitWrap{
        padding: 75px 0 0;
    }
	.recruitWrap_top p{
		margin-bottom: 40px;
	}
	.typeOfPerson h3{
		left: auto;
		margin-bottom: 0;
	}
    .typeOfPerson ul li{
        font-size: 14px;
        line-height: 1.6;
		text-indent: -1em;
		padding: 0 0 1em 1em;
		box-sizing: border-box;
    }
	.topMessage .topName{
		font-size: 13px;
	}
    .imageWork ul{
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }
    .imageWork ul li{
        width: calc((100% - 20px)/3);
        margin-left: 10px;
    }
    .imageWork ul li:nth-child(3n+1){
        margin-left: 0;
    }
    .imageWork ul li img{
        width:100%;
    }
	.staffVoiceBox{
		padding: 30px 0;
	}
    .staffVoiceBox ul{
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    .staffVoiceBox .imgStaff,.staffVoiceBox .voiceContent01,.staffVoiceBox .voiceContent02{
        width: 100%;
        padding: 0 5%;
		box-sizing: border-box;
    }
	.staffVoiceBox .imgStaff{
		margin-bottom: 10px;
	}
    .staffVoiceBox .staffName{
        text-align: center;
		margin-bottom: 10px;
    }
    .staffVoiceBox .imgStaff img{
        display: block;
        width: 70%;
        margin: auto;
    }
    .staffVoiceBox ul + .voiceContent02, .staffVoiceBox .voiceContent02 + .voiceContent02{
        margin-top: 20px;
    }
	.staffVoiceBox .voiceContentQ{
		font-size: 14px;
	}
	.staffVoiceBox .voiceContentA{
		font-size: 13px;
	}
	.requirements table{
		width: 100%;
		margin: 20px auto 0;
	}
	.requirements table th{
		display: block;
		width: 100%;
		padding: 5% 2% 1%;
		box-sizing: border-box;
	}
	.requirements table td{
		display: block;
		width: 100%;
		padding: 0 2% 3%;
		box-sizing: border-box;
	}
}
