@charset utf-8;
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400,500,700&display=swap');

/* シンプル01 ブルー 右メイン*/

/*----------------------------------------------------------
全体
----------------------------------------------------------*/
html {
  scroll-behavior: smooth;
}
body {
  font-size:18px;
  line-height:2.0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #000;
}
/*全体背景色*/
#wrap_body #contents {
  background: #fff;
}

/*--------------------------------------------------------------
リンク・ボタン
---------------------------------------------------------------*/
a {
  color: #e60012;
}
a:hover {
  color: #b9282e;
  cursor: pointer;
}
a.btn {
  color: #fff;
  background: #000;
}
a.btn:hover {
  background: #e60012;
}
a.btn.border {
  color: #000;
  border: 1px solid #000;
  background: none;
}
a.btn.border:hover {
  color: #fff;
  background: #555;
  border: 1px solid #555;
}
a.tel-link {
  font-size: 1.05em;
  font-weight: bold;
  text-decoration: none;
}
a.tel-link::before {
  font-family: "Font Awesome 5 Free";
  content: "\f2a0";
  font-weight: bold;
  margin-right: 8px;
}

/*--------------------------------------------------------------
topMenu
---------------------------------------------------------------*/
#wrap_body #topMenu {
  border-bottom: 4px solid #16678e;
}

#topMenu_outer .topMenu li a:hover {
  color: #fff;
  background: #16678e;
  border-bottom: solid 4px #a0e0ff;
}

/*--------------------------------------------------------------
pankuz
---------------------------------------------------------------*/
#pankuz p {
  padding: 0 10px;
}

/*----------------------------------------------------------
topics
----------------------------------------------------------*/
#mainTopics .listview a, a.btn, p.more a, #mainServices h3 a {
  background: #000;
}
#mainTopics .listview a:hover, a.btn:hover, p.more a:hover, #mainServices h3 a:hover {
  background: #e60012;
}

/*----------------------------------------------------------
article
----------------------------------------------------------*/
.article, .gallery, #mainTopics, #listTopics, #mainServices, #mainBlogComments, #mainBlogCommentForm {
  border-top: none;
  padding-top: 0;
}
.article.no_border {
  padding-top: 20px;
}

/*----------------------------------------------------------
見出し
----------------------------------------------------------*/
#mainArticles h2, #listTopics h2 {
  font-size: 140%;
  color: #fff;
  font-weight: 600;
  letter-spacing: 0.1em;
  position: relative;
  padding: 1rem 2rem;
  background:#16678e;
}
#mainArticles h2::after, #listTopics h2::after {
  position: absolute;
  top: 4px;
  left: 4px;
  width: calc(100% - 12px);
  height: calc(100% - 12px);
  content: '';
  border: 2px dotted #fff;
}

#mainArticles .article h2, .mainContents .article h3, #mainTopics h2, #listTopics h2, .mainContents div.gallery h3, #mainServices h2 {
  position: relative;
  padding: 1rem 2rem .5rem 3.5rem;
  border-bottom: 6px solid #16678e;
  font-size: 130%;
  font-weight: 600;
  color: #000;
  background:none;
  margin-top:30px;
}
#mainArticles .article h2::before,.mainContents .article h3::before,#mainTopics h2::before,#listTopics h2::before,.mainContents div.gallery h3::before,#mainServices h2::before {
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 25%;
  height: 6px;
  content: '';
  background: #cbbcb3;
}
#mainArticles .article h2, .mainContents .article h3, #mainTopics h2, #listTopics h2, .mainContents div.gallery h3, #mainServices h2 {
  background:url("/materials/175273518692201.png")no-repeat left center;
}

.article h3 a, .article h3 a:hover {
  color: #333;
}
.article h4 {
  position: relative;
  padding: 1.5rem 1rem 1.5rem 2rem;
  font-size: 130%;
  font-weight: 600;
  color: #16678e;
  background:url("/materials/175279828326001.png")no-repeat left center;
}
.article h4::after{
   position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 10px;
  content: '';
  background-image: -webkit-repeating-linear-gradient(135deg, #000, #000 1px, transparent 2px, transparent 5px);
  background-image: repeating-linear-gradient(-45deg, #000, #000 1px, transparent 2px, transparent 5px);
  background-size: 7px 7px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; 
}
.article h5 {
  padding:15px 20px;
  border-left: 8px solid #16678e;
  background: linear-gradient(to right,  rgba(203,188,179,0.76) 0%,rgba(204,189,180,0.76) 1%,rgba(255,255,255,1) 100%);
}


/*----------------------------------------------------------
title
----------------------------------------------------------*/
#title_outer {
  width: 96%;
}
#title h1 {
  width:330px;
  height:60px;
}
#title h1 a {
  margin: 0;
  display: inline-block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 110%;
  padding: 0;
  background: url("/materials/175273596464701.png") left center no-repeat;
  background-size:100%;
}
#title #title_outer {
  background: url("/materials/175275063924701.png") right center no-repeat;
  background-size:275px;
  margin: 0 auto;
}

/*----------------------------------------------------------
汎用クラス
----------------------------------------------------------*/
.leadText {
  font-size: 115%;
  color: #b9282e;
  font-weight: 600;
}

/*----------------------------------------------------------
サイドフリーHTML 会社概要
----------------------------------------------------------*/
#sideContents .freeHtml {
  border-top: none;
}
#sideContents .freeHtml_body {
  padding:24px 0;
}

/*-------------------------------------------------------
お問い合わせメールフォームボタン
-------------------------------------------------------*/
a.btn-mailform {
  font-size:1.1em;
  color:#000;
  font-weight: bold;
  line-height: 1.25;
  text-align: center;
  border: 1px solid;
  border-radius: 4px;
  padding: 1.0em 12px 0.8em;
  text-decoration: none;
  display: block;
  width: 100%;
  margin: 0 auto;
}
a.btn-mailform::before {
  font-family:"Font Awesome 5 Free";
  content:"\f0e0";
  font-size:140%;
  color:inherit;
  font-weight:bold;
  line-height:1.0;
  margin-right:10px;
  display:inline-block;
  vertical-align:middle;
  transform:translateY(-2px);
}
a.btn-mailform::after {
  font-family:"Font Awesome 5 Free";
  content:"\f105";
  color:inherit;
  font-weight:bold;
  margin-left:10px;
}
a.btn-mailform:hover {
  color:#fff;
  background: #222;
}
a.btn-mailform:hover::before, a.btn-mailform:hover::after {
  color:inherit;
}

/*-------------------------------------------
GoogleMap
-------------------------------------------*/
.gmap-wrap {
  height: 0;
  overflow: hidden;
  padding-bottom: 75%; /*4:3*/
  /*padding-bottom: 56.25%; 16:9*/
  position: relative;
}
.gmap-wrap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

/*-------------
バッジ非表示
---------------*/
.recaptcha_policy {
padding: 0;
margin: 0;
text-align: center;
font-size: 11px !important;
color: #444 !important;
}
.recaptcha_policy a {
font-size: 11px !important;
color: #111 !important;
}
.grecaptcha-badge { visibility: hidden; }


/*-------------------------------------------
サイト案内
-------------------------------------------*/
.gallery.guideBtn .gallery_grid li.galleryGrid {
  margin-bottom:15px;
}
.gallery.guideBtn .gallery_grid li.galleryGrid .galleryGrid_outer {
  padding: 0 5px;
}
.gallery.guideBtn .gallery_grid li.galleryGrid .image a {
  display: block;
  padding-bottom:60px;
}
.gallery.guideBtn ul.galleryGrids .comment {
  display:flex;
  align-items:center;
  justify-content:center;
  width:calc(100% - 10px);
  height:50px;
  border-radius:4px;
  position:absolute;
  bottom:5px;
  font-size:0.9em;
  color:#fff;
  font-weight:bold;
  line-height:1.25;
  background:#e60012;
  margin-bottom:0;
  padding:0 8px;
  pointer-events: none;
}
.gallery.guideBtn ul.galleryGrids .comment span {
  display:block;
  font-size:1.0em;
  color:#fff;
  font-weight:bold;
  line-height:1.4;
  text-align:center;
}
.gallery.guideBtn ul.galleryGrids .comment span::after {
  font-size:1.0em;
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  color: #fff;
  font-weight: bold;
  margin-left: 6px;
}

/*-------------------------------------------
問い合わせフォーム
-------------------------------------------*/
#mainArticles table.contactTable input.button, #mainBlogCommentForm_outer table.contactTable input.button {
  background: #e60012;
  margin-left: 7%;
}
#mainArticles table.contactTable tr:last-child th, #mainBlogCommentForm_outer table.contactTable tr:last-child th {
border-bottom: none;
}
#mainArticles table.contactTable tr:last-child td, #mainBlogCommentForm_outer table.contactTable tr:last-child td {
border-bottom: none;
}
/*-------------------------------------------
その他
-------------------------------------------*/
#footer{
  background:#16678e;
}

.po{
    margin:10px 0 30px 20px;  
}

.po li {
	position: relative;
    margin-left:25px;
    margin-bottom:10px;
}
.po li::after {
	display: block;
	content: '';
	position: absolute;
	top: .6em;
	left: -1em;
	width: 10px;
	height: 10px;
	background-color: #cbbcb3;
	border-radius: 100%;
}
#sideContents #sideContact a{
  background:#16678e;
}
.list_check{
  margin:0 0 30px 20px;
}
.list_check > li {
    position: relative;
    padding: 0px 0px 0px 2em;
    margin: 0px;
    font-size: 18px;
}
.list_check > li::before,
.list_check > li::after {
    position: absolute;
    top: 50%;
    height: 1em;
    content: "";
}
.list_check > li::before {
    left: 0px;
    transform: translateY(-50%);
    width: 1em;
    border: 1px solid #ff3019;
}
.list_check > li::after {
    left: 0.5em;
    transform: translateY(-75%) rotate(45deg);
    width: 0.5em;
    border-bottom: 3px solid #ff3019;
    border-right: 3px solid #ff3019;
}

.list_check > li + li {
    margin: 1em 0px 0px;
}
.nm {
  list-style:none;
  background:#FCF9DE;
  padding:15px 30px;
  border:4px dotted #ccc;
}
.nm li {
  counter-increment: titleNum;
  position: relative;
  padding: 0 0 .5em 2em;
  margin-bottom:20px;
}
.nm li::before {
  position: absolute;
  top: 5px;
  left: 0;
  content: counter(titleNum);
  width: 28px;
  height: 28px;
  line-height: 28px;
  background: #c21919;
  border-radius: 100%;
  color: #fff;
  font-size: .9em;
  text-align: center;
}
.nmt{
  font-weight:900;
  font-size:120%;
  color:#c21919;
  border-bottom:1px dotted #c21919;
}
.txt1{
  color:#fc0000;
}
.txt2{
  color:#fff;
  font-size:140%;
  font-weight:bold;
  padding:10px;
  text-align:center;
  background:#ff7400;
  border-radius:100px;
}
.txt3{
   font-size:130%;
  font-weight:bold;
}
.triangle {
  display:block;
  width: 0;
  height: 0;
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  border-top: 30px solid #fc0000;
  margin:0 auto 20px auto;
}
.tt{
  padding:5px;
  background: #EAE2DC;
}
.but{
  display:block;
  background:#16678e;
  color:#fff;
  padding:15px;
  border-radius:8px;
  position: relative;
  text-decoration: none !important;
}
.but::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 27px;
  width: 9px;
  height: 9px;
  margin: auto;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: rotate(45deg);
  box-sizing: border-box;
}
.but:hover{
   background:#2EA5F4;
  color:#fff; 
}
#siteGuide .comment{
	text-align: center;
	line-height: 1.5;
	background: #16678e;
	padding: 5px;
	color: #FFF;
	margin-top: 0;
	font-weight: bold;
}