/*
Theme Name: Easy to Live & Work 株式会社
Theme URI: 
Template: lightning
Description: 
Author: mxstone
Tags: 
Version: 1.0.0
*/



/***********************************************************
general
***********************************************************/

*:focus,
a:focus{
    outline: none;
}
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, tr, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video{
  font-feature-settings: "pkna";
}
.page-header_pageTitle,
h1.page-header_pageTitle{
    color: #111;
}
code, kbd, tt, var, samp, cite,pre,blockquote{
    font-size: 1em;
    background-color: #eee;
}
blockquote{
    font-size: 1em;
    border: none;
    margin-bottom: 2em !important;
    padding:22px; 
}
blockquote > p{
   font-size: 1em!important;
}
blockquote > p:last-child{
    margin-bottom: 0;
}
pre{
    font-size: 0.96em;
    line-height: 1.5;
    white-space: pre-wrap;
    padding:22px; 
    margin-bottom: 2em !important;
}
article.entry{
    overflow: hidden;
}
article.entry div{
    line-height: 1.7;
}
@media screen and  (min-width: 768px){
article.entry div{
    line-height: 1.9;
}
}
article.entry table{
    max-width: 100%;
}

table td, table th {
    border: 1px solid #cacaca;
}
table td > p:last-child{
    margin-bottom: 0;
}
@media screen and (max-width:767px){
table{
    width: 100% !important;
}
}
dt {
    margin-top: 1em;
    margin-bottom: 1em;
}
dd {
    margin-bottom: .8em;
}
ul,ol{
    margin-top: .8em;
    margin-bottom: .8em;
    padding-inline-start: 1.4em;
}
ul li > ul,ol li >  ol,ul li >  ol,ol li >  ul{
    padding-inline-start: 1.4em;
}
li {
    margin-top: .5em;
    margin-bottom: .5em;
}
.clear {
    clear: both;    
}



/* 画像の回り込み */

.alignnone {
    max-width: 100%;
    padding: 4px;
}
.aligncenter {
    display: block;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 4px 8px;
}
.alignleft, img.alignleft {
    margin-right: 1.6rem !important;
}
.alignright, img.alignright {
    margin-left: 1.6rem !important;
}
.alignright {
    float: right;
    display: inline-block;
    padding: 4px;
    margin-bottom: 1.6rem !important;
}
.alignleft {
    float: left;
    display: inline-block;
    padding: 4px;
    margin-bottom: 1.6rem !important;
}
.wp-caption.alignleft,
.wp-caption.alignright{
    padding: 4px 8px;   
    padding-bottom: 0;
    margin-top: 0;
}
.wp-caption{
    padding-bottom:0; 
}
.wp-caption > .wp-caption-text {
    font-size: 0.8em;
    text-align: left;
    line-height: 1.6;
    padding: 4px;
}
.alignright .wp-caption-text,
.alignleft .wp-caption-text{
    margin-bottom:0; 
}
.wp-caption img{
    margin-top:5px;
    margin-bottom: 0 !important;
}
@media screen and (max-width:767px){
.alignleft, img.alignleft,
.alignright, img.alignright {
    display: block;
    float: none !important;
    clear: both;
    max-width: 100%;
    text-align: center;
    margin-left: auto !important;
    margin-right: auto !important;
}
.wp-caption > .wp-caption-text{
    text-align: center;
}
}
.wp-block-image .alignright,
.wp-block-image .alignleft{
    margin: 0 auto 2rem !important;
}
@media screen and (min-width: 768px) {
.wp-block-image .alignright{
    float: right;
    max-width: 54%;
    padding: 0;
    margin: 0 0 1.6rem 2rem !important;
}
.wp-block-image .alignleft{
    float: left;
    max-width: 54%;
    padding: 0;
    margin: 0 2rem 1.6rem 0 !important;
}
}
figure.wp-block-image{
    margin: 0 0 1.6rem !important;
}
figure.wp-block-image figcaption{
    text-align: left;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}
figure.wp-block-image.aligncenter figcaption,
div.wp-block-image figure figcaption{
    text-align: center;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}
.wp-block-image .aligncenter{
    padding: 0;
    margin-bottom: 1.6rem !important;
}
.wp-block-image.aligncenter{
    margin-right: auto !important;
    margin-left: auto !important;
}
.wp-block-image + p{
    margin-top: -0.4em;
}
figure.wp-block-image + p{
    margin-top: 0;
}

.wp-block-gallery{
    margin-bottom: .8em !important;
}
.wp-block-gallery figure.wp-block-image{
    margin-bottom: 0 !important;
}
.wp-block-vk-blocks-button{
    margin-top:2em;
    margin-bottom: 2em;
}

.img-border{
    border: 1px solid #333;
}
.img-shadow{
    box-shadow: 2px 2px 4px gray;
}
@media screen and (min-width: 768px) {
.vk_button.vk_button-align-wide{
    max-width: 100%;
}
}


/* gallery  */

.gallery{
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
}
.gallery .gallery-item{
    padding-right: 12px;
    padding-left: 12px;
    margin-top: 0 !important;
    margin-bottom: 18px;
}
@media screen and (max-width:767px){
.gallery .gallery-item{
    min-width: 50%;
}
.gallery > br{
    display: none !important;
}
}
.gallery .gallery-item .gallery-icon > a{
    display: inline-block;
}
.gallery .gallery-item .gallery-icon img {
    border: none !important;
}


/*****************************
        original
 *****************************/

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, tr, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video{
  font-family: Lato,"Noto Sans JP","ヒラギノ角ゴ ProN","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}
a > img{
  filter: opacity(100%);
  -moz-opacity: 1;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
a > img:hover {
  cursor: pointer;
  filter: opacity(80%);
  -moz-opacity: 0.8;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.wp-block-image figcaption{
    font-size: calc(var(--vk-size-text)*0.9);
    line-height: 1.5;
}
.entry p{
    line-height: 1.6;
    font-size: .96rem;
    margin-bottom: 1em;
}
body.single-post .entry img{
    border: 1px solid #ccc;
    padding: 0!important;
}


/****　header　****/

.header-top nav{
    background-color: transparent!important;
    padding-right: 0!important;
}
.header-top ul.nav{
    margin: 0;
}
.header-top ul.nav li.menu-item{
    margin: 0 0.2em 0 0;
}
.header-top ul.nav li.menu-item > a{
    font-size: 1.2em;
    height: 100%;
    border-radius: 0 0 6px 6px;
    padding: 0.78em 1em;
}
.header-top ul.nav li.menu-item:nth-child(1)> a{
    background-color: #06c755;
}
.header-top ul.nav li.menu-item:nth-child(2)> a{
    background-color: #1977f3;
}
.header-top ul.nav li.menu-item:nth-child(3)> a{
    background-color: #c70606;
}
.header-top ul.nav li.menu-item:nth-child(4)> a{
    background-color: #d97200;
}
.header-top ul.nav li.menu-item > a:before{
   margin-right: 0.5em;
}
.header-top ul.nav li.menu-item:nth-child(1)> a:before{
    font-family:"Font Awesome 5 Free","Font Awesome 5 Brands";
    content: "\f3c0";
    font-weight: 400;
}
.header-top ul.nav li.menu-item:nth-child(2)> a:before{
    font-family:"Font Awesome 5 Free","Font Awesome 5 Brands";
    content: "\f09a";
    font-weight: 400;
}
.header-top ul.nav li.menu-item:nth-child(3)> a:before{
    font-family:"Font Awesome 5 Free","Font Awesome 5 Brands";
    content: "\f0e0";
    font-weight: 400;
}
.header-top ul.nav li.menu-item:nth-child(4)> a:before{
    font-family:"Font Awesome 5 Free","Font Awesome 5 Brands";
    content: "\f0e0";
    font-weight: 400;
}
.site-header-logo{
    max-width: 77%;
    padding-top: 1.4rem;
    margin-bottom: 1.3rem;
    margin-right: auto;
    margin-left: auto;
}
@media screen and (min-width: 992px){
.site-header-logo{
        max-width: 100%;
        padding-top: 1rem;
        margin-bottom: .8rem;
}
}
@media screen and (min-width: 768px){
.site-header-logo{
    max-width: 33%;
}
}
.site-header-sub{
    max-width: 60%;
    margin-top: 1.5rem;
    margin-bottom: .7rem;
}
.header-top{
    margin-bottom: 10px;
}
.header-top nav{
    background-color: var(--vk-color-custom-2);
    border-radius: 0 0 6px 6px;
    padding:0 1em;
}
.header-top .nav li{
    margin:0 .5em;
}
.header-top .nav li a{
    color: white !important;
    font-size: 1em;
    font-weight: bold;
    filter: opacity(100%);
    -moz-opacity: 1;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}
.header-top .nav li a:hover{
    cursor: pointer;
    filter: opacity(80%);
    -moz-opacity: 0.8;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

@media screen and (min-width: 768px) {
    .site-header-logo {
        max-width: 40%;
    }
}

.site-header-sub aside{
    margin-bottom: 0;
}
.site-header-sub figure.wp-block-image{
    margin-bottom: 0!important;
}

.global-nav-list>li:nth-child(2)> a,
.global-nav-list>li:nth-child(3)> a,
.global-nav-list>li:nth-child(4)> a{
    pointer-events: none;
}
.global-nav-list>li:before{
    border-bottom: 2px solid var(--vk-color-primary);
}
.vk-menu-acc li.menu-item-has-children>a{
    pointer-events: none;
}
@media screen and (max-width:767px){
/* モバイルメニューのサブメニューを最初から常時開く */
.vk-menu-acc ul.acc-child-close {
  display: block !important;
  max-height: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}
/* 開閉用の「＋/－」矢印ボタンを非表示にする（不要な場合） */
.vk-menu-acc .acc-btn {
  display: none !important;
}
}

/****　home　****/

body.home .site-body{
    padding-bottom: 0;
}

/* page */

body.single-post .site-body{
    padding-bottom: 0!important;
}

/* single */

body.single-post .site-body{
    padding-bottom: 0!important;
}
body.single-post .breadcrumb-list .breadcrumb-list__item:nth-child(2){
    display: none;
}

/* news */

body.category .breadcrumb-list .breadcrumb-list__item:nth-child(2){
    display: none;
}

/* blog */

body.category-blog .pagination{
    margin-top: 3rem;
    margin-bottom: 3rem; 
}
body.category-blog .post-list{
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: normal;
    box-sizing: border-box;
}
body.category-blog .post-list .card-noborder{
    width: calc(33.3% - 30px);
    overflow: hidden;
    margin-left: 15px;
    margin-right: 15px;
    margin-bottom: 40px;
    box-sizing: border-box;
}
@media screen and (max-width:767px){
body.category-blog .post-list .card-noborder{
    width: calc(50% - 30px);
    overflow: hidden;
    margin-left: 15px;
    margin-right: 15px;
    margin-bottom: 40px;
    box-sizing: border-box;
}
}

/* footer */

.site-footer #menu-01 li,
.site-footer #menu-02 li{
    font-size: var(--vk-size-text-sm)!important;
    height: 3em!important;
    box-sizing: border-box!important;
}
.site-footer #menu-01 li a,
.site-footer #menu-02 li a{
    padding-top: .7em!important;
    padding-bottom: .7em!important;
    box-sizing: border-box!important;
}


/* contact */

body.post-name-confirm .site-body-bottom,
body.post-name-complete .site-body-bottom{
    display: none;
}

.contact_form_area{
    font-size: 1em;
    padding: 40px 15px;
    margin-top: 20px;
    background-color: #eeeeee;
    overflow: hidden;
}
@media screen and (min-width: 768px) {
.contact_form_area{
    padding: 40px 40px;
}
}
.contact_form_area p{
    margin-bottom: 1em;
}
.contact_form_area .input_title_text{
    font-size: 1em;
    font-weight: bold;
}
.contact_form_area .input_title_text .annotation{
    display: inline-block;
    font-size: 0.9em;
    font-weight: normal;
}
.contact_form_area .required{
    font-size: 0.9em;
    color: red;
    font-weight: normal;
    margin-left: 1em;
}
.contact_form_area .not-required{
    font-size: 0.9em;
    font-weight: normal;
    margin-left: 1em;
}
.contact_form_area .wpcf7-list-item{
    display: block;
}
.contact_form_area br{
    display: none;
}
.contact_form_area input{
    margin-bottom: 0;
}
.contact_form_area input[type=date]{
    max-width: 200px;
}
.contact_form_area input[type=email],
.contact_form_area input[type=number],
.contact_form_area input[type=tel],
.contact_form_area input[type=text],
.contact_form_area input[type=url]{
    max-width: 600px;
}
body.post-name-contact #vkexunit_cta-3{
    display: none;
}
.contact_btn input[type=button],
.contact_btn input[type=submit]{
    border: 1px solid var(--vk-color-primary-dark);
    background-color: var(--vk-color-primary);
    font-size: 1em;
    color: #fff;
    padding: .8em 2em;
    border-radius: var(--vk-size-radius);
}
.mw_wp_form_confirm .submit_btn input[type=submit]{
    border: 1px solid #dc3232;
    background-color: #dc3232;
    color: #fff;
    padding: .8em 2em;
    border-radius: var(--vk-size-radius);
}
div.wpcf7 .ajax-loader{
    display: block !important;
}
.grecaptcha-badge{
    display: none;
}
.wpcf7-spinner{
    display: block;
    margin-top: 1em;
}

/* sitemap */

.sitemap-taxonomy-title{
    background: transparent;
}
.sitemap-col .link-list a{
    text-decoration: none;
    font-size: 1em;
}


/* embed */

.blog-card{
    margin-bottom: var(--vk-margin-element-bottom);
}
.blog-card-title{
    font-size: 1.2em !important;
    color: var(--vk-color-text-body);
    line-height: 1.6;
    background-color: transparent !important;
    padding: 0 !important;
}
.blog-card-title a{
    color: var(--vk-color-text-body) !important;
    line-height: 1.6;
}
.blog-card-title a:hover{
    color: var(--vk-color-text-link-hover) !important;
}
.blog-card-text{
    font-size: 0.8em !important;
    line-height: 1.6;
}
.blog-card-site-title a{
    font-size: 0.8em !important;
    line-height: 1.8;
}
.blog-card-site-title a img{
    width: auto;
    border: 1px solid var(--vk-color-border);
    border-radius: 2em;
    box-sizing: border-box;
    padding: 0.6em;
    margin-right: 1em;
}
.blog-card-site-title img,
.blog-card-site-title br{
    display: none;
}
@media screen and (min-width: 576px) {
    .blog-card-body-outer {
        width: calc(100% / 5 * 4);
    }
}
@media screen and (min-width: 576px) {
    .blog-card-image-outer {
        width: calc(100% / 5);
    }
}
.blog-card-image-outer br{
    display: none;
}


/*****************************
        block
 *****************************/

figure.vk_block-margin-0--margin-bottom{
    margin-bottom: 0!important;
}