@import url("//share.cr-cms.net/hp_agency/hpagency.css");
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700|Noto+Sans:400,700|Noto+Serif+JP:400,700|Noto+Serif:400,700&subset=japanese');

/*-- フラット02ホワイトベース --*/

/*-------------------------------------------
Common
-------------------------------------------*/
body {
 	font-size: 16px;
 	line-height: 1.8;
    font-family: 'Noto Sans', 'Noto Sans JP', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: 400;
	font-feature-settings : "palt";
	letter-spacing: 0.5px;
  	color:#444;
}

.pc{display:inline;}
.sp{display:none;}

.ta_c{text-align:center !important;}
.ta_r{text-align:right !important;}
.ta_l{text-align:left !important;}

.mt0{margin-top: 0px !important;}
.ml0{margin-left: 0px !important;}
.mb0{margin-bottom: 0px !important;}
.pb0{padding-bottom: 0px !important;}
.m_auto{margin-left: auto; margin-right: auto;}

.mt10{margin-top: 10px !important;}
.mb10{margin-bottom: 10px !important;}
.mt20{margin-top: 20px !important;}
.mb20{margin-bottom: 20px !important;}
.mt20{margin-top: 20px !important;}
.mb20{margin-bottom: 20px !important;}
.mt30{margin-top: 30px !important;}
.mb30{margin-bottom: 30px !important;}
.mt40{margin-top: 40px !important;}
.mb40{margin-bottom: 40px !important;}

.ml10{margin-left: 10px !important;}
.mr10{margin-right: 10px !important;}
.ml20{margin-left: 20px !important;}
.mr20{margin-right: 20px !important;}

.pt10{padding-top: 10px !important;}
.pb10{padding-bottom: 10px !important;}
.pt20{padding-top: 20px !important;}
.pb20{padding-bottom: 20px !important;}
.pt20{padding-top: 20px !important;}
.pb20{padding-bottom: 20px !important;}
.pt30{padding-top: 30px !important;}
.pb30{padding-bottom: 30px !important;}
.pt40{padding-top: 40px !important;}
.pb40{padding-bottom: 40px !important;}

.fw_b{font-weight: bold;}
.large_text{font-size: 1.6em;}

.mainArticles .article.articleCard {
    position:relative;
    margin-bottom: 80px;
}
.articleCard-inner {
    position: absolute;
    background: #ffffff;
    background: -moz-linear-gradient(-45deg, #ffffff 0%, #ffffff 65%, #ffffff 65%, #fdfcf8 66%, #f0ead4 100%);
    background: -webkit-linear-gradient(-45deg, #ffffff 0%,#ffffff 65%,#ffffff 65%,#fdfcf8 66%,#f0ead4 100%);
    background: linear-gradient(135deg, #ffffff 0%,#ffffff 65%,#ffffff 65%,#fdfcf8 66%,#f0ead4 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f0ead4',GradientType=1 );
    
    box-shadow: 0 10px 30px -16px;
    padding: 20px;
    box-sizing: border-box;
    width: 70%;
    transform: translate(0,26px);
}


.topics a {
    color: #58493c;
}

/*icon*/
#mainArticles img.ride {
    margin: 0;
    height: 28px;
}

/*-------------------------------------------
Wrap
-------------------------------------------*/
#wrap {
    border-top: 25px solid #444;
    border-color:#2f2f2f;
}
#wrap_body {
    padding-top: 166px;
}


/*-------------------------------------------
Link
-------------------------------------------*/
a {
	color: #39E;
	text-decoration: underline;
  	font-weight: normal;
}
a:hover {
	color: #f2ae35;
	text-decoration: none;
}
a img {
	text-decoration:none;
	border:none;
}
#title h1:hover,
#mainArticles a:hover img,
#sideBanners  a:hover img,
div.freeHtml a:hover img,
div.image img.gallery:hover,
#slider .slick-slide a:hover img {
  filter: alpha(opacity=75);
  -moz-opacity:0.75;
  opacity:0.75;
}


/*-------------------------------------------
Image
-------------------------------------------*/
#mainArticles img {
	border-radius: 2px;
}
.mainArticles .article .article_center .image,
.mainArticles .article .article_center .image img {
	max-width: 1024px;
}
.mainArticles .article img {
    margin: 0 0 15px;
}

.mainArticles .article_left .image {
    /*--margin: 0 40px 0 0;--*/
    margin: 0 20px 0 0;
  /*max-width: 640px;*/
  max-width: 500px;
}
.mainArticles .article_right .image {
    /*--margin: 0 0 0 40px;--*/
    margin: 0 0 0 20px;
  /*max-width: 640px;*/
  max-width: 500px;
}

.mainArticles .article_right img, .mainArticles .article_left img {
  /*max-width: 640px;*/
  max-width: 500px;
}

/*-------------------------------------------
Title
-------------------------------------------*/
#title{
    padding: 0;
    width: 100%;
    background: none;
    height: 104px;
    position: absolute;
    top: 0;
}
#title_outer {
    height: auto;
    width: 100%;
    margin: auto;
    background: url(/materials/178720531860901.png) no-repeat center right;
    padding-top: 0;
    background-size: 280px;
    height: 104px;
}

/*ロゴ*/
#title h1 {
	margin: 0px 0 0;
	padding: 0;
	text-align: left;
	height: 70px;
	width: 420px;
}
#title h1 a {
	background: url("/materials/178885166900801.png") no-repeat scroll 0 0 / contain;
	display: inline-block;
	overflow: hidden;
	text-indent: 110%;
	white-space: nowrap;
	height: 100%;
	width: 100%;
 	position: relative;
	z-index: 1000;
    top: 20px;
}
#title .description {
    color: #CCC;
    font-size: 87.5%;
    margin: 0;
    padding: 20px 0 0 4px;
    text-align: left;
    letter-spacing: 0.5px;
    position: absolute;
    top: -45px;
}

/*-------------------------------------------
Mainimage
-------------------------------------------*/
#mainImage {
    margin-bottom: 0;
    width: 100%;
	min-width:1024px;
}
.mainImage img {
    width: 100%;
	min-width:1024px;
}
/*スライド*/
#slider .slick-slide {
	display: flex;
	justify-content: center;
}
.mainImage #slider li {
	height: auto !important;
}
.mainImage #slider li img {
	max-width: 100%;
	min-width: 1024px;
}

/*-------------------------------------------
Topmenu
-------------------------------------------*/
#topMenu_outer,  #topMenu_body, #topMenu .topMenu {
	width: 1024px;
	max-width: 1024px;
  width: 100%;
	max-width: 100%;
}
#topMenu {
    background: #fff;
    min-height: 60px;
    position: absolute;
  	top: 104px;
/*	box-shadow: 1px 1px 2px;*/
	border-top:solid 1px #ccc;
	border-bottom:solid 1px #ccc;
}
#topMenu_outer {
    margin: 0 auto;
  	background: none;
}
#topMenu .topMenu li {
    width: 20%;
    /*--width: auto;--*/
    height: 100%;
    background: none;
	box-sizing:border-box;
	padding:0;
    position: relative;
}
#topMenu .topMenu li::after {
    border-right: 1px dotted #CCC;
    content: "　";
    position: absolute;
    right: 0;
    top: 25%;
}
#topMenu .topMenu li a {
    background: none;
    box-sizing: border-box;
    color: #333;
    /*--font-size: 18px;--*/
    font-size: 16px;
  	font-weight: normal;
    letter-spacing: 0;
	/*--padding:14px 0;--*/
    padding: 14px 0px;
    width: 100%;
}
#topMenu .topMenu li.fifth a {
    border: none;
}
#topMenu .topMenu li.fifth::after {
    content: "";
}
#topMenu .topMenu li a:hover {
/*    background: #e0ebaf;*/
    background: #efefef;
    color: #333;
}
#topMenu.fixed {
    position: fixed;
    top: 0;
    z-index: 100;
/*    box-shadow: 0 0 5px #999;*/
}

/*-------------------------------------------
contents
-------------------------------------------*/
#contents {
    background: #fff;
    margin: auto;
    padding: 0;
    width: 100%;
	box-sizing:border-box;
}
#mainContents {
    width: 1024px;
}
.article p {
    margin-bottom: 0.8em;
}
.article p.ib {
    display: inline-block;
}
.article strong {
    font-size: 105%;
    font-weight: bold;
	padding: 0 0.2em;
	/*text-shadow: 1px 1px 1px #CCC;*/
}
.article u {
    font-size: 115%;
    padding-bottom: 2px;
    text-decoration: none;
    border-bottom: 1px solid;
}
.mainArticles .article, .mainArticles div.gallery {
    margin-bottom: 30px;
    padding-bottom: 30px;
    overflow: visible;
  	border: none;
}
#mainArticles, .mainArticles .article, .mainArticles div.gallery, 
#mainTopics, #listTopics ,#mainServices , #mainServices .services {
	width: 100%;
}
.mainArticles .article.marginBottom0 {
    margin: 0;
    padding: 0;
}
/*-------------------------------------------
Heading
-------------------------------------------*/
/*font*/
#contents h2, #contents h3, #contents h4, #contents h5, #contents h6 {
    font-family: 'Noto Serif', 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
/*h2*/
#mainArticles h2, #mainServices h2, #mainTopics h2, #listTopics h2 {
	position: relative;
	padding: 10px 0 10px 14px;
	border-bottom: none;
	border-left: dotted 2px #2f2f2f;
	font-size: 160%;
	text-align: left;
	color: #333;
	margin: 20px 0 60px;
	background: #efefef;
	line-height: 1;
	font-weight: normal;
	letter-spacing: 0.15em;
}
/*h3*/
.mainContents .article h3,
.mainContents div.gallery h3 {
    position: relative;
    padding: 10px 0px 26px 0;
    font-size: 175%;
    text-align: center;
/*    color: #BCA039;*/
    color:#2f2f2f;
    margin: 20px 0 30px;
    line-height: 1.5;
    font-weight: normal;
    overflow: hidden;
    /* border-bottom: solid 1px #BCA039; */
    background: url(/materials/161258762197801.png) no-repeat bottom center;
    background-size: 160px;
    letter-spacing: unset;
}
.mainContents .article h3 a {
	color: #FFF;
}
/*h4*/
.mainContents .article h4::after {
    position: absolute;
    left: 0;
    top:50%;
	transform:translate(0, -50%);
/*    content: '';*/
    width: 20px;
    height: 2px;
    background-color: #F2A39C;
}
.mainContents .article h4 {
    position: relative;
    padding: 4px 0 4px 10px;
    font-size: 125%;
    text-align: left;
    margin: 20px 0 20px;
    line-height: 1.5;
/*    color: #333;*/
    color:#BCA039;
    overflow: hidden;
    border: none;
/*    background: #f8f4e6;*/
/*    border-left: solid 6px #f8e58c;*/
    border-left: solid 6px #BCA039;
/*    background:#f1eddb;*/
}
/*h5*/
.mainContents .article h5::before {
/*
    position: absolute;
    left: 0;
    top: 10%;
    content: '';
    width: 5px;
    height: 80%;
    background-color: #C93;
*/
}
.mainContents .article h5 {
    color: #BCA039;
    font-size: 125%;
    margin: 30px 0 15px;
    padding: 4px 0px 6px 0px;
    line-height: 1.5;
    overflow: hidden;
	position: relative;
    border-bottom:solid 1px #BCA039;
}


.h_strong {
    font-size: 150%;
    border-bottom: solid 2px #b8d200;
    margin-bottom: 20px;
    padding-left: 26px;
    position: relative;
}
.h_strong:before{
	content:"●";
	color:#b8d200;
	position:absolute;
	left:0;
}
/*-------------------------------------------
Side
-------------------------------------------*/
#sideContents {
/*	background: #d8e698;*/
/*    background:#efefef;*/
/*    background: #ded3b1;*/
  background: #efefef;
}
#sideContents_outer {
	width: 1024px;
	padding: 30px 0 10px;
	position: relative;
}
/*SideMenu*/
.sideServices h2 {
	font-size: 18px;
	color: #333;
}
.sideServices ul li a {
	font-size: 16px;
}
/*SideBlogs*/
.sideBlogCategories h2, .sideBlogDates h2 {
	font-size: 18px;
	color: #333;
}
.sideBlogCategories a, .sideBlogDates a {
	font-size: 16px;
}
/*SideMobile*/
.sideMobile h2 {
	font-size: 18px;
	color: #333;
}
.sideMobile p {
	font-size: 16px;
}
/*SideContact*/
#sideContact {
	display: none;
}
/*sideBanners*/
#sideBanners {
    margin: 15px 0 45px 0;
}
#sideBanners li {
    margin-bottom: 25px;
}
#sideBanners li img {
    padding: 0px;
    background-color: #FFF;
}
/*FreeHTML*/
.freeHtml {
	font-size: 100%;
  	min-height: 1px;
}
.freeHtml_outer {
	padding: 0;
	background-color: #EEE;
}



/*-------------------------------------------
Side
-------------------------------------------*/
.side{
	padding:20px;
	background:#fff;
}

/*-------------------------------------------
Footer
-------------------------------------------*/
.footer * {
    font-size: 16px;
}
#footer {
/*	background: #2f2f2f;*/
/*	background: #58493c;*/
  background: #2f2f2f;
/*	padding: 30px 0 10px;*/
  padding:10px 0 10px;
}
#footer_outer {
	width: 1024px;
    margin: 0 auto;
}
.footer li a::before {
    color: #FFF;
    font-size: 65%;
    margin-right: 15px;
    transform: scaleX(0.75);
    display: inline-block;
    vertical-align: top;
}
.footer li a {
	color: #FFF;
	display: inline-block;
	padding-left: 0;
	font-size: 16px;
  	font-weight: normal;
}
#footer .footer .topMenu li a:hover, 
#footer .footer .services li a:hover, 
#footer .footer .copyright a:hover {
    color: #edc000;
}
.footer .topMenu {
	width: 100%;
  display:none;
}
.footer .topMenu li {
	margin-right: 80px;
}
.footer .topMenu li a::before {
    content: "\025b6";
}
.footer .services {
	background: none;
	display: block;
  	margin: 10px 0 0;
}
.footer .services li {
	margin-right: 50px;
}
.footer .services li a {
	color: #CCC;
	font-size: 13px;
}
.footer .services li a::before {
    content: "\025b6";
}
.footer .copyright {
	padding: 0px 0 0 0;
	text-align: right;
}
.footer .copyright ,
.footer .copyright a {
  	color: #FFF;
	font-size: 12px;
}
.footer .copyright a:hover {
	text-decoration: none;
	color: #CCC;
}

/*-------------------------------------------
Topics
-------------------------------------------*/
#mainTopics ,
.mainTopics .topics {
    border: none;
}
#mainTopics .topics li p.date ,
#listTopics .topics li p.date {
    font-size: 14px;
    color: #999;
}
.mainTopics .topics {
	width: 100%;
  	padding: 0;
}
#mainTopics .topics li h3 ,
#listTopics .topics li h3 {
    font-size: 18px;
    font-weight: normal;
}
#mainTopics .topics li p.description ,
#listTopics .topics li p.description {
    color: #999;
    font-size: 16px;
}
#mainTopics .listview {
     font-size: 14px;
}
/*thumb*/
#mainTopics .topics li .thumb {
    max-width: 120px;
    max-height: 90px;
    margin-right: 30px;
}
#mainTopics .topics li .thumb img {
    max-width: 120px;
    max-height: 90px;
}
/*moreBtn*/
.mainTopics .topics li .more a {
	font-size: 14px;
	color: #181818;
	border: solid 1px #181818;
	background: #FFF;
}
.mainTopics .topics li .more a:hover {
	color: #FFF;
	background: #181818;
	border: solid 1px #181818;
}
#mainTopics .topics li:nth-of-type(odd) {
    background: #f6f3e7;
}
#mainTopics .topics li .more {
    position: absolute;
    right: 20px;
    bottom: 18px;
}
/*-------------------------------------------
Table
-------------------------------------------*/

/*標準*/
table {
    border-collapse: collapse;
    border-spacing: 0;
	background-color: #FFF;
    width: 100%;
}
table th ,
table td {
	line-height: 1.5;
}
.article table p ,
.article table img {
	margin: 0;
}
/*縞々*/
.stripe table tr:nth-child(even) {
	background:#f3f3f3;
}
/*縞々*/
.stripe table tr:nth-child(even) {
	background: #F7F7F7;
}




/*汎用*/
table.normalTbl {
	border: 1px solid #58493c;
	margin: 10px 0;
}
table.normalTbl th {
	background: #EEE;
	height: auto;
	line-height: 150%;
	padding: 20px;
	text-align: center;
	vertical-align: middle;
	border-bottom: 1px solid #58493c;
    font-weight:normal;
}
table.normalTbl td {
	border-bottom: 1px solid #58493c;
	height: auto;
	line-height: 150%;
	padding: 20px;
}

/*週間テーブル*/
#schedule {
  padding: 20px;
  background-color: #fff;
}
#schedule table {
	border-collapse: collapse;
    border-left: 1px solid #999;
    border-spacing: 0;
    border-top: 1px solid #999;
    margin: 10px auto;
    width: 100%;
}
#schedule table th,
#schedule table td {
	border-bottom: 1px solid #999;
    border-right: 1px solid #999;
    height: auto;
    padding: 10px;
    box-sizing: border-box;
	text-align: center;
}
#schedule table th {
	background:#efefef;
	text-align: center;
}

.article table.weekTbl{
	
}
.article table.weekTbl thead th{
	text-align:center;
    background:#efefef;
}
.article table.weekTbl tbody th{
	background:#efefef;
}
.article table.weekTbl tbody td{
	text-align:center;
}
.article table:not(.contactTable) {
	border-collapse: collapse;
    border-left: 1px solid #58493c;
    border-spacing: 0;
    border-top: 1px solid #58493c;
    margin: 10px auto;
    width: 100%;
}
.article table:not(.contactTable) td,
.article table:not(.contactTable) th {
    border-bottom: 1px solid #58493c;
    border-right: 1px solid #58493c;
    height: auto;
    padding: 10px;
    box-sizing: border-box;
}
.article table:not(.contactTable) th {
	background:#efefef;
    text-align: center;
}
.article table p,
.article table img {
	margin: 0;
}


.article table.notTbl {
    width: auto;
    border-collapse: collapse;
    margin: 0 0 20px 0;
    border: none;
}
.article table.notTbl th,
.article table.notTbl td{
    padding:0;
    border:none;
    background:none;
    text-align: left;
}
.article table.notTbl th{
    font-weight: bold;
    
}
.article table.notTbl td{
    padding-left:20px;
}
/*-------------------------------------------
form
-------------------------------------------*/
table.contactTable {
	border-collapse: collapse;
	border-spacing: 0;
	margin: 10px auto;
	width: 100%;
    background: #fff;
}
table.contactTable tr th {
	height: auto;
	line-height: 150%;
	padding: 30px 15px;
	text-align: left;
	vertical-align: middle;
  	width: 30%;
    border-bottom: 1px solid #DDD;
}
table.contactTable tr.must th {
    background-position: 95% center;
    background-repeat: no-repeat;
    padding: 30px 40px 30px 15px;
}
table.contactTable td {
	height: auto;
	line-height: 150%;
	padding: 30px 15px;
    border-bottom: 1px solid #DDD;
}
table.contactTable tr:last-child th ,
table.contactTable tr:last-child td {
    border-bottom: none;
}
table.contactTable label input {
	margin-left: 10px;
  	margin-right: 5px;
    border: 0px;
}
table.contactTable input.textField {
	border:solid 1px #999;
	width: 98%;
}
table.contactTable .textField {
    width: 98%;
}
table.contactTable textarea {
    border: solid 1px #999;
}
table.contactTable input.button {
  	display:block;
    margin: 0 auto;
    font-size: 14px;
}
table.contactTable select {
    font-size: 100%;
    width: 100%;
}
table.contactTable label {
    font-size: 100%;
    width: 100%;
    display: inline-block;
}
table.contactTable input.button {
    background-image: none;
    background-color: #333;
    border: none;
    border-radius: 2px;
    color: #fff;
    display: block;
    font-size: 16px;
    height: 50px;
    letter-spacing: 5px;
    margin: 0 auto;
    outline: none;
    width: 150px;
}
table.contactTable input.button:hover {
    background-image: none;
    background-color:  #181818;
  	color: #edc000;
	cursor: pointer;
}
table.contactTable .th_headline {
	font-weight:bold;
	background-color: #eee;
	text-align:center;
}
table.contactTable p.contact-note {
	line-height: 1.5;
	margin: 8px 0;
	color: #666;
	font-size: 90%;
}
/*確認画面*/
table.contactTable input[type="button"] {
    background: #f1f1f1 none repeat scroll 0 0;
    border: 1px solid #ccc;
    color: #333;
    cursor: pointer;
    display: block;
    font-size: 16px;
    margin: 20px auto;
    padding: 15px 60px;
    text-align: center;
  	width: auto;
}
table.contactTable input[type="button"]:hover {
    background: #333;
    color: #FFF;
}

/*-------------------------------------------
List
-------------------------------------------*/
/*順序リスト*/
ol.orderList {
    padding-left: 2em;
}
ol.orderList li {
    list-style-type: decimal;
    padding: 5px;
}


ul.StyleIconList {
    list-style: outside none;
    line-height: 2;
    padding-left: 2.2em;
}
ul.StyleIconList li {
    position: relative;
    font-size: 16px;
}
ul.StyleIconList li::before ,
ul.StyleIconList li::after {
    display: block;
    content: '';
    position: absolute;
}
ul.StyleIconList li::before {
    top: 0.4em;
    left: -1.9em;
    width: 1.2em;
    height: 1.2em;
    background-color: #2f2f2f;
    border-radius: 100%;
}
ul.StyleIconList li::after {
    top: 0.8em;
    left: -1.6em;
    width: 0.3em;
    height: 0.3em;
    border-right: 2px solid #FFF;
    border-bottom: 2px solid #FFF;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

ul.StyleCheckList {
    list-style: outside none;
    line-height: 2;
    padding-left: 2.5em;
}
ul.StyleCheckList li {
    position: relative;
    font-size: 16px;
      width: 49%;
    display: inline-block;
}
ul.StyleCheckList li::before {
    display: block;
    content: '';
    position: absolute;
    top: 0.4em;
    left: -2em;
    width: 0.9em;
    height: 0.5em;
    border-left: 4px solid #E55;
    border-bottom: 4px solid #E55;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

ul.faq {
    padding: 10px 0 20px;
}
ul.faq li.qus ,
ul.faq li.ans {
    display: block;
    font-size: 100%;
    line-height: 1.6;
    margin-bottom: 20px;
    padding-left: 45px;
}
ul.faq li.qus::before ,
ul.faq li.ans::before {
    border-radius: 4px;
    display: inline-block;
    font-size: 100%;
    height: 32px;
    line-height: 32px;
    margin: 0 8px 0 -40px;
    text-align: center;
    width: 32px;
}
ul.faq li.qus::before {
    background-color: #2f2f2f;
    content: "Q";
    color: #fff;
}
ul.faq li.ans::before {
    background-color: #efefef;
    content: "A";
    color: #2f2f2f;
}



ul.cardList{
/*
    display:flex;
    flex-wrap: wrap;
    justify-content: space-between;
*/
    overflow: hidden;
}
ul.cardList li{
        display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 20px;
    margin-bottom: 10px;
    margin-right: 1%;
    border: solid 1px #2f2f2f;
    width: 24%;
    background: #f1eddb;
    float: left;
    color: #2f2f2f;
    box-sizing: border-box;
    min-height: 100px;
}

ul.cardList li:nth-of-type(4n){
    margin-right:0;
}



/*単純リスト*/
ul.simpleList {
    list-style: none;
	overflow: hidden;
	padding: 0 0 15px;
	margin: 0 0 15px;
}
ul.simpleList li {
	padding-left: 1em;
	text-indent: -0.8em;
	overflow: hidden;
}
ul.simpleList li:before {
    content: "?";
    color: #666;
	line-height: 2;
	margin-right: 0.5em;
  	font-size: 85%;
}

/*任意マークリスト*/
ul.markList {
    padding-left: 3px;
}
ul.markList li {
    list-style-type: none;
    padding: 10px 0 0 20px;
    font-size: 105%;
    display: inline-block;
    margin-right: 28px;
}
ul.markList li::before {
    color: #E44;
    content: "\025b6";
    display: inline-block;
    font-size: 70%;
    margin-right: 10px;
    margin-left: -20px;
}
ul.markList.kome li {
    list-style-type: none;
  	padding: 10px 0 0 20px;
    font-size: 80%;
}
ul.markList.kome li::before {
    color: #933;
    content: "※";
}



ul.list-nav{
	overflow:hidden;
}
ul.list-nav li{
	padding: 2px 8px;
	display:inline-block;
	margin:0 8px 8px 0;
	float:left;
	background:#d8e698;
}
ul.list-nav li a{
	display:block;
	color:#555;
}
/*----------------------------
お問い合わせ
-----------------------------*/
ol.pp {
padding-left: 2em;
}
ol.pp li {
list-style-type: decimal;
padding: 5px;
}
ul.notes {

list-style-type: none;
margin-left:1em;
}
ul.notes li::before {
content: "◆";
margin-left: -1em;
font-family: "メイリオ", sans-serif;
}
ul.ps {

list-style-type: none;
margin-left:1em;
}
ul.ps li::before {
content: "※";
margin-left: -1em;
font-family: "メイリオ", sans-serif;
}
ul.maru {
	list-style-type: none;
	margin-left:1em;
}
ul.maru li{
	position:relative;
	padding-left:0.6em;
}
ul.maru li::before {
    content: "●";
    margin-left: -1em;
    font-family: "メイリオ", sans-serif;
    font-size: 10px;
    position: absolute;
    top: 0.6em;
	left:0;
}


/*-------------------------------------------
Button
-------------------------------------------*/
a.linkbtn {
    background-color: #333;
    border-radius: 2px;
    color: #fff;
    display: inline-block;
    margin: 20px auto;
    padding: 10px 5%;
    text-align: center;
    text-decoration: none;
    font-weight: normal;
    width: 30%;
    min-width: 400px;
}
a.linkbtn:hover {
    background-color: #181818;
    color: #edc000;
}


/*メニューボタン*/
ul.menuBtn{
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	flex-wrap:wrap;
	max-width:600px;
	margin:0 auto;
}
ul.menuBtn li{
	width:48%;
	margin-right:10px;
}
ul.menuBtn li:nth-last-of-type(odd){
	margin-right:0;
}
ul.menuBtn li:last-of-type{
	margin-right:0;
}
ul.menuBtn li a.btn {
    width: 100%;
    box-sizing: border-box;
	background:#2f2f2f;
	border-radius:100px;
}
a.btn {
    display: inline-block;
    text-align: center;
    padding: 18px 18px 18px 18px;
	background:#2f2f2f;
	border-radius:100px;
	border:1px solid #2f2f2f;
    position: relative;
    color: #fff;
    text-decoration: none;
    box-sizing: border-box;
    margin: 8px 0;
      width: 30%;
  transition:0.3s;
}
a.btn:hover {
  	background:#fff;
      color: #2f2f2f;
}

/*-------------------------------------------
Gallery
-------------------------------------------*/
.gallery_grid2 ul.galleryGrids {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.gallery_grid2 ul.galleryGrids li {
    width: 49.8%;
    position: static !important;
}


.gallery_grid li.galleryGrid .galleryGrid_outer {
    padding: 0 12px 10px;
}
.gallery_grid li.galleryGrid .image {
    margin-bottom: 8px;
}
.gallery_grid li.galleryGrid .comment {
	text-align: center;
	font-size: 16px;
  min-height:3em;
}


.gallery_setsubi .gallery_grid li.galleryGrid .comment {
  height:4em;
}

/*サイト案内*/
#siteGuide li.galleryGrid .image {
    margin-bottom: 0;
}
#siteGuide .comment  {
    font-size: 16px;
    padding: 5px 0;
    background: #EEE;
    color: #666;
    border-bottom: 2px solid #DDD;
}

/*-------------------------------------------
Blog
-------------------------------------------*/
div.blog_date {
	margin-top: 30px;
	display: inline-block;
	width: 100%;
	color: #999;
	font-size: 85%;
}

/*-------------------------------------------
Others
-------------------------------------------*/

/*マーカー*/
span[style*="Lime"] {
    background-color: #FFF !important;
    color: #096;
    border-bottom: 1px dashed;
}
span[style*="Yellow"] {
	background: linear-gradient(transparent 80%, #ffe266 80%) !important;
	border-radius:0px;
	font-weight: 600;
  font-size: 18px;
}

.strong{
	font-size:20px;
	font-weight:bold;
	color:#ff9900;
}



/*ぱんくず*/
.pankuz p {
    margin-bottom: 15px;
    font-size: 13px;
    color: #999;
    text-align: left;
}

/*囲み*/
div.envelope {
    background-color: #efefef;
    border: 1px solid #2f2f2f;
    border-radius: 2px;
    margin: 10px 0;
    padding: 15px;
    overflow:hidden;
}
div.envelope p {
	margin: 0;
}

/*記事下線*/
.mainArticles .article.underLine {
    border-bottom: 2px dashed #CCC;
    margin-bottom: 40px;
}

/*余白なし記事*/
.mainArticles .article.marginNone {
	margin: 0;
	padding: 0;
}



/*TOPへボタン*/
a.topBtn {
    display: inline-block;
    padding: 4px;
    text-align: center;
    text-decoration: none;
    background: #999;
    border-radius: 2px;
    color: #fff;
    position: fixed;
    bottom: 12px;
    right: 12px;
    z-index: 1000;
    width: 2em;
    height: 2em;
    line-height: 2em;
    font-size: 12px;
}
a.topBtn:hover {
	background: #181818;
	color: #edc000;
}

/* 固定ヘッダーのアンカー対策 */
#contents [id*="Anc_"] {
  margin-top : -60px;
  padding-top : 60px;
}
.ams-build #contents [id*="Anc_"] {
  margin : 0;
  padding : 0;
}

/* 20191024追記　問い合わせバナー */
#toiawase {
  position: absolute;
  z-index: 999;
  top: 35px;
  right: 0;
  left: 0;
  margin: 0 auto;
  height:84px;
  width:1024px;
  text-align: right;
}
#toiawase a img {
  max-height: 100%;
}



/*流れ*/
.mainArticles .article.articleFlow {
    border: 3px solid #BCA039;
    display: block;
    padding: 10px 30px;
    position: relative;
    margin-bottom: 35px;
  	box-sizing: border-box;
}
.mainArticles .article.articleFlow.first{
	margin-top:0px;
}

.mainArticles .article.articleFlow::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
	border-top: 20px solid #BCA039;
    border-right: 30px solid transparent;
    border-left: 30px solid transparent;
}
.mainArticles .article.articleFlow.last::after {
    display: none;
}
.mainArticles .article.articleFlow .image ,
.mainArticles .article.articleFlow img {
	max-width: 240px;
}
.mainArticles .article.articleFlow h6 {
    margin: 0px 0 10px;
    padding: 0px 0;
    color: #BCA039;
    font-size: 26px;
    letter-spacing: 0.1em;
    font-weight: normal;
}

.mainArticles .article.articleFlow h4{
    margin-top: 0;
    margin-bottom: 14px;
    padding: 0;
    color: #666;
    border-bottom: solid 1px #666;
}

.mainArticles .article.margin0{
  margin:0;
  padding:0;
}




/*blockquote*/
blockquote {
    position: relative;
    padding: 10px 15px 10px 60px;
    box-sizing: border-box;
    font-style: italic;
    background: #f5f5f5;
    color: #777777;
    border-left: 4px solid #BCA039;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.14);
}

blockquote:before{
    display: inline-block;
    position: absolute;
    top: 15px;
    left: 15px;
    content: "\"";
    font-family: FontAwesome;
    color: #BCA039;
    font-size: 30px;
    line-height: 1;
    font-weight: 900;
}

blockquote p {
    padding: 0;
    margin: 7px 0;
    line-height: 1.7;
}

blockquote cite {
    display: block;
    text-align: right;
    color: #888888;
    font-size: 0.9em;
}

.note{
    font-size:80%;
}

#contact-box {
    position: fixed;
    top: 250px;
    right: 0px;
    z-index: 100;
    width: 50px;
}

/*設備紹介 ハーフ記事*/
.mainArticles .article.half {
  border: none;
  width: 45%;
  display: inline-block;
  box-sizing: border-box;
  /*--padding: 10px;--*/
  padding: 0;
  margin: 0 20px 40px 20px;
  vertical-align: top;
}

/*記事全幅*/
.article.full-blue {
  width: 100vw;
  min-width: 1024px;
  margin: 20px calc(50% - 50vw);
  background: #23d2e1;
}
.article.full-blue .article_body {
  width: 1024px;
  margin: auto;
  padding-top: 30px;
  padding-bottom: 30px;
}

.article.full-blue .article_body h3,
.article.full-blue .article_body p,
.article.full-blue li{color: #fff;}

.article.full-blue .article_body h4{ margin-top: 30px; margin-bottom: 0;}

.article.full-gray {
  width: 100vw;
  min-width: 1024px;
  margin: 60px calc(50% - 50vw);
  background: #efefef;
}
.article.full-gray .article_body {
  width: 1024px;
  margin: auto;
  padding-top: 30px;
  padding-bottom: 30px;
}



@media only screen and (max-width: 1024px) {

    #sideServices,
    .article.full-blue,.article.full-gray{
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
.article.half {
  border: none;
  width: 44%;
  display: inline-block;
  box-sizing: border-box;
  /*--padding: 10px;--*/
  padding: 0;
  margin: 0 10px 40px 10px;
  vertical-align: top;
}
#topMenu .topMenu li a {
    font-size: 14px;
}
}


.flow_design {
  display: flex;
  justify-content: center;
  align-items: center;
}

.flow {
  padding-left: 0;
  border-bottom: solid 1px #E1E8ED;
}

.flow > li {
  list-style-type: none;
  display: flex;
  padding: 20px 0;
  border-top: solid 1px #E1E8ED;
}

.flow > li dl dt {
  font-size: 1.2em;
  line-height: 2;
  font-weight: bold;
  margin-bottom: 10px;
}

.flow > li .icon {
  line-height: 1;
  font-size: 2em;
  font-weight: bold;
  color: #2f2f2f;
  text-align: center;
  width: 70px;
  position: relative;
  margin-top: 0;
}

.flow > li .icon::before {
  content: 'STEP';
  font-size: 0.3em;
  display: block;
  margin-bottom: 3px;
  letter-spacing: 1px;
}

.flow > li .icon::after {
  content: "";
  display: block;
  width: 1px;
  height: calc(100% - 40px);
  background-color: #efefef;
  position: absolute;
  left: 0;
  right: 0;
  top: 60px;
  margin: auto;
}

.flow > li dl dd {
  margin: 0;
}

.flow > li dl {
  width: calc(100% - 70px);
  margin-top: 0.8em;
}

#compareTbl{
  border-collapse: separate; /* 境界線を分離させる（初期値） */
  border-spacing: 10px;       /* セル同士の余白 */
}

#compareTbl,
#compareTbl th{border: 0px none;}

#compareTbl th{background: #fff; border-spacing: 10px;}

#compareTbl td{width: 40%; text-align: center; border: 1px solid; }

#compareTbl th,#compareTbl td{padding: 10px;}

#compareTbl th,#compareTbl td {
  position: relative;
}

#compareTbl td span.pc_br {
    display: block; /* ブロック要素にして強制的に改行させる */
  }

/* 上の丸の下から、下のエリアに向かって縦線を伸ばす */
#latest::after,#conventional::after {
  content: "";
  position: absolute;
  bottom: 0px;
  left: 50%;
  width: 1px;
  height: 11px; /* 伸ばしたい長さに調整 */
  background-color: #2f2f2f;
  transform: translateX(-50%);
  z-index: 1;
}

#compareTbl td::before {
  content: "";
  position: absolute;
  top: -11px;
  left: 50%;
  width: 1px;
  height: 11px; /* 伸ばしたい長さに調整 */
  background-color: #2f2f2f;
  transform: translateX(-50%);
  z-index: 1;
}

th.comparison_items{background: #2f2f2f !important; color: #fff !important;}

.compare_mark{font-size: 2.0em;}


#latest div,
#conventional div{
    width: 150px;
    height: 150px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    border: 1px solid;
    margin-left: auto;
    margin-right: auto;
      font-weight: 600;
    font-size: 22px;
    line-height: 1.0em;
}

#latest span{background: #efefef; color: #2f2f2f;}
#conventional span{background: #2f2f2f; color: #fff;}

#latest span,#conventional span{padding: 3px 5px; font-weight: 400;}

.movie iframe{
  width: 100%;
  aspect-ratio: 16 / 9;
}
.merit{
    background-color: #ffefef;
    border-radius: 2px;
    margin: 10px 0;
    padding:15px 30px !important;
    overflow: hidden;
}
.demerit{
    background-color: #eff4ff;
    border-radius: 2px;
    margin: 10px 0;
    padding:15px 30px !important;
}
/*追従型ボタン*/
.freeHtml #contact-box{
  position:fixed;
  top:auto;
  bottom:30px;
  right:30px;
  z-index:100;
  width:250px;
}
.freeHtml #contact-box img{
  width:250px;
  height:250px;
}
#title .description {
width: unset;
}
#wrap {
min-width: 1024px;
}