@charset "UTF-8";
/* CSS Document */
/*WordPress対策・全ページ余白なし*/
	* {
		margin: 0;
		padding: 0;
	}

/*SP*/
	@media only screen and (max-width: 768px) {
		.pc { display: none !important; }
		.sp { display: block !important; }
		.pcbr{
		display: none !important;
		}
		.spbr{display: block !important;}
	}
		
/*SP*/
	@media only screen and (max-width: 768px) {
		/*グローバルメニュー*/
		header {
			position: relative;
			z-index: 100;
			width: 100%;
			height: auto;
			background: linear-gradient(to right, #3e1dc8 0%, #0096ee 100%);
		}
		
		#logo {
			position: relative;
			z-index: 101;
			width: 140px;
			height: auto;
			padding: 20px 0;
			margin: 0 auto;
		}
		
		#header-contact {
			position: absolute;
			z-index: 102;
			top: 0;
			right: 50px;
			width: 50px;
			height: 60px;
			background:#e61869;
		}
		
		#header-contact img {
			display: block;
			position: relative;
			width: 80%;
			height: auto;
			margin: 10px auto;
		}
		
		.head_icon {
			position: fixed;
			z-index: 999;
			top: 80px;
			right: 0;
		}
	
		.head_icon img {
			width: 46px;
			margin: 10px 0;
			display: block;
		}
		
		.menu-sp {
			position: absolute;
			z-index: 104;
			top: 0;
			right: 0;
			width: 50px;
			height: 60px;
		}
		
		nav.globalMenuSp {
    position: fixed;
    z-index: 104;
    top: 0;
    left: 0;
    text-align:center;
    transform: translateX(100%);
    transition: all 0.6s;
    width: 100%;
	height: 100%;
	overflow-y: scroll;
}
 
nav.globalMenuSp ul {
    background: linear-gradient(to right, #3e1dc8 0%, #0096ee 100%);
    opacity: 0.9;
    margin: 0 auto;
    width: 100%;
	height: 100%;
	margin-top: 90px;
}

nav.globalMenuSp ul li {
	position: relative;
    font-size: 16px;
    list-style-type: none;
    width: 100%;
	height:auto;
	color: #fff;
}
		
		.head-menu-top{
			padding-top: 60px;
			margin: 10px 0;
			font-size: 28px !important;
			font-weight: bold;
		}
 
/* 最後はラインを描かない */
nav.globalMenuSp ul li:last-child {
    padding-bottom: 0;
    border-bottom: none;
}
 
nav.globalMenuSp ul li a {
    display: block;
    color: #fff;
    padding: 26px 0;
    font-size: 18px;
    font-weight: bold;
}
		
		nav.globalMenuSp ul li a span {
			display: block;
			font-size: 12px;
		}
		
		nav.globalMenuSp ul li a font {
			color: #de0415;
			font-size: 12px;
			position: absolute;
			top: 20px;
			right: 20px;
		}
 
/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
    transform: translateX(0%);
}
	
	.navToggle {
    display: block;
    position: absolute;    /* bodyに対しての絶対位置指定 */
    left: 17%;
    top: 5px;
    width: 40px;
    height: 51px;
    cursor: pointer;
    z-index: 999;
    text-align: center;
}
 
.navToggle span {
    display: block;
    position: absolute;    /* .navToggleに対して */
    width: 25px;
    border-bottom: solid 2px #fff;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
	left: 5px;
}
 
.navToggle span:nth-child(1) {
    top: 15px;
}
 
.navToggle span:nth-child(2) {
    top: 25px;
}
 
.navToggle span:nth-child(3) {
    top: 35px;
}
	
	/* 最初のspanをマイナス45度に */
.navToggle.active span:nth-child(1) {
	width: 30px;
    top: 18px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
 
/* 2番目と3番目のspanを45度に */
.navToggle.active span:nth-child(2),
.navToggle.active span:nth-child(3) {
	width: 30px;
    top: 18px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}

/*メニュー2階層*/	
	nav.globalMenuSp ul .second-menu {
	color:#e61869;
	position: relative;
    width: 90%;
	height:auto;
    border-bottom:  solid 2px #fff;
	padding: 10px 0;
    padding-left: 10%;
}	
	nav.globalMenuSp ul .second-menu span{
	font-size: 16px;
    font-weight: bold;
    margin-right: 16px;
	float: right;
	line-height: 1;
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 16px solid #de0415;
	transition: all 0.2s ease-in-out;
}			
	
	nav.globalMenuSp ul .second-menu span.open{
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		top: 45%;
		}
		
		/*フッター*/
		footer {
			position: relative;
			z-index: 1;
			width: 100%;
			height:auto;
		}
		
		.footer-box{
			position: relative;
			width:100%;
			height: auto;
			text-align: center;
			margin: 0 auto;
			background: #333333;
			padding: 40px 0;
		}
		
		.logo-area {
			position: relative;
			display: block;
	    }
	
	    .logo-area img{
		    width: 180px;
		    height: auto;
	    }
		
		.add-area{
			font-size: 16px;
			padding-top: 20px;
			display: block;
			color: #fff;
	    }
	    
	    .tel-area{
			font-size: 28px;
			padding-top: 20px;
    		line-height: 2;
			display: block;
			color: #fff;
	    }
		
		.footer-credit {
			position: relative;
			padding: 10px 0;
			background: linear-gradient(to right, #3e1dc8 0%, #0096ee 100%);
    		color: #fff;
			font-size: 10px;
			text-align: center;
		}
}
/*SP*/
	@media only screen and (max-width: 768px) {
		/*トップページ*/
		/*キービジュアル*/
		#top-keyvisual {
			position: relative;
			width: 100%;
			height: auto;
			font-size: 0;
		}
		
		.top_m {
			position: relative;
		}
		
		#video {
			width: 100%;
		}
		
		.fadein {
			opacity : 0;
			transform : translate(0, 50px);
			transition : all 600ms;
		}
		
		.fadein.scrollin {
			opacity : 1;
			transform : translate(0, 0);
		}
		
		.back_btn {
			display: block;
			position: relative;
			width: 20%;
			padding: 1.0em;
			text-align: center;
			color: #d8cf9f;
			margin: 4% auto;
			font-size: 16px;
			font-weight: bold;
			background-color: #000;
		}
		
		.back_btn:hover{
			opacity: 0.8;
			cursor: pointer;
		}
		
		@keyframes scroll {
			0%{
				height: 0;
			}
			50%{
				height: 100px;
				margin-top: 0;
			}
			100%{
				margin-top:0px;
				height: 100px;
			}
		}
		
		.content-top{
			position: relative;
			display: block;
			text-align: center;
			width: 100%;
			height: auto;
			padding: 50px 0;
		}
		
		.content-top h2{
			font-size: 28px;
			font-weight: bold;
			width: 220px;
			margin: 0 auto;
			border-bottom: 1px solid;
			padding-bottom: 4px;
			letter-spacing: 2px;
		}
		
		.content-top span{
			display: block;
			font-size: 16px;
			font-weight: bold;
			padding-bottom: 4px;
			letter-spacing: 2px;
		}
		
		.catch{
			font-size: 24px;
			letter-spacing: 1px;
			text-align: center;
		}
		
		.catch-area {
			width: 92%;
    		margin: 0 4%;
		}
		
		.banner-area {
			padding-top: 120px;
		}
		
		.banner-area li {
			display: block;
			width: 90%;
			margin: 0 auto;
		}
		
		#about-top{
			background: linear-gradient(to right, #3e1dc8 0%, #0096ee 100%);
			padding-bottom: 120px;
		}
		
		.hc02{
			color:#3e1dc8;
		}
		
		.hdetail{
			text-align: center;
			font-size: 14px;
			padding-bottom: 50px;
		}
		
		.company-top{
			position: relative;
			width: 100%;
			height: auto;
			margin: 0px auto;
		}
		
		.busi_area{
			position: relative;
			display: inline-block;
		}
		
		.text-area{
			position: relative;
			text-align: center;
		}
		
		.text-area02{
			position: relative;
			display: block;
			width: 100%;
			height: auto;
			z-index: 0;
		}
		
		.text-area03{
			position: relative;
			display: inline-block;
			width: 47%;
			margin-top: 5%;
			text-align: center;
			color: #404040;
			vertical-align: top;
		}
		
		.text-area p{
			margin: 40px 0;
            font-size: 16px;
		}
		
		.text-area02 p{
            font-size: 18px;
		}
		
		.btn2 {
			display: block;
			position: relative;
			width: 160px;
			padding: 0.4em;
			text-align: center;
			color: #000;
			margin: 0 auto;
			font-size: 20px;
			border:1px solid #fff;
			background-color: #d8cf9f;
		}
		
		.btn2:hover {
			background-color: #fff;
			color: #000;
			border: 1px solid #404040;
			cursor: pointer;
		}
		
		.btn3 {
			display: inline-block;
			position: relative;
			width: 260px;
			padding: 0.4em;
			text-align: center;
			color: #fff;
			margin: 9%;
			font-size: 20px;
			border: 1px solid #fff;
			background-color: #000;
		}
		
		.btn3:hover {
			background-color: #fff;
			color: #000;
			border: 1px solid #404040;
			cursor: pointer;
		}
		
		.btn1 {
			display: block;
			position: absolute;
			width: 160px;
			padding: 0.4em;
			text-align: center;
			left: 36%;
			bottom: 0;
			color: #fff;
			background-color:#191970;
		}
		
		.btn1:hover {
			opacity: 0.8;
			cursor: pointer;
		}
		
		.img-area{
			position: relative;
			display: inline-block;
			width: 49%;
		}
		
		.img-area img{
			float: right;
			position: relative;
			top: -100px;
			right: -20px;
		}
		
		.img-area01{
			position: relative;
		}
		
		.img-area02{
			position: relative;
			top: 20px;
			display: block;
			padding-left: 2%;
			z-index: 2;
		}
		
		.img-area01 img{
			position: relative;
		}
		
		.img-area02 img{
			position: relative;
		}
		
		.business-top {
			padding-top: 60px;
			padding-bottom: 60px;
		}
		
		.company-area {
			width: 76%;
			margin: 60px 12%;
			padding-left: 6%;
		}
		
		.grid_area {
			background: #edf8f6;
		}
		
		.grid-container {
			display: flex;
			flex-flow: column;
			width: 90%;
			height: auto;
			margin: 0 auto;
			padding: 40px 0;
			text-align: center;
		}

		.quadrant {
			border-bottom: 1px solid black; 
		}

		/* 2列目（右端）の縦線を削除 */
		.quadrant:nth-child(2n) {
			border-right: none;
		}

		.quadrant {
		}
		
		.grid-container h3{
			padding: 20px 0 10px 0;
			font-size: 24px;
		}
		
		.quadrant p{
			font-size: 14px;
			color: #000;
			padding-bottom: 20px;
			line-height: 28px;
		}
		
		.top-left,.top-right,.bottom-left{
			padding-bottom: 20px;
		}
		
		.quadrant.bottom-right {
			display: flex;
			flex-flow: column;
			justify-content: space-between;
		}
		
		.inlim{
			display: flex;
			flex-flow: column;
			width: 100%;
			height: auto;
			justify-content: space-between;
		}
		
		.inlim img{
			margin-bottom: 20px;
		}
		
		#service-top{
			background: linear-gradient(to top left, #3e1dc8 0%, #0096ee 50%);
			padding: 30px 0;
		}
		
		.serh{
			font-size: 28px !important;
			padding-bottom: 10px;
			border-bottom: 1px solid;
		}
		
		.serp{
			padding-top: 10px;
		}
		
		.pro_cont {
			position: relative;
			width: 100%;
			height: auto;
			z-index: 0;
		}
		
		.pro_area01 {
			display: flex;
			flex-flow: column;
		}
		
		.pro_area02 {
			display: flex;
			flex-flow: column;
		}
		
		.ppho{
			width: 95%;
			padding-top: 40px;
		}
		
		.icon_area {
			display: flex;
			flex-flow: column;
			width: 90%;
			height: auto;
			margin: 20px auto;
		}
		
		td {
			display: inline-block;
			width: 200px;
		}
		
		.t_wrap {
			margin-bottom: 40px;
		}
		
		#access-top{
		}
		
		.map {
			width: 100%;
			height: 500px;
		}
		
		#contact-top{
			background: linear-gradient(to top left, #3e1dc8 0%, #0096ee 50%);
		}
		
		.page-content-top{
			position: relative;
			display: block;
			width: 100%;
			height: 300px;
			background:#dcdcdc;
		}
		
		.page-content-top h2{
			position: absolute;
			top:40%;
			left: 0;
			right: 0;
			font-size: 48px;
			color:#696969;
			text-align: center;
			font-weight: 100;
		}
		
		.page-content-top span{
			display: block;
			font-size: 18px;
		}
		
		.page-content-top img{
			display: block;
			width: 100%;
			height: 300px;
			opacity: 0.5;
		}
		
		.content-area{
			width: 100%;
			height: auto;
			color: #fff;
		}

/* アニメーション定義 */
@keyframes anime {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: scale(1.0);
  }
}
		/*お問い合わせ*/
		
		.contact-box{
			margin-top:50px;	
		}	
		
		.contact-p{
			width: 90%;
			margin: 50px auto;
			text-align: center;
		}
		
		.contact-catch {
			font-size: 16px;
			margin-bottom: 60px;
		}
		
		
		.contact-form-inner {
			max-width:90%;
			margin: 0 auto;
			padding-bottom: 60px;
		}

		.contact-form-inner h3{
			font-size: 18px;
			text-align: center;
			font-weight: bold;
		}

		.p_check{
			text-align: center;
			margin: 20px 0;
			font-size: 14px;	
		}		

		.contact-de{
			margin-top: 40px;	
		}

		.contact-de span{
			font-size: 18px;
			font-weight: bold;	
		}

		.contact-end{
			font-size: 14px;
			margin: 60px 0;		
		}
		
		input[type="checkbox"] {
			width: 20px !important;
			height: 20px !important;
			margin-right: 20px;
			margin-top: 30px!important;
			vertical-align: bottom;
		}
		
.form-item:first-child {
    margin-top: 0;
}
.form-item {
    margin: 30px auto 0;
}
.form-item label{
    display: block;
    font-size: 16px;
}
.form-item input{
    width: 100%;
    height: 50px;
    border:none;
    margin-top: 10px;
}
.form-item input::placeholder,
.form-item textarea::placeholder {
    padding-left:15px;
}

.form-hissu {
    color: #fff;
    font-size: 13px;
    margin-left: 15px;
    padding: 3px 5px;
    background-color: #e5002d;
}
		
.form-nin {
    color: #fff;
    font-size: 13px;
    margin-left: 15px;
    padding: 3px 5px;
    background-color: #00a89c;
}

.form-item textarea{
    height: auto;
    width: 100%;
    border: none;
    margin-top: 10px;
}
.last_check {
    display: block;
    text-align: center;
    vertical-align: middle;
	margin-top: 20px;
}
.last_check > input {
    width: auto;
    height: auto;
    margin: 0 10px 0 0;
}
.last_check a {
    text-decoration: none;
}
.form-item.send-btn{
	position: relative;
    width: 300px;
    margin: 40px auto 0;
}

.form-item.send-btn input{
    	display: block;
        position: relative;
        width: 300px;
        padding: 0.4em;
        text-align: center;
        color: #3e1dc8;
        margin: 0 auto;
        font-size: 20px;
        border: none;
        border-radius: 30px;
        height: auto;
       background: linear-gradient(to right, #30c3c1 0%, #59f0c1 100%);
}
	
.form-item.send-btn:after{
			content: '▶︎';
			display: inline-block;
			position: absolute;
			top: 17px;
			right: 24px;
			font-size: 10px;
			color: #3e1dc8;
		}
	
.form-item.send-btn input:hover {
    transition: all .3s;
	opacity: 0.7;
	cursor: pointer;
}
		
form.wpcf7-form.invalid {
    max-width: 1000px;
    margin: 0 auto;
}
	
.wpcf7-list-item {
    display: inline-block;
}
		
span.wpcf7-list-item.last{
    margin-left: 40px;
}
	
	.file{
		display: block;
		margin: 30px auto 0;
	}
	
	#your-file {
		font-weight: bold;
	}
	
	.con{
		text-align: center;
        margin: 0px auto;
	}
	
	.wpcf7-form-control-wrap {
		position: relative;
		display: block;
	}
	
	input.wpcf7-form-control.wpcf7-file {
		margin: 20px 0;
	}
		
	
	.btn2 {
		display: block;
		position: relative;
		width: 300px;
		padding: 0.4em;
		text-align: center;
		color: #fff;
		margin: 40px auto;
		font-size: 20px;
		border: none;
		border-radius: 30px;
		height: auto;
		background: #000;
	}
	
	.content {
		padding: 60px 0;
	}

.fadeIn{
animation-name:fadeInAnime;
animation-duration:2s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeInAnime{
  from {
    opacity: 0;
	transform: translate(0px, 50px);
  }

  to {
    opacity: 1;
	transform: translate(0px, 0px);
  }
}		
}

@media only screen and (max-width: 768px) {
/*ビジョン*/
	
	.title{
		text-align:center;
	}
	
	.vision-content{
		position: relative;
		display: flex;
		flex-flow: column;
		width: 90%;
		height:auto;
		padding: 5%;
		margin-top: 20px;
		background:#EEEEEE;
	}
    
	.vision-title{
		font-size:24px;
		font-weight:bolder;
		background:#76DCF9; 
	}
	
	.vision-box {
    order: 2;
	}
	
	.vision-box p{
		padding: 0 5%;
	}
	
	.vision{
		width: 100%;
		height:auto;	
	}

	.profile-link{
	}
	
	/*サービス内容*/
	.title{
		margin: 50px auto;
		text-align: center;
	}
	
	.sub-title{
		display: block;
		font-size:18px;
		text-align: center;
	}
	
	.service-content{
		position: relative;
		margin-top:20px;
	}
	
    .service-heading{
		font-size:24px;
	}

	.item{
		vertical-align: top;
		display:inline-block;
		margin:2% 4%;
		text-align: center;
	}
	
	.item p{
		margin: 5%;
	}
	
	.translation{
		display: block;
		text-align: center;
		font-size: 16px;
	}
	
	.items{
		display: block;
		margin: 0 auto;
	}
	.production-content{
		display: block;
		position:relative;
		width: 90%;
		height:auto;
		padding: 5%;
		margin-top: 20px;
		background:#EEEEEE; 
	}
	
	.production{
		position: relative;
		z-index:3;
		display: inline-block;
		vertical-align:top;
		width: 100%;
		height: auto;
		margin: 0;
	}
	
	.production-list{
		margin-top:4%; 
		font-size: 24px;
	}
	
	.background{
		z-index:1;
		position:absolute;
		top:0;
		left:0;
		background:#76DCF9; 
		width:200px;
		height:100px;
	}
	.duties-content{
		position: relative;
		display:block;
		vertical-align:top;
	}
	
	.duties{
		font-size: 34px;
		font-weight:bolder;
		margin-left:5%;
	}
	
	/*ボタン*/
	.btn5 {
  position: relative;
  display:block;
  text-align: center;
  width: 300px;
  height:50px;
  margin: 20px auto;
  border: 1px solid #15aeec;
  background-color: #49c0f0;
  background-image: -webkit-linear-gradient(top, #49c0f0, #2cafe3);
  background-image: linear-gradient(to bottom, #49c0f0, #2cafe3);
  border-radius: 4px;
  font-size: 24px;
  color: #fff;
  line-height: 50px;
  -webkit-transition: none;
  transition: none;
  text-shadow: 0 1px 1px rgba(0, 0, 0, .3);
}
	
.btn5:hover {
  border:1px solid #1090c3;
  background-color: #1ab0ec;
  background-image: -webkit-linear-gradient(top, #1ab0ec, #1a92c2);
  background-image: linear-gradient(to bottom, #1ab0ec, #1a92c2);
}
	
.btn5:active {
  background: #1a92c2;
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, .2);
  color: #1679a1;
  text-shadow: 0 1px 1px rgba(255, 255, 255, .5);
}	
	
.service-link{

	}	
	
	/*プロフィール*/
	.profile{
		background:#EEEEEE;
	}
	
	.profile-image{
		display: block;
		margin: 0 20%;
	}
	
	.name{
		font-size:18px;
	}
	.business{
		display: inline-block;
		margin:4%;
		vertical-align:top;
		width: 90%;
		height: 40%;
	}
	
	.profile-hobby{
		position: relative;
	}
	
	.block{
		position: relative;
	}
	
	.travel-hobby{
	   position:absolute;
	   top:50%;
	   left:50%;
	   width:100%;
	   transform: translate(-50%,-50%);
	   text-align: center;
	}
	
	.sports-hobby{
	   position:absolute;
	   top:50%;
	   left:50%;
	   width:100%;
	   transform: translate(-50%,-50%);
	   text-align: center;
	}
	
	.manga-hobby{
	   position:absolute;
	   top:50%;
	   left:50%;
	   width:100%;
	   transform: translate(-50%,-50%);
	   text-align: center;
	}
	
	.hobby{
		font-size:32px;
		font-weight: bold;
	}
	
	.profile-hobby p{
		font-size: 18px;
	}
	
	#content h3{
		font-size: 22px;
		font-weight: bolder;
		padding: 1px;
		width: 90%;
		margin: 10px auto;
		border-bottom: solid 4px #76DCF9;
	}
	
	.youtube-sp{
		width: 300px;
		height: 200px;
		margin: 0 auto;
	}
	
	.performance {
        text-align: center;
	}
	
	
	
	/*コンタクト*/	
	.contact-form{
	float: center;
	background:#fff;
	text-align: center;
	font-size: 20px;
	width: 500px;
	border:solid 1px orange;
	border-radius: 10px;
	margin-left: 250px;
	margin-top: 50px;
	}

.contact-form span{
	font-size: 30px;
	}	

.contact-box{
	margin-top:50px;	
	}	

.contact-p{
	width: 90%;
	margin: 50px auto;
	}	
	
.contact-table {
	table-layout: fixed;
	font-size:16px;
	width:100%;
	margin: 0 auto 20px;
}
.contact-table, .contact-table td, .contact-table th {
	word-break: break-all;
	border: 1px solid #ccc;	/*テーブルの枠線の幅、線種、色*/
	padding: 10px;	/*ボックス内の余白*/
}
/*ta1の左側ボックス*/
.contact-table th {
	width:60%;		/*幅*/
	text-align: left;
	font-size:10px;
	color:#fff;
	background:#76DCF9;
}	

.contact-table th span{
  text-align: center;
  font-size:10px;
  box-sizing: border-box;
  border:solid 1px;
  width: 100%;
  margin-right:2px;
  padding:2px;
  background:#ff0000; /* 色変更可能 */
  color: #fff;
	}	
	
.contact-table td{
	width:100%;	
	background: #FAF6E3;
	}
	
.wpcf7 input[name="your-name"],
.wpcf7 input[name="your-email"],
.wpcf7 input[name="your-subject"] {
        width: 96%;
        height: 30px !important;
}
.wpcf7 textarea[name="your-message"] {
        width: 96%;
        height: 350px !important;
}
	
.submit-img {
  text-align: center;
  font-size:16px;
  box-sizing: border-box;
  display: block;
  max-width: 200px;
  width: 100%;
  height:40px;
  margin: 0 auto;
  background: #447fff; /* 色変更可能 */
  color: #fff;
  font-weight: bold;
  border-radius: 5px;
  border-bottom: 2px solid rgba(0,0,0,0.3);
}
.submit-img:hover {
  text-align:center;
  opacity: 0.6;
}
.submit-img:active, .button-shadow:focus {
  border-bottom-width: 0;
  margin-top: 2px;
  background: #ff9300; /* 色変更可能 */
}

.footer-credit {
    background: #EBEEF2;
    text-align: center;
    font-size: 10px;	
	
}
/*sp設定終了*/
}