@charset "UTF-8";

/*! sanitize.css v3.3.0 | CC0 1.0 Public Domain | github.com/10up/sanitize.css */
/*
 * Normalization
 */
abbr[title] {
 text-decoration: underline;
 text-decoration: underline dotted;
}

audio:not([controls]) {
 display: none;
}

b,
strong {
 font-weight: bolder;
}

button {
 -webkit-appearance: button;
 overflow: visible;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
 border: 0;
 padding: 0;
}

button:-moz-focusring,
input:-moz-focusring {
 outline: 1px dotted ButtonText;
}

button,
select {
 text-transform: none;
}

details {
 display: block;
}

hr {
 overflow: visible;
}

html {
 -ms-overflow-style: -ms-autohiding-scrollbar;
 overflow-y: scroll;
 -webkit-text-size-adjust: 100%;
}

input {
 -webkit-border-radius: 0;
}

input[type="button"],
input[type="reset"],
input[type="submit"] {
 -webkit-appearance: button;
}

input[type="number"] {
 width: auto;
}

input[type="search"] {
 -webkit-appearance: textfield;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
 -webkit-appearance: none;
}

main {
 display: block;
}

pre {
 overflow: auto;
}

progress {
 display: inline-block;
}

summary {
 display: block;
}

svg:not(:root) {
 overflow: hidden;
}

template {
 display: none;
}

textarea {
 overflow: auto;
}

[hidden] {
 display: none;
}

/*
 * Universal inheritance
 */
*,
::before,
::after {
 box-sizing: inherit;
}

* {
 font-size: inherit;
 line-height: inherit;
}

::before,
::after {
 text-decoration: inherit;
 vertical-align: inherit;
}

button,
input,
select,
textarea {
 font-family: inherit;
 font-style: inherit;
 font-weight: inherit;
}

/*
 * Opinionated defaults
 */
* {
 margin: 0;
 padding: 0;
}

*,
::before,
::after {
 border-style: solid;
 border-width: 0;
}

a,
area,
button,
input,
label,
select,
textarea,
[tabindex] {
 -ms-touch-action: manipulation;
 touch-action: manipulation;
}


select::-ms-expand {
 display: none;
}

select::-ms-value {
 color: currentColor;
}

svg {
 fill: currentColor;
}

[aria-busy="true"] {
 cursor: progress;
}

[aria-controls] {
 cursor: pointer;
}

[aria-disabled] {
 cursor: default;
}

[hidden][aria-hidden="false"] {
 clip: rect(0 0 0 0);
 display: inherit;
 position: absolute;
}

[hidden][aria-hidden="false"]:focus {
 clip: auto;
}

/*
 * Configurable defaults
 */
* {
 background-repeat: no-repeat;
}

:root {
 /*background-color: #ffffff;*/
 box-sizing: border-box;
 /*color: #000000;*/
}

.content-subtitle a {
 text-decoration: none;
}

.btn {
 text-decoration: none;
}

audio,
canvas,
iframe,
img,
svg,
video {
 vertical-align: middle;
}

button,
input,
select,
textarea {
 background-color: transparent;
 color: inherit;
}

code,
kbd,
pre,
samp {
 font-family: monospace, monospace;
}

nav ol,
nav ul {
 list-style: none;
}

small {
 font-size: 75%;
}

table {
 border-collapse: collapse;
 border-spacing: 0;
}

textarea {
 resize: vertical;
}

::-moz-selection {
 background-color: #b3d4fc;
 color: #ffffff;
 text-shadow: none;
}

::selection {
 background-color: #b3d4fc;
 color: #ffffff;
 text-shadow: none;
}

/*==================================================
 * 初期設定
 *================================================*/
ul,
ol {
 list-style: none;
}

body {
 font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, "メイリオ", "ＭＳ Ｐゴシック", Helvetica, Sans-Serif;
 line-height: 1.7;
 color: #333;
 font-size: 15px;
 word-wrap: break-word;
 overflow-wrap: break-word;
}

img {
 max-width: 100%;
 height: auto;
}

a {
 color: #c9302c;
 text-decoration: underline;
}

a:hover,
a:hover:before {
 text-decoration: none;
}

a img:hover {
 opacity: 0.7;
}

main a {
 text-decoration: underline;
}

main a:hover {
 text-decoration: none;
}

pre {
 display: block;
 padding: 9.5px;
 margin: 0 0 10px;
 font-size: 13px;
 line-height: 1.42857143;
 color: #333;
 word-break: break-all;
 word-wrap: break-word;
 background-color: #f5f5f5;
 border: 1px solid #ccc;
 border-radius: 4px;
 overflow: auto;
}

code,
kbd,
pre,
samp {
 font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
}

p {
 margin: 0 0 15px;
}

.table {
 margin-bottom: 0;
}

.blog-image {
 margin: 0 0 20px;
 text-align: center;
}

.fa.fa_5 {
 font-size: 0.5rem;
}

.fa.fa-1 {
 font-size: 1rem;
}

.fa.fa-1_2 {
 font-size: 1.2rem;
}

.fa.fa-1_5 {
 font-size: 1.5rem;
}

.fa.fa-2 {
 font-size: 2rem;
}

.fa.fa-3 {
 font-size: 3rem;
}

.fa.fa-7 {
 font-size: 7rem;
}

.fa.fa-12 {
 font-size: 12rem;
}

.fa-envelope-o,
.fa-mobile {
 position: relative;
 top: 2px;
}

@media only screen and (min-width: 768px) {

 .content-blog-box:after,
 .blog-image:after {
  display: table;
  content: " ";
 }

 .blog-image {
  margin: 0 0 30px;
 }

 .blog-image a {
  display: block;
  overflow: hidden;
  text-align: center;
  vertical-align: middle;
 }
}

.wsbl_twitter {
 width: 66px;
}

/*==================================================
 * WordPress Classes
 *================================================*/
.wp-caption {
 border: none;
 text-align: left;
 background-color: transparent;
 padding: 0;
 margin: 0 0 11.5px;
 border-radius: 0;
 max-width: 100%;
}

.wp-caption-text {
 color: #555555;
 margin-top: 5px;
 font-size: 12px;
 line-height: 1.4;
}

.gallery {
 margin: 0 0 11.5px;
}

.gallery-item {
 display: inline-block;
 padding: 1.79104477%;
 text-align: center;
 vertical-align: top;
 width: 100%;
}

.gallery-columns-2 .gallery-item {
 max-width: 50%;
}

.gallery-columns-3 .gallery-item {
 max-width: 33.33333%;
}

.gallery-columns-4 .gallery-item {
 max-width: 25%;
}

.gallery-columns-5 .gallery-item {
 max-width: 20%;
}

.gallery-columns-6 .gallery-item {
 max-width: 16.66667%;
}

.gallery-columns-7 .gallery-item {
 max-width: 14.28571%;
}

.gallery-columns-8 .gallery-item {
 max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
 max-width: 11.11111%;
}

.gallery-icon img {
 margin: 0 auto;
}

.gallery-caption {
 display: block;
}

.gallery-columns-6 .gallery-caption,
.gallery-columns-7 .gallery-caption,
.gallery-columns-8 .gallery-caption,
.gallery-columns-9 .gallery-caption {
 display: none;
}

.blog-post-meta {
 border-top: dotted 1px #ccc;
 padding: .5rem 0 0;
 margin-top: 40px;
 font-size: 0.8rem;
}

/* -------------------------------------------
  WordPress Editor
---------------------------------------------- */
img.alignleft,
img.alignright {
 display: block;
 margin: 0 auto;
}

@media only screen and (min-width: 768px) {

 img.size-auto,
 img.size-large,
 img.size-full,
 img.size-medium {
  max-width: 100%;
  height: auto;
 }

 .alignleft,
 img.alignleft {
  display: inline;
  float: left;
  margin-right: 15px;
 }

 .alignright,
 img.alignright {
  display: inline;
  float: right;
  margin-left: 15px;
 }

 .aligncenter,
 img.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
 }

 img.alignleft,
 img.alignright,
 img.aligncenter {
  margin-bottom: 12px;
 }

 .wp-caption {
  border: none;
  border-radius: 0;
  font-size: 12px;
  line-height: 18px;
  margin-bottom: 20px;
  padding: 4px;
  text-align: center;
 }

 .wp-caption img {
  margin: 5px;
 }

 .wp-caption p.wp-caption-text {
  margin: 0 0 4px;
 }

 .wp-smiley {
  margin: 0;
 }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {

 .blog-content img.size-auto,
 .blog-content img.size-large,
 .blog-content img.size-full,
 .blog-content img.size-medium {
  max-width: 60%;
 }
}

/*==================================================
 * デバイス別の表示制御
 *================================================*/
/* for sp */
@media screen and (max-width:767px) {
 .sp-hidden {
  display: none !important;
 }
}

/* for tablet */
@media screen and (min-width:768px) and (max-width:1024px) {
 .tb-hidden {
  display: none !important;
 }
}

/* for pc */
@media screen and (max-width:1025px) {
 .pc-hidden {
  display: none !important;
 }
}

/* PC・SP画像切り替え */
.sp_disp {
 display: none;
}

@media only screen and (max-width: 767px) {
 .pc_disp {
  display: none;
 }

 .sp_disp {
  display: block;
 }
}

/*==================================================
 * 汎用class デバイス幅にかかわらず、単発で利用するためのclass群です
 *================================================*/
.txt-right {
 text-align: right !important;
}

.txt-center {
 text-align: center !important;
}

.fs-small {
 font-size: 0.750rem;
}

.d-none {
 display: none !important;
}

.p0 {
 padding: 0 !important;
}

.m0p0 {
 margin: 0 !important;
 padding: 0 !important;
}

.mt20 {
 margin: 20px 0 0 !important;
}

.mb10 {
 margin: 0 0 10px !important;
}

.mb0 {
 margin-bottom: 0 !important;
}

.txt-alert {
 color: #f00 !important;
}

a.tel-link {
 color: #c9302c;
 font-weight: bold;
}

/*==================================================
 * 見出し 初期スタイル
 *================================================*/
h1 {
 font-size: 26px;
}

h2 {
 font-size: 24px;
}

h3 {
 font-size: 20px;
}

h4 {
 font-size: 18px;
}

h5 {
 font-size: 16px;
}

h6 {
 font-size: 14px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
 font-family: inherit;
 font-weight: 700;
 line-height: 1.4;
 margin: 0 0 10px;
 color: inherit;
}


/*==================================================
 * 見出し パターン別スタイル
 *================================================*/
.content-title--bl {
 margin: 0 0 20px;
 padding: .2em 0 .1em .8em;
 border-left: 6px solid #c9302c;
 position: relative;
 font-size: 20px;
}

.content-subtitle {
 border-bottom: solid 2px #c9302c;
 margin: 0 0 10px;
 padding: 0 0 5px;
}

.content-subtitle--bl-2 {
 margin: 0 0 10px;
}

/* 下ボーダー（2本線） */
.content-title--bbd {
 margin: 0 0 20px;
 padding-bottom: .5em;
 border-bottom: 3px double #c9302c;
}

@media only screen and (min-width: 768px) {

 .content-title--bl,
 .content-title--bbd,
 .content-title--bdacc,
 .content-title--bb2,
 .content-title--marker,
 .content-title--stripe,
 .content-title--gb {
  margin: 0 0 20px;
 }
}


/*==================================================
 * ボタンスタイルをまとめました
 *================================================*/
.content-btn--more {
 clear: both;
 text-align: center;
}

.content-btn--more a {
 background: #c9302c;
 color: #fff;
 padding: 10px 0;
 display: block;
 transition: all 0.5s;
}

.content-btn--more a:hover {
 background: #9f2623;
 text-decoration: none;
}

.btn-custome {
 color: #ffffff;
 background-color: #2c3e50;
 border-color: #233140;
}

.btn-custome:hover {
 background-color: #233140;
 border-color: #1a252f;
 color: #ffffff;
}

.btn-outline {
 position: relative;
 display: inline-block;
 padding: .65em 4em;
 border: 2px solid #333;
 border-radius: 0;
 color: #333;
 text-decoration: none;
 text-align: center;
 transition: .3s ease-in-out;
}

.btn-outline:after {
 position: absolute;
 top: 4px;
 left: 4px;
 z-index: -1;
 content: '';
 width: 102%;
 height: 102%;
 background-color: #fe5f95;
 -ms-transform: rotate(1deg);
 transform: rotate(1deg);
 transition: .3s ease-in-out;
}

.btn-outline:hover {
 color: #fff;
}

.btn-outline:hover:after {
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 -ms-transform: rotate(0);
 transform: rotate(0);
}

/*==================================================
* もっと見る
*================================================*/
.btn--more {
 background: #c9302c;
 border: solid 1px #9f2623;
 color: #fff;
}

.btn--more:hover {
 background: #9f2623;
 border: solid 1px #751c1a;
 color: #fff;
}

/*==================================================
* 新ボタン
*================================================*/
.btn.btn--link {
 background: #c9302c;
 color: #fff;
 display: inline-block;
 text-align: center;
}

.btn.btn--link:hover {
 background: #b42b27;
 color: #fff;
}

.btn-column {
 display: block;
 margin: 0 auto;
 width: 60%;
}

/*==================================================
* カテゴリ一覧
*================================================*/
.btn-catlist {
 color: #ffffff;
 background-color: #c9302c;
 margin: 0 5px 5px 0;
 padding: 3px 6px;
}

.btn-catlist:hover {
 color: #fff;
}

/*==================================================
 * jquery wordpressプラグイン用
 *================================================*/
.bx-wrapper .bx-controls-direction a {
 z-index: 1;
}

.bx-wrapper {
 margin: 0 auto;
}

.bx-wrapper img {
 width: 100%;
}

.bx-controls-direction {
 display: none;
 z-index: 1010;
}

.bx-wrapper .bx-controls-direction a {
 background: rgba(0, 0, 0, 0.6);
 display: block;
 width: 50px;
 height: 50px;
 white-space: nowrap;
 overflow: hidden;
 text-indent: -100%;
}

.bx-wrapper .bx-prev,
.bx-wrapper .bx-next {
 transition: all 0.7s;
}

.bx-wrapper .bx-prev:hover,
.bx-wrapper .bx-next:hover {
 text-decoration: none;
 opacity: 0.7;
}

.bx-wrapper .bx-prev:before,
.bx-wrapper .bx-next:before {
 color: #fff;
 font-size: 28px;
 line-height: 1;
 width: 28px;
 height: 28px;
 font-family: FontAwesome;
 text-indent: 0;
 position: absolute;
 top: 12px;
}

.bx-wrapper .bx-prev {
 left: 0;
}

.bx-wrapper .bx-prev:before {
 content: '\f104';
 left: 17px;
}

.bx-wrapper .bx-next {
 right: 0;
}

.bx-wrapper .bx-next:before {
 content: '\f105';
 right: 0;
}

.bx-wrapper .bx-pager,
.bx-wrapper .bx-controls-auto {
 bottom: 10px;
}

.bx-wrapper .bx-pager.bx-default-pager a {
 border-radius: 0;
}

.bx-pager-thumb {
 margin: 20px 0 0;
}

.bx-pager-thumb li {
 float: left;
 width: 32%;
}

.bx-pager-thumb li:not(:last-child) {
 margin: 0 2% 0 0;
}

@media only screen and (min-width: 768px) {
 .bx-controls-direction {
  display: block;
 }

 .bx-wrapper .bx-pager,
 .bx-wrapper .bx-controls-auto {
  bottom: 20px;
 }

 .bx-wrapper .bx-pager.bx-default-pager a {
  width: 15px;
  height: 15px;
 }
}

/*==================================================
 * wp social bookmark light
 *================================================*/
.wsbl_twitter {
 width: 67px;
}


/*==================================================
 * ぱんくずナビ
 *================================================*/
.breadcrumbs {
 /*background: #eee;*/
 margin: 0 0 20px;
 padding: 5px 0;
}

.breadcrumbs>* {
 font-size: .750rem;
 color: #666;
}

.breadcrumbs-list li {
 display: inline-block;
}

.breadcrumbs-list li:not(:last-child):after {
 content: ">";
 padding: 0 10px;
}

.breadcrumbs-list li a {
 color: #666;
 font-size: .750rem;
}

@media only screen and (min-width: 768px) {
 .breadcrumbs {
  margin: 0 0 40px;
 }
}

/*==================================================
 * コンテンツ部分 カテゴリ一覧
 *================================================*/
.cat-links {
 margin: 0 auto 30px;
}

.cat-links a {
 font-size: .750rem;
}

@media only screen and (min-width: 768px) {
 .cat-links {
  margin: 0 auto 40px;
 }

 .cat-links ul li {
  margin-bottom: 0;
 }
}

/*==================================================
 * ウィジェット サイドカテゴリ一覧
 *================================================*/
.widget li a {
 text-decoration: none;
}

.widget li a:hover {
 text-decoration: underline;
}

.widget_categories li a {
 position: relative;
 padding: 0 0 0 1em;
}

.widget_categories li a:before {
 content: "\f105";
 font-family: FontAwesome;
 font-style: normal;
 font-weight: normal;
 text-decoration: inherit;
 color: #ccc;
 position: absolute;
 left: 0;
}

.widget_categories li a:hover:before {
 text-decoration: none;
}

.widget_categories .children {
 padding: 10px 0 10px .5rem;
}


/*==================================================
 * ページナビ wp-pagenavi
 *================================================*/
.wp-pagenavi {
 clear: both;
}

.wp-pagenavi a {
 color: #fff;
 display: inline-block;
 background: #666;
 padding: 5px 10px;
 text-decoration: none;
 margin: 0 5px;
}

.wp-pagenavi span {
 color: #ccc;
 display: inline-block;
 background: #666;
 padding: 5px 10px;
 margin: 0 5px 0 0;
}


/*==================================================
 * facebook page plugin レスポンシブ
 *================================================*/
.facebook-wrapper {
 max-width: 500px;
 margin: 0 auto;
}

.fb-page-plugin {
 max-width: 500px;
 margin: 0 auto;
}

.fb-page-plugin>.fb-page {
 width: 100%;
}

.fb-page-plugin>.fb-page>span,
.fb-page-plugin iframe {
 width: 100% !important;
}

.menu-scroll {
 display: none;
}

@media only screen and (min-width: 768px) {
 .fb-page-plugin {
  border: solid 1px #ccc;
 }

 .menu-scroll {
  display: block;
  position: fixed;
  right: 30px;
  top: 130px;
  z-index: 1;
 }
}

/*==================================================
 * sp 追従ボタン
 *================================================*/
.sp-conversion {
 background-color: rgba(76, 76, 76, 0.7);
 position: fixed;
 bottom: -1%;
 left: 0;
 padding: 10px 0;
 z-index: 0;
 width: 100%;
}

.sp-conversion-list {
 border-spacing: 10px 0;
 display: table;
 table-layout: fixed;
 width: 100%;
}

.sp-conversion-list li {
 display: table-cell;
 text-align: center;
}

.sp-conversion-list li a {
 border-radius: 3px;
 color: #fff;
 display: block;
 font-size: 11px;
 text-shadow: none;
 text-decoration: none;
 padding: 10px;
}

.btn-conversion--tel a {
 background: #068bf1;
 border-bottom: 2px solid #0b6cba;
 position: relative;
}

.btn-conversion--mail a {
 background: #61aa12;
 border-bottom: 2px solid #509407;
 position: relative;
}

@media only screen and (min-width: 768px) {
 .sp-conversion {
  display: none;
 }
}

/*==================================================
 * サイドバー ウィジェット
 *================================================*/
@media only screen and (max-width: 767px) {
 .widget-area {
  display: none;
 }
}

.widget {
 margin: 0 0 30px;
}

.widget ul li {
 font-size: 0.9rem;
 line-height: 1.5;
}

.widget ul li:not(:last-child) {
 margin: 0 0 10px;
}

.widget-title {
 padding-left: 10px;
 border-bottom: solid 1px #ccc;
 padding-bottom: 5px;
}

.widget-links-outer {
 border: solid 1px #ccc;
}

#info-blog li {
 border-bottom: dotted 1px #ccc;
}

.widget-links-list li a {
 display: block;
 padding: 10px 10px 10px 30px;
 background: url(../img/icon_bit.gif) no-repeat 10px center;
}

.widget-links-list li a:hover {
 background-color: #f0f0f0;
 text-decoration: none;
}

.widget-links-list li:not(:last-child) {
 border-bottom: solid 1px #ccc;
}

.widget-info-list li p {
 margin: 0;
 padding: 0;
}

.widget-info-list li a {
 display: block;
}

.widget-info-list li:not(:last-child) {
 border-bottom: solid 1px #ccc;
 margin: 0 0 20px;
 padding: 0 0 10px;
}

#secondary .widget {
 margin: 0 0 20px;
}

.widget-info-date {
 color: #666;
 font-size: 0.750rem;
}

.widget_recent_entries a {
 display: block;
 padding: 10px 3px 10px 3px;
}

.widget_recent_entries a:hover,
.widget_categories a:hover {
 background-color: #f0f0f0;
}

.widget_categories li a:before {
 text-decoration: none;
}

.widget_recent_entries .post-date {
 color: #666;
 font-size: 0.750rem;
 padding-bottom: 5px;
}

@media only screen and (min-width: 768px) {
 .widget {
  margin: 0;
 }

 .widget:not(:last-of-type) {
  margin: 0 0 30px;
 }

 .widget h2 {
  padding-top: 15px;
  padding-bottom: 15px;
 }
}

@media only screen and (min-width: 768px) {
 .d-none {
  display: block;
 }
}

.widget-image {
 text-align: center;
}

@media only screen and (max-width: 1024px) {

 input[type="text"],
 input[type="email"],
 textarea.form-control {
  font-size: 16px;
 }
}

#info-blog {
 margin-bottom: 30px;
}

li.cat-item a {
 display: block;
 padding-top: 10px;
 padding-bottom: 10px;
}

/*==================================================
 * 画像スタイル
 *================================================*/
.img-thumbnail {
 display: inline-block;
 max-width: 100%;
 height: auto;
 padding: 4px;
 line-height: 1.42857143;
 background-color: #fff;
 border: 1px solid #ddd;
 border-radius: 4px;
 transition: all .2s ease-in-out;
}

.img-circle {
 border-radius: 50%;
}

.img-rounded {
 border-radius: 6px;
}

/*==================================================
 * フリーエリア
 *================================================*/
.free-area {
 margin: 0 0 20px;
}

@media only screen and (min-width: 768px) {
 .free-area {
  margin: 0 0 40px;
 }
}

.free-area--top {
 margin: 0 0 30px;
}

@media only screen and (min-width: 768px) {

 .free-area--top {
  margin: 0 0 50px;
 }

}

/*==================================================
 * 4カラム バナーエリア
 *================================================*/
.column-4-images {
 margin: 0 0 50px;
}

.column-4-image:not(:last-of-type) {
 margin: 0 0 20px;
}

@media only screen and (min-width: 768px) {
 .column-4-images {
  margin: 0 0 100px;
 }

 .column-4-image:not(:last-of-type) {
  margin: 0;
 }
}

/*==================================================
 * ベースのレイアウトスタイル
 *================================================*/
.content-box {
 margin: 0 0 20px;
}

.content-blog-box .content-subtitle {
 margin-bottom: 40px;
}

.content-blog-box:not(:last-of-type) {
 border-bottom: solid 2px #ccc;
 margin: 0 0 15px;
 padding: 0 0 15px;
}

.blog-content {
 margin: 0 0 20px;
}

.signature {
 margin: 30px auto;
 border-top: solid 1px #666;
 border-bottom: solid 1px #666;
 padding: 10px 0;
}

@media only screen and (min-width: 768px) {
 .content-box {
  margin: 0 0 40px;
 }

 .content-blog-box:not(:last-of-type) {
  margin: 0 0 25px;
  padding: 0 0 25px;
 }
}

@media only screen and (min-width: 768px) {
 .signature {
  padding: 20px 0;
 }
}

/*==================================================
 * ヘッダー
 *================================================*/
header {
 padding: 10px 0 0;
}

.headertop-copy {
 margin: 5px 5px 10px 0;
 padding: 0;
 font-size: 10px;
}

@media only screen and (max-width: 768px) {
 .headertop-copy {
  width: 80%;
 }
}

.header-tel dl dt {
 background-color: #e7e7e7;
 text-align: center;
 margin-bottom: 5px;
 padding-top: 3px;
 padding-bottom: 3px;
 font-size: 0.8em;
 font-weight: normal;
}

.header-tel dl dd {
 font-size: 1.5rem;
 text-align: center;
}

.headertop {
 background: #fff;
 margin: 0;
 width: 100%;
 z-index: 999;
 position: relative;
 padding: 0 0 20px;
 border-bottom: solid 1px #ccc;
}

@media only screen and (min-width: 768px) {
 .header-tel dl dd {
  font-size: 18px;
 }
}

@media only screen and (min-width: 768px) {
 .headertop {
  background: transparent;
 }

 .headertop-copy {
  margin: 5px 0 15px 0;
 }

 .headertop {
  width: auto;
  position: static;
  padding: 0;
  border-bottom: 0;
 }
}

.logo {
 max-width: 50%;
}

@media only screen and (min-width: 768px) {
 .logo {
  max-width: none;
 }
}

.global-nav {
 background: #fff;
 display: none;
}

.global-nav ul {
 text-align: center;
}

.global-nav ul li a {
 display: block;
 padding: 10px 0;
}

.global-nav ul li span {
 display: none;
}

.global-nav ul .current-menu-item a {
 background: linear-gradient(#c9302c, #9f2623);
 color: #fff;
}

.global-nav ul .current-menu-item span {
 color: #fff;
 opacity: 0.7;
}

.global-nav--bottom {
 border-bottom: solid 1px #ccc;
 margin: 0 0 20px;
}

.header-info {
 margin: 0 0 20px;
}

@media only screen and (min-width: 768px) {
 .logo {
  float: left;
 }

 .tel {
  float: right;
 }
}

/*==================================================
 * グローバルナビ 開閉ボタン
 *================================================*/
#nav-toggle {
 display: block;
 position: absolute;
 right: 15px;
 top: 20px;
 width: 34px;
 height: 36px;
 cursor: pointer;
 z-index: 101;
}

#nav-toggle div {
 position: relative;
}

#nav-toggle span {
 display: block;
 position: absolute;
 height: 4px;
 width: 100%;
 background: #666;
 left: 0;
 transition: .35s ease-in-out;
}

#nav-toggle span:nth-child(1) {
 top: 11px;
 top: 0;
}

#nav-toggle span:nth-child(2) {
 top: 11px;
}

#nav-toggle span:nth-child(3) {
 top: 22px;
}

@media only screen and (min-width: 768px) {
 #nav-toggle {
  display: none;
 }
}

#menu-header .sub-menu {
 background: #eee;
}

@media only screen and (min-width: 768px) {
 #menu-header .menu-item-has-children {
  position: relative;
 }

 #menu-header .sub-menu {
  background: #fff;
  display: none;
  position: absolute;
  z-index: 9999;
  top: 100%;
  left: 0px;
 }

 #menu-header .sub-menu li {
  float: left;
  width: 100%;
 }

 #menu-header .sub-menu li:not(:last-child) {
  border-bottom: solid 1px #eee;
 }

 #menu-header .sub-menu:after {
  content: '';
  clear: both;
 }
}

#menu-header li a {
 text-decoration: none;
}

/*==================================================
 * グローバルナビ 開閉ボタン　展開時
 *================================================*/
.open #nav-toggle span:nth-child(1) {
 -ms-transform: rotate(315deg);
 transform: rotate(315deg);
 top: 11px;
}

.open #nav-toggle span:nth-child(2) {
 width: 0;
 left: 50%;
 top: 11px;
}

.open #nav-toggle span:nth-child(3) {
 -ms-transform: rotate(-315deg);
 transform: rotate(-315deg);
 top: 11px;
}

/*==================================================
 * グローバルナビ ドロップダウンメニュー
 *================================================*/
.btn-contact {
 color: #fff;
 padding: 12px 0;
 position: relative;
 background-color: #c9302c;
}

.btn-contact:before {
 content: "\f003";
 font-family: FontAwesome;
 font-style: normal;
 font-weight: normal;
 text-decoration: inherit;
 /*--adjust as necessary--*/
 color: #fff;
 font-size: 18px;
 padding-right: 0.5em;
}

.btn-contact:hover {
 color: #fff;
}


/*-- 子カテゴリーのスタイル追加 --*/
#menu-header .sub-menu.blog-child {}

#menu-header .sub-menu.blog-child ul {
 border-bottom: #eee 1px solid;
}

#menu-header .sub-menu.blog-child li {
 /* border-bottom: none; */
}

#menu-header .sub-menu.blog-child li li {
 border-top: #eee 1px solid;
}




/*==================================================
 * sp版 スライドメニュー
 *================================================*/
@media only screen and (min-width: 768px) {
 .top-head {
  border-bottom: 0;
  overflow: visible;
 }

 .headertop-copy {
  font-size: 11px;
 }

 .bg-global-nav {
  background: #c9302c;
  border-top: 2px solid #c9302c;
  border-bottom: 1px solid #c9302c;
 }

 .global-nav {
  display: block;
  position: static;
 }

 .global-nav ul {
  width: 100%;
  display: table;
  table-layout: fixed;
  border-collapse: collapse;
  margin: 0px;
  padding: 0px;
 }

 .global-nav ul li {
  background: #c9302c;
  display: table-cell;
  font-size: 14px;
  vertical-align: middle;
  text-align: center;
 }

 .global-nav ul li a {
  text-decoration: none;
  color: #fff;
  display: block;
  font-size: 14px;
  padding-top: 15px;
  padding-right: 0;
  padding-left: 0;
  font-weight: bold;
  padding-bottom: 15px;
 }

 .global-nav ul li:hover {
  /*background: #fff;*/
  color: #c9302c;
 }

 .global-nav ul li:hover>a {
  color: #c9302c;
 }

 .global-nav ul li:hover span {
  /*color: #fff;*/
  opacity: 0.7;
 }

 .global-nav ul .current {
  background: #fff;
  color: #c9302c;
 }

 .global-nav ul .current a {
  color: #c9302c;
 }

 .global-nav ul .current span {
  color: #c9302c;
  opacity: 0.7;
 }

 .global-nav ul li span {
  display: block;
  font-size: 0.625em;
 }

 .global-nav-label--ja {
  display: inline-block;
  line-height: 1.4;
 }
}

@media only screen and (min-width: 768px) {
 .global-nav {
  margin: 0 auto;
  max-width: 1140px;
 }

 .top-head {
  position: static;
 }
}

/*==================================================
 * コンテンツ部分
 *================================================*/
.wrapper-top-contents {
 padding: 15px 0;
}

.contents {
 margin: 0 auto 50px;
}

.contents-main-left {
 margin: 0 0 50px;
}

.contents-main-right {
 margin: 0 0 50px;
}

@media only screen and (min-width: 768px) {
 .wrapper-top-contents {
  padding: 15px 0 30px;
 }
}

@media only screen and (min-width: 1024px) {
 .contents-main-right {
  float: right;
 }
}

.content-main-section:not(:last-of-type) {
 margin: 0 0 50px;
}

.content-image-left,
.content-image-center,
.content-image-right {
 margin: 0 0 20px;
 text-align: center;
}

.content-description-list dt {
 border-bottom: dotted 1px #c9302c;
 color: #c9302c;
 font-weight: bold;
 margin: 0 0 15px;
 padding: 0 0 10px;
}

.content-description-list dd {
 margin: 0 0 20px;
}

@media only screen and (min-width: 768px) {
 .contents {
  padding-bottom: 100px;
 }

 .content-main-section:after {
  content: "";
  clear: both;
  display: block;
 }

 .content-image-left {
  float: left;
  text-align: left;
  padding: 0 15px 15px 0;
 }

 .content-image-right {
  float: right;
  text-align: right;
  padding: 0 0 15px 15px;
 }
}

.topgallery-area {
 color: #999;
 font-size: .714rem;
}

@media only screen and (min-width: 768px) {
 .top-contents {
  padding: 0;
 }

 .content-image-left,
 .content-image-right {
  max-width: 390px;
 }

 .content-image-text {
  overflow: hidden;
 }
}

/*==================================================
* snsバナーなど
*================================================*/
.side-banner {
 text-align: center;
}

.side-banner:not(:last-of-type) {
 margin: 0 0 20px;
}

.top-banners {
 margin: 0 0 30px;
}

.top-banners-box:not(:last-of-type) {
 margin: 0 0 20px;
}

@media only screen and (min-width: 768px) {
 .top-banners-box {
  margin: 0;
 }
}

@media only screen and (max-width: 767px) {
 .top-banners-box {
  text-align: center;
 }
}

@media only screen and (min-width: 768px) {
 .top-banners {
  margin: 0 auto 40px;
 }
}

.top-banners--split {
 display: block;
 margin: 0 0 10px;
}

/*==================================================
 * フッター
 *================================================*/
.footer-bgtop {
 padding: 15px 10px;
}

.footer-bgtop-container {
 margin-right: 0;
 margin-left: 0;
 padding-right: 0;
 padding-left: 0;
}

.footer-bgbottom {
 /*background: #ccc;*/
 padding: 0 0 60px;
}

#menu-footer {
 text-align: center;
 margin: 0px;
}

#menu-footer li a {
 display: block;
 padding: 10px 0;
}

.footer-copy {
 padding: 10px 0 0;
}

#menu-footer {
 border-top: 1px solid #ccc;
}

@media only screen and (min-width: 768px) {
 .footer-bgbottom {
  padding: 0;
 }
}

@media only screen and (min-width: 768px) {
 .footer-bgtop {
  padding: 30px 0;
 }

 .footer-bgtop .container {
  margin-right: auto;
  margin-left: auto;
 }

 #menu-footer {
  width: 100%;
  display: table;
  table-layout: fixed;
 }

 #menu-footer li {
  display: table-cell;
  text-align: center;
 }

 .footer-copy p {
  margin: 0;
 }

 #menu-footer {
  border-top: 0;
 }

 #menu-footer>li {
  border-bottom: 0;
 }

 #menu-footer>li>a {
  position: static;
 }

 #menu-footer>li>a:before {
  content: none;
  position: static;
 }

 .footer-childmenu {
  border-top: 0;
 }

 .footer-childmenu li:not(:last-child) {
  border-bottom: 0;
 }
}

.footer-snsicons ul {
 margin-bottom: 0;
 border-spacing: 10px 0;
 display: table;
 table-layout: fixed;
}

.footer-snsicons ul li {
 display: table-cell;
}

.menu-footer_all-container {
 margin-left: -15px;
 margin-right: -15px;
}

#menu-footer_all {
 margin-bottom: 0;
 position: relative;
 min-height: 1px;
}

#menu-footer_all li a {
 text-decoration: none;
}

#menu-footer_all li a:hover {
 text-decoration: underline;
}

.footer-backtotop a {
 text-decoration: none;
}

#menu-footer_all>li:not(:last-child) {
 margin: 0 0 30px;
}

#menu-footer_all>li>a {
 border-bottom: solid 2px #ccc;
 display: block;
 font-weight: bold;
 line-height: 1.1;
 margin: 0 0 20px;
 padding: 0 0 10px;
 text-align: center;
}

#menu-footer_all .sub-menu li:not(:last-child) {
 border-bottom: solid 1px #ccc;
 margin: 0 0 10px;
 padding: 0 0 5px;
}

#menu-footer_all .sub-menu li a {
 position: relative;
 padding: 0 0 0 1em;
}

#menu-footer_all .sub-menu li a:before {
 content: "\f105";
 font-family: FontAwesome;
 font-style: normal;
 font-weight: normal;
 text-decoration: inherit;
 color: #ccc;
 font-size: 18px;
 position: absolute;
 top: -3px;
 left: 0;
}

#menu-footer_all .sub-menu li a:hover:before {
 text-decoration: none;
}


/*-- 子カテゴリーのスタイル追加 --*/
#menu-footer_all .sub-menu li a {
 border-bottom: #ccc 1px solid;
 margin: 0 0 10px;
 padding: 0 0 10px 1em;
}

#menu-footer_all .sub-menu li:not(:last-child) {
 border: none;
 margin: 0;
 padding: 0;
}

#menu-footer_all .sub-menu li ul a {}



@media only screen and (max-width: 1024px) {
 #menu-footer_all .sub-menu li {
  text-align: center;
 }

 #menu-footer_all .sub-menu li a {
  display: inline-block;
 }
}

@media only screen and (min-width: 1025px) {
 #menu-footer_all>li {
  float: left;
  width: 16.6%;
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
 }

 #menu-footer_all.count07>li {
  width: 14.1%;
 }

 #menu-footer_all.count08>li {
  width: 12.4%;
 }

 #menu-footer_all.count09>li {
  width: 11%;
 }

 #menu-footer_all.count10>li {
  width: 10%;
 }

 #menu-footer_all>li>a {
  min-height: 40px;
 }

 #menu-footer_all>li:not(:last-child) {
  margin: 0;
 }

 #menu-footer_allafter {
  content: '';
  clear: both;
 }
}

.footer-backtotop {
 margin: 0;
}

.footer-backtotop a {
 background: #c9302c;
 color: #fff;
 display: block;
}

.footer-backtotop a:hover {
 opacity: 0.7;
 text-decoration: none;
}

.content-column {
 margin: 0 0 30px;
}

hr {
 border-top: dotted 1px #ccc;
 border-left: none;
 border-right: none;
 border-bottom: none;
 padding-bottom: 5px;
}

.topgallery-label {
 background: #c9302c;
 color: #fff;
 display: block;
 padding: 5px;
 position: absolute;
 z-index: 1;
}

/*==================================================
 * トップページ コンテンツ部分テキストリンク設定
 *================================================*/
.home .toppr a,
.home .toppr2 a,
.home .toppr-excerpt a {
 text-decoration: underline;
}

.home .toppr a:hover,
.home .toppr2 a:hover,
.home .toppr-excerpt a:hover {
 text-decoration: none;
}

.home a.btn {
 text-decoration: none;
}

/*==================================================
 * トップページ カレンダーウィジェット
 *================================================*/
.home .widgettitle {
 font-size: 1.429em;
 margin: 0 0 10px;
 padding-bottom: .5em;
 border-bottom: 3px double #ccc;
 padding-top: 0;
 text-align: center;
}

.menu_description {
 margin: 0 0 20px;
}

@media only screen and (min-width: 768px) {
 .menu_description {
  margin: 0 0 30px;
 }
}

/*==================================================
 * スライダー
 *================================================*/
.caption--slider {
 margin: 10px 0 0;
}

/*==================================================
* エディタ用
*================================================*/
#tinymce p:not(:last-of-type) {
 margin-bottom: 10px;
}

#tinymce .alignleft {
 display: inline;
 float: left;
 margin-right: 1.5em;
}

#tinymce .alignright {
 display: inline;
 float: right;
 margin-left: 1.5em;
}

#tinymce .aligncenter {
 clear: both;
 display: block;
 margin-left: auto;
 margin-right: auto;
}

/* バナーエリア */
.banner-separate:first-of-type {
 margin: 0 0 20px;
}

@media screen and (max-width:1023px) {
 .banner-separate {
  text-align: center;
 }
}

/* ショートコード */
.pagelink li {
 display: inline-block;
}

.pagelink li:not(:last-child) {
 padding: 0 1rem 0 0;
}

.ptb20 {
 padding-top: 20px;
 padding-bottom: 20px;
}

.table01 {
 width: 100%;
}

.table01 th,
.table01 td {
 border-top: dotted 1px #999;
 border-bottom: dotted 1px #999;
 padding: 10px;
 vertical-align: top;
}


/*----------------------------------------------------
  .table01
----------------------------------------------------*/
.table01 th {
 text-align: left;
}

.table01 td {
 text-align: right;
}

@media only screen and (max-width:767px) {

 .table01 th,
 .table01 td {
  width: 100%;
  display: block;
  border-top: none;
 }

 .table01 tr:first-child th {
  border-top: 1px solid #ddd;
 }
}


/*----------------------------------------------------
  カルーセルコンポーネント
----------------------------------------------------*/
.slick-slide:focus {
 outline: 0;
}

.home .toppage_column1 #menu-carousel {
 display: none;
}

.toppage_column1 .carousel-images__1 {
 display: none;
}

.carousel-images {
 clear: both;
 padding: 0 10px;
 width: 98%;
}

.home .carousel-images {
 margin: 50px auto;
}

.home .com-md-3 .carousel-images {
 margin: 50px auto;
}

.col-md-3 .carousel-images {
 margin: 0 auto 20px;
}

.carousel-images * {
 outline: none;
}

.carousel-images img {
 vertical-align: bottom;
}

.carousel-images a:hover {
 text-decoration: none;
}

.carousel-thumb {
 display: block;
 overflow: hidden;
}

.carousel-image {
 background: #fff;
 margin: 0 5px;
 display: block;
 border: solid 1px #ccc;
 padding: 10px;
 border-radius: 5px;
}

.carousel-image:hover {
 background: #ccc;
}

.carousel-images .slick-prev {
 left: -15px;
}

.carousel-images .slick-next {
 right: -15px;
}

.carousel-image img {
 transition: transform 0.2s linear;
}

.carousel-image:hover img {
 transform: scale(1.1);
}

@media screen and (max-width:667px) {
 .carousel-images {
  width: 95%;
 }

 .carousel-images .slick-prev {
  left: -15px;
 }

 .carousel-images .slick-next {
  right: -15px;
 }
}

.carousel-caption {
 margin: 10px 0 0;
}

.carousel-link {
 text-decoration: none !important;
}

/*----------------------------------------------------
トップに戻るボタン
----------------------------------------------------*/
#btn-page-top {
 display: none;
 position: fixed;
 right: 5%;
 bottom: 12%;
}

#btn-page-top a {
 color: #fff;
 display: block;
 width: 50px;
 height: 50px;
 line-height: 50px;
 -webkit-border-radius: 25px;
 -moz-border-radius: 25px;
 border-radius: 25px;
 background-color: rgba(102, 102, 102, 0.5);
 text-align: center;
 transition: all 0.3s;
}

#btn-page-top a:hover {
 opacity: 0.85;
}

@media screen and (max-width: 767px) and (orientation: landscape) {
 #btn-page-top {
  bottom: 20%;
 }
}

@media screen and (min-width: 768px) {
 #btn-page-top {
  bottom: 15%;
 }
}

/*----------------------------------------------------
snsシェアボタン
----------------------------------------------------*/
/* snsボタン */
.btn-share a {
 display: block;
 text-decoration: none;
}

.btn-share a:hover {
 opacity: .5;
}

.btn-fb-share,
.btn-tw-share {
 border-radius: 3px;
}

.home .btn-fb-share,
.home .btn-tw-share {
 float: left;
 height: 60px;
 line-height: 60px;
 width: 100%;
}

.btn-tw-share {
 background: #00acee;
}

.btn-fb-share {
 background: #305097;
}

.btn-fb-share a,
.btn-tw-share a {
 color: #fff;
 text-align: center;
}

.btn-fb-share a:hover,
.btn-tw-share a:hover {
 color: #fff;
}

@media screen and (max-width:768px) {
 .home .btn-tw-share {
  margin-bottom: 20px;
 }
}

@media screen and (min-width:768px) {

 .home .btn-fb-share,
 .home .btn-tw-share {
  height: 32px;
  line-height: 32px;
  font-size: 10px;
  width: 47%;
 }

 .home .btn-tw-share {
  margin: 0 10px 0 0;
 }
}

@media screen and (min-width:1025px) {

 .home .btn-fb-share,
 .home .btn-tw-share {
  height: 60px;
  line-height: 60px;
  width: 48%;
  font-size: 1rem;
 }

 .col-md-3 .btn-share a {
  font-size: 12px;
 }

 .col-md-3 .btn-fb-share,
 .col-md-3 .btn-tw-share {
  width: 100%;
  height: 43px;
  line-height: 43px;
 }

 .col-md-3 .btn-tw-share {
  margin-bottom: 10px;
 }
}

.btn-fb-share,
.btn-tw-share {
 height: 43px;
 line-height: 43px;
 width: 100%;
}

.btn-tw-share {
 margin-bottom: 20px;
}

.table-company--top tr:first-child th,
.table-company--top tr:first-child td {
 border-top: 0;
}

.global-nav-label--en {
 /*display: none !important;*/
}

/* 施工事例 */
.topgallery-image {
 text-align: center;
}

.topgallery-image img {
 max-height: 270px;
 width: auto;
}