/*
Theme Name: daishoestate
Author: Communitycom, Inc.
Author URI: https://daishoestate.com/
Description: ダイショーエステートのワードプレステーマです

*/

body,
h1,
h2,
h3,
h4,
p,
div {
    font-family: -apple-system, "ヒラギノ角ゴ ProN W3",
    "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Arial, sans-serif;

    color: #333;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -ms-word-wrap: break-word;
    word-wrap: break-word;
}

img {
    max-width: 100%;
    height: auto;
}

@media print {
    a[href]:after,
    abbr[title]:after {
        content: "" !important;
    }
}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/

/* Text meant only for screen readers. */

.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
}

.screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    color: #21759b;
    display: block;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: bold;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
    /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */

#content[tabindex="-1"]:focus {
    outline: 0;
}

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/

.clear {
    clear: both;
    margin: 0;
    padding: 0;
}

.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
    content: "";
    display: table;
    table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
    clear: both;
}

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/

.alignnone {
    margin: 5px 0;
}

.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

.aligncenter {
    display: block;
    margin: 5px auto;
}

/*--------------------------------------------------------------
## Asides
--------------------------------------------------------------*/

.blog .format-aside .entry-title,
.archive .format-aside .entry-title {
    display: none;
}

/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/

.comment-content a {
    word-wrap: break-word;
}

.bypostauthor {
    display: block;
}

/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/

/* Globally hidden elements when Infinite Scroll is supported and in use. */

.infinite-scroll .posts-navigation,
/* Older / Newer Posts Navigation (always hidden) */

.infinite-scroll.neverending .site-footer {
    /* Theme Footer (when set to scrolling) */
    display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */

.infinity-end.neverending .site-footer {
    display: block;
}

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/

.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
    border: none;
    margin-bottom: 0;
    margin-top: 0;
    padding: 0;
}

/* Make sure embeds and iframes fit their containers. */

embed,
iframe,
object {
    max-width: 100%;
}

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/

.wp-caption {
    max-width: 96%;
    padding: 10px;
    background: #eee;
    border: 1px solid #ddd;
}

.wp-caption img {
    width: auto;
    max-width: 98.5%;
    height: auto;
    margin: 0;
    padding: 0;
    border: 0 none;
}

.wp-caption p.wp-caption-text {
    margin: 0;
    padding: 5px 0;
    color: #333;
}

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/

.gallery {
    margin-bottom: 1.5em;
}

.gallery-item {
    display: inline-block;
    text-align: center;
    vertical-align: top;
    width: 100%;
}

.gallery-columns-2 .gallery-item {
    max-width: 50%;
}

.gallery-columns-3 .gallery-item {
    max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
    max-width: 25%;
}

.gallery-columns-5 .gallery-item {
    max-width: 20%;
}

.gallery-columns-6 .gallery-item {
    max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
    max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
    max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
    max-width: 11.11%;
}

.gallery-caption {
    display: block;
}

.sticky {
    display: block;
    overflow: hidden;
    padding: 1em;
    background-color: #f5f5f5;
}

.bypostauthor {
    color: #464646;
}

.screen-reader-text {
    display: none;
}

a:hover img {
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
    opacity: 0.7;
}

h2.top {
    position: relative;
    font-size: 35px;
    color: #1d2087;
    text-align: center;
    padding: 20px;
    margin-bottom: 70px;
}

h2.top:before {
    content: "";
    position: absolute;
    width: 80px;
    height: 5px;
    background-color: #1d2087;
    left: 50%;
    right: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    bottom: -20px;
}
/*

.header-fixed-shrink {
    background-color: #1d2087 !important;
    animation-name:fadeInAnime;
    animation-duration:1s;
    animation-fill-mode:forwards;
    opacity:0;
}
@keyframes fadeInAnime{
    from {
        opacity: 0.5;
    }

    to {
        opacity: 1;
    }
}
*/

.page .mega-menu,
.archive .mega-menu,
.blog .mega-menu,
.single .mega-menu{
    background-color: #1d2087;
}

.more {
    max-width: 600px;
    margin: 0 auto;
    background-color: #fff;
    border: 6px solid #1d2087;
}

.more a {
    position: relative;
    display: block;
    color: #1d2087;
    font-size: 25px;
    text-align: center;
    padding: 18px;
}

.more a:before {
    position: absolute;
    top: 40%;
    right: 30px;
    content: "";
    width: 55px;
    height: 8px;
    border-bottom: 1px solid #1d2087;
    border-right: 1px solid #1d2087;
    transform: skew(45deg);
}

.main_visual {
    position: relative;
}

.main_visual .container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.main_visual .container .navbar-brand {
    max-width: 410px;
    height: auto;
}

.main_visual .navbar-brand h1 {
    width: 234px;
    margin: 0 auto 40px auto;
}

.main_visual .navbar-brand .catch {
    width: 380px;
}

@media (max-width: 768px) {
    .main_visual .navbar-brand {
        width: 30%;
        margin: 0 auto;
    }
    .main_visual .navbar-brand h1 {
        width: 100%;
    }
    .main_visual .navbar-brand .catch {
        width: 100%;
    }
}

.area01 {
    background-image: url(assets/img/bg_area01.png);
    background-repeat: no-repeat;
    background-position: 0 0;
    -webkit-background-size: 20%;
    background-size: 20%;
    margin-top: -10px;
}

.area01 .container ul {
    margin-bottom: 50px;
    padding-left: 0;
}

.area01 li {
    max-width: 23.5%;
    list-style: none;
}

.area01 .type {
    background-color: #fff;
    padding: 15px;
    border: 1px solid #efefef;
    margin-right: 2%;
}

.area01 .type:last-child {
    margin-right: 0;
}

.area01 .type img {
    margin-bottom: 20px;
}

.area01 .type .type_name {
    font-size: 20px;
    color: #1d2087;
    text-align: center;
}

.area02 {
    margin-bottom: 50px;
}

.area02 .link {
    margin-bottom: 32px;
}

.area02 .link a {
    display: block;
    max-width: 380px;
    color: #fff;
    background-color: #1d2087;
    padding: 10px;
}

.area02 .listcol02 {
    margin: 0 auto;
    max-width: 790px;
}

.area02 .link a span {
    font-size: 25px;
    display: block;
    border: 1px solid #efefef;
    padding: 30px 0px;
    text-align: center;
}

.area03 {
    display: flex;
}

.area03 .block {
    padding: 120px 0;
    display: block;
    content: "";
    clear: both;
}

.area03 .block .inner {
    max-width: 600px;
    padding: 0 40px;
}

.area03 .block .inner.left {
    float: right;
}

.area03 .post_block {
    background-color: #fff;
    border: 1px solid #efefef;
    padding: 20px;
    margin-bottom: 30px;
    min-height: 350px;
}

.area03 .wrap {
    display: flex;
    justify-content: space-between;

}

.area03 .post_block .pic {
    text-align: center;
    width: 55%;
}

.area03 .post_block .pic img {
    max-width: 260px;
    height: 200px;
    width: 100%;
    object-fit: cover;
}

.area03 .post_block .title {
    width: 40%;
}
.area03 .post_block .title .cate{
    font-size: 14px;
    background-color: #79c9d1;
    padding-left: 10px;
    padding-right: 10px;
    display: inline-block;
    color: #fff;
    margin-bottom: 2em;
}


.area03 .post_block .title h3 {
    color: #1d2087;
    background-color: transparent;
    padding: 0;
}

.area03 .post_block .txt {
    color: #1d2087;
    margin: 10px 0 0 0;
    height: 3.5em;
}

.area03 .kaitori {
    width: 50%;
    background-color: #f5f7f7;
}

.area03 .bukken {
    width: 50%;
    background-color: #1d2087;
}

.area03 .bukken h2.top {
    color: #fff;
}

.area03 .bukken h2.top:before {
    background-color: #fff;
}

.area03 .bukken .more {
    background-color: transparent;
    border: solid #fff 5px;
}

.area03 .bukken .more a {
    color: #fff;
}
.area03 .bukken .more a:before {
    border-bottom: 1px solid #fff;
    border-right: 1px solid #fff;
}



.post-blog-inner {
    max-width: 795px;
    margin: 0 auto;
}

.area04 {
    margin-bottom: 80px;
}

.area04 dl {
    border-bottom: 2px dotted #b5b5b6;
    align-items: center;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-left: 20px;
    padding-right: 20px;
}

.area04 dl:last-child {
    margin-bottom: 60px !important;
}

.area04 dl.wrap {
    display: flex;
}

.area04 .blog_list {
    margin-bottom: 30px;
}

.area04 dl dt li a {
    font-size: 16px;
    font-weight: normal;
    color: #fff;
    padding: 5px 30px;
    width: 130px;
    display: block;
    text-align: center;
}

.area04 .news li a {
    background-color: #1d2087;
}

.area04 .blog li a {
    background-color: #79c9d1;
}

.area04 dl dt.cate {
    margin-right: 20px;
    font-size: 16px;
}

.area04 dl dt,
.area04 dl dd {
    padding: 20px 0;
}

.area04 dl dt.cate ul {
    padding-left: 0;
    margin-bottom: 0;
}

.area04 dl dd.date {
    margin-right: 30px;
    font-size: 16px;
    margin-bottom: 0;
}

.area04 dl dd.title {
    font-size: 16px;
    margin: 0;
}

.area04 dl dd.title h3 {
    margin: 0;
    background-color: transparent;
    font-size: 16px;
}

.area04 .link.wrap {
    flex-wrap: wrap;
    justify-content: space-between;
    margin-left: 30px;
    margin-right: 30px;
}

.area04 .link.wrap .link_btn {
    width: 45%;
}
.page .header_visual,
.archive .header_visual,
.blog .header_visual,
.single .header_visual{
    position: relative;
}
.page .header_visual h1,
.archive .header_visual h1,
.blog .header_visual h1,
.single .header_visual h1{
    font-family: 'Noto Serif JP', serif;
    font-size: 35px;
    color: #fff;
    text-align: center;
    line-height: 1;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.page .header_visual h1 span,
.archive .header_visual h1 span,
.blog .header_visual h1 span,
.single .header_visual h1 span
{
    font-size: 16px;
}
.page .header_visual img,
.archive .header_visual img,
.blog .header_visual img,
.single .header_visual img{
    width: 100%;
    height: 200px;
    object-fit: cover;
    margin-bottom: 0;
}
.type-page {
    padding-top: 70px;
} 
.page h2.blue_line{
    position: relative;
    font-size: 35px;
    color: #1d2087;
    text-align: center;
    margin-bottom: 110px;
}
.page h2.blue_line:before{
    position: absolute;
    content: "";
    width: 80px;
    height: 5px;
    background-color: #1d2087;
    bottom: -35px;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.page .wrap{
    display: flex;
    flex-wrap: wrap;
}
.company .rinen_wrap{
    padding: 50px;
    background-color: #efefef;
}
.company .rinen_wrap .pic{
    max-width: 350px;
    width: 35%;
}
.company .rinen_wrap .catch{
    font-size: 21px;
}
.company .rinen_wrap .text{
    max-width: 500px;
    padding: 10px 0 0 80px;
    width: 65%;
}
.company .rinen_wrap .text ol{
    padding-left: 1.5em;
    list-style: auto;
}
.company .aisatsu{
    padding-top: 30px;
    padding-bottom: 100px;
}
.company .aisatsu .strong{
    font-size: 25px;
    font-weight: bold;
    margin-bottom: 0;
}
.company .keireki{
    margin-bottom: 150px;
}
.company .keireki_table,
.company .gaiyo_table{
    max-width: 1040px;
    margin: 0 auto;
}
.company .keireki_table th{
    width: 15%!important;
    font-weight: normal;
    border-bottom: 1px solid #1d2087;
    vertical-align: middle;
    text-align: center;
    padding: 35px 0;
}
.company .keireki_table td{
    width: 85%!important;
    border-bottom: 1px solid #dcdcdc;
    padding: 1em 2em;
    vertical-align: middle;
}
.company .gaiyo{
    margin-bottom: 100px;
}
.company .gaiyo_table{
    margin-bottom: 50px;
}
.company .gaiyo_table tr:nth-child(odd){
    background-color: #eaebf4;
}
.company .gaiyo_table th{
    padding: 1em;
    font-weight: normal;
}
.company .gaiyo_table td{
    padding: 1em;
}
.company .gaiyo .map{
    max-width: 1040px;
    margin: 0 auto;
}
.link_anchor{
    padding-top: 150px;
    margin-top: -150px;
}
.business .wrap .text,
.business .wrap .pic{
    width: 50%;
}
.business .wrap:nth-child(even){
    flex-direction: row-reverse;
}
.business .wrap .pic{
    padding: 60px 0 60px 60px;
}
.business .wrap .pic img{
    height: 100%;
    width: 530px;
    object-fit: cover;
}
.business .block {
    border: 1px solid #1d2087;
    margin-bottom: 60px;
}
.business .block .text h2{
    font-size: 30px;
    color: #1d2087;
    font-weight: bold;
    border-bottom: 1px solid #1d2087;
    padding-bottom: 20px;
}
.business .block .text{
    padding: 80px 60px 60px;  
}

.assessment .inner_840{
    max-width: 840px;
    margin: 0 auto;
}
.assessment dl.flow dt{
    font-size: 24px;
    font-weight: normal;
    color: #fff;
    padding: 15px;
    background-color: #79c9d1;
}
.assessment dl.flow dd{
    padding: 1em 30px;
}
.assessment dl.flow:last-child{
    margin-bottom: 80px;
}

/*一覧ページ*/
.bg_pail{
    background-color: #f5f7f7;
}
.archive_post_block{
    background-color: #fff;
    padding: 20px;
}
/*プライバシーポリシー*/
.privacy{
    max-width: 750px;
    margin: 0 auto 60px auto;
}
.privacy h2{
    font-size: 30px;
    color: #1d2087;
    font-weight: bold;
}

/*お問合せ*/
.contact_page{
    padding: 50px 0 ;
}
.contact_page .text{
    max-width: 750px;
    margin: 0 auto;
}
.contact_page .text a{
    font-weight: bold;
    text-decoration: underline;
}
.contact_page .required{
    color: #fff;
    font-size: 12px;
    background-color: #e60012;
    border-radius: 10px;
    margin-left: 10px;
    padding: 3px 10px;
}
.contact_page .form  {
    width: 757px;
    margin: 0 auto;
}
.contact_page .form input[type="text"],
.contact_page .form input[type="tel"],
.contact_page .form input[type="email"],
.contact_page .form textarea{
    width: 100%;
    background-color: #f7f8f8;
    border: 1px solid #b5b5b6;
    padding: 5px;
}

.contact_page .form td span.mini{
    font-size: 13px;
}
.contact_page .privacypolicy_check{
    text-align: center;
}
.contact_page .submit input[type="submit"]{
    width: 200px;
    margin: 0 auto;
    color: #fff;
    font-size: 18px;
    background-color: #e60012;
    border-radius: 20px;
    padding-top: 4px;
    padding-bottom: 4px;
    display: block;
}
#secondary{
    margin-left: 30px;
}

@media (max-width: 990px){
    .pc{
        display: none;
    }
    .home .mega-menu{
        background-color: #1d2087;
    }
    .dekiru-slider .slick-slide img{
        height: 390px;
    }
    .main_visual .navbar-brand{
        width: 200px;
        margin-left: 20px;
    }
    .area01 .container ul{
        padding-left: 0;
    }
    .assessment dl.flow dt{
        font-size: 20px;
    }
    .company .rinen_wrap .pic{
        width: 100%;
        max-width: 100%;
    }
    .company .rinen_wrap .text{
        padding: 10px 10px 0 10px;
        width: 100%;
    }
.contact_page .form{
    width: 100%;
}
    .header-v8 .navbar-nav > li > a,
    .navbar-default .navbar-nav > .active > a{
        color: #fff;
    }
    .header-v8 .navbar-collapse.collapse.in{
        border-bottom: none;
    }
    .area01 .type{
        margin-right: 0;
    }
    .area01 li{
        max-width: 100%;
    }
    .area02 .listcol02 .link{
        padding-left: 0;
        padding-right: 0;
    }
    #secondary{
        margin-right: 30px;
    }
    
}
.bg_wt{
    background-color: #fff;
}
.bg_wt img {
        height: 250px;
        object-fit: cover;
        width: 100%;
}
.sitemap{
    max-width: 700px;
    margin: 0 auto;
}
.sitemap h2{
    font-size: 30px;
    color: #1d2087;
    font-weight: bold;
}
.sitemap .wsp-casecats-list,
.sitemap .wsp-cases-list,
.sitemap .wsp-pages-list,
.sitemap .wsp-estates-list,
.sitemap .wsp-estatecats-list{
    padding-left: 0;
    margin-bottom: 50px!important;
}
.sitemap .wsp-casecats-list li,
.sitemap .wsp-cases-list li,
.sitemap .wsp-pages-list li,
.sitemap .wsp-estates-list li,
.sitemap .wsp-estatecats-list li{
    padding: 15px;
    border-bottom: dotted #1d2087 1px;
}

#secondary .widget_nav_menu .title-v4{
    background-color: #1d2087;
    color: #fff;
}
@media (min-width: 681px){
    .sp{
        display: none;
    }
}
@media (max-width: 991px){
    .area03 {
        display: block;
    }
    .area03 .kaitori,
    .area03 .bukken {
        width: 100%;
    }
    .area03 .wrap {
        display: block;
    }
    .area03 .block .inner.left{
        float: none;
    }
    .area03 .block{
        padding: 60px 0 20px;
    }
    .area03 .block .inner{
        padding: 0 15px;
    }
    .area03 .post_block{
        min-height: auto;
    }
    .area03 .post_block .post-case-inner .case{
        padding: 15px;
    }
    .area03 .post_block .pic{
        margin-right: 0;
        width:  100%;
    }
    .area03 .post_block .pic img{
        max-width: 100%;
        height: 280px;
        margin-bottom: 20px;
    }
    .area03 .post_block .title .cate{
        margin-bottom: 20px;
    }
    .area03 .post_block .title{
        width: 100%;
    }
    .area03 .post_block .txt{
        height: auto;
    }
    .area04 dl dt, 
    .area04 dl dd{
        padding: 10px 0;
    }
    .area04 dl:last-child{
        margin-bottom: 20px!important
            ;
    }
}
@media (max-width: 768px){
    .sp{
        display: block;
    }
    .top_visual{
        padding-top: 320px;
        background-color: #1d2087;
    }
    .main_visual .container{
        top: 23%;
    }
    h2.top{
        font-size: 24px;
    }
    h2.top:before{
        width: 60px;
        bottom: -5px;
    }
    .area01{
        background-image: none;
        margin: 0 5%;
    }
    .area01 .type{
        padding: 8px;
    }
    .more a{
        font-size: 18px;
        padding: 28px 0;
    }
    .area02 {
        margin-bottom: 20px;
    }
    .area02 .list{
        margin-bottom: 20px;
    }
    .area02 .link{
        margin-bottom: 0;
    }
    .area02 .link a{
        display: table;
        width: 100%;
    }
    .area02 .link a span{
        font-size: 18px;
        height: 150px;
        text-align: center;
        width: 100%;
        display: table-cell;
        vertical-align: middle;
    }
    .area03 .block .inner.left{
        float: none;
    }
    .area03 .block .inner.left,
    .area03 .block .inner{
        margin: 20px auto;
        
    }
    
/*    固定ページ*/
    .type-page{
        padding-top: 0;
    }
    .business .page .wrap{
        display: block;
    }
    .business .wrap .text, 
    .business .wrap .pic{
        width: 100%;
    }
    .business .block .text{
        padding: 40px 30px 0px;
    }
    .business .wrap .pic {
        padding: 0px 30px 30px 30px;
    }
    .business .wrap .pic img{
        width: 100%;
        height: 180px;
    }
    .business .block .text h2{
        font-size: 20px;
        padding-bottom: 10px;
        margin-bottom: 0px;
    }
    .page h2.blue_line{
        font-size: 21px;
        font-weight: bold;
        margin-bottom: 60px;
        margin-top: 25px;
    }
    .page h2.blue_line:before{
        width: 60px;
        bottom: -20px;
    }
    .company .rinen_wrap{
        margin-left: -15px;
        margin-right: -15px;
        padding: 20px;
    }
    .company .rinen_wrap .text {
        padding: 10px 0 0 0px;
    }
    .company .rinen_wrap .text h3{
        padding: 20px 0 0;
    }
    .company .aisatsu .strong{
        font-size: 21px;
    }
    .company .keireki_table th {
        width: 25%!important;
    }
    .company .gaiyo th{
        width: 35%!important;
    }
    .company .keireki_table td{
        padding: 1em 1em;
    }
    .form td p{
        margin: 10px 0;
    }
    
}
/*    シングルページ*/
.post_single_title{
    font-size: 20px!important;
}
.single_main_contents h1{
    font-size: 28px;
    font-weight: bold;
    
}