/*
Theme Name: Mitani Prototype
Text Domain: mitani_prototype
Version: 1.0
*/

@charset "UTF-8";

:root {
  --fbclr: #4867aa;
}
body * {
	line-height: 1.6;
}

body {
	font-family: 'Noto Sans JP', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴPro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	-webkit-text-size-adjust: 100%;
}
@media (max-width: 750px) {
	#wrapper {
		overflow: hidden;
	}
}

.header {
	background: rgba(255, 255, 255, 0.6);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 3;
	width: 100%;
}
	.header .logo {
		padding: 5px 0 10px;
		font-size: 26px;
		line-height: 1.3;
		font-weight: bold;
	}
		.header .logo span {
			font-size: 70%;
		}
	.header .area {
		background: rgba(255, 255, 255, 1.0);
		margin: 0 0 0 auto;
		padding: 5px 15px;
		font-size: 14px;
		font-weight: bold;
		text-align: center;
		/* border: solid 1px #000; */
		border-radius: 10px;
	}
	.header .tel {
		font-family: 'Fjalla One', sans-serif;
		background: url('../images/icn-tel.png') no-repeat 10px 50% rgba(0, 0, 0, 0.5);
		margin: 0 0 0 15px;
		padding: 3px 20px 0 50px;
		color: #FFF;
		font-size: 30px;
		font-weight: 400;
		/* border: solid 1px #000; */
		border-radius: 10px;
		letter-spacing: 0.1em;
	}
	.header .tel a {
		color: #FFF;
		text-decoration: none;
	}
	.header .tel a:hover{
		color: #FFF;
		text-decoration: none;
	}
	@media (max-width: 750px) {
	.header .logo {
		font-size: 22px;
		line-height: 1.0;
	}
	.header .area {
		display: none;
	}
	.header .tel {
		display: none;
	}
}

.footer {
	padding: 10px 0;
}
	.footer p {
		margin: 0;
		color: #FFF;
	}

.mainvisual {
	position: relative;
	z-index: 1;
}
	.mainvisual_bg {
		position: relative;
		z-index: 2;
	}
		.mainvisual_bg ul {
			margin: 0;
			padding: 0;
			list-style-type: none;
		}
			.mainvisual_bg li {
				background: no-repeat 50% 50%;
				background-size: cover;
				height: 750px;
			}
				.mainvisual_bg .bx-wrapper {
					background: transparent;
					border: 0;
					left: 0;
					margin: 0;
					box-shadow: none; }
	.mainvisual_cont {
		position: absolute;
		top: 230px;
		left: 0;
		width: 100%;
	}
		.mainvisual h1 {
			/* padding: 150px 0 0; */
			color: #FFF;
			font-size: 50px;
			font-weight: bold;
/* 			text-shadow: 0px 0px 15px rgba(0,0,0,1.0), 0px 0px 15px rgba(0,0,0,1.0); */
			text-shadow: 0px 0px 15px rgba(0,0,0,1.0);
		}
			.mainvisual h1 span {
				font-size: 50%;
			}
		.mainvisual .border {
			background: rgba(255, 255, 255, 0.7);
			margin: 100px 0 0;
			padding: 30px 30px 10px 10px;
		}
			.mainvisual .border ul li {
				line-height: 2.0;
				font-weight: bold;
			}
@media (max-width: 750px) {
	.mainvisual_cont {
		top: 25%;
	}
		.mainvisual h1 {
			font-size: 28px;
		}
			.mainvisual h1 span {
				font-size: 60%;
			}
		.mainvisual .border {
			margin: 35% 0 0;
			padding: 25px 20px 10px 5px;
		}
}

.fadeIn {
	opacity: 0;
	transition: 1.0s;
}

.card {
	height: 100%;
}

.bg-primary {
	background: #fff !important;
}
.bg-secondary {
	background: var(--fbclr) !important;
}

.example > .mb-5,
.feature > .mb-5,
.member > .mb-5,
.warranty > .mb-5,
.voice > .mb-5,
.estimates > .mb-5,
.step > .mb-5,
.faq > .mb-5,
.contact > .mb-5 {
	margin-bottom: 90px !important;
}
@media (max-width: 750px) {
	.example > .mb-5,
	.feature > .mb-5,
	.member > .mb-5,
	.warranty > .mb-5,
	.voice > .mb-5,
	.estimates > .mb-5,
	.step > .mb-5,
	.faq > .mb-5,
	.contact > .mb-5 {
		margin-bottom: 50px !important;
	}
}

.example,
.feature,
.member,
.warranty,
.voice,
.estimates,
.step,
.faq,
.contact {
	/* margin-bottom: 150px !important; */
	padding: 150px 0;
}
@media (max-width: 750px) {
	.example,
	.feature,
	.member,
	.warranty,
	.voice,
	.estimates,
	.step,
	.faq,
	.contact {
		padding: 80px 15px;
	}
}

.example h1,
.feature h1,
.member h1,
.warranty h1,
.voice h1,
.estimates h1,
.step h1,
.faq h1,
.contact h1 {
	color: var(--fbclr);
	font-size: 50px;
	font-weight: bold;
	/* border: double 10px #000; */
}
.example h1 + .sub,
.feature h1 + .sub,
.member h1 + .sub,
.warranty h1 + .sub,
.voice h1 + .sub,
.estimates h1 + .sub,
.step h1 + .sub,
.faq h1 + .sub,
.contact h1 + .sub {
	font-family: 'Spartan', sans-serif;
	color: #DBD800;
	font-size: 16px;
	font-weight: bold;
	/* text-transform: uppercase; */
}
.bg-secondary h1,
.bg-secondary h1 + .sub {
	color: #FFF;
}
@media (max-width: 750px) {
	.example h1,
	.feature h1,
	.member h1,
	.warranty h1,
	.voice h1,
	.estimates h1,
	.step h1,
	.faq h1,
	.contact h1 {
		font-size: 28px;
	}
}

.balloon {
	position: relative;
	background: #ffffff;
	display: inline-block;
	margin: 0 0 40px;
	padding: 10px 25px;
	font-weight: bold;
	border: solid 1px var(--fbclr);
	border-radius: 5px;
}
.balloon:after, .balloon:before {
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: "";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}
.balloon:after {
	border-color: rgba(255, 255, 255, 0);
	border-top-color: #ffffff;
	border-width: 10px;
	margin-left: -10px;
}
.balloon:before {
	border-color: rgba(0, 0, 0, 0);
	border-top-color: var(--fbclr);
	border-width: 11px;
	margin-left: -11px;
}
@media (max-width: 750px) {
	.balloon {
		margin: 0 0 30px;
		padding: 10px 15px;
	}
}

.example_list .row:nth-child(odd) {
	flex-direction: row;
}
.example_list .row:nth-child(even) {
	flex-direction: row-reverse;
}
.example_list p {
	line-height: 2.0;
}

.feature .col-md-4 {
	margin-bottom: 30px !important;
}

.member h1 span {
	font-size: 70%;
}
.member h3 span {
	display: inline-block;
	margin: 0 0 20px;
	font-size: 45px;
}

.warranty .arw {
	background: #FFF;
	display: inline-block;
	position: relative;
	margin: 0 0 40px;
	padding: 15px 10px 0;
	font-size: 22px;
	font-weight: bold;
}
.warranty .arw:after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	width: 0;
	height: 0;
	margin-left: -80px;
	border: solid transparent;
	border-color: rgba(0, 0, 0, 0);
	border-top-color: #FFF;
	border-width: 25px 80px;
	pointer-events: none;
}
.warranty h1 {
	/* background: #F6F6FA; */
	width: 70%;
	margin: 0 auto;
	padding: 30px 0;
	/* color: #000; */
	color: #FFF;
	border: solid 2px #FFF;
	border-radius: 50%;
}
.warranty .text {
	font-size: 18px;
	line-height: 2;
}
.warranty .border {
	background: #F6F6FA;
}
	.warranty .border .border {
		background: #FFF;
	}
.warranty ul {
	margin: 0;
	padding: 0 0 0 25px;
	list-style-type: none;
}
	.warranty ul li {
		padding: 0 0 0 30px;
		line-height: 2;
	}
	.warranty .check ul li {
		background: url("../images/icn-check.png") no-repeat 0 10px;
	}
	.warranty .batsu ul li {
		background: url("../images/icn-batsu.png") no-repeat 0 8px;
	}
@media (max-width: 750px) {
	.warranty h1 {
		width: auto;
	}
	.warranty .border {
		padding: 40px 15px !important;
	}
		.warranty .border .border {
			padding: 40px 15px !important;
		}
	.warranty ul {
		padding: 0 0 0 15px;
	}
}

.step .col-md-3 {
	margin-bottom: 30px !important;
}

.estimates .border {
	background: #F6F6FA;
	font-weight: bold;
}
	.estimates .text02 {
		font-size: 35px;
	}
	.estimates .btn01 .btn {
		padding: 15px 35px;
		font-size: 24px;
		border-radius: 10px;
	}
@media (max-width: 750px) {
	.estimates .border {
		padding: 30px 20px !important;
	}
		.estimates .text02 {
			font-size: 22px;
		}
		.estimates .btn01 .btn {
			padding: 15px;
		}
}

.faq .border {
	background: #FFF;
	border-radius: 10px;
}
	.faq .faq_q,
	.faq .faq_a {
		margin-left: 1em;
		padding: 0 5px;
		text-indent: -1.0em;
	}
@media (max-width: 750px) {
	.faq .border {
		padding: 24px 20px 4px !important;
	}
}

.contact .border {
	background: #F6F6FA;
	font-weight: bold;
}
	.contact .text02 {
		font-size: 35px;
	}
	.contact .text03 {}
	.contact .tel {
		font-size: 50px;
		font-weight: 600;
	}
		.contact .tel span {
			font-family: 'Fjalla One', sans-serif;
			letter-spacing: 0.1em;
		}
		.contact .tel a {
			color: #212529;
			text-decoration: none;
		}
		.contact .tel a:hover{
			color: #212529;
			text-decoration: none;
		}
	.contact .btn01 {
		margin: 30px 0 0;
	}
		.contact .btn01 .btn {
			padding: 15px 35px;
			font-size: 24px;
			border-radius: 10px;
		}
@media (max-width: 750px) {
	.contact .border {
		padding: 30px 20px !important;
	}
		.contact .text02 {
			font-size: 22px;
		}
		.contact .tel {
			font-size: 30px;
		}
}

.contact .form {
	width: 80%;
	margin: 50px auto 0;
}
	.contact .form table {
		background: #FFF;
		text-align: left;
	}
		.contact .form table th {
			width: 30%;
		}
			.contact .form table th span {
				display: inline-block;
				padding: 0 0 0 10px;
				color: #F00;
			}
		.contact .form table td {
			font-weight: normal;
		}
		.contact .form table input,
		.contact .form table textarea {
			width: 100%;
			border: solid 1px rgb(220, 215, 202);
		}
	.contact .form_btn {
		margin: 30px 0 0;
	}
		.contact .form_btn .btn {
			padding: 10px 35px;
			font-size: 24px;
			border-radius: 10px;
		}
	.contact .form_btnBack {
		text-align: left;
	}
	.contact .map-container {
		position: relative;
		width: 100%;
		padding-bottom: 35%;
		height: 0;
		overflow: hidden;
	}
	.contact .map-container iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border: 0;
	}
	.contact .text04 {
		display: none;
	}

@media (max-width: 750px) {
	.contact .map-container {
		position: relative;
		width: 100%;
		padding-bottom: 100%;
		height: 0;
		overflow: hidden;
	}
	.contact .text04 {
		display: block;
		margin-top: 0.5rem;
	}
}
.btn-primary {
	color: #fff;
	background-color: #007bff !important;
	border-color: #007bff;
}
.btn-secondary {
	color: #fff;
	background-color: #6c757d !important;
	border-color: #6c757d;
}
@media (max-width: 750px) {
		.contact .text03 {
			text-align: left;
			font-weight: normal;
		}
			.contact .text03 br {
				display: none;
			}
	.contact .form {
		width: auto;
		margin: 30px auto 0;
	}
			.contact .form table th,
			.contact .form table td {
				display: block;
				width: 100%;
			}
}
#hamburger {
	position: fixed;
	top: 1rem;
	right: 1rem;
	z-index: 1050; /* Bootstrapのモーダルより上に */
}
@media (max-width: 750px) {
#hamburger {
	top: 0.5rem;
	right: 0.5rem;
}
}
/* メニューを少し装飾 */
.dropdown-menu {
	min-width: 200px;
}
