@charset "utf-8";

/*フラット01 ブラック*/
@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: 17px;
	line-height: 1.8em;
	letter-spacing: 0.08em;
    font-family:"Helvetica Neue", Arial,"游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium","メイリオ", Meiryo, sans-serif;
	}


#wrap {
  	min-width: 1080px;
  	background:#FFF;
}
#contents {
    width: 100%;
    margin: 0;
    background: url(../materials/159132561482901.png) #f5f3f0;
    background-size: 240px;
    background-attachment: fixed;
}
#contents_outer,
#footer_outer{
    width: 1080px;
    margin: 0 auto;
}
#title,#topMenu .topMenu, #topMenu_body,#topMenu_outer {
    max-width: 1080px;
    width: 100%;
}
#mainArticles, .mainArticles .article,
.mainArticles div.gallery,
#mainTopics, #listTopics,
#mainServices {
    width: 100%;
    padding: 10px 20px;
    box-sizing: border-box;
    background: #FFF;
    overflow: unset;
}

.mainArticles div.gallery{
    padding: 10px;
}
.mainArticles .article .article_center .image,
.mainArticles .article_center img {
    max-width: 100%;
}
.gallery_slide .galleryPreview .images .image img {
    width: 100%;
}
.mainArticles .article.margin-b0, .mainArticles .gallery.margin-b0 {
    margin: 0;
}
.mainArticles .article_left .image {
    margin-left: 0;
}
.mainArticles .article_right .image {
    margin-right: 0;
}

#wrap_body {
    padding: 0;
}
#mainArticles a:hover img, #sideBanners a:hover img,#sideContact:hover,
div.freeHtml a:hover img, div.image img.gallery:hover, #title h1:hover {
    filter: alpha(opacity=75);
    -moz-opacity: 0.75;
    opacity: 0.75;
}

a {
    color: #269fde;
    text-decoration: none;
}
a:hover {
    color: #666;
}
strong {
    color: #00903f;
}

/*title*/
#title {
    padding: 0;
}
#title h1 {
    background: url(../materials/159132517146701.png) no-repeat center;
    background-size: contain;
    margin: 0;
    padding: 0;
    height: 98px;
    width: 220px;
    position: relative;
    z-index: 1;
}
#title h1 a {
    display: inline-block;
    overflow: hidden;
    text-indent: 110%;
    white-space: nowrap;
    height: 100%;
    width: 100%;
}

#title .description {
    font-size: 16px;
    -webkit-font-smoothing: subpixel-antialiased;
    text-align:right;
    font-feature-settings: 'palt';
    letter-spacing: 0.2em;
    line-height: 1.8em;
    position: absolute;
    z-index: 0;
    top: 24px;
    right: 0;
    left: 0;
    margin: auto;
    width: 1080px;
    padding-left: 300px;
    box-sizing: border-box;
}
/*mainimage*/
#mainImage {
    width: 100%;
}
.mainImage img, #topMenu .topMenu {
    overflow: hidden;
}
.mainImage img {
    max-width: 2000px;
    width: 100%;
}
/*topmenu*/
#topMenu {
    line-height: 60px;
    position: static;
    margin-top: 0px;
    background: #FFF;
    border-bottom: solid 3px #b71f1f;
    box-shadow: 0 -3px 2px 0 inset #c3bfbb;
}
#topMenu .topMenu li {
    padding: 0;
    font-weight: bold;
    width: 20%;
    overflow: hidden;
    box-sizing: border-box;
    text-align: center;
    border-right: solid 1px #CCC;
}
#topMenu .topMenu li:first-child {
    border-left: solid 1px #CCC;
}
#topMenu .topMenu li a {
    color: #444;
    width: auto;
    white-space: nowrap;
    font-weight: normal;
    font-size: 18px;
    letter-spacing: 0;
    padding: 0 10px;
    text-align: center;
}
#topMenu .topMenu li a:hover {
    color: #666;
    background: #EEE;
    position: relative;
}
#topMenu .topMenu li a:hover::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0;
    margin: auto;
    border-style: solid;
    border-color: transparent transparent #b71f1f transparent;
    border-width: 10px 22px;
}

/*pankuz*/
.pankuz p {
    margin-bottom: 0px;
    font-size: 14px;
    color: #777;
    text-align: right;
    border-bottom: none;
    padding-bottom: 10px;
  	padding-top: 20px;
}
/*maintopic*/
#mainTopics .topics li .date,
#mainTopics .topics li .date {
    font-size: 14px;
  	color: #888;
}
#mainTopics .topics li h3 a {
    color: #555;
    font-size: 16px;
}
#mainTopics .topics .description,
#mainTopics .topics li .description{
    font-size: 14px;
    color: #555;
    margin-top: 2px;
}
#mainTopics ul li .more a {
    background: none;
}
#mainTopics .topics li .more a {
    padding: 6px 10px;
    text-decoration: none;
    color: #215290;
    font-size: 14px;
    border: 1px solid #215290;
    margin-right: 10px;
}
#mainTopics .topics li .more a:hover {
    color: #555;
    text-decoration: none;
  	border:1px solid #555;
}
#mainTopics .listview {
    text-align: center;
    margin-bottom: 10px;
}
#mainTopics .listview a {
    width: 30%;
    padding: 2px 0;
    display: inline-block;
    text-align: center;
    font-size: 14px;
    color: #fff;
    background: #b71f1f;
    border-radius: 3px;
}
#mainTopics .listview a:hover {
    text-decoration: none;
    opacity: 0.8;
}
/*main*/
#mainContents {
    margin-bottom: 80px;
    width: 800px;
}
.mainArticles .article,.mainArticles .gallery {
    margin-bottom: 30px;
}
.mainArticles .article p {
    margin-bottom: 8px;
}
.mainArticles .article img {
    margin-bottom: 0;
}
.gallery_grid li.galleryGrid .image a {
    display: block;
}

#service-link .gallery_grid li.galleryGrid .image {
    border: solid 4px #215290;
    border-radius: 8px;
}
#service-link .gallery_grid li.galleryGrid .image:hover{
    background:#c6ecd7;
}
#service-link .gallery_grid li.galleryGrid .comment {
    font-size: 110%;
    font-weight:bold;
}

/*topmenu*/
.active #topMenu ul {
    font-size: 14px;
}
/*headline*/
#mainArticles h2, #listTopics h2 {
    font-size: 200%;
    font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
    line-height: 1.4em;
    min-height: 70px;
    margin: -10px -20px 10px;
    padding: 50px 0 10px;
    font-feature-settings: "palt";
    color: #333;
    border-bottom: none;
    background: url(../materials/159133967564901.png) no-repeat right top;
    background-size: 280px;
}
#mainArticles_body .article_body h2 {
    margin: -20px -40px 10px;
    padding: 20px;
}
.mainContents .article h3, #mainTopics h2, .mainContents div.gallery h3, #mainServices h2 {
    font-size:170%;
    font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
    -webkit-font-smoothing:subpixel-antialiased;
    color: #002560;
    letter-spacing:0;
    position: relative;
    padding: 10px 0 14px;
    margin-bottom: 20px;
}
#mainTopics h2{
    padding:30px 0 0;
}
.mainContents .article h3:after,
 .mainContents div.gallery h3:after,
#mainServices h2:after{
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 68px;
    height: 3px;
    background: #002461;
}
.mainContents .article h3 a,
.mainContents .article h3 a:hover{
  	color:#002560;
  	text-decoration:none;
    line-height: 1.4em;
}
#mainTopics #mainTopics_body h2, #mainServices h2 {
    margin: -10px -20px 18px;
    border: none;
}
.mainContents .article h4 {
    margin-bottom: 14px;
    font-size: 120%;
    text-align: left;
    padding-left: 30px;
    position: relative;
    border: none;
    font-weight: bold;
  	display: flex;
}
.article h4::before {
    content: "";
    position: absolute;
    top: 0.4em;
    left: 0;
    display: block;
    width: 0.3em;
    height: 0.3em;
    background: #666;
    box-shadow: 0 0.4em 0 #b91616, 0.4em 0 0 #b91616, 0.4em 0.4em 0 #666;
}
.article h5 {
    color: #666;
    font-size: 110%;
}

/*flow*/
table#flowTbl {
    border-collapse: collapse;
    border-spacing: 0;
    border: none;
    margin: 30px auto;
    width: 95%;
    list-style: none;
    border-left: 1px dashed #999;
    padding-left: 0;
}
#flowTbl td {
    border: none;
    display: block;
    height: auto;
    margin-bottom: 56px;
    padding: 0 4%;
    position: relative;
}
table#flowTbl td:before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #215290;
    position: absolute;
    left: -6px;
    top: 10px;
}
#flowTbl td::after {
  content: "";
  border-bottom: 1px solid;
  width: 18px;
  background: #666;
  position: absolute;
  top: 15px;
  left: 4px;
}
#flowTbl tr:last-child td {
    margin-bottom: 0;
}
#flowTbl td p.title {
    color: #215290;
    display: block;
    font-size: 110%;
    font-weight: bold;
    letter-spacing: 0.1em;
}



/*mainservice*/
#mainServices .service a{
    font-size: 18px;
}
.mainServices .service .description {
    font-size: 16px;
}
/*side*/
#mainServices .service a, .sideServices li a {
    font-size: 16px;
}
#sideContents {
    margin-bottom: 40px;
}
.mainTopics .topics li h3 {
    font-size: 18px;
}
.mainTopics .topics li {
    font-size: 14px;
}
#sideServices h2 {
    padding: 14px 0;
    margin: 15px 0 0px;
    font-size: 18px;
    text-align: center;
    background: #215290;
}
#sideBlogCategories_body h2, #sideBlogDates #sideBlogDates_body h2 {
    margin-top: 30px;
    font-size: 110%;
    color: #215290;
    border-left: 8px solid #215290;
    padding: 2px 10px;
    margin-bottom: 12px;
}
.sideBlogCategories li a:hover, 
#sideBlogDates #sideBlogDates_body dl dt a:hover, 
#sideBlogDates #sideBlogDates_body li a:hover {
    display: block;
    color: #555;
    text-decoration: none;
}
.sideServices ul {
    padding: 0;
    width: 100%;
}
.sideServices ul li a {
    background: -moz-linear-gradient(top, #ffffff, #f3f3f3);
    background: -webkit-linear-gradient(top, #fff 70%, #f3f3f3);
    background: linear-gradient(to bottom, #fff 70%, #f3f3f3);
    border-bottom: 1px solid #CCC;
    border-top: solid 1px #FFF;
    text-align: center;
    padding: 12px 10px;
    text-decoration: none;
    font-size: 18px;
}
.sideServices ul li a:hover {
    text-decoration: none;
    color: #215290;
    background: #dbf1ff;
}
.sideServices h2 {
    background: #3f3b35;
}
#sideBlogDates {
    margin-bottom: 30px;
}
.sideBlogCategories li a,.sideBlogDates dt a {
    display: block;
    margin: 0 0 4px;
    padding: 10px;
    background: #FFF;
    border-bottom: solid 1px #CCC;
    border-radius: 4px;
    line-height: 1.6em;
}
.sideBlogCategories li a:hover,.sideBlogDates dt a:hover {
    background: #d3edff;
    color: #333;
}
.sideBlogDates li a {
    display: block;
    border-left: solid 6px;
    margin: 0 0 12px;
    padding-left: 10px;
    line-height: 1em;
}
.sideMobile p {
    padding:0;
    font-size: 16px;
}
.sideMobile .qrcode {
    text-align: center;
}
.freeHtml_body {
    margin-bottom: 80px;
}
.side-logo {
    text-align: center;
    margin-top: 20px;
}
.side-logo img {
    width: 100%;
}
.side-text{
  	text-align:center;
  	padding-top:20px;
}
.shop {
    padding-bottom: 10px;
    font-weight: bold;
    font-size: 18px;
}
.add {
    padding: 10px 0;
    border-top: 1px solid #ccc;
}
.tel {
    border-top: 1px solid #ccc;
    padding-top: 20px;
}
.tel a {
    font-size: 20px;
    font-weight: normal;
}
.time{
}

/*footer*/
.footer .services {
    background: none;
}
#footer {
    background: #333;
    padding-bottom: 0;
    border-bottom: solid 40px #215290;
    position: relative;
}
#footer_body {
    overflow: hidden;
}
.footer li a,
.footer .services li a{
    font-size: 16px;
  	color:#fff;
}
#footer p.copyright, #footer p.copyright a, #footer p.powered, #footer p.powered a {
    font-size: 14px;
    color: #fff;
    padding: 0 6px;
}
#footer p.copyright {
    position: absolute;
    bottom: -30px;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 999;
}
.footer .topMenu li a:hover, .footer .services li a:hover {
    color: #9fdeff;
}

/*font*/
.notation {
    font-size: 14px;
}
.align-r {
    text-align: right;
}
.align-c {
    text-align: center;
}
.comment {
    text-align: center;
}
.s-guide .comment {
    background: url(../materials/159133967564901.png) no-repeat right -10px top -6px #d6d3d0;
    background-size: 120px;
    font-weight: bold;
    padding: 8px 20px;
    margin-top: -5px;
}
.s-guide .gallery_grid li.galleryGrid .galleryGrid_body {
    border: solid 4px #d5d3d0;
    border-radius: 4px;
}

/*link*/
.link-wrap {
    margin: 20px 0;
}
.text-link {
    background: #b71f1f;
    text-decoration: none;
    display: inline-block;
    padding: 6px 22px;
    border-radius: 6px;
    color: #fff;
}
.text-link:hover {
    background: #7d1818;
    text-decoration: none;
    color: #fff;
}

.tel-link {
    text-decoration: underline;
    color: #F75;
    font-weight: bold;
}
.notation-wrap {
    border: 2px solid #e86100;
    text-align: center;
    padding: 10px 0;
    background: #fff4ea;
    margin: 10px 0;
}
.notation-wrap a.tel-link {
    font-size: 20px;
    font-weight: normal;
}


/*table*/
.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;
}

.article table.baseTable {
    border-collapse: collapse;
    border-spacing: 0;
    border: none;
    margin: 26px 0;
    width: 100%;
}
.article table.baseTable th,
table.contactTable th {
    background: none;
    border: none;
    border-bottom: 2px solid #444;
    color: #333;
    height: auto;
    line-height: 150%;
    padding: 6px 10px;
    text-align: center;
    vertical-align: middle;
    width: 30%;
}
.article table.baseTable td {
    border: none;
    border-bottom: 1px solid #888;
    line-height: 150%;
    padding: 6px 10px;
}

.article table.priceTable {
    border-collapse: collapse;
    border-spacing: 0;
    border-top: 1px solid;
    border-color:#93bcab;
    margin: 26px 0;
    font-feature-settings: 'palt';
}
.article table.priceTable th {
    background-color: #e4f3ea;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-color:#93bcab;
    color: #444;
    height: auto;
    line-height: 150%;
    padding: 16px 10px;
    text-align: center;
    vertical-align: middle;
}
.article table.priceTable td {
    border-top: 1px solid ;
    border-bottom: 1px solid;
    border-color:#93bcab;
    height: auto;
    line-height: 150%;
    padding: 16px 10px;
    text-align:center;
  	background: #fff;
}
.article table.priceTable thead th, .article table.priceTable th.tblTtl {
    border-color:#93bcab;
}

/*list*/
ul.baseList {
    padding-left: 2em;
}
ul.baseList li {
    list-style-type: disc;
    padding: 5px;
}
ul.checkedList {
    list-style: none;
    margin-bottom: 20px;
}
ul.checkedList li {
    padding: 18px 0 16px 64px;
    border-bottom: 1px dashed #215290;
    background:url(../materials/159116738627101.png)no-repeat left top 14px;
    background-size:50px;
    margin: 0 20px;
    color:#444;
    font-size: 128%;
    font-weight: bold;
}

ol.baseOrderedList {
    padding-left: 2em;
}
ol.baseOrderedList li {
    list-style-type: decimal;
    padding: 5px;
}

/*contact*/
table.contactTable {
    border-left: none;
}
table.contactTable tr td label {
    display: block;
    margin-left: 6px;
}
table.contactTable th, table.contactTable td {
    padding: 16px 5px;
    border-top: solid 1px #aaa;
    border-right: none;
}
table.contactTable td {
    padding-left: 30px;
}
table.contactTable input.button, table.contactTable input[type="button"] {
    display: block;
    float: left;
    width: 33%;
    line-height: 56px;
    color: #fff;
    text-decoration: none;
    font-size: 16px;
    text-align: center;
    height: 56px;
    margin: 8px;
    margin-bottom: 16px;
    border: none;
    border-radius: 4px;
    background: #215290;
    cursor: pointer;
}
table.contactTable input[type="button"]:hover {
    opacity:0.7;
    cursor: pointer;
}
table.contactTable input.button:hover {
    filter: alpha(opacity=75);
    -moz-opacity: 0.75;
    opacity: 0.75;
}
table.contactTable input[type="button"] {
    background: #aaa;
    padding:0px 10px !important;
    width: 100px;
}
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;
}
table.contactTable td p.contact-note {
    font-size: 90%;
    margin: 6px 8px 0;
}
.validator-form .validator-message-valid,
.validator-form .validator-message-invalid{
    padding-left: 24px;
    font-size: 14px;
    padding-top: 2px;
}

.migration-notice {
    margin: 12px 0;
    padding: 12px 16px;
    border-left: 4px solid #215290;
    background: #edf4fb;
    color: #173b69;
    font-weight: 700;
}

table.contactTable button.button {
    display: block;
    float: left;
    width: 33%;
    min-width: 140px;
    height: 56px;
    margin: 8px 8px 16px;
    border: 0;
    border-radius: 4px;
    background: #777;
    color: #fff;
    font-size: 16px;
    cursor: not-allowed;
}
