/*#acc0c5@charset "utf-8";*/

/* *****共通設定***** */
body { font-family: 'Noto Sans JP', sans-serif; }
html { scroll-behavior: smooth; }

.pc { display: block !important; }
.sp { display: none !important; }

img {
	width: 100%;
	display: block;
	margin: 0 auto;
}

a img:hover {
	opacity:0.8;
}

main {
	display: block;
	background-color: #FFF;
}
main .main_kv {
	width: 100%;
}
main .btn {
	padding-left: 2.5rem;
	padding-right: 2.5rem;
	font-size: 1.5rem;
}

h1 { font-size: 4.5rem; }
h2, h3 { color: #221815; }
.gray { color: #6C757D; }
.txt_center { text-align: center; }
.card { border-color: #000; }
.img-thumbnail {
	width: 100%;
	padding: .25rem;
	background-color: transparent;
	border: none;
}

.color_red { color: #E43118; }

.marker { background: linear-gradient(transparent 50%, #FFFF00 50%); }

/*-- ボタンの位置 --*/
.cv_btn { position: relative; }

/* Google-FONT */
/*
@font-face {
	font-family: 'ZenKakuGothicNew';
	src: url('font/ZenKakuGothicNew-Medium.ttf') format('ttf');
}
*/

/* -----------------------------------------------------------
	#header / ヘッダー
----------------------------------------------------------- */
#header img {
	width: 100%;
	position: relative;
}
.cv_btn {
	position: relative;
}

#tel-btn_summary {
	padding: 0;
}
#tel-btn_summary .tel_btn_area {
	position: absolute;
	width: 414px;
	right: 276px;
	bottom: 8px;
}

/* フッター */
#footer {
	width: 100%;
	background-color: #008de1;
	margin-top: 0;
	padding: 10px;
}
#footer .container {
	color: #ACC0C5;
}
#footer .footer-ttl {
	font-size: 1rem;
	font-weight: bold;
	margin: 1.5rem 0;
	color: #FFFFFF;
}
#footer address p,
#footer #footer-news li {
	margin-bottom: 0.5rem;
}
#footer #footer-news ul {
	margin: 0;
	padding: 0;
}
#footer #footer-news ul {
	list-style: none;
}
#footer #footer-news li span {
	display: inline-block;
	margin-right: 0.5rem;
}
#footer-logo {
	margin-bottom: 0;
}
#footer img {
	width: 200px;
	padding: 12px 0 10px;
}

#footer_inner #ft-menu {
	padding-top: 20px;
}
#footer_inner #ft-menu ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
}
#footer_inner #ft-menu ul li {
	float: left;
	display: inline;
	padding: 0 12px;
	text-align: center;
}
#footer_inner #ft-menu ul li a {
	font-size: 14px;
	color: #000;
	text-decoration: none;
}
#footer_inner #ft-menu ul li a:hover {
	color: #D7402B;
}
#footer_inner p {
	font-size: 12px;
	color: #FFF;
	text-align: center;
	margin-top: 0;
	margin-bottom: 0;
}

#sub-menu {
	font-size: 12px;
	text-align: center;
	background-color: #FFF;
}

#sub-menu p {
	padding: 4px 0;
	margin-bottom: 0;
}


/* *****トップページ***** */
/* メイン画像 */
h1{
	font-weight: bold !important;
	color: #c11726;
}

#page-top {
	width: 100%; /*750px*/
	margin: 0 auto;
	background: #FFF;
}

#page-top h1 + span {
	font-size: 3rem;
	font-weight: bold;
	color: #ffffff;
	line-height: 110%;
	margin-top: 0.2rem;
	display: block;
}
#page-top .jumbotron-fluid {
	height: 640px;
	background-color: #f1efff;
	border-bottom: #dddddd;
	background: url("../img/top-main.png") no-repeat center center;
	background-size:cover;
}
#page-top .jumbotron-fluid .container {
    height: 100%;
}
#page-top .jumbotron-fluid .btn {
	padding-left: 3rem;
	padding-right: 3rem;
	margin-top: 1.5rem;
	font-weight: bold;
	border-width: 3px;
	border-color: #fff;
}

/* 各セクション */
#page-top section {
	padding: 2.2rem 0 1.5rem;
}
#page-top section:nth-child(odd) {
	background-color: #efefef;
}
#page-top section .container > h2 {
	margin-bottom: 15px;
	font-size: 2.0rem;
}
#page-top section .container > h2 > span {
	display: block;
	font-size: 15px;
	/*font-weight: bold;*/
	padding-top: 5px;
}
#page-top section .container > h2 + p {
	max-width: 700px;
	margin: 0 auto 50px;
}

/*==========
コンテンツ要素
==========*/
#sec01 { padding: 0; }
#sec01 .cv_btn_area {
	position: absolute;
	right: 90px;
	bottom: 33px;
	width: 570px;
}

#sec02 {
	display: flex;
	flex-wrap: wrap;
  gap: 0; /*20px*/
	line-height: 180%;
}
#sec02 .cv-area {
	width: 50%;
	/*
	background-color: #e0e0e0;
	padding: 15px;
	border: 1px solid #ccc;
	*/
	/*flex: 1;*/ /* 均等に並べたい場合は追加 */
}
#sec02 .cv_btn_area {
	position: absolute;
	/*left: 532px;*/
	right: 53.5%;
	bottom: 8px;
	width: 17%; /*320px*//*325px*/
}
#sec02 .cv_btn_area-B {
	position: absolute;
	/*right: 544px;*/ /*25px*/
	left: 53.5%;
	bottom: 8px; /*0px*/
	width: 17%; /*320px*//*325px*/
}

#sec03 {
	display: flex;
	flex-wrap: wrap;
  gap: 0;
}
#sec03 .cv-area {
	width: 50%;
}
#sec03 .cv_btn_area {
	position: absolute;
	right: 53.5%;
	bottom: 8px;
	width: 17%;
}
#sec03 .cv_btn_area-B {
	position: absolute;
	left: 53.5%;
	bottom: 8px;
	width: 17%;
}

#sec04 {
	display: flex;
	flex-wrap: wrap;
  gap: 0;
}
#sec04 .cv-area {
	width: 50%;
}
#sec04 .cv_btn_area {
	position: absolute;
	right: 53.5%;
	bottom: 8px;
	width: 17%;
}
#sec04 .cv_btn_area-B {
	position: absolute;
	left: 53.5%;
	bottom: 8px;
	width: 17%;
}

#sec05 {
	display: flex;
	flex-wrap: wrap;
  gap: 0;
}
#sec05 .cv-area {
	width: 50%;
}
#sec05 .cv_btn_area {
	position: absolute;
	right: 53.5%;
	bottom: 8px;
	width: 17%;
}
#sec05 .cv_btn_area-B {
	position: absolute;
	left: 53.5%;
	bottom: 8px;
	width: 17%;
}

#sec06 {
	display: flex;
	flex-wrap: wrap;
  gap: 0;
}
#sec06 .cv-area {
	width: 50%;
}
#sec06 .cv_btn_area {
	position: absolute;
	right: 53.5%;
	bottom: 8px;
	width: 17%;
}
#sec06 .cv_btn_area-B {
	position: absolute;
	left: 53.5%;
	bottom: 8px;
	width: 17%;
}

#news {
    background: #c11726;
    max-width: 100%;
}
#news .col-lg-10 {
    overflow: hidden;
    color: #fff;
}
#news .col-lg-10 p {
    float: left;
    margin: 5px 0;
}
#news .col-lg-10 ul {
    float: left;
    list-style-type: none;
    margin: 5px 0;
}
.tbl-r02 {
    margin: 0 auto;
    width: 98%;
}
.tbl-r02 th {
    background: #c11726;
    border-bottom: solid 1px #fff!important;
    border-right: solid 1px #fff!important;
    color: #fff;
    padding: 6px 10px;
}
.tbl-r02 td {
	padding: 6px 10px;
	background: #fff;
	border-bottom: solid 1px #ccc!important;
	border-right: 0!important;
}
.tbl-r02 tr:last-child th,
.tbl-r02 tr:last-child td {
	border-bottom: 0px!important;
}

/* *****サンクス要素***** */
.thanks-ttl {
	font-size: 22px;
	padding: 0 20px;
}
.thanks-txt {
	font-size: 16px;
	padding: 0 20px;
}

#sec4 .card-body .clearfix p,
#sec4 .card-body .clearfix h3{
	margin-left: 115px;
	line-height: 130%;
}
#sec4 .card-body .card-title{
	margin-bottom: 5px;
	color: #c11726;
}
#sec4 .card-body .card-subtitle{
	font-size: 0.9rem;
	margin-bottom: 5px;
	color: #968075;
}
#sec4 img {
	width: 100%;
}
#sec4 .btn {
	width: 100%;
	background-color: #c11726;
	border: none;
	padding: 1rem 0;
}

#sec5 article > .row {
	border: 1px solid #dddddd;
}
#sec5 > div:nth-child(1) img {
	width: 100%;
}
#sec5 h3{
	margin-bottom: 0.1rem;
}
#sec5 article > div div header {
	padding: 10px;
}

/* *****下層ページ***** */

#breadcrumb-wrapper{
	border-bottom: 1px solid #a29080;
}
#breadcrumb-wrapper,
.breadcrumb {
	font-size: 0.9rem;
	background-color: #563322;
}
.breadcrumb a {
	color: rgba(255,255,255,.5);
}
.breadcrumb a:hover,
.breadcrumb a:focus {
	color: rgba(255,255,255,1);
}
.breadcrumb-item+.breadcrumb-item::before {
	content: ">";
	padding-right: 1rem;
	color: rgba(255,255,255,.5);
}
.breadcrumb-item.active {
	color: #ffffff;
}
h1.page-ttl {
	font-size: 2rem;
}
#page h1 + span {
	font-size: 1.5rem;
	font-weight: bold;
	color: #ffffff;
	line-height: 110%;
	margin-top: 0.2rem;
	display: block;
}

#page article {
	padding: 5rem 0;
}

#page section {
	padding-bottom: 5rem;
}
#page section:last-child {
	padding-bottom: 0rem;
}

#page h1 + small {
	font-size: 1.5rem;
	color: #ffffff;
	line-height: 110%;
	margin-top: 0.2rem;
}
#page .jumbotron{
	background-color: #f1efff;
	border-bottom: #dddddd;
	background: url("../img/top-main.jpg") no-repeat center center;
	background-size:cover;
	border-radius: initial;
}
#page .jumbotron .container{
	padding: 0;
}
#page .jumbotron .container p{
	margin-bottom: 0;
}
#page h2 + p{
	margin: 0 0 1.2rem;
}
#page main img{
	max-width: 100%;
}
#page .sample-title{
	display: flex;
	align-items: center;
	text-align: center;
}

#page .sample-title::after {
	border-top: 3px dotted;
	content: "";
	display: inline; /* for IE */
	flex-grow: 1;
	margin-left: 0.5em;
}
#page .sample-title span{
	background-color: #fbfbf2;
}
#page .sample-subtitle{
	font-size: 1.5rem;
	font-weight: bold;
	color: #c11726;
}

/* *****問合せボタン***** */
.arrow_btn {
	display: inline-block;
	position: relative;
	width: 50%; /*80%*/
	font-weight: bold;
	padding:15px 0.8em;
	text-align: center;
	font-size: 1.2rem;
	text-decoration: none;
	color: #ffffff;
	background: #c11726;
	border-radius: 30px;
	margin: 0 auto;
	transition: transform ease .3s;
}
.arrow_btn:hover {
	 cursor: pointer;
	 text-decoration: none;
	 color: #fff;
}
.arrow_btn span {
	display: inline-block;
	text-decoration: none;
	transition: transform ease .3s;
}
.arrow_btn:hover span{
	cursor: pointer;
	text-decoration: none;
	transform: translateX(6px);
}

/* *****フォーム***** */
.form1 label {
	font-weight: bold;
	font-size: 0.9rem;
	margin-bottom: 1rem;
}
.form1 input,
.form1 textarea,
.form1 select {
	max-width: 768px;
}
.form1 .form-group {
	margin-bottom: 2rem;
}

/* *****お問合せフォーム***** */
#inquiries {
	max-width: 880px; /*780px*/
	margin: 30px auto; /*30px 0 10px*/
	/*padding: 0 0;*/
}
#inquiries h2 {
	font-size: 26px;
	font-weight: bold;
	text-align: center;
}
#inquiries p {
	font-size: 14px;
	line-height: 1.4;
	letter-spacing: .05em;
	text-align: center;
}
.mfp .scrollY {
	height: 80px;
	overflow-y: scroll;
	border: 1px solid #CCC;
	background-color: #FFF;
	padding: 3px;
}



@media screen and (max-width: 768px) {
	#header_inner .menu {
		text-align: right; /*right*/
	}
	#header_inner #gNav {
		list-style: none;
		display: inline-block;
		margin-bottom: 30px;
	}
	
	/* ----------------------- */
  /* base_sp
  /* ----------------------- */
	/* デフォルトのbuttonスタイルをリセット */
	button {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		background: transparent;
		border: 0;
		border-radius: 0;
		color: inherit;
		cursor: pointer;
		font: inherit;
		margin: 0;
		outline: none;
		padding: 0;
		vertical-align: middle;
	}
	/* ------------------ */
  /* humberger-menu */
  /* ------------------ */
	#gNav .burger-btn {
		display: block;      
		width: 40px;
		height: 40px;
		position: relative;
		z-index: 3;
		border: none;
		outline: none;
	}
	#gNav .bar {      
		width: 20px;
		height: 2px;
		display: block;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		background-color: #000;
	}
	#gNav .bar_top {
		top: 10px;
	}
	#gNav .bar_mid {
		top: 50%;
		transform: translate(-50%,-50%);
	}
	#gNav .bar_bottom {
		bottom: 10px;
	}
	/*3本線が☓印になるCSS*/
	#gNav .burger-btn.close .bar_top {
		transform: translate(-50%,10px) rotate(45deg);
		transition: transform .3s;
	}
	#gNav .burger-btn.close .bar_mid {
		opacity: 0;
		transition: opacity .3s;
	}
	#gNav .burger-btn.close .bar_bottom {
		transform: translate(-50%,-8px) rotate(-45deg);
		transition: transform .3s;
	}
	
  /* スクロール制御 */
  .noscroll{
    overflow: hidden;
  }
	
	#gNav .burger-btn.close .bar_top {
		transform: translate(-50%,10px) rotate(45deg);
		transition: transform .3s;
	}
	#gNav .burger-btn.close .bar_mid {
		opacity: 0;
		transition: opacity .3s;
	}
	#gNav .burger-btn.close .bar_bottom{
		transform: translate(-50%,-8px) rotate(-45deg);
		transition: transform .3s;
	}
	/* 以下、ハンバーガーメニュー */
	#gNav .nav-wrapper {
		visibility: hidden; 
		opacity: 0; 
		width: 100vw;
		height: 100vh;
		position: fixed;
		top: 0;
		left: 0;
		transition: opacity .5s;
		z-index: 2;/*キービジュアルと.btn_triggerとの重なりの前後関係を調整*/
	}
	#gNav .header-nav {
		width: 100%;
		height: 100%;
		background-color: #FFF;
		z-index: 2;
	}
	#gNav .header-nav p {
		position: absolute;
    bottom: 0;
		width: 100%;
		padding: 10px 0;
		background-color: #D4D4D4;
		text-align: center;
	}
	#gNav .nav-list {
		display: block;
		position: absolute;
		top: 37.5%; /*50%*/
		left: 37%; /*50%*/
		transform: translate(-38%,-50%);
		text-align: center;
	}
	#gNav .nav-item {
		margin-right: 0;
		margin-bottom: 20px;
	}
	#gNav .nav-item img {
		margin-right: 0;
		padding-bottom: 20px;
		border-bottom: 1px solid #333;
	}
	#gNav .nav-item a {
		font-size: 18px;
		color: #000;
		text-decoration: none;
	}
	#gNav .nav-item a span {
		font-size: 15px;
		color: #666;
		text-decoration: none;
		vertical-align: text-bottom;
	}
	/* メニューオープン時 */
	#gNav .nav-wrapper.fade {
		visibility: visible;
		opacity: 1;
	}
	
	#sec02 {
		flex-direction: column;
	}
	#sec02 .cv_btn_area {
		position: absolute;
		right: 53.5%;
		bottom: 8px;
		width: 17%; /*320px*/
	}
	#sec02 .cv_btn_area-B {
		position: absolute;
		left: 53.5%;
		bottom: 8px;
		width: 17%; /*320px*/
	}
	
	#sec03 {
		flex-direction: column;
	}
	#sec03 .cv_btn_area {
		position: absolute;
		right: 53.5%;
		bottom: 8px;
		width: 17%; /*320px*/
	}
	#sec03 .cv_btn_area-B {
		position: absolute;
		left: 53.5%;
		bottom: 8px;
		width: 17%; /*320px*/
	}
	
	#sec04 {
		flex-direction: column;
	}
	#sec04 .cv_btn_area {
		position: absolute;
		right: 53.5%;
		bottom: 8px;
		width: 17%; /*320px*/
	}
	#sec04 .cv_btn_area-B {
		position: absolute;
		left: 53.5%;
		bottom: 8px;
		width: 17%; /*320px*/
	}
	
	#sec05 {
		flex-direction: column;
	}
	#sec05 .cv_btn_area {
		position: absolute;
		right: 53.5%;
		bottom: 8px;
		width: 17%; /*320px*/
	}
	#sec05 .cv_btn_area-B {
		position: absolute;
		left: 53.5%;
		bottom: 8px;
		width: 17%; /*320px*/
	}
	#sec06 {
		flex-direction: column;
	}
	#sec06 .cv_btn_area {
		position: absolute;
		right: 53.5%;
		bottom: 8px;
		width: 17%; /*320px*/
	}
	#sec06 .cv_btn_area-B {
		position: absolute;
		left: 53.5%;
		bottom: 8px;
		width: 17%; /*320px*/
	}
}



@media screen and (max-width: 750px) { 
	.pc {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
	#page-top {
		width: 100%;
		margin: 0 auto;
		background: #FFF;
	}
	
	#tel-btn_summary-sp {
		padding: 0;
	}
	#tel-btn_summary-sp .tel_btn_area-sp {
		position: absolute;
		width: 36%; /*33.5%*/
		right: 1%; /*2%*/
		bottom: -5px;
	}
}



@media screen and (max-width: 640px) {
	#page-top {
		width: 100%;
		margin: 0 auto;
		background: #FFF;
	}
	
	/* *****メール・電話での御依頼御見積依頼はコチラ***** */
	#sec02 .cv_btn_area {
		position: absolute;
		bottom: 0%;
		left: 3.2%;
		width: 43.5%;
	}
	#sec02 .cv_btn_area-B {
		position: absolute;
		bottom: 0%;
		right: 3.2%;
		width: 43.5%;
	}
	
	#sec03 .cv_btn_area {
		position: absolute;
		bottom: 0%;
		left: 3.2%;
		width: 43.5%;
	}
	#sec03 .cv_btn_area-B {
		position: absolute;
		bottom: 0%;
		right: 3.2%;
		width: 43.5%;
	}
	
	#sec04 .cv_btn_area {
		position: absolute;
		bottom: 0%;
		left: 3.2%;
		width: 43.5%;
	}
	#sec04 .cv_btn_area-B {
		position: absolute;
		bottom: 0%;
		right: 3.2%;
		width: 43.5%;
	}
	
	#sec05 .cv_btn_area {
		position: absolute;
		bottom: 0%;
		left: 3.2%;
		width: 43.5%;
	}
	#sec05 .cv_btn_area-B {
		position: absolute;
		bottom: 0%;
		right: 3.2%;
		width: 43.5%;
	}
	
	#sec06 .cv_btn_area {
		position: absolute;
		bottom: 0%;
		left: 3.2%;
		width: 43.5%;
	}
	#sec06 .cv_btn_area-B {
		position: absolute;
		bottom: 0%;
		right: 3.2%;
		width: 43.5%;
	}
	
	.last td:last-child {
		border:none!important;
		width: 100%;
	}
	.tbl-r02 {
		width: 100%;
	}
	.tbl-r02 tr th,
	.tbl-r02 tr td {
		display: block;
		width: 100%;
		font-size: 12px;
	}
}/* END */



@media screen and (max-width: 375px) {
	#page-top {
		width: 100%;
		margin: 0 auto;
		background: #FFF;
	}
	
	/* *****お問合せ/資料請求はコチラ***** */
	#sec01 .cv_btn_area {
		position: absolute;
		bottom: 1.5%;
		left: 10%;
		width: 80%;
	}
	
	/* *****メール・電話での御依頼御見積依頼はコチラ***** */
	#sec02 .cv_btn_area {
		position: absolute;
		bottom: 0%; /*-3%*/
		left: 3.2%;
		width: 43.5%;
	}
	#sec02 .cv_btn_area-B {
		position: absolute;
		bottom: 0%;
		right: 3.2%;
		width: 43.5%;
	}
	
	#sec03 .cv_btn_area {
		position: absolute;
		bottom: 0%;
		left: 3.2%;
		width: 43.5%;
	}
	#sec03 .cv_btn_area-B {
		position: absolute;
		bottom: 0%;
		right: 3.2%;
		width: 43.5%;
	}
	
	#sec04 .cv_btn_area {
		position: absolute;
		bottom: 0%;
		left: 3.2%;
		width: 43.5%;
	}
	#sec04 .cv_btn_area-B {
		position: absolute;
		bottom: 0%;
		right: 3.2%;
		width: 43.5%;
	}
	
	#sec05 .cv_btn_area {
		position: absolute;
		bottom: 0%;
		left: 3.2%;
		width: 43.5%;
	}
	#sec05 .cv_btn_area-B {
		position: absolute;
		bottom: 0%;
		right: 3.2%;
		width: 43.5%;
	}
	
	#sec06 .cv_btn_area {
		position: absolute;
		bottom: 0%;
		left: 3.2%;
		width: 43.5%;
	}
	#sec06 .cv_btn_area-B {
		position: absolute;
		bottom: 0%;
		right: 3.2%;
		width: 43.5%;
	}
	
	/* *****問合せボタン***** */
	.arrow_btn {
		width: 80%;
	}
	
	/* *****会社概要-TTL***** */
	#page-top section {
		padding: 0rem 0 1rem;
	}
	#page-top section .container > h2 {
		margin-bottom: 20px;
		font-size: 2.8rem;
	}
	#page-top section .container > h2 > span {
		display: block;
		font-size: 16px;
		font-weight: normal;
		padding-top: 5px;
	}
	
	/* *****お問合せフォーム***** */
	#inquiries {
		margin: 20px 0 10px;
		padding: 0 0;
	}
	#inquiries h2 {
		font-size: 24px;
		font-weight: bold;
		text-align: center;
	}
	#inquiries p {
		font-size: 12px;
		line-height: 1.6;
		letter-spacing: .05em;
		text-align: center;
	}
	.mfp .scrollY {
		height: 80px;
		overflow-y: scroll;
		border: 1px solid #CCC;
		background-color: #FFF;
		padding: 3px;
	}
	
	/* *****サンクス要素***** */
	.thanks-ttl {
		font-size: 20px;
		padding: 0 15px;
	}
	.thanks-txt {
		font-size: 15px;
		padding: 0 15px;
	}
	
	/* *****フッター***** */
	#footer {
		width: 100%;
		background-color: #008de1;
		margin-top: 0;
	}
	#footer-logo {
		margin-bottom: 0;
	}
	#footer img {
		width: 50%;
		psdding-bottom: 20px 0;
	}
	#footer_inner #ft-menu {
		padding-top: 14px;
	}
	#footer_inner #ft-menu ul {
		padding-bottom: 0;
	}
	#footer_inner #ft-menu ul li {
		padding: 0 10px;
	}
	#footer_inner #ft-menu ul li a {
		font-size: 12px;
	}
	#sub-menu {
		margin: 0 0;
		text-align: center;
		font-size: 12px;
		background-color: #FFF;
		line-height: .3rem;
	}
	#sub-menu p {
		padding: 0 0;
	}
}/* END */