/*
Theme Name: U-Design Child
Theme URI: http://themeforest.net/item/udesign-responsive-wordpress-theme/253220?ref=AndonDesign
Description: A slick, powerful and clean theme U-Design provides an intuitive set of options to help you setup your WordPress site quickly and effectively. Flexibility is key and it has been optimized for SEO and speed. It is also responsive &amp; mobile ready should you choose that option. The U-Design theme features include: unlimited colors, widgetized home page, over 600 fonts to choose from, WooCommerce Integration, it is also translation and multilingual ready, step by step documentation, exclusive U-Design support forum and a helpful community. Always up-to-date security and many new features are constantly added as the theme evolves.
Author: Andon
Author URI: http://themeforest.net/user/andondesign/portfolio?ref=AndonDesign
Version: 2.10.1
Template: u-design
License: Located in 'licensing' folder
License URI: Located in 'licensing' folder
*/

/*
    Do not remove any of the commented text above as it is used by the theme for proper function!

    All the themes' CSS files are located under the 'styles/' sub-folder...

    If you would like to use this file to add any custom CSS, you'll need to enable it first  
    from the theme's "General Options" section.
    Please note: After enabling the use of this file, you will not see any change here, 
    feel free to add your custom CSS below.
    On the other hand, if you need access to the theme's main style sheet, you will 
    need FTP client to access it, is it located in: "styles/style1/css/style.css"
*/


/*====================================================================*/
/*全デバイス共通設定*/
/*====================================================================*/
/*--------------------------------------------------------------------*/
/*常設設定*/
*:not(.font_inherit){ font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;}
.fa { font-family: FontAwesome !important;}
.aligncenter, img.aligncenter, a img.aligncenter, img.centered, a img.centered { margin: 0px auto 10px !important;}
h1, h2, h3 { font-size: 1em; font-weight: bold; margin: 0 0 20px; padding: 0;}
h4, h5, h6 { font-size: 1em; font-weight: bold; margin: 0 0 5px; padding: 0;}
p { font-size: 1em; margin: 0 0 20px; padding: 0; text-align: inherit; }
a { text-decoration: underline;}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { text-decoration: none; color: inherit;}
#sidebar h1, #sidebar h2, #sidebar h3, #sidebar h4, #sidebar h5, #sidebar h6 { font-size: 1em; font-weight: bold; margin: 0; padding: 0;}
#sidebar p { font-size: 1em; margin: 0; padding: 0; text-align: inherit;}
/*p:last-child { margin-bottom: 0px;}*/
table p{ margin: 0;}
form th .required { background-color: #df4236; color: #fff; font-size: 13px !important; padding: 0px 5px; margin-left: 5px; font-weight: normal;}
.wpcf7-text,.wpcf7-textarea,.wpcf7-select {font-size: 16px;border-radius: 3px;background-color: #f6f6f5; padding: 5px; border: 1px solid #ccc; box-shadow: inset 1px 1px 0 0 #000;}
.wpcf7-text,.wpcf7-textarea{ width: 90%;}
/*form input,form textarea {-webkit-appearance: none;}*/
form .button{text-align: center;}
form .button input[type=submit]{display: inline-block; padding: 10px 30px; color: #fff; font-size: 31px; text-align: center; font-weight: 700; cursor: pointer; border-radius: 5px; white-space: normal; box-shadow: 3px 3px 5px 0 rgba(0,0,0,0.3); border: none; max-width: 500px; width: 100%;
	background-color: #e94a04;
	background-image: -webkit-linear-gradient(90deg, rgba(3,0,0,0.28) 0%, rgba(255,255,255,0.28) 100%);
	background-image: -moz-linear-gradient(90deg, rgba(3,0,0,0.28) 0%, rgba(255,255,255,0.28) 100%);
	background-image: -o-linear-gradient(90deg, rgba(3,0,0,0.28) 0%, rgba(255,255,255,0.28) 100%);
	background-image: linear-gradient(0deg, rgba(3,0,0,0.28) 0%, rgba(255,255,255,0.28) 100%);}
form .attention { text-align: center;}
#page-content {padding-bottom:40px;}
#footer { font-size: 12px;}
#footer-bg { padding: 10px 0;}
.back-to-top a{ text-decoration: none;}
.back-to-top a:after{ content:"\f102"; font-family: FontAwesome; background: #155c33;padding: 0 4px; margin-left: 5px; color: #fff; font-size: 16px;}
.top-of-page { display: none;}
a.read-more-align-left { font-size: 0; visibility: hidden; display: block; text-align: right;}
a.read-more-align-left span { font-size: 14px; color: #073b1d; visibility: visible; display: inline-block; padding: 5px 10px 3px; border-radius: 5px; background-color: #e6e6e6; font-weight: bold;
	background-image: -webkit-linear-gradient(90deg, rgba(3,0,0,0.22) 0%, rgba(255,255,255,0.22) 100%);
	background-image: -moz-linear-gradient(90deg, rgba(3,0,0,0.22) 0%, rgba(255,255,255,0.22) 100%);
	background-image: -o-linear-gradient(90deg, rgba(3,0,0,0.22) 0%, rgba(255,255,255,0.22) 100%);
	background-image: linear-gradient(0deg, rgba(3,0,0,0.22) 0%, rgba(255,255,255,0.22) 100%);}
.for_pc, .for_middle, .for_sp{ display: none;}
/*--------------------------------------------------------------------*/
/*--------------------------------------------------------------------*/
/*不具合修正*/
body { overflow-x: visible;}
#wrapper-1 { background: none;}
#top-elements { height: auto;}
#top-elements p{ padding: 0; margin: 0;}
#top-elements .social-media-area{ padding: 0 20px 0 0 !important; width: auto !important; float: right;}
#top-elements #logo { position: static; margin-top: 20px;}
#main-menu { clear: both;}
.wpcf7-form-control-wrap.comment{ padding: 0;}
.textwidget { padding: 0;}
.post-top h1, .post-top h2, .post-top h3 { width: auto !important;}
/*--------------------------------------------------------------------*/
/*--------------------------------------------------------------------*/
/*body背景を有効化
body { background: url(images/bg_01.gif);}
#wrapper-1, #top-wrapper, #gs-header, #piecemaker-header, #c1-header, #c2-header, #c3-header, #rev-slider-header, #page-content-title, #home-page-content, #page-content, .no_title_section #page-content, #before-content, #bottom-bg, #footer-bg{ background: none;}*/
/*--------------------------------------------------------------------*/
/*--------------------------------------------------------------------*/
/*prettyPhotoの修正*/
.pp_nav, .pp_description, .pp_social, .pp_hoverContainer{ display: none !important;}
/*--------------------------------------------------------------------*/

/*header*/
.social_media_top { display: table; margin-bottom: 10px; padding: 0 !important;}
.social_media_top .area, .social_media_top .call, .social_media_top .form{ display: table-cell; vertical-align: middle; padding-left: 20px;}
.social_media_top .area { padding-left: 0;}
.social_media_top .call{ font-family: 'Montserrat' !important; color: #2f2f2f; font-size: 29px; line-height: 1; font-weight: 700;}
.social_media_top a{ color: #2f2f2f;}
.social_media_top .form a { display: block; border-radius: 5px; padding: 10px; color: #ffffff; text-shadow: 1px 2px 0px rgba(0, 0, 0, 0.35); font-weight: 700; text-align: center; min-width: 160px; line-height: 1.2; text-decoration: none;
	background-color: #14783e;
	background-image: -webkit-linear-gradient(90deg, rgba(3,0,0,0.22) 0%, rgba(255,255,255,0.22) 100%);
	background-image: -moz-linear-gradient(90deg, rgba(3,0,0,0.22) 0%, rgba(255,255,255,0.22) 100%);
	background-image: -o-linear-gradient(90deg, rgba(3,0,0,0.22) 0%, rgba(255,255,255,0.22) 100%);
	background-image: linear-gradient(0deg, rgba(3,0,0,0.22) 0%, rgba(255,255,255,0.22) 100%);}
.social_media_top .textwidget { padding-top: 20px;}

/*content*/
#content-container { overflow: auto; background: url(images/sb_bg01.gif) repeat-y right top; margin-bottom: 30px; padding: 0 !important;}
.postmetadata { display: none;}

/*sidebar*/
#sidebar { background: #fff; padding-bottom: 10px;}
#sidebar.grid_8 { width: 300px;}
#sidebar .sb_frame { border: 1px solid #d8d8d8; padding-bottom: 20px;}
#sidebar .sb_frame h3{ background-color: #155c33; color: #fff; font-size: 18px; padding: 10px}
#sidebar .sb_frame h4 { background-color: #f7f7f7; padding: 10px; margin-bottom: 10px;}
#sidebar .personalinfo{ background: url(images/bg_02.jpg); position: relative;}
#sidebar .personalinfo .text{ position: absolute; right: 10px; top: 20px; line-height: 1.2;}
#sidebar .personalinfo .text .data{ background-color: rgba(255, 255, 255, 0.85); color: #073b1d; padding: 15px; margin-bottom: 5px;}
#sidebar .personalinfo .text .data [style*="font-size: 12px;"]{ color: #000000;}
#sidebar .personalinfo .link { text-align: right;}
#sidebar .personalinfo .link i { color: #646464;}
#sidebar .personalinfo .link a{ font-size: 14px;}
#sidebar .information li { margin: 0; line-height: 1.2; margin-bottom: 10px;}
#sidebar .information li strong { color: #073b1d; font-size: 24px; font-family: 'Montserrat' !important; line-height: 1;}
#sidebar .information li strong a { color: #073b1d; text-decoration: none;}
#sidebar .information li i { color: #155c33; font-size: 28px;}
#sidebar .information li i.fa-fax { font-size: 22px;}
#sidebar .information li i.fa-envelope { font-size: 18px;}
#sidebar .information h5 { color: #073b1d; font-weight: normal; padding: 0 20px 10px; font-size: 18px; line-height: 1.5;}
#sidebar .information p { font-size: 14px; padding: 0 20px}
#sidebar .information .fa-ul {margin-left: 0px;}
#sidebar .information .fa-ul li {padding-left: 50px;}
#sidebar .information .fa-ul .fa-li { left: 10px; width: 40px; top: 0;}
#sidebar .list { padding: 15px 15px 0; margin: 0;}
#sidebar .list li, #sidebar #category-posts-2 li { list-style-type: none; margin: 0 0 5px;}
#sidebar .list li i { color: #646464;}
#sidebar .list li a, #sidebar #category-posts-2 li a { color: #000;}
#sidebar .list.area { font-size: 0;}
#sidebar .list.area li{ width: 50%; display: inline-block; font-size: 16px; vertical-align: top;}
#sidebar #category-posts-2 h3{ background-color: #155c33; color: #fff; font-size: 18px; padding: 10px;border: 1px solid #d8d8d8; border-bottom: none; }
#sidebar #category-posts-2 ul {border: 1px solid #d8d8d8; border-top: none; padding: 15px; margin: 0 0 10px;}
#sidebar #category-posts-2 li:not(:last-child) { border-bottom: 1px solid #eee;}
#sidebar #category-posts-2 .cat-post-footer-link{ display: block; text-align: right; font-size: 14px;}

#sidebar .sb_frame2 { border: 2px solid #d8d8d8; background-color: #f0f0f0;}
#sidebar .contact { background: url(images/sb_ph02.png) no-repeat right top; padding: 10px 10px 5px;}
#sidebar .contact p { font-size: 12px; background-color: #ce9945; display: inline;}
#sidebar .contact h3 { font-size: 18px; background: none; margin-bottom: 15px; margin-top: 5px;}
#sidebar .contact strong { color: #073b1d; font-size: 24px; font-family: 'Montserrat' !important; line-height: 1;}
#sidebar .contact strong a { color: #073b1d;}
#sidebar .contact i { color: #155c33; font-size: 28px;}
#sidebar .contact i.fa-envelope { font-size: 18px;}
#sidebar .contact .fa-ul {margin: 0px;}
#sidebar .contact .fa-ul li { margin: 0; line-height: 1.2; margin-bottom: 5px; background-color: #ffffff; border: 1px solid #d8d8d8; padding: 10px 10px 10px 40px;}
#sidebar .contact .fa-ul .fa-li { left: 10px; width: 30px; top: 10px;}
#sidebar .contact .fa-ul li.mail { padding: 20px 10px 20px 40px;}
#sidebar .contact .fa-ul li.mail .fa-li { left: 10px; width: 30px; top: 20px;}

#sidebar .bnr{ text-align: center;}

/*footer*/
#footer-top { background: url(images/bg_03.gif); padding: 50px 0;}
#footer-top .inner { max-width: 960px; margin: auto;}
#bottom-bg { display: none;}
#footer-bottom{background-color: #155c33; font-size: 14px; padding: 20px 0; color: #fff;}
#footer-bottom .inner{ max-width: 960px; margin: auto;}
#footer-bottom .copy{ font-size: 12px; margin-bottom: 5px;}
#footer-bottom p { margin-bottom: 0;}
#footer-bottom a { color: #fff; }

/*main-content*/
body:not(.home) #main-content [class*=block]:not(:first-child),
body:not(.home) #main-content h2:not([class]):not(:first-child) { margin-top: 50px;}
body:not(.home) #main-content h2:not([class]){background-color: #f7f7f7; border: 1px solid #d8d8d8; box-shadow: 0 0 0 2px #fff inset; font-size: 22px; color: #073b1d; position: relative; padding: 10px 10px 5px 20px;}
body:not(.home) #main-content h2:not([class]):before{ content: ""; display: block; position: absolute; top: 5px; bottom: 5px; left: 5px; width: 7px; background: url(images/bg_04.gif) repeat-y;}
body:not(.home) #main-content h3:not([class]):not(:first-child) { margin-top: 40px;}
body:not(.home) #main-content h2:not([class]) + h3:not([class]) { margin-top: 0 !important;}
body:not(.home) #main-content h3:not([class]){ font-size: 20px; position: relative; padding: 8px 15px 5px 15px;background: #daecc6;}
/*body:not(.home) #main-content h3:not([class]):before{ content: "";width: 7px;height: calc(100% - 12px);background: #fff;display: block;position: absolute;top: 6px;bottom: 6px;left: 6px;}*/
body:not(.home) #main-content h4:not([class]){ position: relative;color: #14783e;
    font-size: 18px;}
body:not(.home) #main-content h4:not([class]):before{     content: "-";
    padding-right: 5px;}
body:not(.home) #main-content hr:not([class]) {border: none; height: 1px; margin: 0 0 50px;}
body:not(.home) #main-content ul:not([class]),body:not(.home) #main-content ol:not([class]) { margin-bottom: 20px;}
body:not(.home) #main-content ul:not([class]) li,body:not(.home) #main-content ol:not([class]) li { margin-bottom: 10px; line-height: 1.2;}
/*body:not(.home) #main-content strong { color: #0b4969;}*/
#main-content .entry { padding-bottom: 0;}
body:not(.home) #main-content .entry :last-child { margin-bottom: 0;}
body.home #main-content .entry [class*=block]:last-child :last-child{ margin-bottom: 0;}

/*tableスタイル設定*/
#main-content table:not([class]){ border: 1px solid #d8d8d8;font-size: 14px; width: 100%; box-sizing: border-box;}
#main-content table:not([class]) th{ border: 1px solid #d8d8d8; white-space: nowrap; padding: 4px; text-align: left; vertical-align: top; background: #f7f7f7; font-weight: 400; }
#main-content table:not([class]) td{ border: 1px solid #d8d8d8; padding: 4px; text-align: left; vertical-align: top;}
.table_1{ width: 100%; background: #fff; border: 15px solid transparent; box-sizing: border-box;}
.table_1 th{ border-bottom: 1px dashed #999999; white-space: nowrap; padding: 8px; text-align: left; vertical-align: top; color: #0b4969; font-weight: 400;}
.table_1 td{ border-bottom: 1px dashed #999999; padding: 8px; text-align: left; vertical-align: top;}
.table_form{ width: 100%; background: #fff; border: 15px solid transparent; box-sizing: border-box;}
.table_form th{ position: relative; padding: 15px 65px 15px 30px; border-bottom: 1px dashed #999999; white-space: nowrap; text-align: left; vertical-align: top; color: #073b1d; font-weight: 400;}
.table_form td{ border-bottom: 1px dashed #999999; padding: 8px; text-align: left; vertical-align: top;}
.table_form th span{ position: absolute; right: 10px; top: 15px;}
/*listスタイル設定*/
.list_border{ list-style-type: none; margin-bottom: 30px !important;}
.list_border li{ border-bottom: 1px dashed #cccccc; padding: 10px; margin-left: 0; line-height: 1.3;}
.list_num{ list-style-type: none; margin-bottom: 30px !important;}
.list_num li{counter-increment : chapter; border-bottom: 1px dashed #cccccc; padding: 0px 10px 10px; margin-left: 0; line-height: 1.3;}
.list_num li:before{ content : counter(chapter) "."; color: #14783e; font-size: 29px;font-family: 'Montserrat' !important; padding-right: 10px; position:relative; top: 2px;}
.list_check {list-style-type: none; margin-bottom: 30px !important;}
.list_check li{ margin-left: 0; line-height: 1.3;}
.list_check li:before{ content: "\f00c"; font-family: FontAwesome !important;color: #e94a04; font-size: 25px; padding-right: 10px;}
.list_none { margin-bottom: 20px !important;}
.list_none li{ list-style-type: none; margin: 0 0 5px; line-height: 1.2;}
[class*=list_] :last-child{ margin-bottom: 0 !important;}
/*フレームスタイル設定*/
.frame_1{ border: 2px solid #e1865e; background: #fff4d1; border-radius: 5px;padding: 20px 30px; margin-bottom: 30px;}
.frame_1.aboutus { background: url(images/aboutus_ph01.jpg) no-repeat; background-size: auto 100%; position: relative;}
.frame_1.aboutus:after { content: url(images/aboutus_img01.gif); position: absolute; top: -4px; right: -1px;}
.frame_1.aboutus li:first-child { padding-right: 55px;}
.frame_1.top_1 { background: url(images/top_ph08.jpg) no-repeat right top; position: relative;}
.frame_1.top_1:after { content: url(images/top_img03.png); position: absolute; top: -4px; right: -1px;}
.frame_1.top_2 { background-image: url(images/top_ph09.jpg),url(images/top_ph10.jpg) ; background-repeat: no-repeat; background-position: right top, right 65%; position: relative;}
.frame_1.top_2:after { content: url(images/top_img04.png); position: absolute; top: -4px; right: -1px;}
.frame_2 { font-size:14px; background-color: #f7f7f7; padding: 30px; position: relative; margin-bottom: 30px;}
.frame_2.dogear:after { content: url(images/bg_06.gif); position: absolute; bottom: 0; right: 0;}
.frame_2 .ti{border-bottom: 1px dashed #cccccc; margin: 0 -30px 20px; padding: 0 30px 10px; font-size: 18px; font-weight: 700;}
[class*=frame_] [class*=list_] { margin-bottom: 20px !important;}
[class*=frame_] [class*=list_]:last-child, [class*=frame_] p:last-child { margin-bottom: 0 !important;}
/*ボタンスタイル設定*/
body:not(.home) #main-content .button { /*background-color: #f7f7f7; */text-align: center; margin-bottom: 30px; padding: 20px 0;}
body.home #main-content .button { text-align: center; margin-bottom: 30px;}
#main-content .button a { display: inline-block; padding: 20px 30px; border: 2px solid rgba(186,60,60,0.76); color: #fff; font-size: 31px; text-align: center; font-weight: 700; cursor: pointer; border-radius: 5px; line-height: 1.2; text-decoration: none; max-width: 630px; box-sizing: border-box;
	background-color: #ce4545;
	background-image: -webkit-linear-gradient(90deg, rgba(3,0,0,0.28) 0%, rgba(255,255,255,0.28) 100%);
	background-image: -moz-linear-gradient(90deg, rgba(3,0,0,0.28) 0%, rgba(255,255,255,0.28) 100%);
	background-image: -o-linear-gradient(90deg, rgba(3,0,0,0.28) 0%, rgba(255,255,255,0.28) 100%);
	background-image: linear-gradient(0deg, rgba(3,0,0,0.28) 0%, rgba(255,255,255,0.28) 100%);}
#page-content {padding-bottom:40px;}
/*境界線スタイル設定*/
.line_1{height:0; border: none; border-bottom: 1px dashed #d8d8d8; margin: 20px 0;}
/*ページタイトル*/
#page-content-title{ background-image: url(images/bg_07-2.png), url(images/bg_07.gif); background-repeat: no-repeat, repeat; background-position: right top; background-size: cover, auto; }
#page-content-title #page-title{ display: table; height: 130px; margin: 0 20px;}
#page-content-title #page-title h1{ color: #14783e !important; line-height: 1.2 !important; font-size: 35px !important; display: table-cell; vertical-align: bottom; text-shadow: 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff;}
/*faq*/
.faq h2 { padding: 10px 10px 5px 10px !important;}
.faq h2:before { display: none !important;}
.faq h2:first-letter { font-size: 29px;font-family: 'Montserrat' !important; color: #155c33; padding-right: 5px; line-height: 1; font-weight: normal; position: relative; top: -2px; }
.faq h2 + p { text-indent: 12px; }
.faq h2 + p:first-letter { font-size: 29px;font-family: 'Montserrat' !important; color: #14783e; padding-right: 5px; line-height: 1; position: relative; top: -2px;}
/*top*/
body.home #eye_bg {    background-image: url(/wp-content/uploads/eye_bg01.gif);
    background-color: rgba(0, 0, 0, 0);
    background-position: center center;
    background-repeat: repeat-x;}
body.home #main-content h2:not([class]){background-color: #2f892b; font-size: 24px; color: #fff; padding: 10px 10px 5px 20px; margin-bottom: 30px;}
body.home #main-content h2:not([class]):before{ content: "\f0da";font-family: FontAwesome !important; padding-right: 30px;}
body.home .block01 { background-image:url(images/top_bg01.png), url(images/bg_03.gif); background-repeat: no-repeat, repeat; background-position: right top; padding: 30px 30px 50px; margin-bottom: 30px;}
body.home .block01 ul{list-style-type: none; margin-top: -10px; position:relative; z-index: 1; font-size: 24px;}
body.home .block01 ul li{ margin-left: 0; line-height: 1.3; display: table; width: 100%; box-sizing: border-box; vertical-align: middle; font-weight: bold;}
body.home .block01 ul li:before{ content : url(images/icon_01.png); display: table-cell; vertical-align: middle; text-align: center;}
body.home .block01 ul li > div { display: table-cell; vertical-align: middle;border-bottom: 2px dashed #9f9f9f; padding: 10px; }
body.home .block01 ul li strong { color: #e94a04;}
body.home .block02 { margin-bottom: 40px;}
body.home .block02 .row{ display: table;width: calc(100% + 60px);border-collapse: separate;border-spacing: 30px 15px;margin: 0 -30px;}
body.home .block02 .row .service{ display: table-cell; background-color: #f7f7f7; width: 50%; border-top: 4px solid #155c33;}
body.home .block02 .row .service h3{ margin: 0;}
body.home .block02 .row .service h3 a{ display: block; color: #155c33; font-size: 22px;padding: 20px 30px; position: relative; margin: 0;}
body.home .block02 .row .service h3 a:after{ content: url(images/icon_02.png); position: absolute; right: 0; top:0; bottom:0; margin: auto 20px auto auto; height: 28px;}
body.home .block02 .row .service h4{ margin-bottom: 10px; font-size: 15px; padding: 0 30px;}
body.home .block02 .row .service .body { padding: 0 30px; font-size: 15px;}
body.home .block03{ margin-bottom: 55px;}
body.home .block03 h3 {background: url(images/bg_08.gif) -2px 0;padding: 20px 20px 20px 110px;margin-bottom: 20px;position: relative;min-height: 77px; font-size: 22px;}
body.home .block03 h3:before {content: "";position: absolute;top: 0px;left: 10px;bottom: 0px;background: url(images/top_img02.gif) no-repeat left center;display: block;width: 100%;height: 100%;margin: auto;}
body.home .block03 dl { text-shadow: 0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff;}
body.home .block03 dt {border-left: 5px solid #337ba0;padding: 0px 0 5px 20px;font-weight: 700;}
body.home .block03 dd {border-left: 5px solid #337ba0;padding: 0px 0 0px 20px;font-size: 22px;color: #0b4969;font-weight: 700;margin-bottom: 30px;}
body.home .block03 dt:first-child { padding-right: 55px;}
body.home .block03 dd:last-child { margin-bottom: 0;}
body.home .block03 .note {background: url(images/bg_08.gif); padding: 30px;}
body.home .block03 .note strong {background: rgba(254,225,64,0.75); color: #ce4545;}
body.home .block04 h3 { font-size: 30px; color: #0b4969; padding-right: 185px; position: relative; margin-bottom: 0; padding-bottom: 20px;}
body.home .block04 h3:after { content: url(images/top_ph11.png); position: absolute; right: 0; bottom: 0; z-index: 1;}
body.home .block04 .top_frame2 { background: url(images/bg_09.jpg) no-repeat left top; padding: 30px; margin-bottom: 35px;}
body.home .block04 .top_frame2 h4 { font-size: 31px; text-shadow: 0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff; margin-bottom: 20px;}
body.home .block04 .top_frame3 { background-image:url(images/top_ph12.png), url(images/bg_10.jpg); background-repeat: no-repeat, repeat-y; background-position: top right; padding: 30px 14px; margin-bottom: 30px;}
body.home .block04 .top_frame3 h4 {padding: 0 15px; color: #ffffff; font-size: 38px; text-shadow: 1px 2px 0px #000000; margin-bottom: 20px;}
body.home .block04 .top_frame3 ol{ background: url(images/bg_11.gif); padding: 0 20px 20px; border-radius: 5px; font-weight: bold;text-shadow: 0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff;}
body.home .block04 .top_frame3 ol li { border-bottom: 4px solid #8c9da5; padding: 10px 10px 10px 0; display: table; width: 100%; box-sizing: border-box; margin: 0;}
body.home .block04 .top_frame3 ol li:last-child{ border: none;}
body.home .block04 .top_frame3 ol li:before { content: "\f00c";font-family: FontAwesome !important; color: #0b4969; font-size: 31px; display: table-cell; vertical-align: middle; text-align: center; width: 80px;}
body.home .block04 .top_frame3 ol li div { display: table-cell; vertical-align: middle;}
body.home .block04 .top_frame3 ol li strong { color: #ce4545;}






/*====================================================================*/
/*PC用設定*/
/*====================================================================*/
@media screen and (min-width: 720px){
/*--------------------------------------------------------------------*/
/*常設設定*/
a, input[type="submit"] {transition: opacity 0.3s linear; }
a:hover, input[type="submit"]:hover { opacity: 0.7; text-decoration: none;}
/*--------------------------------------------------------------------*/
/*--------------------------------------------------------------------*/
/*不具合修正*/
#footer-bg{ min-height: 0;}
#footer-bg #footer * { margin-top: 0; padding-top: 0; margin-bottom: 0; padding-bottom: 0;}
#footer_text{ width: auto !important;}
#wrapper-1 { overflow-x: hidden;}
/*--------------------------------------------------------------------*/
/*contents*/
#home-page-content { padding-top: 20px;}
/*nav*/
#main-menu{ border-top: 4px solid #155c33; border-bottom: 1px solid #d8d8d8;}
#navigation-menu > ul.sf-menu { width: 100%;}
#navigation-menu ul.sf-menu > li{ margin: 0; display: table-cell; float: none;}
#navigation-menu ul.sf-menu > li i{ color: #14783e;}
/*footer*/
#bottom-bg { display: block; background-color: #f7f7f7; color: #073b1d; padding: 30px 0; border-top: 5px solid #fff;}
#bottom-bg a{ color: #073b1d; text-decoration: none;}
#bottom-bg li{ margin-left: 0; list-style-type: none; font-size: 15px;}
#bottom-bg .area { font-size: 0;}
#bottom-bg .area li { font-size: 15px; width: 50%; display: inline-block;}
#bottom-bg h3 { color: #073b1d; background: none; font-size: 16px; margin-bottom: 25px;padding: 0;}
#footer-bottom .one_third { width: auto;}
#footer-bottom .one_third.last_column { float: right;}
}
@media screen and (min-width: 1000px){
/*--------------------------------------------------------------------*/
/*常設設定*/
.for_pc{ display: block;}
.breadcrumbs{ width: 920px; margin: auto;}
/*--------------------------------------------------------------------*/
/*--------------------------------------------------------------------*/
/*カラム幅修正*/
#main-content.grid_16 { width: calc(100% - 300px);}
/*--------------------------------------------------------------------*/
/*固定ページ*/
/*--top--*/
body.home .block01 .top_frame1{ border-radius: 10px; background: url(images/bg_08.jpg);	box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.43); padding: 30px;}

}





/*====================================================================*/
/*モバイル用設定*/
/*====================================================================*/
@media screen and (max-width: 719px){
/*--------------------------------------------------------------------*/
/*常設設定*/
.for_sp{ display: block;}
body { -webkit-text-size-adjust: 100%;}
section{ margin-bottom: 30px;}
section:last-child { margin-bottom: 0;}
table, td, th, tr, thead, tbody{ display: block;}
/*.main-content-padding * { font-size: 16px !important;}
.main-content-padding h1, .main-content-padding h2, .main-content-padding h3, .main-content-padding h4, .main-content-padding h5, .main-content-padding h6, .prod_ti th { font-size: 18px !important; font-weight: bold !important; margin-bottom: 10px;}*/
/*.main-content-padding p:not(:last-child) { margin-bottom: 10px;}*/
span.wpcf7-list-item{ display: block;}
.wpcf7-list-item label{ display: block; padding: 0;}
.wpcf7-text, .wpcf7-textarea{ width: 100%; box-sizing: border-box;}
#top-wrapper { padding-bottom: 0px;}
#top-elements #logo { float: none; padding: 0;}
#breadcrumbs-container { padding: 0px;}
.breadcrumbs { font-size: 12px;}
.mean-container .mean-bar {background: #155c33;}
.mean-container .mean-nav {background: #f7f7f7;}
.mean-container .mean-nav ul li a{ color: #073b1d; border-bottom: 1px solid rgb(206, 206, 206);}
.mean-container .mean-nav ul li:first-child a {border-top: 1px solid rgba(255,255,255,0.5);}
.mean-container .mean-nav ul li a.mean-expand { top: 7px;}
/*--------------------------------------------------------------------*/
/*--------------------------------------------------------------------*/
/*不具合修正*/
body {min-width: 100%;}
.container_24 {width: 100%;}
#logo, #logo h1 a, #logo .site-name a, #top-elements .social-media-area{ width: 100% !important;}
#top-elements{ padding: 15px;}
#top-elements .social-media-area { float: none; display: block; padding: 0 !important;}
#main-content,#sidebar{ width: 100%; float: none;}
.container_24 { max-width: 550px;}
#footer_text{ float: none; width: auto; text-align: center;}
#footer_text div{ padding: 10px;}
.back-to-top{ margin: 0; width: auto; float: none; }
.back-to-top a{display: block;float: none;text-align: center;background: #cacaca; text-decoration: none; padding: 10px; color: #155c33 !important; font-size: 16px;}
#sidebar .back-to-top{ margin-bottom: 30px;}
#wrapper-1 { overflow-x: visible !important;}
/*--------------------------------------------------------------------*/
/*header*/
.social_media_top .call, .social_media_top .form { padding-left: 10px;}
.social_media_top .call{ font-size: 23px; white-space: nowrap; width: 200px;}
.social_media_top .form a { font-size: 0; text-indent: -9999px; min-width: 50px; }
.social_media_top .form a:before { content: "\f0e0"; text-indent: 0; font-size: 16px;font-family: FontAwesome !important; display: block;}
.social_media_top .textwidget { padding-top: 10px;}
/*contents*/
#home-page-content { padding-top: 10px;}
#content-container { background: none;}
/*sidebar*/
#sidebar .personalinfo .text{ left: 74px;}
#sidebar .information li:not(:last-child) { border-bottom: 1px solid #eee; padding-bottom: 10px;}
/*footer*/
#footer-top { padding: 30px 0;}
#footer-top .inner { max-width: 550px; padding: 20px; box-sizing: border-box;}
#bottom-bg a {display: block;border-bottom: 1px solid #fff;padding: 10px 0;text-decoration: none;}
#bottom-bg li:first-child a {border-top: 1px solid #fff;}
h3.bottom-col-title { margin-bottom: 20px;}
#footer-bottom .inner { max-width: 550px; padding: 20px; box-sizing: border-box; overflow: hidden; text-align: center;}
#footer { max-width: none;}
/*main-content*/
#main-content{ padding-bottom: 50px; display: block;}
/*ページタイトル*/
#page-content-title h1{ font-size: 18px !important; padding: 18px 0 !important;}
/*tableスタイル設定*/
.table_form th{ padding: 15px 65px 0px 15px; white-space: normal; border: none; font-weight: 700; font-size: 16px;}
.table_form tr:last-child td{ border-bottom: none;}
/*固定ページ*/
/*--top--*/
body.home .block01{ background-size: 130% auto, auto;}

}
@media screen and (max-width: 999px){
/*--------------------------------------------------------------------*/
/*不具合修正*/
#top-wrapper *{ box-sizing: border-box;}
form .button input[type=submit]{ font-size: 18px;}
/*#sidebarSubnav{ padding: 0 20px; margin-top: 40px;}*/
.breadcrumbs{ width: auto; padding: 0 20px; max-width: 680px;margin: auto;}
/*--------------------------------------------------------------------*/

/*header*/
#main-menu { height: 44px;}
#top-elements #logo { margin-top: 10px;}
/*ボタンスタイル設定*/
body:not(.home) #main-content .button { padding: 10px;}
body.home #main-content .button { text-align: center; margin-bottom: 30px;}
#main-content .button a { display: inline-block; padding: 20px; font-size: 18px;}
/*main-content*/
body:not(.home) #main-content [class*=block]:not(:first-child),
body:not(.home) #main-content h2:not([class]):not(:first-child) { margin-top: 30px;}
body:not(.home) #main-content h2:not([class]){font-size: 18px;}
body:not(.home) #main-content h3:not([class]):not(:first-child) { margin-top: 20px;}
body:not(.home) #main-content h3:not([class]){ font-size: 16px;}
/*ページタイトル*/
#page-content-title #page-title {height: 100px;}
#page-content-title #page-title h1{ font-size: 22px !important;}
/*tableスタイル設定*/
#main-content .table_form, #main-content .table_form th, #main-content .table_form td, #main-content .table_form tr, #main-content .table_form tbody{ display: block;}
#main-content .table_form th{ padding: 15px 65px 0px 15px; white-space: normal; border: none; font-weight: 700; font-size: 16px;}
#main-content .table_form tr:last-child td{ border-bottom: none;}
/*top*/
body.home #main-content h2:not([class]){font-size: 20px; margin-bottom: 20px;}
body.home #main-content h2:not([class]):before{ padding-right: 8px;}
body.home .block01 { padding: 20px; margin-bottom: 30px;}
body.home .block01 ul{ font-size: 22px;}
body.home .block02 .row{ display: block;width: 100%; margin: 0;}
body.home .block02 .row .service{ display: block; width: 100%; margin-bottom: 20px;}
body.home .block02 .row .service h3 a { font-size: 18px; padding: 20px;}
body.home .block02 .row .service img{ max-width: none; width: 100%;}
body.home .block02 .row .service h4{ padding:0 20px; margin-bottom: 0;}
body.home .block02 .row .service .body { padding: 20px;}
body.home .block03 h3 {font-size: 18px;}
body.home .block03 dd {font-size: 18px;}
body.home .block03 .note {padding: 20px;}
body.home .block04 h3 { font-size: 18px; padding-right: 110px;}
body.home .block04 h3:after { transform: scale(0.6) translate(57px,73px);}
body.home .block04 .top_frame2 { padding: 20px; background-size: 100% 100%;}
body.home .block04 .top_frame2 h4 { font-size: 18px;}
body.home .block04 .top_frame3 {padding: 15px 10px; margin-bottom: 30px;}
body.home .block04 .top_frame3 h4 {padding: 0 10px; font-size: 20px;}
body.home .block04 .top_frame3 ol{ padding: 0 10px 10px;}
}
@media screen and (max-width: 480px){
/*常設設定*/
#main-content .main-content-padding { padding: 0 20px;}
.wpcf7-select{ font-size: 13px;}
/*--------------------------------------------------------------------*/
/*header*/
.social_media_top .area{ display: block; padding-bottom: 10px;}
.social_media_top .call{ font-size: 20px;}
/*tableスタイル設定*/
.table_form{border: 5px solid transparent;}
/*フレームスタイル設定*/
.frame_1,.frame_2{ padding: 10px;}
}





/*====================================================================*/
/*中間サイズでの微調整*/
/*====================================================================*/
@media screen and (max-width: 999px) and (min-width: 720px){
/*--------------------------------------------------------------------*/
/*常設設定*/
.for_middle{ display: block;}
/*table, td, th, tr, thead, tbody{ display: block;}*/
.wpcf7-list-item label{ display: block; padding: 5px 0;}
.wpcf7-text, .wpcf7-textarea{ width: 100%; box-sizing: border-box;}
/*--------------------------------------------------------------------*/
/*--------------------------------------------------------------------*/
/*不具合修正*/
#top-elements .phone-number-padding, #top-elements .social_media_top {padding-right: 20px;}
.container_24 {width: 100%;}
/*--------------------------------------------------------------------*/
/*--------------------------------------------------------------------*/
/*カラム幅修正*/
#main-content.grid_16 {width: calc(100% - 260px);}
#sidebar.grid_8 {width: 260px;}
/*--------------------------------------------------------------------*/
/*header*/
.social_media_top .call, .social_media_top .form { padding-left: 10px;}
.social_media_top .call{ font-size: 23px; white-space: nowrap;}
.social_media_top .form a { font-size: 0; text-indent: -9999px; min-width: 50px; }
.social_media_top .form a:before { content: "\f0e0"; text-indent: 0; font-size: 16px;font-family: FontAwesome !important; display: block;}
#navigation-menu {font-size: 14px;}
#navigation-menu ul.sf-menu > li > a { padding: 0px 10px 0 0;}
#navigation-menu ul.sf-menu > li > a > span {padding: 10px 0 10px 10px;}
/*contents*/
#content-container { background-size: 240px auto;}
#main-content .main-content-padding { padding: 0 0 0 20px;}
/*sidebar*/
#sidebar { font-size: 14px;}
#sidebar [style*=font-size]{ font-size: 14px !important;}
#sidebar [style*="font-size: 12px;"]{ font-size: 12px !important;}
#sidebar .sb_frame h3{ font-size: 16px;}
#sidebar .personalinfo .text { top: 10px;}
#sidebar .personalinfo .text .data [style*="font-size: 12px;"]{ color: #000000;}
#sidebar .personalinfo .link a{ font-size: 12px;}
#sidebar .information li strong { font-size: 18px;}
#sidebar .information li i { font-size: 20px;}
#sidebar .information li i.fa-fax { font-size: 18px;}
#sidebar .information li i.fa-envelope { font-size: 16px;}
#sidebar .information h5 { font-size: 14px;}
#sidebar .list.area li{ font-size: 14px;}
#sidebar #category-posts-2 h3{ font-size: 16px; }
#sidebar #category-posts-2 .cat-post-footer-link{font-size: 14px;}
#sidebar .contact p { font-size: 12px;}
#sidebar .contact h3 { font-size: 16px;}
#sidebar .contact strong { font-size: 18px;}
#sidebar .contact i {font-size: 20px; display: none;}
#sidebar .contact .fa-ul li { padding: 10px !important;}
#sidebar .cat-post-title { font-size: 14px;}
/*footer*/
#footer-top .inner { padding: 0 20px;}
#bottom-bg h3, #bottom-bg li,#bottom-bg .area li{ font-size: 12px;}
#footer-bottom{ font-size: 12px; padding: 20px 0;}
#footer-bottom .inner{ display: table;}
#footer-bottom .copy{ font-size: 12px; margin-bottom: 5px;}
#footer-bottom .one_third { width: auto; display: table-cell; float: none; vertical-align: top; padding: 10px;}
/*固定ページ*/
/*--top--*/
body.home .block01{ background-size: auto 150px, auto;}

}
@media screen and (max-width: 959px) and (min-width: 481px){
}



