@charset "utf-8";
/* CSS Document */
@media (max-width: 640px){
.pc{
	display:none!important;
}

body{
	font-size:12px;
}

a{
	font-size:12px;
}
p{
	font-size:12px;
	font-weight: 500;
}
img {
	max-width:100%;
}
.red{
	color:##ffde00;
}
* {
   -webkit-appearance: none;
}
#content {
	width:auto;
	max-width:none;
    margin: 0 20px;
	padding:0;
    position: relative;
    overflow: hidden;
}
header {
	height:55px;
}
header h1 img {
    width: 127px;
}
header h1 a {
    margin-left: 20px;
    margin-top: 23px;
}
header .utilarea {
    right: 60px;
    top: 17px;
}
header .utilarea ul li a {
	font-size:12px;
	font-weight:600;
}
.menu-trigger {
	width:20px;
	height:12px;
    top: 22px;
    margin-top: 0;
    right: 20px;
	left:auto;
	z-index:1000;
}
.menu-trigger span {
	top: 5px;
}
.menu-trigger .top {
    transform: translateY(-4px);
}
 .menu-trigger .bottom {
    transform: translateY(4px);
}

.menu-trigger:hover .top {
    transform: translateY(-6px);
}
.menu-trigger:hover .bottom {
    transform: translateY(6px);
}
nav {
    top: 55px;
}
nav .close_sp {
    top: 11px;
    right: 16px;
    position: fixed;
    background: #fff;
    width: 30px;
    height: 30px;
}
nav .close {
	width: 18px;
    height: 20px;
    top: 33px;
    right: 21px;
	left:auto;
	z-index:1001;
}
nav div {
    background: #f8f8f8;
	margin:0;
    /*height: calc(100% - 80px);*/
    height: 100%;
}
nav ul#gnav {
    top: 6%;
}
nav ul#gnav li a {
    font-size: 22px;
}
nav ul#gnav li {
    height: 13%;
}
nav ul#subnav {
    top: 43%;
}
nav ul#subnav li a {
    font-size:12px;
}
nav ul#gnav li.subnav {
    position: relative;
    bottom: 0;
    height: auto;
}
nav ul#subnav li {
	margin-right:30px;
}
nav div section {
    width: calc(100% - 30px);
    position: absolute;
    left: 30px;
    height: 100%;
}
nav div section:after {
	opacity:0 !important;
}
nav address {
    font-style: normal;
    width: calc(100% - 60px);
    right: auto;
    margin-top: 7%;
    padding-top: 7%;
	position:relative;
    border-top: 1px solid #d4d4d4;
}
nav address h2 {
	font-size:12px;
}
nav address p {
    font-size:11px;
	margin:5px 0 18px 0;
	line-height: 1.8;
}
.sp address a.link_contact {
	font-size:12px !important;
	float:left;
	position:relative;
	margin-top: 2px;
}
.sp address a.link_contact:before {
    position: absolute;
    top: 1.2em;
    right: 0;
    content: "";
    display: inline-block;
    width: 100%;
    height: 2px;
    background: #424242;
    transition: 0.3s;
}
.sp address a.link_contact:before {
    height: 1px;
}
nav address > ul {
	margin-left:90px;
}
nav address > ul li:first-child {
	margin-right:40px;
}
ul#lang, .bogo-language-switcher {
	top: 16px;
    right: 60px;
}
.widget_bogo_language_switcher h3, .bogo-language-switcher li.current, .bogo-language-switcher li:last-child:after {
	display:none;
}
.bogo-language-switcher li {
	 display:block;
}
ul#lang li a, .bogo-language-switcher li a {
    color: #3b3b3b !important;
}
.stage {
    overflow: hidden;
    margin: 0;
    padding-top: 55px;
}
.maincopy .mcopy {
    font-size: 220%;
    margin-bottom: 7%;
}
.maincopy .mlead {
    font-size: 180%;
	margin-bottom: 9%;
}
.maincopy p {
    font-size: 140%;
}
.maincopy a.btn {
    width: 80%;
    font-size: 13px
}
h3 {
    font-size: 19px;
    line-height: 1.7;
}
.home h3 span {
    font-size: 12px;
	margin-left: 0;
    display: block;
	font-weight: 500;
}
.home #content {
    margin-top: 60px;
}
a.btn_full {
    width: 100%;
    padding: 12px 0 13px 0;
    font-size: 13px;
	font-weight:600;
}
#fnav {
    text-align: center;
    margin: 50px 0 80px 0;
}
#fnav li a {
    font-size: 10px;
}
.home #fnav li:first-child {
	text-align:left;
}
.home #fnav li:last-child {
	text-align:right;
}
.home #fnav li:nth-child(2) a {
    margin-right: 30%;
}
.home #fnav li:nth-child(3) a {
    margin-left: 28%;
}

#page_top{
	bottom:10px;
	right:0px !important;
}
#page_top:hover {
    opacity: 1;
    bottom: 10px;
}
#page_top img{
	width:58px;
}

.maincopy {
    top: 20%;
	padding-right:10%;
}
@media all and (min-width: 200px) and (max-width: 400px){
.maincopy {
    top: 15%;
}
}
@media all and (max-width: 300px){
.maincopy .mcopy {
    font-size: 180%;
}
.maincopy .mlead {
    font-size: 120%;
	margin-bottom: 10px;
}
.maincopy p {
    font-size: 80%;
}
}
.home .stage .videoimg {
    background-color: #fff;
    width: 100%;
    height: 100%;
}
@supports ( object-fit: cover ) {
    .home .stage .videoimg {
        position: static;
        height: 100%;
        width: 100%;
        left: 0;
        -o-object-fit: cover;
        object-fit: cover;
        top: 0;
        -ms-transform: none;
        -moz-transform: none;
        -webkit-transform: none;
        transform: none;
    }
}
#cases ul li {
	position: relative;
	height: 340px;
    margin-bottom: 40px;
    overflow: hidden;
}
#cases ul li img {
	height: 100%;
    object-fit: cover;
}
.featured-video-plus.fvp-responsive .mejs-container {
    min-height: 400px;
}
#cases ul li .work_subject {
	position: absolute;
		bottom:15px;
		left: 20px;
		-moz-text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
		-webkit-text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
		text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}
#cases ul li .work_ttl {
	position: relative;
	bottom: auto;
	left: auto;
	color: #fff;
	line-height: 1.3;
	font-size: 17px;
	font-weight: 500;
	margin:0 20px 0.5em 0;
}
#cases ul li .work_tag span:before {
    content: "#";
}
#cases ul li .work_tag {
	position: relative;
	font-weight: 500;
	font-size:10px;
	bottom: auto;
	left: auto;
	line-height: 1.5;
	margin-right: 20px;
}
#cases ul li div p {
    font-size: 16px;
}
#cases ul li div span {
    font-size: 11px;
}
#cases ul li .scale + a {
	display:none !important
}
#cases ul li a .vimg {
	height: 100%;
}
#topnews {
    width: auto;
    padding: 30px 20px 40px 20px;
}
#topnews h3 {
    font-size: 12px;
}
#topnews #newslist {
	margin-left:0;
    padding-top: 30px;
	margin-bottom: 20px;
    padding-bottom: 20px;
	width: 100%;
}
#topnews #newslist .n_time {
	width: 25%;
    margin-right: 0;;
}
#topnews #newslist .n_tittle {
	width:73%;
}
#topnews #newslist p, #topnews #newslist a {
    font-size: 10px;
	vertical-align:top;
}
#topnews #nletter {
    margin-left: 0px;
	width: 100%;
}
#topnews #nletter h3 span {
    font-size: 9px;
}
footer{
	padding: 40px 20px 60px 20px;
}
footer #fc_l h2 {
	font-size:12px;
}
footer #fc_l p {
	font-size:9px;
	margin-top:8px;
}
footer #fc_l a {
	font-size:10px;
}
footer #fc_r li {
    margin-left: 15px;
}
footer address a:before {
    height: 1px;
}
footer #fc_r small {
    margin-top: 63px;
    display: block;
    color: #858484;
    font-size: 9px;
}
.ip_newsletter input[type=email] {
	width:100%;
	color:#cacaca;
	box-sizing: border-box;
	height: 40px !important;
    font-size: 9px !important;
	margin-bottom:10px;
	padding: 0 12px;
}
#about .ip_newsletter input[type=email] {
    border: #d2d2d2 solid 1px !important;
}
::-webkit-input-placeholder {
	color:#cacaca;
	font-weight:normal;
	font-size:9px;
}
.ip_newsletter input[type=submit] {
	font-size:10px;
	width:100%;
	height:35px;
	position:relative;
}
.home .ip_newsletter {
    margin-left: 0 !important;
    width: 100% !important;
}
.work_ttl, .work_tag, #cases ul li.vchange_on .work_ttl, #cases ul li.vchange_on .work_tag {
    z-index: 2 !important;
}
/*@-webkit-keyframes fadeUp {
	 0% { opacity: 0; -webkit-transform: translateY(10px); }
	 100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fadeUp {
	 0% { opacity: 0; -webkit-transform: translateY(10px); -ms-transform: translateY(10px); transform: translateY(10px); }
	 100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}
.fadeUp  {
	 -webkit-animation-fill-mode:both;
	 -ms-animation-fill-mode:both;
	 animation-fill-mode:both;
	 -webkit-animation-duration:.8s;
	 -ms-animation-duration:.8s;
	 animation-duration:.8s;
	 -webkit-animation-name: fadeUp;
	 animation-name: fadeUp;
	 visibility: visible !important;
	 opacity:1;
}
.fadects {
    opacity: 0;
}
.fadeUpin {
	opacity:1;
	-webkit-animation-fill-mode:both;
	 -ms-animation-fill-mode:both;
	 animation-fill-mode:both;
	 -webkit-animation-duration:.8s;
	 -ms-animation-duration:.8s;
	 animation-duration:.8s;
	 -webkit-animation-name: fadeUp;
	 animation-name: fadeUp;
}
.fadeUpin.fade2 {
	animation-delay:150ms;
}
.fadeUpin.fade3 {
	animation-delay:300ms;
}
.about_ttl.fadeUpin, .page-id-133 h2.fadeUpin {
	animation-delay:500ms;
}
#read .en.fadeUpin {
	animation-delay:650ms;
}
#read .ja.fadeUpin {
	animation-delay:800ms;
}*/
#btn_scroll {
    margin-left: -16px;
}

.SmB-10{margin-bottom:-10px !important;}
.SmB5{margin-bottom:5px !important;}
.SmB10{margin-bottom:10px !important;}
.SmB15{margin-bottom:15px !important;}
.SmB20{margin-bottom:20px !important;}
.SmB25{margin-bottom:25px !important;}
.SmB30{margin-bottom:30px !important;}
.SmB40{margin-bottom:40px !important;}
.SmB50{margin-bottom:50px !important;}
.SmL10{margin-left:10px !important;}
.SmL15{margin-left:15px !important;}
.SmL20{margin-left:20px !important;}
.SmL35{margin-left:35px !important;}
.SmL55{margin-left:55px !important;}
.SmL120{margin-left:120px !important;}
.SmL150{margin-left:150px !important;}
.SmL170{margin-left:170px !important;}
.SmT0{margin-top:0px !important;}
.SmT10{margin-top:10px !important;}
.SmT15{margin-top:15px !important;}
.SmT20{margin-top:20px !important;}
.SmT25{margin-top:25px !important;}
.SmT30{margin-top:30px !important;}
.SmT35{margin-top:35px !important;}
.SmT40{margin-top:40px !important;}
.SmT50{margin-top:50px !important;}
.SmT60{margin-top:60px !important;}
.SmT70{margin-top:70px !important;}
.SmT75{margin-top:75px !important;}
.SmY35{margin-top:35px !important;
margin-bottom:35px !important;}
.SmY20{margin-top:20px !important;
margin-bottom:20px !important;}
.SmY40{margin-top:40px !important;
margin-bottom:40px !important;}
.SmY50{margin-top:50px !important;
margin-bottom:50px !important;}
.SpB30{padding-bottom:30px !important}



}

@media (max-width: 400px){
}
