/*
Theme Name:   GeneratePress Child
Author:       NoguchiKikaku
Template:     generatepress
Unsemantic CSS Framework Documentation http://unsemantic.com/css-documentation

■目次
・フォント設定
・共通設定
・カラー設定
・見出し装飾
・ボタン装飾
・Unsemantic調整
・お知らせ系ショートコード
・コンタクトフォーム
・ヘッダー
・ナビゲーション
・ウィジェット
・CTA
・フッター
・トップページ
・一覧・詳細

・テーブル
・DL DT DD
・WP-PAGENAVI
・メディアクエリ
*/

@import url(https://www.jp1web.com/css/tools.css);
@import url(https://www.jp1web.com/css/bootstrap.css);
@import url(https://fonts.googleapis.com/css?family=Ramabhadra);

/* =========================================================
* フォント設定
========================================================= */

@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: normal;
    src: url('font/NotoSansCJKjp-Regular-sub.eot');
    src: local('Noto Sans CJK JP Regular'), url('font/NotoSansCJKjp-Regular-sub.eot?#iefix') format('embedded-opentype'), url('font/NotoSansCJKjp-Regular-sub.woff') format('woff'), url('font/NotoSansCJKjp-Regular-sub.otf') format('opentype');
}

@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: bold;
    src: url('font/NotoSansCJKjp-Medium-sub.eot');
    src: local('Noto Sans CJK JP Medium'), url('font/NotoSansCJKjp-Medium-sub.eot?#iefix') format('embedded-opentype'), url('font/NotoSansCJKjp-Medium-sub.woff') format('woff'), url('font/NotoSansCJKjp-Medium-sub.otf') format('opentype');
}

@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: normal;
    src: url('font/Roboto-Regular-sub.eot');
    src: local('Roboto Regular'), url('font/Roboto-Regular-sub.eot?#iefix') format('embedded-opentype'), url('font/Roboto-Regular-sub.woff') format('woff'), url('font/Roboto-Regular-sub.ttf') format('truetype');
}

@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: bold;
    src: url('font/Roboto-Bold-sub.eot');
    src: local('Roboto Bold'), url('font/Roboto-Bold-sub.eot?#iefix') format('embedded-opentype'), url('font/Roboto-Bold-sub.woff') format('woff'), url('font/Roboto-Bold-sub.ttf') format('truetype');
}


/* =========================================================
* 共通設定
========================================================= */

body {
    font-family: "Roboto", "Droid Sans", "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", "YuGothic", "メイリオ", "Meiryo", sans-serif;
    line-height: 1.8;
    letter-spacing: 0.1em;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"],
.button,
.button:visited {
    font-family: "Roboto", "Droid Sans", "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", "YuGothic", "メイリオ", "Meiryo", sans-serif;
}

input[type="button"],
input[type="reset"],
input[type="submit"] {
    border: 0;
    cursor: pointer;
    -webkit-appearance: button;
    background: #333;
    color: #fff;
    border-radius: 3px;
    padding: 10px 30px;
}

input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
input[type="button"]:active,
input[type="reset"]:active,
input[type="submit"]:active,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus {
    background-color: #555;
    color: #fff;
}


/* =========================================================
* カラー設定
========================================================= */


/* ベースカラー */

.bace-color {
    color: #1F5C9E;
}

.sub-color {
    color: #F15D5D;
}

i {
    color: #1F5C9E;
}


/* 見出し・お知らせ */

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a,
.title-container a,
.info1column a,
.info2column a,
.show-thumbnail-title a,
.show4column-thumbnails a {
    color: #222222;
    text-decoration: none;
}

h1 a:visited,
h2 a:visited,
h3 a:visited,
h4 a:visited,
h5 a:visited,
h6 a:visited,
.title-container a:visited,
.info1column a:visited,
.info2column a:visited,
.show-thumbnail-title a:visited,
.show4column-thumbnails a:visited {
    color: #222222;
}

h1 a:hover,
h2 a:hover,
h3 a:hover,
h4 a:hover,
h5 a:hover,
h6 a:hover,
.title-container a:hover,
.info1column a:hover,
.info2column a:hover,
.show-thumbnail-title a:hover,
.show4column-thumbnails a:hover {
    color: #1e73be;
}

.info1column li a .cat,
.info2column .info-meta .info-cat,
.info-meta .info-cat {
    background: #1F5C9E;
}


/* 見出し */

.heading1:before {
    border-left: 5px #1F5C9E solid;
}

.heading2 {
    border-bottom: 2px solid #1F5C9E;
}

.heading2:before {
    border-left: 5px #1F5C9E solid;
}

.heading3 {
    background-color: #1F5C9E;
}

.heading5:after,
.heading5:before {
    background: #1F5C9E;
}

.heading6:before {
    background: #1F5C9E;
}

.heading6:after {
    background: #1F5C9E;
}

.heading7:before {
    background-color: #1F5C9E;
}

.heading7:after {
    background-color: #1F5C9E;
}

.heading8 {
    text-align: center;
    background: #1F5C9E;
}

.heading9 {
    border-bottom: 4px solid #ccc;
}

.heading9::after {
    background-color: #1F5C9E;
}

.heading9-lv2 {
    border-bottom: 2px solid #ccc;
}

.heading9-lv2::after {
    background-color: #1F5C9E;
}

.page-header h1.page-title {
    background-color: #1F5C9E;
    color: #fff;
    padding: 15px 0;
    text-align: center;
}
.title-container h2 {
    border-left: 5px solid #1F5C9E;
    padding-left: 10px;
}

/* ボタン */

.tools-btn-key,
.tools-btn-key a {
    background: none repeat scroll 0% 0% #1F5C9E;
    border: 1px solid #1F5C9E;
}

a.link_key {
    background-color: #EF7F2D;
}


ol.flow1 li:before {
    background: #1F5C9E;
}
.faq1 .icon-q {
    background: #1F5C9E;
}
.faq1 .icon-a {
    background: #EF7F2D;
}

/* =========================================================
* 見出し装飾
========================================================= */

.entry-header {
    border-bottom: 1px dotted #ccc;
}

.entry-title {
    margin: 0 0 0.5em 0;
    padding: 0 0 0 10px;
    line-height: 1.2em;
    font-weight: normal;
    border-left: 5px solid #1F5C9E;
}

.sidebar .widget .widget-title {
    background: #1F5C9E;
    color: #ffffff;
    padding-left: 10px;
}


/* =========================================================
* ボタン装飾
========================================================= */

a.link-button {
    /* 角丸＆シャドウ
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    box-shadow: 0px 1px 0px rgba(0,0,0,0.6);
    -moz-box-shadow: 0px 1px 0px rgba(0,0,0,0.6);
    -webkit-box-shadow: 0px 1px 0px rgba(0,0,0,0.6);
    */
}


/* =========================================================
* Unsemantic調整
========================================================= */

.grid-container {
    padding-left: 0;
    padding-right: 0;
}


/* 標準値8px */

table.table-padding > tbody > tr > th,
table.table-padding > tbody > tr > td {
    padding: 15px;
}


/* トップに戻るボタン(rgbaに変換：http://www.color-hex.com/) */

.generate-back-to-top,
.generate-back-to-top:visited {
    background: rgba( 31,92,158, 1);
}

.generate-back-to-top:hover,
.generate-back-to-top:active,
.generate-back-to-top:focus {
    background: rgba( 31,92,158, 0.8);
}

.generate-back-to-top i {
    color: #fff;
}


/* =========================================================
* お知らせ系ショートコード
========================================================= */

ul.show-thumbnail-title {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

ul.show-thumbnail-title li {
    overflow: hidden;
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px dotted #ccc;
}

ul.show-thumbnail-title li:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: none;
}


/* =========================================================
* コンタクトフォーム
========================================================= */


/* チェックボックス縦並び */

span.wpcf7-list-item {
    display: block;
}


/* =========================================================
* ヘッダー
========================================================= */

.site-header img.header-image {
    max-height: 50px;
    width: auto;
}

.catchcopy {
    background: #eee;
}

.catchcopy h1 {
    font-size: 12px;
    line-height: 22px;
    margin: 0;
    padding: 0;
}


/*----header widget-------*/

.header-widget {
    width: 520px;
    /* 掲載コンテンツの幅で調整 */
}

.header-widget ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.header-widget ul li {
    float: right;
    font-size: 12px;
    color: #333;
    margin-left: 20px;
}

.header-widget ul#menu-navigation > li {
    width: auto;
}

.header-widget ul li:before {
    /* AwesomeIcon表示用 */
    content: "\f0da";
    font-family: FontAwesome;
    position: absolute;
    display: block;
    margin: 0 -10px;
    color: #1F5C9E;
}

.cta-tel {
    font-family: 'Ramabhadra', sans-serif;
    font-size: 28px;
    line-height: 32px;
    letter-spacing: 0;
}

.cta-txt {
    font-size: 12px;
    line-height: 18px;
}

.cta-btn {
    padding: 5px 0 0 0;
    margin: 0;
}

@media screen and (max-width: 768px) {
    .header-widget {
        width: 100%;
    }
}


/* =========================================================
* ナビゲーション
========================================================= */
/* スライドアウトナビは左寄せ（カスタマイザーの寄せを上書き） */
.main-navigation.slideout-navigation {
    text-align: left !important;
}

ul#menu-navigation > li {
    letter-spacing: 0.2em;
	width: auto;
    /* width: 14.25%; */
    /* 5=>20 6=>16.6 */
}

ul#menu-navigation > li {
    background: url(images/bg-nav-li.png) right center no-repeat;
    /* メニューの仕切り線 */
}

ul#menu-navigation > li.menu-item-16, 
ul#menu-navigation > li:last-child {
    background: none;
}

@media (max-width:1200px) {
    ul#menu-navigation > li {
        width: auto;
    }
}


/* カレントメニューの背景色を透明 */

.main-navigation .main-nav ul .current-menu-item > a,
.main-navigation .main-nav ul .current-menu-parent > a,
.main-navigation .main-nav ul .current-menu-ancestor > a,
.main-navigation .main-nav ul .current_page_item > a,
.main-navigation .main-nav ul .current_page_parent > a,
.main-navigation .main-nav ul .current_page_ancestor > a {
    background-color: transparent !important;
}

.main-navigation i {
    color: #fff;
}

.main-navigation .main-nav:not(.slideout-menu) ul ul li a {
    border-top: 1px solid rgba(255, 255, 255, 0.3);
}

.main-navigation .main-nav ul ul {
    width: 220px;
}

.main-navigation .main-nav ul li.menu-tel a {
    padding-top: 10px;
    line-height: 1.5em;
}

.breadcrumbs {
    background: #eeeeee;
    font-size: 80%;
    line-height: 1.2em;
    padding: 15px 0;
}


/* =========================================================
* ウィジェット
========================================================= */

#left-sidebar .widget-title,
#right-sidebar .widget-title {
    margin-bottom: 10px;
}

#left-sidebar .widget ul li,
#right-sidebar .widget ul li {
    line-height: 40px;
    padding: 0 0 0 12px;
    margin: 0 0 0 5px;
    background: url(images/widget-list.png) left center no-repeat;
    border-bottom: 1px dotted #1F5C9E;
}


/*----- ウィジェット用CTA -----*/

.side-contact {
    border: 1px solid #e3e3e3;
    background: #fff;
    padding: 0;
    text-align: center;
}

.side-title {
    font-size: 18px;
    line-height: 40px;
    color: #fff;
    background: #1F5C9E;
    margin: 0;
}

.side-img {
    padding: 10px 10px 0 10px;
}

.side-tel {
    font-family: 'Ramabhadra', sans-serif;
    font-size: 28px;
    margin: 10px 0 5px 0;
}

.side-button {
    padding: 10px 5px;
    background: #eee;
}


/*----- セレクトボックス -----*/

aside.widget select {
    padding: 5px;
    width: 100%;
}

aside.widget option {
    padding: 5px;
}


/* =========================================================
* CTA
========================================================= */

#cta h2 {
    margin-top: 4em;
}

#cta .cta-container {
    padding: 20px 15px;
    border: 3px solid #1F5C9E;
    background: #fafafa;
    /*border-radius: 5px;*/
}

#cta .cta-textarea {
    border: 1px solid #e3e3e3;
    background: #fff;
    padding: 10px 10px 0 10px;
}

#cta .cta-title {
    position: relative;
    margin: 0 0 20px 0;
    padding: 10px;
    padding-left: 25px;
    font-weight: normal;
    font-size: 22px;
    background-color: #1F5C9E;
    color: #fff;
    /*border-radius:3px;*/
}

#cta .cta-title:before {
    content: '';
    height: 26px;
    width: 2px;
    display: block;
    position: absolute;
    top: 10px;
    left: 10px;
    background-color: #fff;
    border-left: 4px solid #fff;
    /*border-radius:2px;*/
}


/* =========================================================
* フッター
========================================================= */

.footer-widget-logo img.footer-logo {
    height: 40px;
    width: auto;
}

.inside-footer-widgets .inner-padding {
    padding: 0 20px;
}

#footer-widgets .widget-title {
    margin-bottom: 10px;
}

.footer-area {
    font-size: 80%;
}


/* =========================================================
* トップページ
========================================================= */

#generate-section-1 .generate-sections-inside-container {
    padding-left: 0;
    padding-right: 0;
}

.title-show-works h2 {
    font-size: 26px;
    line-height: 34px;
}

.title-show-works span.show-works-txt {
    font-size: 16px;
    font-weight: 600px;
    color: #333;
}

.title-show-works {
    border-bottom: none;
}

.title-show-works .link {
    width: 220px;
}

.title-container ul.link {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.title-show-works .link li {
    font-size: 100%;
    margin-left: 0;
}

.title-show-works .link li a {
    color: #fff;
}

.title-show-works .tools-btn-style1 {
    width: 100%;
    border-radius: 3px;
    padding: 2px 5px;
}


/* =========================================================
* 一覧・詳細
========================================================= */

.page .page-header-image,
.page-header-image-single {
    display: none;
}

/* =========================================================
* 解体価格
========================================================= */
.sanko-line {
    line-height: 40px;
}
.sanko-box {
    line-height: 40px;
    padding: 5px 10px;
    margin-right: 10px;
    background-color: #eee;
}
.sanko-memo {
    border: 1px solid #ddd;
    background-color: #fafafa;
    padding: 15px 15px 0 15px;
}


/* =========================================================
* テーブル
========================================================= */

.table-bordered {
    border: 1px solid #dddddd;
}

.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > th,
.table-bordered > tfoot > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > td {
    border: 1px solid #dddddd;
}

.table > thead > tr > th,
.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > tbody > tr > td,
.table > tfoot > tr > td {
    padding: 10px;
}

th {
    text-align: center;
    font-weight: normal;
    background: #fafafa;
}

table.hide-on-desktop,
table.hide-on-tablet {
    font-size: 80%;
}


/* =========================================================
* DL DT DD
========================================================= */

dl {
    margin-top: 0;
    margin-bottom: 20px;
}

dt,
dd {
    line-height: 1.42857143;
}

dt {
    font-weight: normal;
}

dd {
    margin-left: 0;
    margin-bottom: 5px;
}

@media (min-width: 768px) {
    .dl-horizontal dt {
        float: left;
        width: 110px;
        overflow: hidden;
        clear: left;
        text-align: left;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .dl-horizontal dd {
        margin-left: 120px;
    }
}

.dl-horizontal dd:before,
.dl-horizontal dd:after {
    display: table;
    content: " ";
}

.dl-horizontal dd:after {
    clear: both;
}


/* =========================================================
* WP-PAGENAVI
========================================================= */


/* 
* generatepressのページャーを非表示
* https://generatepress.com/forums/topic/blog-paging-pagenavi-styles/
*/

.page-numbers {
    display: none;
}

.navigation {}

.wp-pagenavi {
    float: left;
}

.wp-pagenavi a,
.wp-pagenavi span {
    border: none;
    text-decoration: none;
    padding: 5px 8px;
    margin: 2px;
    font-size: 15px;
    line-height: 15px;
    float: left;
}

.wp-pagenavi a,
.wp-pagenavi a:link,
.wp-pagenavi a:active,
.wp-pagenavi a:focus {
    color: #1F5C9E;
    border: 1px solid #fff;
    background: none;
}

.wp-pagenavi span.current {
    font-weight: bold;
    color: #fff;
    background: #1F5C9E;
    border: 1px solid #fff;
    padding: 5px 8px;
}

.wp-pagenavi a:hover {
    color: #ffffff;
    background: #1F5C9E;
    border: 1px solid #fff;
    padding: 5px 8px;
}

.wp-pagenavi span.pages {
    color: #1F5C9E;
    background: none;
    padding: 5px 8px 5px 0;
}

.wp-pagenavi span.extend {
    background: transparent;
    color: #1F5C9E;
    background: none;
}


/* 2025.12.11 対応エリア見出し */
.title-area {
	font-size: 30px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 40px;
}

/* =========================================================
* メディアクエリ
========================================================= */


/*==========  モバイル・ファーストの場合  ==========*/


/* カスタム, iPhone Retinaディスプレイ */

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


/* XSサイズ : Extra Small Devices, Phones */

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


/* Sサイズ、タブレット : Small Devices, Tablets */

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


/* Mサイズ、デスクトップ : Medium Devices, Desktops */

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


/* Lサイズ、ワイドスクリーン : Large Devices, Wide Screens */

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


/*==========  非モバイル・ファーストの場合  ==========*/


/* Lサイズ、ワイドスクリーン : Large Devices, Wide Screens */

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


/* Mサイズ、デスクトップ : Medium Devices, Desktops */

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


/* Sサイズ、タブレット : Small Devices, Tablets */

@media only screen and (max-width: 768px) {
    body {
        font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Roboto", "Droid Sans", "游ゴシック", "YuGothic", "メイリオ", "Meiryo", sans-serif;
    }
    /* テーマカスタマイザーで余白を0に設定した場合、モバイル画面の両サイドに余白を作る */
    #left-sidebar,
    #right-sidebar {
        padding: 0 15px;
    }
    .site-header .site-logo {
        padding: 0 15px;
    }
    .main-navigation .main-nav:not(.slideout-menu) ul ul li a {
        border-top: none;
    }
    .grid-container .mobile-grid-100 {
        margin-bottom: 20px;
    }
    .site-info .txtleft,
    .site-info .txtright {
        text-align: center;
    }
    .site-info .grid-container .mobile-grid-100 {
        margin: 0;
    }

	.title-area {
	font-size: 20px;
	margin-bottom: 30px;
}
}

/* XSサイズ : Extra Small Devices, Phones */
@media only screen and (max-width: 480px) {}

/* カスタム, iPhone Retinaディスプレイ */
@media only screen and (max-width: 320px) {}

.wpcf7 table p:last-child { margin-bottom: 0; }

