/*共通設定*/
@charset "utf-8";
*{
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing:border-box;}
body{
	font-family:'メイリオ','Oswald','Hiragino Kaku Gothic Pro','Times New Roman',sans-serif;
	margin:0;	word-wrap:break-all; }
frame{max-width: 100%;}
ul{	margin:0;	padding:0;	list-style:none;}
h1,h2,h3,h4,h5,p{	margin:0;	padding:0;}


/*ヘッダー*/
header{	
	display:flex;
	position: fixed;
	top:0; left: 0;
	width:100%;
	max-width:100vw;
	align-items: center;
	justify-content: space-between;
	background-color: rgba(0,0,0,0.8);
	z-index: 999;}
header img{
	height: 6vw;
	object-fit: cover;}
nav{padding-right:5vw;}
nav #menu{
	width:40vw;
	display:flex;
	justify-content: space-between;}
nav li a{
	text-decoration:none;
	font-size:1.5vw;
	color:white;}
.text{
	width:80vw;
	font-size:1.6vw;
	margin-left:auto;
	margin-right:auto;}
.text a{color:blue;	}

/*メインビジュアル動画*/
.bg-top-wrap{
	width:100vw;
	max-width:100vw;
	height:auto;
	position:relative;}
.bg-video{
	display: block;
    position:relative;
	height:auto;}
.bg-video .title{
	position:absolute;
	top:45%;	left:50%;
	transform: translate(-50%,-50%);
	color: #fff;
	line-height: 1.5;
	font-weight: bold;
	text-align:center;
	text-shadow: 3px 3px 1px #000;}
.bg-video .sub_title{font-size:5vw;}
.bg-video .shizulog_title{font-size:10vw;}
.bg-video .catchcopy{
	position:absolute;
	top:75%;	left:50%;
	transform: translate(-50%,-50%);
	color: #fff;
	line-height: 1.5;
	font-size:3vw;
	font-weight: bold;
	text-align:center;
	text-shadow: 3px 3px 1px #000;}

/*トップフロースライダー*/
.photo-slider{
	width:100%;
    max-width: 100%;
    display: flex;
    justify-content: space-between;}
.photo-slider img {
    width: 25vw;
    height: 15vw;
    object-fit: cover;}

/*スライダー*/
.bg-slider-wrap{background-color:rgba(255,255,255,0.3);}
.bg-slider {
	background-position:center center;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100vw;
	height: 80vh;}
.sub_title{
	font-size: 5vw;}
.shizulog_title{
	font-size: 10vw;}
.bg-slider .title{
	color: #fff;
	line-height: 1.5;
	font-weight: bold;
	text-align:center;
	text-shadow: 3px 3px 1px #000;}

/*見出し*/
h2{
	text-align:center;
	width:80vw;
	font-size:3vw;
	margin:50px auto 20px;
    padding:7px;
	border-top:1px solid black;
	border-bottom:1px solid black;}
@media screen and (max-width:700px){
h2{font-size:5vw;}
}

/*事業内容・実績*/
.works{
	display:flex;
	width:100%;
	justify-content: center;
	gap: 5vw;
	margin:5vw 0;}
.work{
	width:30vw;
	display: flex;
	flex-direction: column;
	align-items: center;}
.work i{font-size:5vw;}
.work-title{
	font-size:1.8vw;
	margin-top:2vw;}
.english{font-size:1.5vw;}
.work-description{
	font-size:1.2vw;
	margin-top:1vw;}
.record-lists{
	width:80%;
	margin:5vw auto;
	display:flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1vw;}
.record-lists img{
	width:16vw;
	height:16vw;
	object-fit: contain;
	padding:1.5vw;
	border:1px solid #ccc;}

/*リンク*/
.link_grp {
    width: 80vw;
    margin: 3vw auto 5vw;
    display: flex;
    gap: 1vw;}
.link_tap{
	width:80vw;
	margin:10px auto;
	display: flex;	gap: 10px;
  border: 1px solid #000;
	border-radius: 10px;
	position:relative;
	text-decoration: none;}
.link_text{	padding:15px 0;}
.link_icon{
	padding:15px 10px;
	width:50px;}
.link_title{
	font-size: 18px;
	color: #EB7712;}
.link_url{
  font-size: 12px;
  color: #B1B1B1;}

/*スポンサー*/
.banner-list{
	display:flex;
	gap:10px;
	width:80vw;
	margin-left:auto;
	margin-right:auto;}
.banner-list img{
	border:1px solid #B1B1B1;}

/*お問い合わせフォーム*/
.forms{
	width:65%;
	margin:5vw auto;}
.form-group {
    padding:2vw 0;
    display:flex;
	flex-direction: column;}
.form-group label {
    font-size: 1.5vw;
    color: #000;
    width:60vw;
    display: inline-block;
	margin-bottom:0.5vw;}
.form-group label .required{
    display:inline-block;
	font-size: 1vw;
    margin: 0 1vw;
    color:red;}
.form-group input, .form-group textarea {
    width: 100%;
    padding: 15px;
    border: 1px solid #aaa;
    font-size: 16px;
    color: #333;}
textarea {
    resize: vertical;
    height:25vw;
    min-height: 100px;}
.submit-btn {
	display: block;
    position:relative;
    text-align: center;
    padding: 0;
    font-size: 2vw;
	border:none;
    border-radius: 20vw;
    width:40vw;
    margin:1vw auto 10vw;
    z-index:0;
    text-decoration: none;
	background-color:#000;}
.submit-btn .link-text{
    width: 40vw;
    height: 100%;
    padding: 10px 0;
    color: #fff;
    z-index: 10;}
.submit-btn:hover{cursor: pointer;}

/*フッター*/
footer{
	text-align:center;
	padding:1.5vw;
	background-color: #000;
	font-size:15px;
	color:#fff;}


/*スマホでの表示*/
@media(max-width:700px){
	.pc{display:none;}
	.bg-slider {
		width: 100vw;
		height: 250px;}
	.bg-slider .title{
		font-size: 35px;}
	/*nav ul{
		display:none;
		background-color:rgba(255,255,255,0.5);}
	nav li{
		padding-top:9px;
		border-bottom:1px solid black;}
	nav li i{
		color:#888888;
		font-size:18px;
		margin-right:7px;
		display:inline;}
	nav li a{padding:5px;}*/
	header img{height:10vw;}
	#menubtn{
		padding:1vw 3vw;
		border:1px solid #aaaaaa;
		border-radius:5px;
		background-color:white;
		position:absolute;
		top:7px;
		right:21px;}
	#menubtn i{
		color:#888888;
		font-size:3vw;}
	#menubtn span{
		display:inline-block;
		text-indent:-9999px;}
	nav #menu{
		display:flex;
		width:100vw;	height:100vw;
		padding-bottom:10vw;
		background-color:rgb(0,0,0,0.8);
		position:absolute;
		top:0;	right:0;
		flex-direction: column;
		z-index:10;
		transform:translateY(-100vw);
		transition:transform 0.5s;}
	#menu.open{
		transform:translateY(0);}
	#menu li{
		text-align:center;}
	#menu li i{
		font-size:4vw;
		display:inline;}
	#menu li a{
		color:#ffffff;
		font-size:5vw;
		text-decoration:none;}
	#menu li a.sns i{font-size:7vw;}
	#menu .close_btn{
		text-align:right;
		margin-top:5px;
		margin-right:35px;
		font-size:30px;
		color:white;}
	.banner-list{
		flex-direction:column;}
	.bg-top-wrap{
		padding-top:4vw;
		background-color:#000;}
	.bg-slider .title{
		text-shadow: 1.5px 1.5px 1px #000;}
	.bg-video .catchcopy {
    	font-size: 5vw;
	    width: 100%;}
	.photo-slider img{height:35vw;}
	.works{
		flex-direction:column;
		gap:10vw;}
	.work{
		width:75%;
		margin:auto;}
	.work i{font-size:15vw;}
	.work-title{font-size:6vw;}
	.english {
		font-size: 5vw;
		margin-top: -2vw;}
	.work-description{
		font-size: 3vw;
		margin-top: 3vw;
		line-height: 6vw;}
	.record-lists{gap:5vw;}
	.record-lists img {
	    width: 30vw;
    	height: 30vw;}
	footer{padding:7vw;}
	.link_grp {
		margin: 5vw auto 10vw;
		flex-direction:column;
		gap:2vw;}
	.link_tap{margin:0;}
	.text{
		font-size: 3.2vw;
    	line-height: 6vw;}
	.form-group label {
		font-size: 3.5vw;
		width: auto;
		margin-bottom: 2.5vw;}
	.form-group label .required {
		font-size: 2.8vw;}
	.form-group input, .form-group textarea {
		width: auto;}
	.submit-btn {
		font-size: 3.5vw;
		padding: 0;
		margin-top:5vw;
		margin-bottom: 20vw;}	
}

/*PCでの表示*/
@media(min-width:701px){
	#menubtn,#title,nav li i{display:none;}
	.smp,.close_btn{display:none;}
	body{width:100%;}
}
