@charset "utf-8";


/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table.table, caption, tbody, tfoot, thead, tr, th, td {border: 0;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}

ol, ul {list-style: none;}
table.table {border-collapse: separate;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img{border: 0;}
figure{margin:0}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}
/* -------------------------------------------------------------- */

body {
color:#333;
font-size:1rem;
font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
line-height:1.5;
-webkit-text-size-adjust: none;
font-feature-settings: "palt";
letter-spacing: .8px;
}

b, strong, .bold{
	font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
}

/* IEだけに適応 */
_:lang(x)::-ms-backdrop, .selector {
	font-family: "Segoe UI", Meiryo, sans-serif;
}

a {
	text-decoration: none;
}

#top #wrapper{
	margin-top: 580px;
}

#top #wrapper2 {
	margin-top: 330px;
}

/* ボタン
------------------------------------------------------------*/
button {
	background-color: #1571DA;
	color: #fff;
	font-weight: bold;
	border-radius: 4px;
	border: 3px solid #1571DA;
	padding: 12px 16px;
	cursor: pointer;
	transition: .2s linear;
	-webkit-transition: .2s linear;
	-moz-transition: .2s linear;
	-o-transition: .2s linear;
	-ms-transition: .2s linear;

}

button:hover {
	background-color: #fff;
	border: 3px solid #1571DA;
	color: #1571DA;
}

a {
	color: #1571DA;
}


/*************
/* ヘッダー
*************/
#header{
	width: 100%;
	height:80px;
	display: flex;
	justify-content: space-between;
	background-color: #fff;
	box-shadow: 0 2px 4px rgba(0,0,0,0.16);
	position: fixed;
	top: 0;
}

.logo {
	line-height: 0;
}

.logo img {
	width: 50px;
	height: 50px;
}

.language {
	display: flex;
	height: 30px;
	align-items: center;
}

.language .check {
	color: #1571DA;
}

.language li {
	padding: 0 20px;
	border-right: 1px solid #D5D5D5;
}

.language li:last-child {
	border-right: none;
}

.language li a {
	color: #333;
}

.language li a.check {
	color: #1571DA;
}

.language li a:hover {
	color: #1571DA;
}

.header-left, .header-right {
	display: flex;
	align-items: center;
	margin: 0 20px;
}


/**************************
/* メインビジュアル
**************************/
.mv {
	width: 100vw;
	height: 580px;
	background-image: url(../img/index.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: -1;
	background-position: 0px 0px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.mv.mv-contact {
	height: 330px;
	background-image: url(../img/contact.jpg);
}

.mv::before {
  /* 透過した黒を上から重ねるイメージ */
  background-color: rgba(0,0,0,0.4);
  /* 自由に位置指定 */
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: ' ';
}

.slogan{
	z-index: 1;
	margin-top: 80px;
	max-width:100%;
	height:auto;
	padding:5px 10px;
	line-height:1.4;
	color:#fff;
	text-align: center;
}

.slogan h2 {
padding-bottom: 30px;
font-size: 2.25rem;
font-weight: bold;
}

.slogan .txt {
	margin-bottom: 40px;
}

.slogan button {
	padding-left: 100px;
	padding-right: 100px;
}


/**************************
/* コンテンツ
**************************/
.content {
	background-color: #fff;
	overflow: hidden;
}

#business, #profile {
	margin: 120px auto 0;
	width: 960px;
}

.title {
	font-size: 1.75rem;
	font-weight: bold;
	padding-bottom: 24px;
	border-bottom: 1px solid #D5D5D5;
}


/**************************
/* 事業内容
**************************/
#business {
	display: flex;
	justify-content: space-between;
}

.grid{
	border-radius:5px;
	background:#fff;
	width: 300px;
	display: flex;
}

#business .box{
	padding:40px;
	background-color: #EFF3F6;
	border-radius: 8px;
}

#business .box h4 {
	margin-bottom: 16px;
	font-weight: bold;
	color: #1571DA;
}


/**************************
/* 会社概要
**************************/
.table dl {
	border-bottom: 1px solid #D5D5D5;
	display: flex;
	align-items: center;
	padding: 16px 0;
}

.table dd {
	width: 820px;
	text-align:left;
	line-height: 2;
	font-size: 1.125rem;
}

.table dt{
	width: 140px;
	font-size: 1.125rem;
	font-weight: bold;
}


/**************************
/* お問い合わせ
**************************/
#contact {
	background-color: #EFF3F6;
	padding: 60px 0;
	margin-top: 120px;
	display: flex;
	justify-content: center;
	flex-direction: column;
}

#contact .contact-btn {
	margin: 0 auto 24px;
}

#contact .contact-btn a {
	width: 500px;
}

#contact .contact-btn a button {
	width: 500px;
	height: 80px;
	font-size: 1.375rem;
}

.info-tel {
	display: flex;
	align-items: center;
	justify-content: center;
}

.info-tel p, .info-tel a {
	font-weight: bold;
	font-size: 1.125rem;
}

.info-tel p:first-child {
	margin-right: 8px;
}

#tel-contact .box {
	width: 640px;
	border: 1px solid #BFCFD9;
	margin: 60px auto 50px;
	border-radius: 8px;
}

#tel-contact .box h3 {
	background-color: #EFF3F6;
	text-align: center;
	padding: 30px 0;
	font-size: 1.375rem;
	font-weight: bold;
}

#tel-contact .box .info-tel {
	padding: 40px 0;
}

#tel-contact .box .info-tel a {
	font-size: 1.5rem;
}

/**************************
/* 事業内容
**************************/
#form .form-box {
	width: 960px;
	margin: 0 auto 20px;
}


/**************************
/* フッター
**************************/
#footer{
	overflow:hidden;
	padding:80px 250px 80px 150px;
	background: #1C2C36;
	color: #fff;
}

#footer .inner {
	display: flex;
	justify-content: space-between;
}

#footer #info .info{
	font-size: 0.875rem;
	margin-top: 20px;
	line-height: 2;
}

#footer a{color:#fff;}
#footer a:hover {
	text-decoration: underline;
}

address{
	font-style:normal;
	font-size: 0.750rem;
	color:#fff;
	margin-top: 16px;
}


/* スマートフォン */
@media screen and (max-width: 480px) {

p {
	font-size: 0.875rem;
}

/*************
/* ヘッダー
*************/
#header {
	height: 50px;
}

.language {
	font-size: 0.750rem;
}

.language li {
	padding: 0 10px;
}

.language li:last-child {
	padding-right: 0;
}

.header-left, .header-right {
	margin: 0 15px;
}

.header-left {
	width: 100%;
	justify-content: space-between;
}

.header-right {
	display: none;
}

.logo img {
	width: 36px;
	height: 36px;
}

/*************
/* メインビジュアル
*************/
#top #wrapper{
	margin-top: 70vh;
}

#top #wrapper2 {
	margin-top: 40vh;
}

.mv {
	height: 70vh;
}

.mv.mv-contact {
	height: 40vh;
}

.slogan {
	padding: 0 15px;
}

.slogan h2 {
	font-size: 1.5rem;
}

.slogan p {
	font-size: 0.750rem;
}

.slogan button {
	font-size: 1rem;
	padding-left: 0;
	padding-right: 0;
	width: 200px;
}



/*************
/* コンテンツ
*************/
#business, #profile {
	width: auto;
	margin: 40px auto 0;
	padding: 0 15px;
}

#business {
	flex-wrap: wrap;
	justify-content: center;
}

.grid {
	width: 100%;
	margin-bottom: 10px;
}

#business .box {
	padding: 20px;
	width: 100%;
}

#business .box h4 {
	margin-bottom: 10px;
}

.title {
	font-size: 1rem;
	padding-bottom: 20px;
}

.table dl {
	display: block;
	padding: 12px 0;
}

.table dt {
	font-size: 0.875rem;
	padding-left: 10px;
	margin-bottom: 4px;
}

.table dd {
	width: calc(100% - 20px);
	font-size: 0.875rem;
	padding: 0 20px;
}

#contact {
	margin-top: 20px;
	padding: 40px 15px;
}

#contact .contact-btn {
	margin: 0 0 24px;
}

#contact .contact-btn a {
	width: 100%;
}

#contact .contact-btn a button {
	width: 100%;
	font-size: 1rem;
	height: 64px;
}

.info-tel {
	display: block;
	text-align: center;
}

.info-tel p, .info-tel a {
	font-size: 1rem;
}

.info-tel p:first-child {
	margin-right: 0;
}

.info-tel p:nth-child(2) {
	margin-right: 0;
}

#footer {
	padding: 40px 15px;
}

.mv.mv-contact {
	height: 40vh;
}

#tel-contact {
	padding: 0 15px;
}

#tel-contact .box {
	width: 100%;
	margin: 30px auto 20px;
}

#tel-contact .box h3 {
	font-size: 1rem;
	padding: 20px 0;
}

#tel-contact .box .info-tel {
	padding: 20px 0 24px;
}

#tel-contact .box .info-tel a {
	font-size: 1rem;
}

#form .form-box {
	width: 100%;
}

#form .form-box iframe {
	width: 100%;
	height: 938px;
}

#footer #info .info {
	font-size: 0.75rem;
}

address {
	font-size: 0.6875rem;
}

}