@charset "utf-8";

/* ==================================================

ロゴタイプ デザインオフィス PC スタイルシート

================================================== * /


/* 共通
--------------------------------------------------------------------*/
body,div,p,a,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,td,th,form {
	margin:0;
	padding:0;
	font-style:normal;
	font-weight:400;
	font-size:100%;
}
article,aside,figure,figcaption,footer,header,nav,section {
	display:block;
}
li {
	list-style-type:none;
}
li img {
	vertical-align:top;
}
table {
	border-collapse:collapse;
}
td,th {
	vertical-align:top;
}
th {
	text-align:left;
}
img {
	vertical-align:bottom;
	image-rendering: -webkit-optimize-contrast;
}
a img {
	border:none;
}
body {
	font-family: "Noto Sans JP" , "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    font-weight: 400;
	margin: 0;
	text-align: center;
	font-size: 100%;
	line-height: 2.3;
	color: #fff;
}

.fs {
	font-size:85%;
}
.fl {
	font-size:125%;
}
.b {
	font-weight: 500;
}
.c {
	text-align:center;
}
.r {
	text-align:right;
}
a:link,
a:visited {
	color: #fff;
	text-decoration:none;
}
a:hover,
a:active {
	color: #fff;
	text-decoration:underline;
}
a {
	transition: all 0.2s ease;
}
a:hover {
	transition: all 0.2s ease;
}
.cf:before,
.cf:after {
	content:"";
	display:table;
}
.cf:after {
	clear:both;
}
.cf {
	zoom:1;
	overflow:hidden;
}
.sp {
    display: none !important;
}

.video-area {
	position: relative;
	text-align: left;
}

.video-box {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100vh;
}
.video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.overlay::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background: rgba(0, 0, 0, 0.0);
}
/*========= スクロールダウンのためのCSS ===============*/

/*====== 9-1-1 縦線が動いてスクロールを促す =======*/

/*スクロールダウン全体の場所*/
.scrolldown1{
    /*描画位置※位置は適宜調整してください*/
  position: absolute;
  left: 50%;
  bottom: 18px;
    /*全体の高さ*/
  height:50px;
}

/*Scrollテキストの描写*/
.scrolldown1 .mouse {
	position: absolute;
	left: -7px;
	top: -50px;
}
.scrolldown1 .mouse img {
	width: 15px;
}
.scrolldown1 span{
    /*描画位置*/
  position: absolute;
  left:-15px;
  top: -30px;
    /*テキストの形状*/
  color: #fff;
  font-size: 0.7rem;
  letter-spacing: 0.05em;
}

/* 線の描写 */
.scrolldown1::after{
  content: "";
    /*描画位置*/
  position: absolute;
  top: 0;
    /*線の形状*/
  width: 1px;
  height: 30px;
  background: #eee;
    /*線の動き1.4秒かけて動く。永遠にループ*/
  animation: pathmove 1.4s ease-in-out infinite;
  opacity:0;
}

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove{
  0%{
    height:0;
    top:0;
    opacity: 0;
  }
  30%{
    height:30px;
    opacity: 1;
  }
  100%{
    height:0;
    top:50px;
    opacity: 0;
  }
}

h1 {
	position: absolute;
	top: 40px;
	left: 40px;
}
h1 img {
	width: 136px;
}
h2 {
  position: absolute;
  top: 38%;
  left: 0;
  right: 0;
  width: 100%;
  text-align: center;
}

.main {
	text-align: left;
}
.main-i {
	padding: 200px 0 300px;
}

/* トップ
--------------------------------------------------------------------*/
#top .news-area {
	background-color: #2e2f3a;
	padding: 13px 0;
}
#top .news-area dl {
	width: 1200px;
	margin: 0 auto;
    display: flex;
    justify-content: flex-start;
}
#top .news-area dt {
    width: 150px;
	flex-shrink: 0;
}
#top .news-area dd {
	width: 1050px;
	flex-shrink: 0;
}
#top .web-area {
	background: url("../img/web_bk.jpg") repeat-x center top;
	height: 878px;
}
#top .web-area-i {
	width: 1200px;
	margin: 0 auto;
	padding-top: 240px;
	display: flex;
    justify-content: space-between;
}
#top .web-area .web-left {
	width: 450px;
	flex-shrink: 0;
}
#top h3 {
	padding: 20px 0 50px;
	font-family: 'Montserrat', sans-serif;
	font-weight: 500;
	font-size: 180%;
}
#top .web-area .web-left p {
	padding-right: 80px;
}
#top .web-area .web-right {
	width: 750px;
	flex-shrink: 0;
	display: flex;
    justify-content: space-between;
}
#top .web-area .web-right .web {
	width: 350px;
	flex-shrink: 0;
}
#top .web-area .web-right .web .photo {
	padding-bottom: 30px;
}
#top .web-area .web-right .web .photo img {
	box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, 0.5);
}
#top .web-area .web-right .web p {
	font-size: 90%;
}
#top .web-area .web-right .web .copy {
	font-family: 'Montserrat', sans-serif;
	font-weight: 500;
	font-size: 150%;
}
#top .contact-area {
	background-color: #2e2f3a;
	padding-top: 150px;
}
#top .contact-area-i {
	background-color: #3e3f49;
	margin: 0 auto;
	width: 1200px;
	padding: 100px 0 150px;
}
#top .contact-area-i2 {
	padding: 0 120px;
}
#top .contact-area h3 {
	padding-bottom: 50px;
	text-align: center;
}
#top .contact-area .copy {
	padding-bottom: 2px;
	font-weight: 700;
	font-size: 120%;
}
#top .contact-area .text {
	padding-bottom: 30px;
	line-height: 170%;
	font-size: 80%;
}
#top .contact-area .text span {
	color: #ffb4b4;
}
#top footer {
	background-color: #2e2f3a;
	padding: 100px 0;
	text-align: center;
}
#top footer img {
	width: 193px;
}

#contact .warning-area {
	color: #e61e1e;
	background-color: #fff0f0;
	border: solid 1px #c84632;
	padding: 15px 20px 14px;
	margin: 30px 0 40px;
}
#contact .warning-area i {
	padding-right: 7px;
}
#contact form {
	margin-top: 30px;
}
#contact .contact {
	display: flex;
	justify-content: flex-start;
}
#contact .contact .item {
	width: 17%;	
}
#contact .contact .detail {
	width: 83%;	
}
#contact .contact .item,
#contact .contact .detail {
	padding: 30px 0 28px;
}
#contact .contact .item p {

}
#contact .contact .required {
	padding-left: 5px;
	color: #ffb4b4;
}
#contact .contact .detail div {
	padding: 0 35px;
	font-weight: normal;
}
#contact .contact .detail input[type="text"] {
	border: solid 1px #a8b2bc;
	padding: 10px 15px 8px;
	width: 400px;
	font-size: 90%;
	font-weight: normal !important;
}
#contact .contact .detail input[type="radio"] {
	margin-left: 20px;
}
#contact .contact .detail input[type="radio"]:first-child {
	margin-left: 0;
}
#contact .contact .detail input::placeholder,
#contact .contact .detail textarea::placeholder{
	color: #ababab;
}
#contact .contact .detail #email2 {
	margin-top: 10px;
}
#contact .contact .detail #yuubin1 {
	width: 60px;
}
#contact .contact .detail #yuubin2 {
	width: 70px;
	margin-right: 15px;
}
#contact .contact .detail #btn-ajaxzip {
	padding: 6px 15px 4px;
	font-size: 90%;
	font-weight: normal !important;
}
#contact .contact .detail #ken {
	padding: 8px 15px 6px;
	font-size: 90%;
	font-weight: normal !important;
}
#contact .contact .detail #address,
#contact .contact .detail #gakureki,
#contact .contact .detail #kenmei {
	width: 700px;
}
#contact .contact .detail #seinen1,
#contact .contact .detail #seinen2,
#contact .contact .detail #seinen3 {
	padding: 8px 10px 6px;
	font-size: 90%;
	font-weight: normal !important;
}
#contact .contact .detail textarea  {
	border: solid 1px #a8b2bc;
	padding: 10px 15px 8px;
	width: 700px;
	height: 200px;
	font-size: 110%;
	line-height: 150%;
}
#contact .privacy {
	padding-top: 70px;
	text-align: center;
	font-size: 85%;
}
#contact .btn {
	padding-top: 70px;
	text-align: center;
}
#contact .btn button,
#contact .btn input {
	display: inline-block;
	background-color: #2e2f3a;
	border: 0;
	margin: 0 10px;
	padding: 0 80px;
	line-height: 60px;
	text-decoration: none;
	cursor:pointer;
	font-size: 110%;
	font-weight: 700;
	color: #fff;
}
#contact .btn button:hover,
#contact .btn input:hover {
	opacity: 0.7;
}
#contact .thanks {
	padding: 80px 0 100px;
	text-align: center;
}
#contact .thanks .title {
	padding-bottom: 10px;
	font-weight: bold;
	font-size: 150%;
	color: #fff;
}
#contact .thanks .attention {
	padding-top: 15px;
}
#contact .pageback {
	padding-top: 120px;
}
#contact .pageback a {
	display: inline-block;
	background-color: #2e2f3a;
	padding: 11px 40px 10px;
	text-decoration: none;
	font-weight: 700px;
	font-size: 110%;
	color: #fff;
}
#contact .pageback a:hover {
	opacity: 0.7;
}

