@charset "utf-8";
@import url("//share.cr-cms.net/hp_agency/hpagency.css");
/*フラット02 ブラック*/

@font-face {
  font-family: "Yu Gothic M";
  src: local("Yu Gothic Medium");
}
@font-face {
  font-family: "Yu Gothic M";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}
body{
	font-size: 16px;
  	color: #333;
  	letter-spacing: 0.8;
  	line-height: 1.8;
  	background: #fff;
  	font-family:-apple-system, BlinkMacSystemFont, "Helvetica Neue", HelveticaNeue, "Segoe UI", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
#wrap {
  	min-width: 980px;
}
a{
    color: #0897d3;
	text-decoration: none;
}
a:hover {
	color: #31aaf7;
}
#mainArticles a:hover img, #sideBanners a:hover img, div.freeHtml a:hover img, div.image img.gallery:hover, #title h1 a:hover {
    filter: alpha(opacity=75);
    -moz-opacity: 0.75;
    opacity: 0.75;
}
.blog_date {
    margin-top: 50px;
}
strong {
    color: #eb6e17;
}
/*header*/
#wrap_body {
	padding-top: 0px;
}
/*title*/
#topMenu, #title, #mainImage {
    background-color: #fff;
}
#title {
	padding: 20px 0 62px;
    height: auto;
    box-sizing: border-box;
}
#title_outer {
    background: url(/materials/157175762825301.png) no-repeat right top;
    background-size: 320px;
}
h1 {
    background: url(/materials/160870332946502.png) no-repeat left top;
    background-size: 380px;
    text-align: left;
    height: 50px;
}
h1:hover {
    opacity: 0.7;
}
h1 a {
    text-decoration: none;
    display: inline-block;
    height: 60px;
    overflow: hidden;
    text-indent: 110%;
    white-space: nowrap;
    width: 380px;
}
#title .description{
  	text-align:left;
    font-size: 90%;
}
/*mainimage*/
#mainImage {
    position: relative;
}

/*topmenu*/
#topMenu {
    width: 100%;
    position: absolute;
    top: 107px;
    min-height:auto;
    background: #222;
  transition:padding 0.3s linear 0s;
}

#topMenu_outer {
	background: none;
    margin: 0px auto;
}
#topMenu .topMenu li a {
    width: auto;
    padding: 13px 0 14px;
    color: #FFF;
    font-size: 16px;
    letter-spacing: 0.05em;
    background: none;
}
#topMenu .topMenu li a:hover {
    background: #b00;
    color: #ffa3a3;
}

/*maincontent*/
#mainImage_body {
    background: #222;
}
.mainArticles .article img {
    max-width: 100%;
    margin-bottom: 10px;
}
#mainContents {
    padding: 20px 0;
    background: #FFF;
  	box-sizing: border-box
}
.mainArticles .article {
	padding-bottom: 0px;
	border-bottom: none;
}
.mainArticles .article p {
	padding-bottom: 12px;
}
.mainArticles .article_right .image {
    margin-right: 0;
}
.mainArticles .article_left .image {
    margin-left: 0;
}
/*maintopic*/
#mainTopics {
    border-bottom: none;
}
#mainTopics .topics li .thumb, #mainTopics .topics li .thumb img {
	max-width: 100px;
	max-height: 100px;
}
#mainTopics .topics li .date, .mainTopics .topics li .date {
	font-size: 14px;
}
#mainTopics .topics h3, .mainTopics .topics li h3 {
	font-size: 16px;
}
.mainTopics .topics li h3 a {
	text-decoration: underline;
}
#mainTopics .topics .description, .mainTopics .topics li .description {
    font-size: 15px;
    color: #888;
    margin-top: 0px;
}
#mainTopics .topics li .more a, .mainTopics .topics li .more {
	padding: 8px 16px;
	font-size: 14px;
  	border-radius: 4px;
}
.mainTopics .topics li .more a {
    border: none;
    background-color: #222;
    border-radius: 2px;
    color: #fff;
    border: 1px solid #222;
}
.mainTopics .topics li .more a:hover {
	border: none;
	background-color: #fff;
	color: #238bc1;
  	border: 1px solid #238bc1;
}
.mainTopics .topics {
	width: 100%;
	padding: 0;
	margin: 0px 0 15px;
  	border-bottom: none;
}
.mainTopics .topics li {
	padding: 40px 0px;
	font-size: 14px;
}
#mainTopics .listview {
    width: 110px;
    font-size: 14px;
    margin: 0 auto;
}
#mainTopics .listview a {
    background: none;
    padding: 4px 8px;
    color: #444;
}
#service .gallery_grid3 li.galleryGrid .image {
    max-width: 88%;
    min-height: 80px;
    margin: 0 auto;
}
#service .gallery_grid3 li.galleryGrid .comment {
    text-align: center;
}
.mainArticles .article.flow {
    margin: 0;
    padding: 0;
}

/*headline*/
#mainArticles h2, #listTopics h2 {
    margin-bottom: 36px;
    border: none;
    font-size: 34px;
    font-weight: bold;
    color: #4b4b4b;
}
#mainTopics h2 {
    text-align: left;
}
.mainContents .article h3, .mainContents div.gallery h3,
#mainServices h2, #mainTopics h2 {
    position: relative;
    font-size: 22px;
    font-weight: bold;
    line-height: 1.6em;
    color: #FFF;
    padding: 6px;
    padding-left: 40px;
    background-color: #222;
    border-radius: 4px;
}
.mainContents .article h3:after, .mainContents div.gallery h3:after,
#mainServices h2:after, #mainTopics h2:after {
    position: absolute;
    top: 50%;
    left: 0.7em;
    transform: translateY(-50%);
    content: '';
    width: 5px;
    height: 20px;
    border-radius: 4px;
    background-color: #b00;
}
.mainContents .article h3 a, .mainContents .article h3 a:hover {
    color: #FFF;
    text-decoration: none;
    letter-spacing: 0;
}
.mainContents .article h4{
    font-size: 18px;
    letter-spacing: 0.1em;
    line-height: 1.6em;
    color: #555;
    margin: 30px 0 12px;
    padding: 6px 15px;
    background: #F3F3F3;
    background: linear-gradient(to bottom, #ffffff 0%,#F3F3F3 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f3f3f3',GradientType=0 );
    border-top: 3px solid #b00;
    border-right: 1px solid #BBB;
    border-bottom: 1px solid #BBB;
    border-left: 1px solid #BBB;
    border-radius: 5px;
    display: flex;
}
.gallery_grid li.galleryGrid h4,h5 {
    font-size: 18px;
    margin: 14px 0 6px;
    padding-left: 8px;
    border-left: solid 6px #b00;
    line-height: 1.6em;
}


/*mainservice*/
#mainServices .services {
    padding: 0 36px;
}
/*side*/
#sideContents {
    background: #EEE;
  	padding-top: 10px;
    margin: 0;
}
#sideContact {
    position: static;
    margin: 20px auto;
    overflow: hidden;
}
#sideContents_outer {
    padding: 0;
}
body.ams-build #sideContents_outer {
    padding: 30px 0 120px 0;
}
sideBlogCategories, #sideBlogDates {
    margin: 0;
}
.freeHtml {
    font-size: 16px;
}
.sideServices ul li a,
.sideBlogCategories a, 
.sideBlogDates a{
    font-size: 16px;
}
.freeHtml_outer {
    padding: 0;
    background: none;
}
.sideServices ul li a {
    background: none;
}
.sideMobile p {
    padding: 5px 34px 0 0;
    margin: 0px 3px;
    line-height: 1.6em;
    font-size: 14px;
}
.sideServices h2, .sideMobile h2 {
    background: none;
}
.sideServices h2, .sideBlogCategories h2, .sideBlogDates h2, .sideMobile h2{
    font-size: 18px;
    line-height: 1.4em;
    color: #072a4f;
    border-bottom: solid 1px;
    margin: 0 0 10px;
    padding: 6px;
}
#sideServices, #sideMobile {
    margin: 0;
    margin-right: 20px;
}
.sideBlogCategories h2::after,.sideBlogDates h2::after {
    content: "";
}
.sideBlogCategories h2::before, .sideBlogDates h2::before {
    background: transparent;
}
.blog_comment {
    color: #f24a36;
}
.blog_comment:hover {
    color: #ffaf8b;
}
/*footer*/
#footer {
    background: #222;
}
.footer * {
    font-size: 14px;
    color: #fff;
}
.footer li a {
    color: #fff;
    font-size: 16px;
}
 .footer a:hover, .footer p a:hover {
    color: #CCC;
}
/*link*/
.link-list ul.galleryGrids li .image {
    margin: 0;
}
.link-list ul.galleryGrids li .comment {
    text-align: center;
    font-weight: bold;
    color: #224583;
    padding: 10px 0 0;
}
.link-list ul.galleryGrids li .image a {
    display: block;
    padding: 20px 0;
    border: solid 3px #224583;
    border-radius: 6px;
}
.link-list ul.galleryGrids li .image a:hover {
    background: #eaf2ff;
}
.link-list .gallery_grid ul.galleryGrids li .image a img {
    max-width: 100px;
}


.link-wrap {
    margin: 20px;
}
.text-link {
  	display:inline-block;
    padding: 10px 20px;
    background: #b00;
    border-radius: 5px;
    text-align: center;
    margin: 5px 2px;
    color: #fff;
    text-decoration: none;
}
.text-link:hover {
    background: #900;
    color: #fff;
  	text-decoration:none;
}
.notation-wrap {
    border: 2px solid #b00;
    background: #ffe4e4;
    text-align: center;
    padding: 10px 0;
    margin: 10px 0;
}
.tel-link {
    text-decoration: underline;
    color: #b00;
    font-size: 118%;
    font-weight: bold;
}
.tel-link:hover {
    color: #6a0000;
}
/*table*/
.article table p {
    margin: 0;
}
.article table:not(.contactTable) {
    border-collapse: collapse;
    border-left: 1px solid #ccc;
    border-spacing: 0;
    border-top: 1px solid #ccc;
    margin: 10px auto;
  	width:100%;
}
.article table:not(.contactTable) td,
.article table:not(.contactTable) th {
    border-bottom: 1px solid #ccc;
    border-right: 1px solid #ccc;
    height: auto;
    padding: 10px;
    box-sizing: border-box;
}
.article table:not(.contactTable) th {
    background-color: #f7f7f7;
    text-align: center;
}

.freeHtml_body table {
    border-collapse: collapse;
    border-spacing: 0;
    margin: 10px auto;
    width: 100%;
}
.freeHtml_body table td, .freeHtml_body table th {
    border-bottom: 1px solid #ccc;
    height: auto;
    padding: 4px 20px;
    box-sizing: border-box;
}
.freeHtml_body table th {
    border-bottom: solid 1px #222;
}

/*list*/
ul.baseList {
    padding-left: 2em;
}
ul.baseList li {
    list-style-type: disc;
    padding: 5px;
}
ul.checkedList {
    list-style: none;
}

ol.baseOrderedList {
    padding-left: 2em;
}
ol.baseOrderedList li {
    list-style-type: decimal;
    padding: 5px;
}


/*contact*/
table.contactTable tr td label {
    display: block;
    margin-left: 6px;
}
table.contactTable th {
    width: 30%;
    background: #fff;
}
table.contactTable th, table.contactTable td {
    padding: 16px 5px;
    border-top: solid 1px #aaa;
}
table.contactTable input.button, table.contactTable input[type="button"] {
    display: block;
    float: left;
    line-height: 40px;
    color: #fff;
    text-decoration: none;
    font-size: 16px;
    text-align: center;
    height: 60px;
    margin: 8px;
    margin-bottom: 16px;
    border: none;
    border-radius: 2px;
  	cursor: pointer;
}
table.contactTable input.button:hover,table.contactTable input[type="button"]:hover {
    filter: alpha(opacity=75);
    -moz-opacity: 0.75;
    opacity: 0.75;
}
table.contactTable input.button{
	width: 33%;
    background: #b00;
}
table.contactTable input.button:hover {
    background: #900;
}
table.contactTable input[type="button"]{
	width: 100px;
	background: #aaa;
}
table.contactTable input[type="button"]:hover {
	background: #ccc;
}
table.contactTable input[type="text"], table.contactTable input[type="password"], table.contactTable textarea {
    padding: 6px;
    border: solid 1px #b6b6b6;
    font-size: 16px;
    margin-left: 6px;
}
.validator-form .validator-message-valid,
.validator-form .validator-message-invalid{
    padding-left: 24px;
    font-size: 14px;
    padding-top: 2px;
}
.mainArticles .article p.contact-note {
    padding: 0;
    margin: 8px 5px 0;
    color: #666;
    font-size: 14px;
    line-height: 1;
}

#mainArticles,.mainArticles .article, .mainArticles div.gallery, #mainTopics, #listTopics {
    width: 100%;
}