﻿@charset "UTF-8";

/* top */

/*header設定*/
div#main{
    position: relative;/*h1の中央寄せ配置の起点とするためのrelative*/
    height: 100vh;/*高さを全画面にあわせる*/
} 

#video-area{
    position: fixed;
    z-index: -1;/*最背面に設定*/
    top: 0;
    right:0;
    left:0;
    bottom:0;
    overflow: hidden;
}

#video {
    /*天地中央配置*/
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /*縦横幅指定*/
    width: 177.77777778vh; /* 16:9 の幅→16 ÷ 9＝ 177.77% */
    height: 56.25vw; /* 16:9の幅 → 9 ÷ 16 = 56.25% */
    min-height: 100%;
    min-width: 100%;
}
.cover{
	background-size: cover;
	background: url(img/cover.png);
	min-height: 100%;
}
body > div.cover {
  height: auto;
}
div.topcathche{
	float:right;
	width:25%;
	margin-right:3%;
	margin-top:10%;
	color:#FFF;
}
div.topcathche p.lead{
	text-align:center;
}
h2.top{
	background: url('img/logo_top.png') no-repeat center top;
	padding-top: 40%;
	/*font-family: 'Domine', serif;*/
	font-size:2.5rem;
	text-shadow: 1px 1px 1px #bba617,
                 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #fff;
	text-align: center;
	background-size:contain;
	line-height:130%;
}
h3{
	position: relative;
	text-align:left;
	font-family: adobe-garamond-pro, serif;
	font-weight: 400;
	font-size:4rem;
	letter-spacing:-0.01em;
	color:#041e69;
	padding-bottom: 1%;
}
h3::after{
	position: absolute;
	bottom: 0;
	left: 0;
	display: inline-block;
	width: 60px;
	height: 4px;
	content: '';
	background-color: #3c60c7;
}
h3 span{
	font-family: 'Yu Gothic', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
	margin-left:20px;
	color:#041e69;
	font-size:2rem;
}
h4{
	font-weight: bold;
	font-size: 2.8rem;
	margin: 1% auto 0;
	line-height: 120%;
}
div.newsbox{
	font-weight: bold;
	font-size: 1.7rem;
	padding:1%;
	background:#e7d253;
	text-align: center;
	opacity:0.8;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}
div.video_box_top{
	position: relative;
	text-align: center;
	vertical-align:middle;
}
div.video_box_top i.youtube{
	position: absolute;
	bottom: 50%;
	left: 50%;
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	margin:0;
	padding:5%;
}
div.video_box_top i.youtube:before{
	position:relative;
    display: inline-block;
    content: '\f144';
    font-family: 'FontAwesome';
	cursor:pointer;
	color: #fff;
	font-size:8rem;
	font-style: normal;
	opacity:0.6;
}
div.TopBox{
	width:100%;
}
div.TopBox .LeftBox {
	width:48%;
	margin:1%;
}
div.TopBox .RightBox {
	width:48%;
	margin:1%;
}
ul.newfunc,ul.newfunc02{
	width:100%;
	margin:0;
	padding:0;
}
ul.newfunc li{
	float:left;
	width:48%;
	margin:0% 1% 1%;
	list-style:none;
	position: relative;
}
ul.newfunc02 li{
	float:left;
	width: 23%;
	margin: 0% 1% 1%;
	list-style:none;
	position: relative;
}
ul.newfunc li p,ul.newfunc02 li p {
	width: 65%;
	position: absolute;
	color: white;
	font-weight: bold;
	font-size: 2rem;
	top: 50%;
	left: 50%;
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	margin:0;
	padding:0;
	text-align: center;
	text-shadow: 1px 1px 1px #000,
                 0 0 10px #000, 0 0 20px #000, 0 0 30px #000
  }
#main_slide ul li{
	width:400px;
}
#main_slide ul li img{
	width:100%;
}
ul.casestudy{
	width:85%;
	margin:1% auto;
	padding: 0;
}
ul.casestudy li{
	float:left;
	width:31%;
	margin:0% 1% 1%;
	list-style:none;
	position: relative;
}
ul.casestudy li p.ttl{
	font-weight: bold;
	font-size: 1.8rem;
}
ul.casestudy li a{
	font-size: 1.5rem;
	border-bottom:1px solid #041e69;
	padding-bottom:3%;
}
ul.casestudy li img{
	width:100%;
}


ul.review{
	width:85%;
	margin:1% auto;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 10px;
}
ul.review li{
	list-style:none;

}
ul.review li.second_row{
	margin-top:11%;
}
ul.review li a{
	text-decoration:none;
}
.review_name{
	padding:3% 3% 3% 3%;
	height:47%;
	font-weight:bold;
	border:1px solid #041e69;
	font-size:1.8rem;
	line-height:1.7;

}
.review_txt{
	color: #fff;
	background:#041e69;
	padding:3%;
	height:50%;
	font-size:1.5rem;
	width:94%;
}
.link {
	margin:0 0 2%;
}
.link span{
	color: #fff;
	background: #ad8f2b;
	padding: 2px 7px;
	border-radius: 3px;
	font-size: 13px;
	margin-right: 5px;
	list-style: none;
	display: inline-block;
}

ul.news{
	width:95%;
	margin:1% auto;
	padding: 0;
}
ul.news li{
	float:left;
	width:32%;
	margin:0% 0.5% 1%;
	list-style:none;
	position: relative;
	padding:0
}
ul.news li img{
	width:100%;
	margin:0;
	padding:0;
	border:1px solid #ddd;
}
div.topbottomp{
	font-size:140%;
	font-weight:normal;
	letter-spacing:0.03em;
	color:#FFF;
	background:#434343;
	padding:2%;
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 1) inset;
}
@media screen and (max-width: 960px) {
div.topcathche{
	width:40%;
}
h2.top{
	font-size:2rem;
}
div.topcathche p.lead{
	display:none;
}
}
@media screen and (max-width: 736px) {
.main {
    background-size: cover;
	padding-bottom: 100%;
}
div.topcathche{
	width:100%;
	margin-right:0;
}
h2.top{
	background: url('img/logo_top.png') no-repeat center top;
	padding-top: 130px;
	font-size:2rem;
	margin-top: 20%;
}
h3{
	font-size:2.6rem;
	margin-top:5%;
	margin-bottom: 1%;
}
h3::after{
	display:none;
}
h3 span{
	font-size:1.6rem;
}
h4{
	font-size: 2.5rem;
}
ul.newfunc02 li{
	width: 45%;
}
ul.newfunc li p {
	font-size: 1.5rem;
  }
div.TopBox .LeftBox {
	width:100%;
	margin-top: 5%;
}
div.TopBox .RightBox {
	width:100%;
	margin:0;
}
img.sp_none{
	display:none;
}
ul.casestudy{
	width:100%;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
}
ul.casestudy li{
	width:48%;
}
ul.casestudy li p.ttl,.review_name{
	font-size: 1.5rem;
}
ul.casestudy li a,.review_txt{
	font-size: 1.2rem;
}
ul.news li{
	width:99%;
}
div.topbottomp{
	font-size:120%;
}
ul.review {
  width: 100%;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
ul.review li.second_row_sp{
	margin-top:11%;
}
}

/* youtube */

#youtube {
  width: 90%;
  min-height: 100%;
  max-width: 1500px;
  margin: 5% auto;
	text-align:center;
}
#youtube a img:hover{
	opacity:0.7;
}

.youtube_btn{
	width:30%;
	margin:2% auto 0;
	float:none;
}
.youtube_btn span{
	font-weight:bold;
	font-size:2rem;
}

@media screen and (max-width: 736px) {
.youtube_btn{
	width:auto;
}
}
/* event */
div.event{
	width:80%;
	margin:3% auto;
}
div.event img{
	border:3px solid #ddd;
	padding:3%;
	background:#fff;
}
div.event ul li{
	list-style:none;
	text-align:left;
	margin-left:-10px;
}
div.event .LeftBox{
	float:left;
	width:45%;
	text-align:center;
}
div.event .RightBox{
	float:right;
	width:45%;
	text-align:center;
}
@media screen and (max-width: 736px) {
div.event .LeftBox{
	width:100%;
	clear:both;
	display:block;
}
div.event .RightBox{
	width:100%;
	clear:both;
	display:block;
}

#new_in{
	width:90%;
	margin: 0 auto;
}
#new_in span{
	display:block;
	padding: 5px 10px;
	margin: 0 auto 2%;
}
}



#new {
  padding: 25px 0 20px;
  margin: 0 0 0;
  overflow: hidden;
	color:#bba617;
	font-size:1em;
	text-align:center;
  border-top: 1px solid #ad8f2b ;
  border-bottom: 1px solid #ad8f2b ;
	
}
#new span.new_top{
	color:#fff;
	background:#ad8f2b ;
	margin:0 auto;
	padding:5px 15px;
	text-align:center;
  border: 1px solid #ad8f2b;
}
section {
  /*max-width: 300px;*/
  margin: 0 auto;
}
a.btn_03 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 70%;
  height: 50px;
  position: relative;
  background: #fff;
  border: 1px solid #ad8f2b;
  border-radius: 30px;
  box-sizing: border-box;
  padding: 0 45px 0 25px;
  color: #ad8f2b;
  font-size:1em;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-align: left;
  text-decoration: none;
  transition-duration: 0.3s;
  margin: 30px auto 5px;
}
a.btn_03:before {
  content: '';
  width: 8px;
  height: 8px;
  border: 0;
  border-top: 2px solid #ad8f2b;
  border-right: 2px solid #ad8f2b;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 25px;
  margin-top: -6px;
}
a.btn_03:hover {
  background: #ad8f2b;
  color: #fff;
}
a.btn_03:hover:before {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

@media screen and (max-width: 736px) {
#new span.new_top{
	display:block;
	margin-bottom:2%;
}
a.btn_03 {
  margin: 15px auto 5px;
}
a.btn_03 {
  width: 100%;
}
}