@charset "UTF-8";
@import url(https://fonts.googleapis.com/css?family=Lato);
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
body {
    color: #282828;
    font-size: 16px;
    line-height: 1.6;
    -webkit-text-size-adjust: 100%;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;
}
a, a:visited, a:hover {
    color: #282828;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
    content: '';
    content: none;
}
textarea {
    resize: vertical;
    overflow: auto;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
/**/
#header .inner, #content .inner, #footer .inner, .totop .inner {
    width: 1000px;
    margin-left: auto;
    margin-right: auto;
}
.column {
    box-sizing: border-box;
padding:0;
}
.bn1 a, .bn2 a, .bn3 a, .bn4 a {
    background-size: cover;
    position: relative;
    height: 150px;
    line-height: 130px;
    display: block;
    color: #fff;
    font-size: 26px;
    font-weight: normal;
    letter-spacing: 5px;
    text-align: center;
    text-decoration: none;
    width: 100%;
    -webkit-transition: 200ms;
    transition: 200ms;
    text-shadow: 0px 0px 10px rgba(0, 0, 0, 1);
    border: 10px solid rgba(0,0,0,0.2);
    box-sizing: border-box;
    margin-bottom: 10px;
}
a {
    -webkit-transition: 200ms;
    transition: 200ms;
}
.bn1 a {
    background: url(/images/bn1.jpg) center center no-repeat, linear-gradient(to bottom, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0) 100%), -webkit-linear-gradient(top, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0) 100%)
}
.bn2 a {
    background: url(/images/bn2.jpg) center center no-repeat, linear-gradient(to bottom, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0) 100%), -webkit-linear-gradient(top, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0) 100%)
}
.bn3 a {
    background: url(/images/bn3.jpg) center center no-repeat, linear-gradient(to bottom, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0) 100%), -webkit-linear-gradient(top, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0) 100%)
}
.bn4 a {
    background: url(/images/bn4.jpg) center center no-repeat, linear-gradient(to bottom, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0) 100%), -webkit-linear-gradient(top, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0) 100%)
}
.bn1 span, .bn2 span, .bn3 span, .bn4 span {
    position: absolute;
    top: 0px;
    left: 0px;
    bottom: 0px;
    right: 0px;
    margin: auto;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
}
/* header */
#header {
}
#header > .inner {
    padding: 20px 0;
}
#header h1 {
    float: left;
    width: 22%;
    max-width: 219px;
}
#header h1 img {
    width: 100%;
}
#header .info {
    float: right;
    width: 65%;
    margin-top: 1.5%;
}
.header_tel {
    text-align: right;
}
.header_tel img {
    vertical-align: top;
    display: inline-block;
}
.header_tel img.tel {
    width: 57.6%;
}
.header_tel img.bn {
    width: 38.4%;
}
.header_tel a img {
    margin-left: 2%;
}
/* nav */
#nav {
    width: 100%;
    float: none;
    background: none;
    padding-bottom: 10px;
    margin: 0 auto;
}
#nav #menu > li {
    float: left;
    list-style: none;
    width: 14.2857143%;
    box-sizing: border-box;
    border-right: 1px solid #ccc;
}
#nav li.nav01 {
    border-left: 1px solid #ccc;
}
#nav li a {
    display: block;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    font-size: 16px;
    font-weight: bold;
    padding: 3px;
    box-sizing: border-box;
}
#nav li a span {
    display: block;
    font-size: 10px;
    font-weight: normal;
}
#nav li a:hover {
    color: #003d98;
    opacity: 1;
}
.submenu_ul {
    position: absolute;
    z-index: 1;
}
.submenu_ul > li {
    background: #50350d;
    list-style: none;
    width: 300px;
    height: 40px;
    box-sizing: border-box;
    border-collapse: collapse;
    border-bottom: 1px solid #fff;
}
.submenu_ul>li a {
    color: #fff!important;
    display: block;
    height: 50px;
    line-height: 50px;
    text-align: center;
    text-decoration: none;
}
.submenu_ul>li a:hover {
    color: #ccc!important;
}
/* content */

#content {
    margin-bottom: 40px;
    min-height: 500px;
}
.top #content {
    margin-bottom: 0;
}
#content .wrap p {
    margin-bottom: 1.2em;
}
.wrap .inner {
    max-width: 1000px;
    margin: 0 auto;
}
.wrap > .inner {
    padding: 0;
}
/* メイン */

.carousel {
    width: 100%;
    overflow: hidden;
}
.carousel > div {
    width: 100%;
    margin: 0 auto;
    max-width: 2000px;
}
.carousel .slick-list {
    overflow: visible;
}
.carousel .slick-slide {
    position: relative;
    outline: 0;
}
.slick-dots {
    display: none !important;
}
.slick-dots li button:before {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    width: 10px;
    height: 10px;
    background: #0f0f0;
    border-radius: 50%;
}
.slick-dots li.slick-active button:before {
    background: #003d98;
}
.carousel .slick-arrow {
    display: none !important;/*display: block;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: absolute;
    z-index: 1;
    top: 50%;
    width: 19px;
    height: 34px;
    margin-top: 0px;
    padding: 0;
    border: none;
    outline: none;
    background-position: center center;
    background-repeat: no-repeat;
    color: transparent;
    font-size: 0;
    line-height: 0;
    cursor: pointer;
    opacity: 0.8;*/
}
.carousel .slick-arrow:hover {
    opacity: 0.5;
}
.carousel .slick-arrow.slick-prev {
    left: -12px;
    background-image: url(../images/arrow_prev.png);
}
.carousel .slick-arrow.slick-next {
    right: -12px;
    background-image: url(../images/arrow_next.png);
}
/* フッター */
.totop {
    text-align: right;
    line-height: 1;
    height: 47px;
}
.totop img {
    display: block;
    float: right;
}
.top .totop {
    background: #000c1c;
    padding-top: 30px;
}
#footer {
    background: #d8e8ff;
    padding: 4em 0 2em;
    font-size: 14px;
}
#footer .menu {
    display: inline-block;
    margin: 0 2% 0 0;
    width: 40%;
    vertical-align: top;
border: none;
}
#footer .inner {
}
#footer h3 {
    font-size: 24px;
    color: #061f6c;
    line-height: 1.3;
    margin: 0 0 15px;
}
#footer ul {
}
#footer ul li {
    display: block;
    list-style: none;
}
#footer ul li a, #footer ul li a:visited {
    text-decoration: none;
}
#footer ul li a:after {
}
#footer ul li a:hover {
    text-decoration: underline;
}
#footer .f_logo {
    margin: -10px 0 10px;
}
#footer .f_logo img {
    text-align: left;
    margin: 0;
}
.copyright {
    width: 100%;
    text-align: center;
    font-size: 14px;
    color: #282828;
    margin: 20px auto 0;
}
/* table */

.menu_table {
    width: 100%;
    margin-bottom: 10px;
    border-top: 1px solid #e8e9e3;
}
.menu_table th, .menu_table td {
    padding: 14px 14px;
    border-bottom: 1px solid #e8e9e3;
}
.menu_table th {
    text-align: left;
}
.menu_table td {
    text-align: right;
}
table.news {
    border-top: 1px solid #e8e9e3;
    max-width: 800px;
    margin: 0 auto;
    width: 100%;
}
table.news th, table.news td {
    padding: 15px 10px 14px;
    border-bottom: 1px solid #e8e9e3;
}
table.news th {
    width: 20%;
    color: #b4c22e;
    padding: 15px 0 14px 20px;
}
table.info {
    border-top: 1px solid #e8e9e3;
}
table.info th, table.info td {
    padding: 15px 5px 14px;
    border-bottom: 1px solid #e8e9e3;
    text-align: left;
}
table.info th {
    width: 20%;
}
.qa-block {
    margin-bottom: 1.5em;
    padding-bottom: 1em;
    border-bottom: 1px dotted #ccc;
}
.qa-block .answer {
    padding-left: 2.5em !important;
    position: relative;
    margin-left: 30px;
    margin-top: 20px;
}
.answer p {
}
.answer::before {
    position: absolute;
    content: "";
    top: -2px;
    left: 0px;
    background: #b3b3b3;
    height: 30px;
    width: 30px;
    border-radius: 50%;
}
.answer::after {
    position: absolute;
    content: "A";
    font-size: 100%;
    top: 0;
    left: 0.65em;
    color: #fff;
    font-weight: normal;
    border: none;
}
.qa-block .answer p {
    margin: 0 auto 0.8em!important;
}
.qa-block h4 {
    padding-left: 2.5em !important;
    border-bottom: none;
    padding-bottom: 0;
    display: block;
    position: relative;
    color: #003d98;
    background: none;
    padding-top: 0;
    font-size: 18px !important;
    font-weight: bold;
    line-height: 1.3;
}
.qa-block h4::before {
    position: absolute;
    content: "";
    top: -5px;
    left: 0;
    background: #003d98;
    height: 32px;
    width: 32px;
    border-radius: 50%;
    border: none;
}
.qa-block h4::after {
    position: absolute;
    content: "Q";
    top: -2px;
    left: 9px;
    color: #fff;
    font-weight: normal;
    border: none;
}
/* BTN */

.anchor_wrap a {
    width: 180px;
    display: inline-block;
    height: 32px;
    line-height: 30px;
    color: #fff;
    text-decoration: none;
    background: #afcaf2;
    border-radius: 16px;
    text-align: center;
    box-sizing: border-box;
    padding-top: 2px;
}
.anchor_wrap a:hover {
    opacity: 0.7;
}
/*TOP*/

h3.title {
    text-align: center;
    box-sizing: border-box;
    padding: 0 4em 10px;
    display: table;
    font-size: 30px;
    letter-spacing: normal;
    color: #282828;
    margin: 0 auto 1em;
    font-weight: bold;
    line-height: 1.4;
    position: relative;
}
h3.title:after {
    background: #999;
    position: absolute;
    content: "";
    bottom: 45%;
    left: 0;
    right: 0;
    width: 100%;
    height: 1px;
margin: auto;
}
h3.title span {
    color: #003d98;
    display: block;
    font-size: 15px;
    margin-top: 1.5em;
}
.top .sub {
    border: none;
    font-weight: normal;
    font-size: 14px;
    padding: 12px 0 0 0;
    display: block;
}
.under .wrap.h3_title_wrap, .blog_body .wf_bread_ul + .wrap {
    max-width: 100%;
    padding: 3em 0;
    margin: 0 auto 4em;
    background: url(/images/bg02.jpg) no-repeat center;
    background-size: cover !important;
}
.under .wrap.h3_title_wrap h3.title, .blog_body .wf_bread_ul + .wrap h3.title {
    margin: 0 auto;
    padding: 0;
}
.under .wrap.h3_title_wrap h3.title:after, .blog_body .wf_bread_ul + .wrap h3.title:after {
    display: none;
}
h4.title {
    font-size: 26px;
    border-bottom: 1px solid #ccc;
    padding: 8px 20px 5px;
    margin: 1em auto 1em;
    background: #f8f7f6;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: normal;
    border-left: 5px solid #282828;
}
h5.title {
    font-size: 20px;
    padding: 2px 10px 0;
    margin: 0 auto 1em;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: normal;
    border-left: 5px solid #003d98;
}
.bg {
    background: #f5f5f5;
    padding: 1em;
    box-sizing: border-box;
    border-radius: 5px;
    margin: 0 auto 1em;
}
.top .concept-block, .top .item-block {
    padding-bottom: 2.5em;
    padding-top: 2.5em;
    margin-bottom: 2.5em;
}
.top .info-block {
    margin-bottom: 2.5em;
}
.top .concept-block img {
    margin-right: 20px;
}
.top .concept-block h4, .top .concept-block p, .top .concept-block .btn-style {
/*padding-left:52%;*/
}
.top .shop-block img {
/*margin-left:20px;*/
}
.top .shop-block p.entry_p {
    width: 48%;
}
.top .shop-block .anchor_wrap {
    padding-top: 1em;
}
.top dl.info {
    margin-bottom: 20px;
}
/* item */	

.item-list li {
    float: left;
    width: 25%;
    box-sizing: border-box;
    padding: 0 2% 2%;
    text-align: center;
}
.item-list li img {
    width: 100%;
    border-radius: 50%;
    margin-bottom: 10px;
}
.item-list li span.item-price {
    padding-top: 6px;
    font-size: 16px;
    font-weight: bold;
    color: #b0bf24;
    display: block;
}
/* under */

.page_title {
    background: #000c1c;
    text-align: center;
    margin-bottom: 30px;
    padding: 2em 0;
}
h2.title {
    max-width: 1000px;
    margin: 0 auto;
    font-size: 40px;
}
/* template */

.under .btn_wrap {
    margin: 2em auto;
}
.type_basic_fl img {
    width: 30%;
    margin-right: 2%;
    float: left;
}
.type_basic_fr img {
    width: 30%;
    margin-left: 2%;
    float: right;
}
.img-half .type_basic_fl img {
    width: 48%;
    margin-right: 2%;
}
.img-half .type_basic_fr img {
    width: 48%;
    margin-left: 2%;
}
/* 画像 */

.wrap img {
    max-width: 100%;
}
.img_list1 img {
    margin: 0 0 2%;
}
.img_list3 li {
    width: 32%;
    margin: 0 0 2% 2%;
    float: left;
    display: block;
}
.img_list3 li:first-child {
    margin-left: 0;
}
/*-------------------
 Responsive 
-------------------*/

.sp {
    display: none !important;
}
.map {
    position: relative;
    padding-bottom: 40%;
    height: 0;
    overflow: hidden;
}
.map iframe, .map object, .map embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
form .wrap > .inner {
    border-bottom: none;
    padding-top: 10px;
    padding-bottom: 10px;
}
.wf_form_wrap .inner {
    border-bottom: 1px dotted #ccc !important;
    padding-bottom: 20px;
}
/***********BLOG************/
.wf_blog_ul {
    max-width: 1000px;
    width: 100%;
    margin: 5px auto;
    display: block;
}
.wf_blog_ul .wf_blog_li_thumb, .wf_blog_ul .wf_blog_li_thumb:hover {
    width: 45px;
    height: 45px;
    border-radius: 100%!important;
    display: block;
    overflow: hidden;
    float: left;
    margin-right: 10px;
}
.wf_blog_ul .wf_blog_li_thumb img {
    width: 100%;
    min-width: 45px;
    max-width: 200px;
    min-height: 45px;
    max-height: 200px;
}
.wf_blog_ul li {
    display: block;
    border-bottom: 1px solid #ccc;
}
.wf_blog_ul li:after {
    content: "";
    clear: both;
    display: block;
}
.wf_blog_ul .wf_blog_li_date, .wf_blog_ul .wf_blog_li_title {
    display: block;
    float: left;
    margin: 0px!important;
    padding: 10px;
    box-sizing: border-box;
    max-width: 100%;
}
.wf_bread_ul li {
    display: inline;
}
.wf_blog_ul li a {
    color: #282828;
}
.wf_bread_ul {
    width: 100%;
    max-width: 1000px;
    display: block;
    margin: 10px auto 0;
    padding: 5px;
    font-size: 13px;
}
.wf_blog_li_date_time {
    display: none;
}
form .wrap {
}
.word_break {
    word-break: break-all;
}
a:focus, *:focus {
    outline: none;
}
a {
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
}
a img {
    backface-visibility: hidden;
    transition: 0.3s;
    -moz-transition: 0.3s;
    -webkit-transition: 0.3s;
}
a:hover img {
    opacity: 0.8;
    -moz-opacity: 0.8;
    -webkit-opacity: 0.8;
    transition: 0.3s;
    -moz-transition: 0.3s;
    -webkit-transition: 0.3s;
}
#header h1 a:hover img {
    opacity: 1;
    -moz-opacity: 1;
    -webkit-opacity: 1;
}
.mb0 {
    margin-bottom: 0!important;
}
.mb_h3 {
    margin-bottom: 20px !important;
}
.mb_h4 {
    margin-bottom: 18px!important;
}
.mb_h5 {
    margin-bottom: 10px!important;
}
.mb_01 {
    margin-bottom: 27px!important;
}
.mb_02 {
    margin-bottom: 60px!important;
}
.mb_03 {
    margin-bottom: 75px!important;
}
ul.list_dot {
    list-style: none;
}
ul.list_dot li {
    padding: 0 0 5px 15px;
    position: relative;
    word-wrap: break-word;
}
.list_dot li:before {
    background: none repeat scroll 0 0 #003d98;
    border-radius: 50%;
    content: "";
    height: 5px;
    left: 3px;
    position: absolute;
    top: 10px;
    width: 5px;
}
ul.ul_check li {
    padding: 0px 0px 5px 25px;
    background: url(/images/check.png) no-repeat left 3px;
}
ul.ul02 {
    list-style: none;
}
ul.ul02 li {
    padding: 0 0 5px 14px;
    position: relative;
}
ul.float_ul01 {
    display: table;
    margin: 0 auto 2em;
}
ul.float_ul01 li {
    display: inline-block;
    vertical-align: top;
    margin: 0 2% 0 0;
    width: 42%;
}
.ul02 li:before {
    display: block;
    content: "";
    position: absolute;
    top: 8px;
    left: 3px;
    width: 0;
    height: 0;
    border: 5px solid transparent;
    border-left: 5px solid #3584d5;
}
p.point_p {
    color: #cab52c;
    font-size: 22px;
    font-weight: bold;
    line-height: 1.3;
    padding: 7px 5px 8px 16px;
    position: relative;
    text-shadow: 2px 2px 1px #fff, -2px -2px 1px #fff, 2px -2px 1px #fff, -2px 2px 1px #fff;
    z-index: 1;
}
p.point_p:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 25px;
    height: 25px;
    border: 9px solid #d7f0f9;
    border-radius: 50%;
    z-index: -1;
}
.number_p {
    font-size: 19px;
    font-weight: bold;
    line-height: 1.4;
    margin: 0 0 10px;
    padding: 0 0 0 110px;
    text-indent: -110px;
}
.number {
    background: none repeat scroll 0 0 #cab52c;
    border-radius: 5px;
    box-shadow: 3px 3px 0 #ccc;
    color: #fff;
    font-size: 23px;
    margin: 0 10px 0 0;
    padding: 0 8px;
}
.arrow_box {
    position: relative;
    height: 40px;
    width: 100%;
}
.arrow_box:before {
    content: "";
    position: absolute;
    background: none;
    top: 10px;
    left: 0px;
    height: 0;
    border-top: dotted #E6DDB8 2px;
    width: 100%;
}
.arrow_box:after {
    display: block;
    content: "";
    position: absolute;
    top: 10px;
    left: 50%;
    margin: 0 0 0 -30px;
    width: 0px;
    height: 0px;
    border: 30px solid transparent;
    border-top: 16px solid #faeaa9;
}
.merit01 {
    padding: 0px 6px 0px 6px;
    border-radius: 5px;
    background: #cdb827;
    font-size: 20px;
    color: #fff;
    margin: 0 0 8px;
    display: inline-block;
}
.merit02 {
    padding: 0px 6px 0px 6px;
    border-radius: 5px;
    margin: 0 0 8px;
    background: #6a91c4;
    font-size: 20px;
    color: #fff;
    display: inline-block;
}
.text_box {
    float: right;
    width: 62%;
}
.border_box01, .border-box01 {
    background-color: #f8f8f8;
    border: 1px solid #ddd;
    padding: 10px;
}
.border_box02 {
    background-color: #f8f8f8;
    border: 1px solid #ddd;
    border-radius: 7px;
    padding: 10px;
}
.text_01 {
    color: #cdb827;
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 0;
    line-height: 1.6 !important;
    padding: 0;
    text-align: center;
}
.link_btn a {
    line-height: 1.4;
    display: block;
    padding: 15px 25px;
    box-sizing: border-box;
    text-align: center;
    position: relative;
    color: #fff;
    background: #003d98;
    transition: all 0.5s ease 0s;
    text-decoration: none;
    letter-spacing: 0.05em;
    border-radius: 5px;
    max-width: 260px;
    font-size: 15px;
    margin: 0 auto;
}
.link_btn a::after {
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    content: "";
    display: block;
    height: 6px;
    margin-top: -4px;
    position: absolute;
    right: 15px;
    top: 50%;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    width: 6px;
}
.link_btn a:hover {
    color: #fff;
    text-decoration: none;
    background: #002a68;
}
.btn_wrap a {
    font-size: 15px;
}
/*--------------------------------------
	table01
--------------------------------------*/
.t01_style table,table.table01, table .table01 {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #ccc;
    margin: 0 auto 1em;
}
.t01_style th,.t01_style td,
.table01 th, .table01 td {
    padding: 0.5em;
    text-align: left;
    vertical-align: middle;
    border: 1px solid #ccc;
}
.t01_style thead th ,
.table01 thead th {
    background: #002e4e;
    color: #fff;
}
.t01_style tbody th ,
.table01 tbody th {
    background: #edf5ff;
    width: 20%;
}
.table01.price th {
    width: 75%;
}
table.table02 {
    border-collapse: collapse;
    background: none;
    width: 100%;
    font-size: 14px;
}
table.table02 th {
    width: 15%;
}
table.table02 th, table.table02 td {
    border-bottom: solid 1px #ccc;
    padding: 0.3em 0.6em;
    text-align: left;
}
/* =====================================
 共通
===================================== */
.slick-dots {
    bottom: -35px!important;
}
.top01, .top02, .top03, .top04, .top05, .top06 {
    padding: 60px 0;
}
.top01 {
    background: url(/images/top01_bg01.png) no-repeat center top;
    background-size: cover;
}
.top01 .link_btn {
    margin: 0;
}
#content .top01 p.p01 {
    margin: 0 0 40px;
}
.top02 {
    background: url(/images/top02_bg01.png) no-repeat center top;
    background-size: cover;
    text-align: center;
}
.top02 .column {
    background: url(/images/top02_boxbg.png) repeat center top;
    padding: 30px 0;
    margin-right: 10px;
    margin-left: 10px;
    border-radius: 5px;
    position: relative;
}
.top02 .column:before {
    content: "";
    position: absolute;
    background: url(/images/top02_icon01.png) no-repeat center center;
    width: 179px;
    height: 151px;
    top: 0;
    left: 0;
}
.top02 .column:after {
    content: "";
    position: absolute;
    background: url(/images/top02_icon02.png) no-repeat center center;
    width: 122px;
    height: 199px;
    bottom: 0;
    right: 0;
}
.top02 .column:last-child:before {
    content: "";
    position: absolute;
    background: url(/images/top02_icon03.png) no-repeat center center;
    width: 119px;
    height: 116px;
    top: 0;
    left: 0;
}
.top02 .column:last-child:after {
    content: "";
    position: absolute;
    background: url(/images/top02_icon04.png) no-repeat center center;
    width: 192px;
    height: 154px;
    bottom: 0;
    right: 0;
}
.top02 .part, .top02 h4, .top02 .link_btn {
    position: relative;
    z-index: 10;
}
.top02 .link_btn a {
    color: #5a514f;
    background: #f1e7b3;
}
.top02 .link_btn a::before {
    background: #5a514f;
}
.top02 .link_btn a::after {
    border-top: 2px solid #f1e7b3;
    border-right: 2px solid #f1e7b3;
}
.top03 {
    background: url(/images/top03_bg01.png) no-repeat center top;
    background-size: cover;
    text-align: center;
}
.top03 .wf_blog_li_date {
    display: none;
}
.top03 .columns.is-multiline.スタイルギャラリー a {
}
.top03 .columns.is-multiline.スタイルギャラリー .wf_blog_li_title {
    font-size: 20px;
    padding: 0 0 10px 30px;
    background: url(/images/icon01.png) no-repeat left bottom, url(/images/top03_boxbg.png) repeat left top;
    display: block;
    /*padding-bottom: 10px;*/
    font-size: 22px;
    position: relative;
    line-height: 1.4;
    max-width: 210px;
    margin: 0 auto;
    border-radius: 5px;
    box-sizing: border-box;
}
.top03 .columns.is-multiline.スタイルギャラリー img {
    border-radius: 5px 5px 0 0;
    vertical-align: top;
}
.top .top04 h4 {
    border-bottom: 1px solid #e8e9e3;
    padding: 0 0 10px 20px;
    color: #5a514f;
    margin: 0;
}
.top04 .wf_blog_ul li {
    border-bottom: 1px solid #e8e9e3;
    font-size: 14px;
}
.top04 .wf_blog_li_date_date {
    color: #b4c22e;
}
#content .wrap.top04 p {
    margin: 0;
}
.top05 {
    background: url(/images/top05_bg01.png) repeat left top;
}
.top05 table.table02 {
    margin: 0 0 30px;
}
.top05 .link_btn {
    margin: 0;
}
#content .wrap.top05_map p {
    margin: 0;
}
.top05_map .map {
    padding-bottom: 20%;
}
.top06 {
    background: url(/images/top07_bg01.png) no-repeat center top;
    background-size: cover;
}
.top06 p {
    font-size: 32px;
    line-height: 1.8;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.top06 span.part, .top06 a, .top06 img {
    display: block;
}
.top06 span.part {
    margin: 0 0 20px;
}
.top06 span.part:last-child {
    margin: 0;
}
#bread span:hover {
    text-decoration: underline;
}
.map iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}
form .wrap {
    border-bottom: none;
    padding-top: 0;
    padding-bottom: 0;
}
#sidecontact {
    display: block;
    position: fixed;
    top: 200px;
    z-index: 1000;
}
#sidecontact.rightContent {
    right: 0;
}
#sidecontact.rightContent a, #sidecontact.rightContent a img {
    display: block;
}
.wf_form_parts_wrap.wf_radio_wrap {
    display: inline-block;
}
.wf_form_text {
    box-sizing: border-box;
}
/********追記**********/
.mainimage {
    position: relative;
}
.mainimage::after {
    content: "";
    width: 100%;
    height: 100%;
    max-width: 500px;
    max-height: 240px;
    position: absolute;
    display: block;
    top: 30%;
    left: 0;
    right: 0;
    margin: auto;
    background: url(/images/catch.png) no-repeat center center;
    background-size:100%;
}
.pagetop {
    position: fixed;
    right: 1%;
    bottom: 1%;
    z-index: 9999;
}
.column {
    margin-bottom: 2em;
}
.sec01, .sec02, .sec03, .sec04, .sec_contact, .sec_news {
    padding: 5em 0 4em;
    margin: 0 auto;
}
.sec01 {
    background: url(/images/bg01.jpg) no-repeat center bottom;
    background-size: cover !important;
}
.sec01 h3.title {
    padding: 0 20px 10px;
}
.sec01 h3.title:after {
    bottom: 0;
}
.sec02 {
    background: url(/images/bg02.jpg) no-repeat center;
    background-size: cover !important;
}
.sec03 {
    background: url(/images/bg03.jpg) no-repeat center bottom;
    background-size: cover !important;
}
.sec03 .cont {
    padding: 3em 8em;
    box-sizing: border-box;
    background: rgba(255,255,255,0.9);
}
.sec04 .part .img_span {
    display: inline-block;
    width: 30%;
    margin: 0 2% 2% 0;
}
.sec_contact {
    background: url(/images/bg04.jpg) no-repeat center bottom;
    background-size: cover !important;
}
.sec_contact h3.title {
    margin: 0 auto 0.5em;
}
.sec_contact .bnr {
    text-align: center;
    margin: 2em auto 0;
}
.sec_contact .bnr .wf_img_cont {
    display: inline-block;
    width: 47%;
    margin: 0 1% 2%;
    max-width: 320px;
}

@media only screen and (max-width: 1200px) {
#header .inner, #content .inner, #footer .inner, .totop .inner {
    margin-left: auto;
    margin-right: auto;
    width: 94%;
    float: none;
}
h3.title {
    font-size: 26px;
    padding: 0 1em 10px;
}
.sec01 h3.title {
    padding: 0 10px 10px;
}
#footer h3 {
    font-size: 20px;
}
.map {
    padding-bottom: 45%;
}
.mainimage::after {
    content: "";
    width: 30%;
    top: 22%;
}
}

@media only screen and (max-width: 1000px) {
.carousel > div {
    width: 100%;
}
.carousel .slick-arrow.slick-next {
    right: 5px;
}
.carousel .slick-arrow.slick-prev {
    left: 5px;
}
.mainimage::after {
    top: 12%;
}
}

@media only screen and (max-width: 767px) {
.sp {
    display: block !important;
}
.pc {
    display: none !important;
}
.mainimage::after {
    top: 25%;
    width: 80%;
}
.wf_blog_ul .wf_blog_li_date, .wf_blog_ul .wf_blog_li_title {
    display: block;
    float: none;
    margin: 0px !important;
    padding: 0px 10px;
    box-sizing: border-box;
    max-width: 100%;
}
.wf_blog_ul .wf_blog_li_title {
    padding: 0px 10px 10px;
}
.sec_contact .bnr .wf_img_cont {
    display: block;
    width: 100%;
    margin: 0 auto 2%;
}
.sec01, .sec02, .sec03, .sec04, .sec_contact, .sec_news {
    padding: 3em 0;
}
.sec02 {
    text-align: center;
}
.sec03 .cont {
    padding: 2em;
}
ul.float_ul01 li {
    display: block;
    margin: 0 auto 0.2em;
    width: 100%;
}
h3.title {
    font-size: 22px;
    padding: 0 1em 10px;
}
table.table01, table .table01 {
    font-size: 85%;
}
.table01 th, .table01 td {
    padding: 0.2em;
}
.column img {
    text-align: center;
    display: block;
    margin: 0 auto 1em;
}
.sec04 .part .img_span {
    display: inline-block;
    width: 30%;
    margin: 0 1% 2%;
}
img {
    max-width: 100%;
}
#header {
    height: 110px;
}
#header h1 {
    position: absolute;
    margin-top: 0;
    top: 20px;
    width: 47%;
}
#header .info {
    position: absolute;
    top: 30px;
    right: 10px;
    margin-top: 0;
    width: 166px;
    max-width: 36%;
    padding-top: 0;
    float: right;
}
#header .info a {
    margin-right: 4.5%;
    display: block;
    width: 30.5%;
    float: left;
    max-width: 50px;
}
#header .info img {
    width: 100%;
    display: block;
}
#nav {
    background: none;
}
#menu {
    display: none;
}
#toggle {
    display: block;
    position: absolute;
    top: 30px;
    right: 10px;
    max-width: 50px;
    width: 10%;
}
#header #toggle a {
    width: 100%;
    margin: 0;
    float: none;
    position: relative;
}
#nav ul {
    background: rgba(255,255,255,.9);
    left: 0;
    margin: 0;
    top: 90px;
    width: 100%;
    position: absolute;
    z-index: 9999;
}
#nav #menu > li {
    display: block;
    text-align: left;
    float: none;
    height: auto;
    width: 100%;
    padding: 0;
    box-sizing: border-box;
    border: none;
    border-bottom: 1px solid #ccc;
    margin: 0;
}
#nav ul li.nav01 {
    border-left: none;
}
#nav ul li a {
    display: block;
    padding: 14px 10px;
    width: 100%;
    float: none;
    box-sizing: border-box;
    text-align: left;
    height: auto;
    line-height: 1.5;
}
.submenu_ul > li {
    width: 100%;
}
.item-list li {
    float: none;
    margin: 0 auto 20px;
    max-width: 250px;
    width: 80%;
}
#content {
    width: 100%;
}
/* top */
.top .concept-block img, .top .shop-block img {
    margin: 0 0 20px;
    max-width: 100%;
}
.top .concept-block h4, .top .concept-block p, .top .concept-block .anchor_wrap {
    padding-left: 0;
}
.top .shop-block .anchor_wrap, .top .concept-block .anchor_wrap {
    text-align: center;
}
.top .shop-block p.entry_p {
    width: 100%;
}
/* template */

.type_basic_fl img, .type_basic_fr img, .img-half .type_basic_fl img, .img-half .type_basic_fr img, .img_list3 img, .img_list3 a {
    float: none;
    width: 100%;
    margin: 0 0 20px;
}
.top01, .top02, .top03, .top04, .top05, .top06 {
    padding: 40px 0;
}
.top01 {
    padding: 20px 0 40px;
}
.top05_map .map {
    padding-bottom: 45%;
}
.top05 table.table02 {
    font-size: 14px;
}
.top06 p {
    font-size: 20px;
}
.second_col .cont.column:first-child {
    margin-bottom: 10px;
}
#sidecontact {
    display: none;
}
.under .wrap.h3_title_wrap h3, .blog_body .wf_bread_ul + .wrap h3 {
    padding: 0 0 25px 0;
    font-size: 24px;
}
.under .wrap.h3_title_wrap, .blog_body .wf_bread_ul + .wrap {
    padding: 2em 0;
}
.under h4 {
    font-size: 20px;
}
}

@media only screen and (max-width: 600px) {
.sec04 .part .img_span {
    display: block;
    width: 100%;
    margin: 0 auto;
}
}
@media only screen and (max-width: 480px) {
#nav ul {
    top: 88px;
}
#footer .menu {
    display: block;
    margin: 0 0 2em;
    width: 100%;
}
.top .recommend-block .block-inner {
    background-size: 20px;
    background-position: 0 0;
}
.top .recommend-block .block-inner .fl {
    padding-left: 0;
}
table.table01, table .table01 {
    font-size: 70%;
}
table.news th, table.news td, .info_dt, .info_dd {
    display: block;
    float: none;
    width: 100%;
    text-align: left;
}
table.news th, .info_dt {
    padding: 15px 2px 4px;
}
table.news td, .info_dd {
    padding: 4px 2px 15px;
}
table.news th, .info_dt {
    border-bottom: none;
}
.menu_table th, .menu_table td {
    display: block;
}
.menu_table th {
    border-bottom: none;
    padding-bottom: 4px;
}
.menu_table td {
    padding-top: 4px;
}
}
@media only screen and (max-width: 430px) {
.mainimage::after {
    top: 12%;
    width: 80%;
}
}
@media only screen and (max-width: 360px) {
#header {
    height: 90px;
}
}

@media only screen and (max-width: 320px) {
#header h1 {
    top: 15px;
}
#header .info {
    top: 20px;
}
#toggle {
    top: 20px;
}
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
#nav li a {
    font-size: 13px;
}
#nav li a span {
    font-size: 9px;
}
}

@media screen and (min-width: 768px) {
.sec01 .link_btn a, .sec04 .link_btn a {
    margin: 0;
}
a[href^="tel:"] {
    pointer-events: none;
    text-decoration: none;
}
.columns .column {
    width: 48%;
    -webkit-box-flex-basis: 48%;
    -webkit-flex-basis: 48%;
    flex-basis: 48%;
    flex: inherit;
    -webkit-box-flex: inherit;
    -webkit-flex: inherit;
    -ms-flex: inherit;
}
.columns {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    justify-content: space-between;
    margin-bottom: 1em !important;
}
.top01 .link_btn, .top05 .link_btn {
    margin: 0 auto 20px;
}
.youtube_btn {
    margin-bottom: 20px !important;
    display: block;
}
.youtube_btn img {
    width: 100%;
}
.top02 .column {
    margin-right: 0;
    margin-left: 0;
    margin: 0 auto 20px;
    max-width: 480px;
}
.top03 .column {
    margin: 0 auto 20px;
}
/*.columns{
margin-left:auto!important;
margin-right:auto!important;
text-align:center;
}*/
.under .columns p, .under .columns ul {
    text-align: left;
}
#mailform .column {
    padding: 0px;
    text-align: left;
    width: 25%;
    -webkit-box-flex-basis: 25%;
    -webkit-flex-basis: 25%;
    flex-basis: 25%;
}
#mailform .column:last-child {
    width: 73%;
    -webkit-box-flex-basis: 73%;
    -webkit-flex-basis: 73%;
    flex-basis: 73%;
}
}
.youtube_btn .img_anchor::after {
    max-width: 90px !important;
    max-height: 63px !important;
}
.wf_lic_施工事例 .wf_blog_li_date {
    display: none;
}

@media only screen and (min-width: 767px) {
.columns.施工事例>.column span.wf_blog_li_thumb{
	display:block;
	background:#000;
	height:100%;
	min-height:250px;
	width:100%;
	position:relative;
	box-sizing:border-box;
	overflow:hidden;
}
.columns.施工事例>.column span.wf_blog_li_thumb img{
	position:absolute;
	max-width:100%;
	display:block;
	top:0;
	bottom:0;
	left:0;
	right:0;
	margin:auto;
}
}


.施工事例 .wf_blog_li_title {

    padding-top: 10px;
    display: block;
    font-size: 18px;

}


.sitemap.ul02 li {
    border-bottom: 1px dotted #ccc;
    margin-bottom: 15px;
}


/* 強み・ひみつ */
.text_strength {
    color: #003d98;
    font-size: 30px;
    font-weight: bold;
}
@media only screen and (max-width: 767px) {
    .text_strength {
        font-size: 20px;
    }
}

.columns.before_after {
    align-items: center;
}

.columns.before_after .column {
    width: 45%;
}
@media only screen and (max-width: 767px) {
    .columns.before_after .column {
        width: 100%;
    }
}
.columns.before_after .column .img_span {
    display: block;
    text-align: center;
    background: #f4f4f4;
}

.columns.before_after .column .img_span img {
    max-height: 300px;
    vertical-align: bottom;
}
@media only screen and (max-width: 767px) {
    .columns.before_after .column .img_span img {
        max-height: none;
    }
}

.columns.before_after .column.arrow {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 50px 0 50px 30px;
    border-color: transparent transparent transparent #003d98;
    background: none;
}
@media only screen and (max-width: 767px) {
    .columns.before_after .column.arrow {
        border-style: solid;
        border-width: 20px 50px 0 50px;
        border-color: #003d98 transparent transparent transparent;
        margin-left: auto;
        margin-right: auto;
    }
}

.columns.col3 .column {
    width: 31%;
}
@media only screen and (max-width: 767px) {
    .columns.col3 .column {
        width: 100%;
    }
}