/* **************************************************************************************************
 0px 〜
************************************************************************************************** */
* {
	box-sizing: border-box;
}

html {
	min-height: 100%;
	width: 100%;
}

body {
	overflow-x: hidden;
	min-height: 100%;
	font-size: 4.0vw;
	line-height: 1.6;
	letter-spacing: 0.12em;
	-webkit-text-size-adjust: none;
	font-feature-settings : "palt";
	font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, sans-serif;
	width: 100%;
	color: #010205;
	background-color: #fff;
	display: none;	/* フェードイン */
}

img {
	max-width: 100%;
	vertical-align: top;
	display: block;
	height: auto;
}

a {
	position: relative;
	display: inline-block;
	text-decoration: underline;
	color: #010205;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

a:hover {
	opacity: 0.7 !important;
	/*color: #e71616;*/
}

a:focus {
	outline: none;
}

a img {
	display: inline;
}

ul li {
	list-style: none;
}


/* //////////////////////////////////////////////////////////////////
view
////////////////////////////////////////////////////////////////// */
.view_sp {
	display: block;
}

.view_pc {
	display: none;
}

/* //////////////////////////////////////////////////////////////////
wrap
////////////////////////////////////////////////////////////////// */
#wrap {
	width: 100%;
	position: relative;
	overflow: hidden;
}


/* //////////////////////////////////////////////////////////////////
header
////////////////////////////////////////////////////////////////// */
header {
	width: 100%;
	background-color: #fff;
}

header .inner {
	margin: 0 auto;
	width: 92vw;
}

header .inner_full {
	width: 100%;
	margin: 0 auto;
}

header section {
	width: 100%;
}

header.fixed {
	position: fixed;
	z-index: 1000;
	top: 0;
	left: 0;
	width: 100%;
}

/* --------------------
 header_01
-------------------- */
header .header_01 {
	border-bottom: 1px solid #e0e0e0;
	padding: 2vw 0;
}

header.fixed .header_01 {
	display: none;
}

header .header_01 ul {
	display: -webkit-flex;
	display: flex;
	width: 100%;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

header .header_01 ul .logo {
	width: 35vw;
}

header .header_01 ul .tel {
	width: 50vw;
}

header .header_01 ul .tel .note {
	margin-left: 9vw;
	font-size: 3.6vw;
}

/* --------------------
 header_02
-------------------- */
header .header_02 {
	border-bottom: 1px solid #e0e0e0;
}

header .header_02 .sp_menu {
	/*text-align: center;*/
	padding: 4vw 0;
	background-color: #fff;
}

header .header_02 .sp_menu ul {
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: bold;
}

header .header_02 .sp_menu ul .icon {
	width: 8vw;
	margin-left: 4vw;
}

header .header_02 .sp_menu ul .icon .icon_menu {
	display: block;
}

header .header_02 .sp_menu ul .icon .icon_menu_close {
	display: none;
}

header .header_02 .sp_menu.opened {
	background-color: #f7f7f7;
}

header .header_02 .sp_menu.opened ul .icon .icon_menu {
	display: none;
}

header .header_02 .sp_menu.opened ul .icon .icon_menu_close {
	display: block;
}

header .header_02 ul.nav {
	display: none;
	width: 100%;
}

header .header_02 ul.nav li {
	width: 100%;
	border-top: 1px dotted #e0e0e0;
}

header .header_02 ul.nav li:last-child {
}

header .header_02 ul.nav li a {
	text-decoration: none;
	font-size: 4vw;
	font-weight: bold;
	padding: 4vw;
	text-align: center;
	width: 100%;
}

header .header_02 ul.nav li.active a {
	color: #fff;
	background-color: #043981;
	pointer-events: none;
}

/* //////////////////////////////////////////////////////////////////
content
////////////////////////////////////////////////////////////////// */
#content {
	width: 100%;
}

#content .inner {
	margin: 0 auto;
	width: 92vw;
}

#content .inner_narrow {
	margin: 0 auto;
	width: 92vw;
}

#content .inner_full {
	width: 100%;
	margin: 0 auto;
}

#content section {
	width: 100%;
}

#content .head_01 {
}

#content .head_01 p {
	color: #043981;
	font-size: 5.4vw;
	font-weight: bold;
	text-align: center;
}

#content .head_01 .line {
	display: block;
	border-top: 1px solid #043981;
	width: 15vw;
	margin: 8vw auto 0;
}

/* --------------------
 kv
-------------------- */
#content .kv {
	position: relative;
}

#content .kv .slider {
	position: relative;
}

#content .kv .slider li {
}

#content .kv .slider li img {
	width: 100%;
	height: 60vw;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}

#content .kv .slider .slick-dots {
	bottom: -10vw !important;
}

#content .kv .slider .slick-dots li {
	width: 20vw;
	height: 0.6vw;
}

#content .kv .slider .slick-dots li.slick-active button:before,
#content .kv .slider .slick-dots li button:before {
	content: '';
	width: 20vw;
	height: 0.6vw;
	background-color: #043981;
	opacity: 1.0 !important;
}

#content .kv .slider .slick-dots li button:before {
	background-color: #e0e0e0;
}

#content .kv .catch {
	position: absolute;
	top: 0;
}

#content .kv .catch img {
	width: 163vw;
	max-width: none;
	margin-top: -2vw;
	margin-left: -15vw;
}

/* --------------------
 copy
-------------------- */
#content .copy {
	margin-top: 20vw;
}

#content .copy .text {
	font-size: 5.4vw;
	font-weight: bold;
	text-align: center;
	margin-top: 10vw;
}

/* --------------------
 btns
-------------------- */
#content .btns {
	margin-top: 15vw;
	background-image: url(../img/bg_concrete.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	padding: 5vw 0;
}

#content .btns ul {
}

#content .btns ul li {
}

/* --------------------
 contact
-------------------- */
#content .contact {
	padding: 15vw 0;
}


body.sub #content .contact {
	border-top: 1px solid #e0e0e0;
}

#content .contact img {
	margin: 0 auto;
}

#content .contact .head_contact {
	margin: 0 auto;
}

#content .contact .tel_fax {
	margin: 10vw auto 0;
	width: 70vw;
}

/* --------------------
 map
-------------------- */
#content .map {
}

#content .map .gmap {
}

#content .map .gmap iframe {
	height: 100vw !important;
}

/* --------------------
 page_title
-------------------- */
#content .page_title {
	background-image: url(../img/bg_concrete.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	padding: 14vw 0;
	font-weight: bold;
	font-size: 5vw;
	text-align: center;
}

/* --------------------
 works_list
-------------------- */
#content .works_list {
	margin-top: 15vw;
	margin-bottom: 15vw;
}

#content .works_list ul {
}

#content .works_list ul li {
	width: 100%;
	margin-bottom: 15vw;
}

#content .works_list ul li p {
	border-left: 3px solid #043981;
	padding: 1vw 0 1vw 4vw;
	font-weight: bold;
	font-size: 4.5vw;
	margin-top: 5vw;
}

/* --------------------
 qa_list
-------------------- */
#content .qa_list {
	margin-top: 15vw;
	margin-bottom: 15vw;
}

#content .qa_list ul {
}

#content .qa_list ul:not(:first-of-type) {
	margin-top: 5vw;
}

#content .qa_list ul li {
}

#content .qa_list ul li p {
	padding-left: 1.6em;
	text-indent: -1.6em;
}

#content .qa_list ul .q {
	background-color: #f7f7f7;
	font-weight: bold;
	padding: 3vw 5vw;
	font-size: 4vw;
}

#content .qa_list ul .q span {
	color: #043981;
	font-weight: bold;
	font-size: 4vw;
	margin-right: 0.3em;
}

#content .qa_list ul .a {
	padding: 3vw 5vw;
	font-size: 3.5vw;
}

#content .qa_list ul .a span {
	color: #e05a2b;
	font-weight: bold;
	font-size: 4vw;
	margin-right: 0.3em;
}

/* --------------------
 about_table
-------------------- */
#content .about_table {
	margin-top: 15vw;
	margin-bottom: 15vw;
}

#content .about_table ul {
	width: 100%;
}

#content .about_table ul li {
	padding: 3vw 5vw;
	display: -webkit-flex;
	display: flex;
	width: 100%;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

#content .about_table ul li:nth-child(odd) {
	background-color: #f7f7f7;
}

#content .about_table ul li p {
	font-size: 4.0vw;
	width: 70%;
}

#content .about_table ul li p:first-child {
	font-weight: bold;
	width: 20%;
}

#content .about_table ul li p a[href^="tel:"] {
	text-decoration: none;
}

/* //////////////////////////////////////////////////////////////////
footer
////////////////////////////////////////////////////////////////// */
footer {
}

footer a {
	text-decoration: none;
}

footer .inner {
	margin: 0 auto;
	width: 92vw;
}

footer .inner_full {
	width: 100%;
	margin: 0 auto;
}

footer section {
	width: 100%;
}

/* --------------------
 footer_01
-------------------- */
footer .footer_01 {
}

footer .footer_01 .footer_nav {
	padding: 15vw 0 0;
	text-align: center;
	border-bottom: 1px solid #e0e0e0;
	font-size: 4.0vw;
}

footer .footer_01 .footer_nav a {
	padding: 4vw;
	width: 100%;
	border-top: 1px solid #e0e0e0;
}

/* --------------------
 footer_02
-------------------- */
footer .footer_02 {
	padding: 15vw 0;
}

footer .footer_02 ul {
}

footer .footer_02 ul .address {
	text-align: center;
}

footer .footer_02 ul .address .strong {
	color: #043981;
	font-size: 5.0vw;
	font-weight: bold;
}

footer .footer_02 ul .logo_footer {
	width: 40vw;
	margin: 10vw auto 0;
}

footer .footer_02 ul .logo_footer img {
}

/* --------------------
 footer_03
-------------------- */
footer .footer_03 {
	background-color: #043981;
	color: #fff;
	font-size: 3.4vw;
	padding: 8vw 0;
}

footer .footer_03 a {
	color: #fff;
}

footer .footer_03 ul {
}


