/*
Theme Name:itox
Template:businesspress
Version:0.0.0
*/


body:lang(ja) {
	font-family: "Noto Sans JP", sans-serif;
	/* font-family: "Shippori Mincho B1", serif; */
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	letter-spacing: 0.05em;
	color: #000;
	font-size: 15px;
	/* background-color: #D5E9F6; */
	overflow-x: hidden;
	/* line-height: 1.5; */
}

.main-header-original{
	padding-top: 24px;
	padding-bottom: 24px;
}
.home .main-header-original{
	position: absolute;
	z-index: 4;
	width: 100%;
}

/*----------------------------------------
    Main-visual
----------------------------------------*/
/* メインビジュアル コンテナ */
.main-visual {
    position: relative;
    /* z-index: 15; */
    width: 100%;
    height: calc(100vh - 45px);
    /* 変数をサポートしていないブラウザのフォールバック */
    height: calc((var(--vh, 1vh) * 100) - 45px);
}
@media screen and (min-width:980px), print {

    /* メインビジュアル　コンテナ */
    .main-visual {
        height: calc(100vh - 100px);
        /* 変数をサポートしていないブラウザのフォールバック */
        height: calc((var(--vh, 1vh) * 100));
    }
}
@media screen and (max-width:979px), print {
    .main-visual {
        /*縦横幅指定*/
        /* width: 80vh; */
        /* 4:5 の幅→4 ÷ 5＝ 80% */
        /* height: calc(100vh - 100px); */
        /* 4:5の幅 → 5 ÷ 4 = 133.33333% */
        /* height: calc((var(--vh, 1vh) * 100) - 100px); */
    }
}

/* メインビジュアル トップページ タイトルコンテナ */
.main-visual__top-title-container {
    width: 80%;
    position: absolute;
    /* z-index: 10; */
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
@media screen and (min-width:980px), print {
    /* メインビジュアル トップページ タイトルコンテナ */
    .main-visual__top-title-container {
        width: auto;
        max-width: 720px;
        /* top: 33%; */
    }
}
/* メインビジュアル トップページ タイトル */
.main-visual__top-title {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 1.6em;
    /* line-height: 1.0; */
    letter-spacing: 0.1rem;
    color: #ffffff;
    white-space: nowrap;
    margin-bottom: 0;
    text-shadow: 2px 3px 6px rgba(0, 0, 0, 1);
}
@media screen and (min-width:980px), print {
    /* メインビジュアル トップページ サブタイトル */
    .main-visual__top-title {
        font-size: 2.8em;
    }
}

/* 動画表示 ラッパー */
.main-visual__video-area {
    position: absolute;
    z-index: -1;
    /*最背面に設定*/
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    overflow: hidden;
    background-color: #000000;
}
.main-visual__overlay{
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 1;
    background-size: auto auto;
    /* background: repeating-linear-gradient(-53deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.1) 1px, transparent 1px, transparent 8px); */
    background-color: rgba(0, 0, 0, 0.2);
}
.main-visual__video {
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /*縦横幅指定*/
    width: 177.77777778vh;
    /* 16:9 の幅→16 ÷ 9＝ 177.77% */
    height: 56.25vw;
    /* 16:9の幅 → 9 ÷ 16 = 56.25% */
    min-height: 100%;
    min-width: 100%;
    /* iPhone safariの枠線を消す */
    filter: drop-shadow(0px 0px rgba(0,0,0,0));
    /* PCのChromeの枠線を消す */
    outline: none;
    border: none;
}
@media screen and (max-width:979px), print {
    .main-visual__video {
        /*縦横幅指定*/
        /* width: 80vh; */
        /* 4:5 の幅→4 ÷ 5＝ 80% */
        /* height: 125vw; */
        /* 4:5の幅 → 5 ÷ 4 = 133.33333% */
        left: 0;
        transform: translate(-15%, -50%);
    }
}

/*----------------------------------------
    Menu
----------------------------------------*/
.site-header{
    border-bottom: none;
    margin-bottom: 2.5rem;
}
.main-navigation{
    font-size: 100%;
}
.main-navigation div.menu > ul > li,
.main-navigation ul.menu > li {
    letter-spacing: 0.05em;
}
@media screen and (min-width: 980px) {
    .home .main-header-original .main-navigation a {
        color: #fff;
    }
    .main-navigation ul.menu > li:last-child > a {
        margin-left: 15px;
    }
}

.main-navigation ul.menu > li:last-child > a {
    padding: 10px 14.75px 10px 18.75px;
    line-height: 1;
    background-color: #184896;
    color: #fff;
    border-radius: 9999px;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
}
.main-navigation ul.menu > li:last-child > a::after{
    content: "\f0e0";
    display: inline-block;
    font: normal normal normal 14px / 1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin-left: 6px;
}


/*----------------------------------------
    Header
----------------------------------------*/
.jumbotron{
    background-color: transparent;
}
.jumbotron .subheader{
    font-size: 82px;
    line-height: 1;
    margin-bottom: 16px;
    letter-spacing: 0.03em;
    color: #686868;
}
.jumbotron .jumbotron-title{
    font-size: 25px;
    color: #000;
    text-shadow: none;
    letter-spacing: 0.03em;
    font-weight: 600;
}
.jumbotron-overlay{
    background-color: transparent;
}
@media screen and (min-width:782px), print {
    .jumbotron-content{
        padding-bottom: 60px;
        padding-top: 60px;
    }
}
@media screen and (max-width:781px), print {
    .jumbotron .subheader{
        font-size: 34px;
        margin-bottom: 8px;
    }
    .jumbotron .jumbotron-title{
        font-size: 24px;
    }
    .jumbotron-content{
        padding-bottom: 32px;
        padding-top: 32px;
    }
}



/* ページ幅 */
.site-content{
	max-width: 1140px !important;
}

.home .site-header{
    margin-bottom: 0;
}

/*----------------------------------------
    Toppage
----------------------------------------*/
/* 「トップページカード部分」ブロック */
.section_box.top-card{
    position: relative;
}
.section_box.top-card .swiper{
    /* padding-left: 40px; */
    overflow: visible;
    position: relative;
    margin-bottom: 2em;
}
.section_box .post-thumbnail{
    margin-top: 0;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 0;
}
.section_box.top-card .swiper-slide{
    height: auto;
}
.section_box.top-card .swiper-slide a{
    text-decoration: none;
    display: block;
    background-color: #fff;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.section_box.top-card .post-heading {
    flex-grow: 1;
}
.section_box.top-card .swiper-slide:not(.swiper-slide-visible) a {
    pointer-events: none;
    opacity: 0.3;
}
.post-heading{
    padding: 1em 1em 1.5em;
}
.group{
    padding: 4px 8px;
    color: #000;
    border: 1px solid;
    margin-right: 6px;
    background-color: #fff;
    display: inline-block;
}
.group.eyefulhome_souma{
    color: #124a97;
}
.group.eyefulhome_sendai{
    color: #124a97;
}
.group.glhome{
    color: #E75401;
}
.group.miraclehome{
    color: #db5331;
}
.group.reserve{
    color: #fff;
    background-color: #686868;
    border-color: #686868;
}
.post-card_date{
    color: #0D83C7;
    margin-bottom: 0;
}
.section_box h3{
    margin-top: 0;
    margin-bottom: 0;
}

/* .section_box.top-card .wp-block-button {
    display: block;
    width: 100%;
} */
.section_box .wp-block-buttons{
    justify-content: center;
}
 .wp-block-button a{
    min-width: auto;
    color: #686868;
    background-color: #fff;
    padding: 12px 36px;
    border: 1px solid;
    letter-spacing: 0.05em;
    font-weight: 500;
    margin-top: 0;
    border-radius: 0;
    display: inline-block;
    text-align: center;
}
 .wp-block-button:not(.event):not(.reserve):not(.back) a::after{
    content: "\f105";
    display: inline-block;
    font: normal normal normal 14px / 1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin-left: 12px;
 }
 .wp-block-button.back{
    margin-top: 2em;
    text-align: center;
 }
.wp-block-button.back a::before{
    content: "\f104";
    display: inline-block;
    font: normal normal normal 14px / 1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin-right: 12px;
 }
@media screen and (min-width:980px), print {
    .wp-block-button a{
        padding-top: 28px;
        padding-bottom: 28px;
        min-width: 440px;
        font-size: 21px;
    }
}
@media screen and (max-width:979px), print {
    .wp-block-button a{
        padding: 12px 18px;
        width: calc(100% - 36px);
    }
}

.top-card__title{
    display: flex;
    align-items: flex-end;
    gap: 1em;
    margin-bottom: 1em;
}
.top-card__title h2{
    font-size: 5.46666667em;
    margin: 0;
    line-height: 1;
}
.top-card__title p{
    font-size: 1.66666667em;
    color: #0D83C7;
    font-weight: bold;
    margin: 0 0 6px;
    line-height: 1;
}
@media screen and (max-width:979px), print {
    .top-card__title h2{
        font-size: 8.38vw;
    }
    .top-card__title p{
        font-size: 2.56vw;
        font-size: 1.2em;
        margin: 0 0 3px;
    }
}
@media screen and (max-width:781px), print {
    .top-card__title{
        gap: 0.5em;
        flex-wrap: wrap;
    }
    .top-card__title h2{
        flex-basis: 100%;
    }
    .top-card__title p{
        flex-basis: 100%;
    }
}

/* キャンペーンバナー */
@media screen and (min-width:980px), print {
    .home .banner_pc{
        display: block !important;
    }
    .home .banner_sp{
        display: none !important;
    }
}
@media screen and (max-width:979px), print {
    .home .banner_pc{
        display: none !important;
    }
    .home .banner_sp{
        display: block !important;
    }
}



/* イベント情報 */
.section_box.top-card.event{
    width: 100vw;
    margin-left: calc(50% - 50vw);
    background-color: #F0F7FC;
}
.section_box.top-card.event .section_box__inner{
    max-width: 1140px;
    padding: 80px 48.5px;
    margin: auto auto 80px;
}
/* @media screen and (max-width:979px), print {
} */
@media screen and (max-width:781px), print {
    .section_box.top-card.event .section_box__inner{
        padding: 48px 20px;
        margin: auto auto 48px;
    }
}

/* 展示場 */
.section_box.top-card.modelhouse{
    margin-bottom: 3em;
}
.section_box.top-card.modelhouse .post-heading{
    background-color: #F6F6F6;
}

/* 施工事例 */
.section_box.top-works{
    width: 100vw;
    margin-left: calc(50% - 50vw);
    background-color: #F0F7FC;
}
.section_box.top-works .section_box__inner{
    max-width: 1140px;
    padding: 80px 48.5px;
    margin: auto auto 80px;
}
@media screen and (max-width:781px), print {
    .section_box.top-works .section_box__inner{
        padding: 48px 20px;
        margin: auto auto 48px;
    }
}
.section_box.top-works .post-grid a{
    text-decoration: none;
    display: block;
    background-color: #fff;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.section_box.top-works .loop-wrapper{
    gap: 32px;
    margin-left: 0;
    margin-right: 0;
    justify-content: space-between;
}
@media screen and (max-width:539px), print {
    .section_box.top-works .loop-wrapper{
        justify-content: center;
    }
}
.section_box.top-works .post-grid{
    padding: 0;
}
@media screen and (min-width:980px), print {
    .three-column .post-grid{
        width: calc(33.3% - 32px);
    }
}
.section_box.top-works .top-works__container{
    margin-bottom: 2em;
}

/* プラン集 */
.section_box.top-plan{
    width: 100vw;
    margin-left: calc(50% - 50vw);
    background-color: #DDDDDD;
}
.section_box.top-plan .section_box__inner{
    max-width: 1140px;
    padding: 80px 48.5px;
    margin: -80px auto 80px;
}
@media screen and (max-width:781px), print {
    .section_box.top-plan .section_box__inner{
        padding: 48px 20px;
        margin: -48px auto 48px;
    }
}
.section_box.top-plan .post-grid a{
    text-decoration: none;
    display: block;
    background-color: #fff;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.section_box.top-plan .loop-wrapper{
    gap: 32px;
    margin-left: 0;
    margin-right: 0;
    justify-content: space-between;
}
@media screen and (max-width:539px), print {
    .section_box.top-plan .loop-wrapper{
        justify-content: center;
    }
}
.section_box.top-plan .post-grid{
    padding: 0;
}
@media screen and (min-width:980px), print {
    .three-column .post-grid{
        width: calc(33.3% - 32px);
    }
}
@media screen and (max-width:979px), print {
    .three-column .post-grid{
        flex-basis: 100% !important;
    }
}
.section_box.top-plan .top-plan__container{
    margin-bottom: 2em;
}



/* ブランド */
.top-brand.three-column .post-grid {
    flex-basis: 100%;
}
.top-brand.three-column .post-grid .entry-header{
    display: flex;
    flex-wrap: wrap;
}
.top-brand.three-column .post-grid .entry-header > .post-thumbnail,
.top-brand.three-column .post-grid .entry-header > .post-heading {
    flex-basis: 100%;
}
@media screen and (min-width:980px), print {
    .top-brand.three-column .post-grid .entry-header{
        flex-wrap: nowrap;
    }
    .top-brand.three-column .post-grid .entry-header > .post-thumbnail {
        flex-basis: 50%;
    }
    .top-brand.three-column .post-grid .entry-header > .post-heading {
        flex-basis: 50%;
    }
}
/* .top-brand.three-column .post-grid .wp-block-button a {
    min-width: auto;
    color: #fff;
    background-color: #32373c;
    padding: 12px 36px;
    letter-spacing: 0.05em;
    font-weight: 700;
    margin-top: 0;
    border-radius: 0;
} */

.top-brand .post-grid .entry-header{
    margin-bottom: 0;
}
.top-brand_description{
    text-align: center;
    margin: 2em 0;
}
@media screen and (max-width:781px), print {
    .top-brand_description br{
        display: none;
    }
}
.top-brand .wp-block-buttons{
    flex-wrap: nowrap;
}
.top-brand .wp-block-buttons .wp-block-button{
    flex-basis: 50%;
}
.top-brand .wp-block-buttons .wp-block-button a{
    min-width: auto;
    width: calc(100% - 72px);
    padding-top: 23px;
    padding-bottom: 23px;
    font-size: initial;
}
.wp-block-button.event a,
.wp-block-button.reserve a{
    color: #fff;
    background-color: #0D83C7;
    border-color: #0D83C7;
}
@media screen and (max-width:979px), print {
    .top-brand .wp-block-buttons .wp-block-button a{
        padding: 12px 18px;
        width: calc(100% - 36px);
    }
}



/*----------------------------------------
    Event
----------------------------------------*/
/* アーカイブ */
.three-column .loop-wrapper{
    margin-left: 0;
    margin-right: 0;
    gap: 32px;
}
.three-column .post-grid{
    padding-left: 0;
    padding-right: 0;
    flex-basis: calc(33.3% - 22px);
}
body:not(.post-type-archive-brand).three-column .post-grid .post-heading{
    padding: 1em 1em 1.5em;
    background-color: #F6F6F6;
}
.post-grid .post-thumbnail{
    margin-bottom: 0;
}
.entry-title{
    letter-spacing: inherit;
    margin-bottom: 1.5em;
}
.post-type-archive-event .entry-title{
    margin-bottom: 0;
}

.single-event .site-content{
    max-width: 800px !important;
}
.single-event .site-content .entry-title{
    margin-bottom: 0.5em;
}
.single-event .post-thumbnail{
    margin-top: 2rem;
}

.single-event .wp-block-button.reserve{
    margin-top: 2em;
    margin-bottom: 2em;
}
.single-event .wp-block-button.reserve a::after {
    content: "\f105";
    display: inline-block;
    font: normal normal normal 14px / 1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin-left: 12px;
}

/*----------------------------------------
    Modelhouse
----------------------------------------*/
/* アーカイブ */
.post-type-archive-modelhouse.three-column .post-grid{
    flex-basis: 100%;
}
.post-type-archive-modelhouse.three-column .post-grid .post-thumbnail a{
    display: flex;
    flex-wrap: nowrap;
}
.post-type-archive-modelhouse.three-column .post-grid .post-thumbnail a img{
    width: 50%;
}
/* .post-type-archive-modelhouse.three-column .post-grid .wp-block-button a{
    min-width: auto;
    color: #fff;
    background-color: #32373c;
    padding: 12px 36px;
    letter-spacing: 0.05em;
    font-weight: 700;
    margin-top: 0;
    border-radius: 0;
} */

.post-type-archive-modelhouse.three-column .post-grid .post-heading{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.post-type-archive-modelhouse.three-column .post-grid .entry-title{
    margin-bottom: 0.5em;
}

@media screen and (min-width:980px), print {
    /* .post-type-archive-modelhouse.three-column .post-grid .post-heading > .post-heading-detail {
        flex-basis: 50%;
    } */
    .post-type-archive-modelhouse.three-column .post-grid .post-heading > .post-heading-link {
        /* flex-basis: 50%; */
        flex-direction: column;
        align-items: flex-start;
    }
    .post-type-archive-modelhouse.three-column .post-grid .post-heading .wp-block-button a{
        padding: 12px 36px;
        min-width: 300px;
        font-size: 17px;
        text-align: center;
    }
}

.single-modelhouse .site-content{
    max-width: 800px !important;
}
.single-modelhouse .site-content .entry-title{
    margin-bottom: 0.5em;
}
.single-modelhouse .post-thumbnail{
    margin-top: 2rem;
}
.single-modelhouse .wp-block-button.reserve{
    margin-top: 2em;
    margin-bottom: 2em;
}
.single-modelhouse .wp-block-button.reserve a::after {
    content: "\f105";
    display: inline-block;
    font: normal normal normal 14px / 1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin-left: 12px;
}
.single-modelhouse .wp-block-button.back{
    display: block;
}

/*----------------------------------------
    Brand
----------------------------------------*/
/* アーカイブ */
.post-type-archive-brand.three-column .post-grid{
    flex-basis: 100%;
}
.post-type-archive-brand.three-column .post-grid .entry-header{
    display: flex;
    flex-wrap: wrap;
}
.post-type-archive-brand.three-column .post-grid .entry-header > .post-thumbnail{
    flex-basis: 100%;
}
.post-type-archive-brand.three-column .post-grid .entry-header > .post-heading{
    flex-basis: 100%;
}
/* .post-type-archive-brand.three-column .post-grid .post-thumbnail a img{
    width: 50%;
} */
/* .post-type-archive-brand.three-column .post-grid .wp-block-button a{
    min-width: auto;
    color: #fff;
    background-color: #32373c;
    padding: 12px 36px;
    letter-spacing: 0.05em;
    font-weight: 700;
    margin-top: 0;
    border-radius: 0;
} */

.post-type-archive-brand.three-column .wp-block-buttons{
    flex-wrap: nowrap;
}
.post-type-archive-brand.three-column .wp-block-buttons .wp-block-button{
    flex-basis: 100%;
}
.post-type-archive-brand.three-column .wp-block-buttons .wp-block-button a{
    min-width: auto;
    width: calc(100% - 72px);
    padding-top: 23px;
    padding-bottom: 23px;
    font-size: initial;
}
@media screen and (max-width:979px), print {
    .post-type-archive-brand.three-column .wp-block-buttons .wp-block-button a{
        padding: 12px 18px;
        width: calc(100% - 36px);
    }
}

.single-brand .site-content {
    max-width: 800px !important;
}
.single-brand .section_box.brand-event.event {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    background-color: #F0F7FC;
}
.single-brand .section_box.brand-event.modelhouse {
    width: 100vw;
    margin-left: calc(50% - 50vw);
}
.single-brand .section_box.brand-event .section_box__inner {
    max-width: 1140px;
    padding: 1px 48.5px 80px;
    margin: auto auto;
}
@media screen and (max-width:781px), print {
    .single-brand .section_box.brand-event .section_box__inner {
        padding: 1px 20px 48px;
    }
}

/* .single-brand .section_box.brand-event.modelhouse .section_box__inner {
    padding: 0;
} */
.single-brand .section_box.brand-event.three-column .post-grid .post-heading{
    background-color: #fff;
}
.single-brand .section_box.brand-event.modelhouse.three-column .post-grid .post-heading{
    background-color: #F6F6F6;
}
.single-brand .section_box.brand-event.three-column .post-grid .post-heading .entry-title{
    margin-bottom: 0;
}
.post-type-archive-brand.three-column .post-grid .entry-header{
    margin-bottom: 0;
}


.single-brand .post-grid a {
    text-decoration: none;
    display: block;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.single-brand .post-grid article{
    height: 100%;
}
.single-brand .post-grid .post-heading {
    flex-grow: 1;
}

@media screen and (min-width:980px), print {
    .post-type-archive-brand.three-column .wp-block-buttons .wp-block-button{
        flex-basis: 50%;
    }
    .post-type-archive-brand.three-column .post-grid .entry-header{
        flex-wrap: nowrap;
    }
    .post-type-archive-brand.three-column .post-grid .entry-header > .post-thumbnail{
        flex-basis: 50%;
    }
    .post-type-archive-brand.three-column .post-grid .entry-header > .post-heading{
        flex-basis: 50%;
    }
}


/*----------------------------------------
    Company
----------------------------------------*/
.gmap{
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 66.667%;
}
.gmap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.page-id-134 .site-content {
    max-width: 800px !important;
}

.page-id-134 .entry-content .wp-block-columns{
    gap: 2em;
}
.page-id-134 .entry-content .wp-block-columns .wp-block-column img{
    width: 100%;
    height: auto;
}

.page-id-134 .entry-content .wp-block-columns.margintop{
    margin-top: 4em;
}
@media screen and (max-width:781px), print {
    .page-id-134 .entry-content > p br{
        display: none;
    }
}

/*----------------------------------------
    Works
----------------------------------------*/
.post-type-archive-works .loop-wrapper .entry-header{
    margin-bottom: 0;
    height: 100%;
}
.post-type-archive-works .loop-wrapper .entry-header a{
    text-decoration: none;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.post-type-archive-works .loop-wrapper .post-grid article{
    height: 100%;
}
.post-type-archive-works .loop-wrapper .post-grid .post-heading {
    flex-grow: 1;
}
.post-type-archive-works .loop-wrapper .post-grid .post-heading .entry-title{
    margin-bottom: 0;
}

.single-works .site-content {
    max-width: 800px !important;
}
.single-works .site-content .entry-title{
    margin-bottom: 0.5em;
}
.single-works .post-thumbnail{
    margin-top: 2rem;
}

/*----------------------------------------
    Plan
----------------------------------------*/
.post-type-archive-plan .loop-wrapper .entry-header{
    margin-bottom: 0;
    height: 100%;
}
.post-type-archive-plan .loop-wrapper .entry-header a{
    text-decoration: none;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.post-type-archive-plan .loop-wrapper .post-grid article{
    height: 100%;
}
.post-type-archive-plan .loop-wrapper .post-grid .post-heading {
    flex-grow: 1;
}
.post-type-archive-plan .loop-wrapper .post-grid .post-heading .entry-title{
    margin-bottom: 0;
}

.single-plan .site-content {
    max-width: 800px !important;
}
.single-plan .site-content .entry-title{
    margin-bottom: 0.5em;
}
.single-plan .post-thumbnail{
    margin-top: 2rem;
}



/*----------------------------------------
    Footer
----------------------------------------*/
.site-footer{
    background-color: #323232;
}
.widget_media_image{
    margin-bottom: 0;
}
.widget li{
    margin-bottom: 0;
    color: #fff;
}
.widget p{
    color: #fff;
}
.widget a{
    color: #fff;
}
.footer-widget-2{
    margin-top: 70px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.site-bottom{
    background-color: transparent !important;
    border-top: none;
    color: #fff;
    padding-top: 0;
}
.site-info {
    clear: both;
    float: none;
    margin-top: 0;
    text-align: center;
}
.site-copyright{
    margin-bottom: 0;
}


/*----------------------------------------
    Form
----------------------------------------*/
#cf-tbl{
	max-width: 800px;
	margin: 0 auto;
}

#cf-tbl table{
	width: 100%;
	border-collapse: collapse;
	/* border: solid #CCC;
	border-width: 1px; */
	border: none;
	color: #000;
    font-size: 100%;
}
#cf-tbl table tr th,
#cf-tbl table tr td{
	padding: 0.5em;
	text-align: left;
	vertical-align: top;
	/* border: solid #CCC;
	border-width: 1px; */
	border: none;
	vertical-align: middle;
	display: block;
}
#cf-tbl table tr th{
	/* width: 35%; */
	/* background: #eee; */
	background: none;
}
#cf-tbl table tr th p,
#cf-tbl table tr td p{
	margin-bottom: 0;
    font-weight: 500;
    line-height: 1.4;
}
#cf-tbl table tr:not(:last-of-type) td{
	margin-bottom: 0.5em;
}
/* #cf-tbl table tr + tr th{
    margin-top: 20px;
} */

@media screen and (max-width:768px){
	#cf-tbl{
		width: 100%;
	}

	#cf-tbl table,
	#cf-tbl table tbody,
	#cf-tbl table tr,
	#cf-tbl table tr th,
	#cf-tbl table tr td{
		display: block;
	}

	#cf-tbl table{
		width: 100%;
		border-width: 0 0 1px 0;
	}

	#cf-tbl table tr th,
	#cf-tbl table tr td{
		width: 100%;
		padding: 3% 0 0;
	}

	#cf-tbl table tr td{
		border-width: 0px 1px 0px 1px;
	}
}
/*「必須」文字デザイン*/
.required{
	font-size: 14px;
	padding: 0px 10px 2px 10px;
	background: #0D83C7;
	color: #fff;
	border-radius: 4px;
	margin-left: 8px;
    font-weight: 500;
}

/*「任意」文字デザイン*/
.optional{
	font-size: 14px;
	padding: 0px 10px 2px 10px;
	background: #505050;
	color: #fff;
	border-radius: 4px;
	margin-right: 16px;
    font-weight: 500;
}

/* 入力項目を見やすく */
input.wpcf7-form-control.wpcf7-text,
textarea.wpcf7-form-control.wpcf7-textarea {
	width: 100%;
	padding: 6px 10px;
	margin-right: 0;
	margin-top: 0;
	border: 2px solid #b3b3b3;
	border-radius: 3px;
	/* background-color: #eff1f5; */
}
input.wpcf7-form-control.wpcf7-date,
input.wpcf7-form-control.wpcf7-number {
	padding: 6px 10px;
	margin-right: 0;
	margin-top: 0;
	border: 2px solid #b3b3b3;
	border-radius: 3px;
	/* background-color: #eff1f5; */
}
select.wpcf7-form-control.wpcf7-select {
	padding: 4px 10px;
	margin-right: 0;
	margin-top: 0;
	border: 2px solid #b3b3b3;
	border-radius: 3px;
	/* background-color: #eff1f5; */
}
/* input.wpcf7-form-control.wpcf7-text{
    height: 62px;
} */
textarea.wpcf7-form-control.wpcf7-textarea {
	height: 200px;
	max-width: 800px;
}

.wpcf7-list-item{
    display: block;
    line-height: 1.8;
}

#cf-tbl span.choice{
    display: inline-block;
    margin-left: 1em;
    margin-bottom: 0.5em;
}
@media screen and (max-width:768px){
    #cf-tbl span.choice span.item{
        display: block;
    }
}
#cf-tbl span.choice-block{
    display: block;
    margin-bottom: 0.5em;
}

span.wpcf7-not-valid-tip{
    display: inline-block;
}

/* 「送信する」ボタン */
/* input.wpcf7-submit {
	display: block;
	padding: 15px;
	width: 400px;
	background: #ffaa56;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	border-radius: 2px;
	margin: 15px auto 0
}
@media screen and (max-width:768px){
	input.wpcf7-submit {
		width: 250px;
	}
}

input.wpcf7-submit:hover {
	box-shadow: 0 15px 30px -5px rgba(0,0,0,.15), 0 0 5px rgba(0,0,0,.1);
	transform: translateY(-4px);
	opacity:0.7;
} */
/* エラーメッセージを見やすく */
span.wpcf7-not-valid-tip,
.wpcf7-response-output.wpcf7-validation-errors {
	color: red;
	font-weight: 600;
}


/*----------------------------------------
    Table
----------------------------------------*/
.general-table table tr td{
    border-color: #707070;
}
.general-table table tr td:first-of-type{
    background-color: #E6E6E6;
}
@media screen and (max-width:781px), print {
    .general-table table tr td{
        padding: 8px;
        display: block;
        border-bottom: none;
    }
    .general-table tr td:first-of-type,
    .general-table table tr th:first-of-type{
        border-bottom: none;
    }
    .general-table table tr:last-of-type td:last-of-type{
        border-bottom: 1px solid #707070;
    }
    /* .general-table table tr:first-of-type td:last-of-type,
    .general-table table tr:first-of-type th:last-of-type{
        border-bottom: none;
    } */
}


/*----------------------------------------
    Contact
----------------------------------------*/
.page-id-9 .site-content{
    max-width: 800px !important;
}


/*----------------------------------------
    Google reCAPTCHA
----------------------------------------*/
.grecaptcha-badge {
    visibility: hidden;
}
