@charset "UTF-8";

/* フォントのインポート */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');
/*
Theme Name: lm-child
Version: 0.1.0
Template: lm
*/
:root {
    /*------▼基本設定▼------*/
    --inner-width: 94%;
    --inner-max-width-px: 1480px;
    --color-background: #FFF;
    --color-background-02: #E9F2EE;
    --color-font: #333;
    --color-primary: #12A139;
    --color-primary-shade: #F5F7F5;
    --color-primary-tint: #00691D;
    --color-secondary: #8FC32B;
    --color-secondary-tint: #D3AB05;
    --color-table-border: #D9D9D9;
    --body-font-size: var(--font-size16);
    --body-font-family: var(--font-family01); 
    /*------▼フォント設定▼------*/
    --font-family01: "Noto Sans JP", sans-serif;
    --font-family02: "Open Sans", sans-serif;
    --font-size12: clamp(10px, .63vw, 12px);
    --font-size14: clamp(12px, .73vw, 14px);
    --font-size16: clamp(14px, .84vw, 16px);
    --font-size18: clamp(16px, .94vw, 18px);
    --font-size20: clamp(18px, 1.1vw, 20px);
    --font-size22: clamp(18px, 1.15vw, 22px);
    --font-size24: clamp(20px, 1.25vw, 24px);
    --font-size26: clamp(18px, 1.36vw, 26px);
    --font-size28: clamp(22px, 1.6vw, 28px);
    --font-size30: clamp(22px, 1.7vw, 30px);
    --font-size32: clamp(24px, 1.7vw, 32px);
    --font-size34: clamp(24px, 1.85vw, 34px);
    --font-size36: clamp(24px, 1.85vw, 36px);
    --font-size38: clamp(26px, 2vw, 38px);
    --font-size40: clamp(26px, 2.1vw, 40px);
    --font-size42: clamp(26px, 2.3vw, 42px);
    --font-size46: clamp(28px, 2.4vw, 46px);
    --font-size50: clamp(30px, 2.61vw, 50px);
    --font-size52: clamp(32px, 2.71vw, 52px);
    --font-size60: clamp(32px, 3.13vw, 60px);
    --font-size65: clamp(38px, 3.4vw, 65px);
    --font-size80: clamp(40px, 4.17vw, 80px);
}
/* PC */
@media print, screen and (min-width: 1024px) {
}
/* タブレット */
@media print, screen and (max-width: 1023px) {
}
/* SP */
@media print, screen and (max-width: 768px) {
}
/* ====================
    基本設定
==================== */
body {
    font-family: var(--font-family01);
    color: var(--color-font);
    background-color: var(--color-background);
}
li {
    list-style: none;
}
a, a:hover {
    transition: .3s ease;
}
/* img {
    width: 100%;
    height: auto;
} */
/* ==== テーブル ======== */
table {
	border: var(--color-table-border) 1px solid;
	color: var(--color-font);
	border-collapse: collapse;
	width: 100%;
	font-size: var(--font-size16);
	margin-bottom: 15px;
	box-sizing:border-box;
    line-height: 1.5;
}
table th, table td {
	text-align: left;
	padding: 1em;
}
table th {
	border: var(--color-table-border) 1px solid;
	background-color: #F4F7F5;

}
table td {
	border: var(--color-table-border) 1px solid;
	background-color: #FFF;
}
/* ====================
    レイアウト設定
==================== */
body.single .lInner {
    margin-top: 2rem;
    margin-bottom: 3rem;
}
.wrapper_content {
    width: var(--inner-width);
    max-width: var(--inner-max-width-px);
    margin: 0 auto;
}
.max_w820 {
    max-width: 820px;
}
.max_w1100 {
    max-width: 1100px;
}
/* ====================
    フォント設定
==================== */
/* h1, h2, h3 ,h4, h5 {
    color: var(--color-primary);
} */
h1 {
    font-size: var(--font-size40);
    font-weight: bold;
    margin-bottom: 1em;
    line-height: 1.5;
    letter-spacing: .03em;
}
h2 {
    font-size: var(--font-size30);
    font-weight: bold;
    margin-bottom: 1em;
    line-height: 1.5;
    letter-spacing: .03em;
}
h3 {
    font-size: var(--font-size24);
    font-weight: bold;
    margin-bottom: 1em;
    line-height: 1.5;
    letter-spacing: .03em;
}
h4 {
    font-size: var(--font-size22);
    font-weight: bold;
    margin-bottom: 1em;
    line-height: 1.5;
    letter-spacing: .03em;
}
h5 {
    font-size: var(--font-size18);
    font-weight: bold;
    margin-bottom: 1em;
    line-height: 1.5;
    letter-spacing: .03em;
}
p {
    font-size: var(--font-size16);
    font-weight: 500;
    margin-bottom: 1em;
    line-height: 1.8;
    letter-spacing: .03em;
}

/* ====================
    ユーティリティ
==================== */
/* ==== テキスト ======== */
.lead {
    font-size: var(--font-size26);
    font-weight: bold;
    line-height: 1.45;
}
.regular {font-weight: 400!important;}
.mid {font-weight: 500!important;}
.semi-bold {font-weight: 600!important;}
.bold {font-weight: bold!important;}
.ja, .ff-01 {font-family: var(--font-family01);}
.en, .ff-02 {font-family: var(--font-family02);}
.color-font {color: var(--color-font);}
.color-primary {color: var(--color-primary);}
.color-tint {color: var(--color-primary-tint);}
.color-shade {color: var(--color-primary-shade);}
.color-white {color: #FFF;}
.color-secondary {color: var(--color-secondary);}
.color-secondary-tint {color: var(--color-secondary-tint);}
.px12 {font-size: var(--font-size12)!important;}
.px14 {font-size: var(--font-size14)!important;}
.px16 {font-size: var(--font-size16)!important;}
.px18 {font-size: var(--font-size18)!important;}
.px20 {font-size: var(--font-size20)!important;}
.px22 {font-size: var(--font-size22)!important;}
.px24 {font-size: var(--font-size24)!important;}
.px26 {font-size: var(--font-size26)!important;}
.px28 {font-size: var(--font-size28)!important;}
.px30 {font-size: var(--font-size30)!important;}
.px32 {font-size: var(--font-size32)!important;}
.px34 {font-size: var(--font-size34)!important;}
.px36 {font-size: var(--font-size36)!important;}
.px38 {font-size: var(--font-size38)!important;}
.px40 {font-size: var(--font-size40)!important;}
.px46 {font-size: var(--font-size46)!important;}
.px50 {font-size: var(--font-size50)!important;}
.px52 {font-size: var(--font-size52)!important;}
.px60 {font-size: var(--font-size60)!important;}
/* ==== あしらい__テキスト ======== */
.txt-underline {
    text-decoration: underline;
    text-decoration-thickness: 1px;
}
.txt-marker {background: linear-gradient(0, #6E9BA340 25%, transparent 25%);}
.txt-tag {
    background: var(--color-primary);
    color: #FFF;
    font-size: var(--font-size16);
    display: inline-block;
    padding: .2em .5em;
    margin: 0 .2em;
    width: 6em;
}
.txt-border {
    border: 2px solid;
    padding: .3em .8em!important;
}
.txt-bg-primary {
    display: block;
    background: var(--color-primary);
    color: #FFF;
    padding: .5em;
    margin-bottom: 2px;
    text-align: center;
}
.txt-bubble {
    display: inline-block;
    padding: 0 1em;
    position: relative;
    font-size: var(--font-size14);
    color: var(--color-primary);
    font-weight: bold;
}
.txt-bubble::before, .txt-bubble::after {
    content: '';
    position: absolute;
    width: 2px;
    height: 1em;
    background: var(--color-primary);
    bottom: 0;
}
.txt-bubble::before {
    -webkit-transform: rotate(-30deg);
    transform: rotate(-30deg);
    left: 0;
}
.txt-bubble::after {
    -webkit-transform: rotate(30deg);
    transform: rotate(30deg);
    right: 0;
}
.txt-bubble--secondary {
    color: var(--color-font);
    font-size: var(--font-size12);
}
.txt-bubble--secondary::before, .txt-bubble--secondary::after {
    background: var(--color-font);
}
/* ==== あしらい__コンテンツ ======== */
.content {position: relative;}
.gap {gap: 4%;}
.box-shadow {box-shadow: 0 3px 20px #0000000D;}
.dis-block, .dis-inline-block, .dis-flex {position: relative;}
.dis-block {display: block;}
.dis-inline-block {display: inline-block;}
.dis-flex {display: flex;}
.bg-white {background: #FFF;}
.bg-gray {background: #F7F8F9;}
.bg-primary{background: var(--color-primary);}
.bg-tint {background: var(--color-primary-tint);}
.bg-shade {background: var(--color-primary-shade);}
.bg-white-green {background: var(--color-background-02);}
.bg-img {
    background-image: url();
    background-size: cover;
    background-position: center;
}
.border-radius {
	border-radius: 10px;
    overflow: hidden;
}
.border-bottom {
    border-bottom: .5px solid #D1D1D1;
}
.anchor-offset {
    position: relative;
    padding-top: var(--clamp-150);
    margin-top: calc(var(--clamp-150) * -1);
    z-index: -10;
}
.img-area img {
    width: 100%;
}
.txt-area, .img-area {
    position: relative;
}
.txt-inner {
    max-width: 528px;
    width: 94%;
}
.img-area {
    width: 100%;
}
.logo-icon {
    max-width: 95px;
    width: 20%;
    margin: 0 auto;
}
.overflow-scroll {
    overflow-x: scroll;
}
.overflow-scroll table {
    width: 100%;
    min-width: 1000px;
}
@media print, screen and (min-width: 769px) {
    .ml-auto {margin-left: auto!important;}
    .mr-auto {margin-right: auto!important;}
    .spbr {display: none;}
    .pc_none {display: none;}
}
@media print, screen and (max-width: 768px) {
    .sp_center {
        text-align: center;
    }
    .txt-inner {
        max-width: 94%;
        width: 100%;
        margin: 0 auto;
    }
    .pcbr {display: none;}
    .sp_none {display: none;}
}
/* ====================
    flex / card
==================== */
.flex, .card {
    display: flex;
}
/* ==== flex ======== */
.wrap {flex-wrap: wrap;}
.nowrap {flex-wrap: nowrap;}
.jc_between {justify-content: space-between;}
.jc_around {justify-content: space-around;}
.jc_evenly {justify-content: space-evenly;}
.ai_center {align-items: center;}
.ai_end {align-items: end;}
.col-1{ width: 100%;}
.col-2{width: calc(50% - 22px);}
.col-3{width: calc(100% / 3);}
.col-4{width: calc(100% / 4);}
.col-5{width: calc(100% / 5);}
.w25 {width: 25%;}
.w35 {width: 35%;}
.w45 {width: 45%;}
.w55 {width: 55%;}
.w65 {width: 65%;}
.w75 {width: 75%;}
.w85 {width: 85%;}
@media print, screen and (min-width: 769px) {}
@media print, screen and (max-width: 768px) {
    .flex {
        display: block;
    }
    .col-1, .col-2, .col-3, .col-4, .col-5, .w25, .w35, .w45, .w55, .w65, .w75, .w85 {
        width: 100%;
        margin-bottom: 20px;
    }
}
/* ==== card ======== */
.card {
    display: flex;
    flex-direction: row;
}
.card:has(.col-2) {gap: 20px 44px;}
.card:has(.col-3) {gap: 20px 30px;}
.card:has(.col-4) {gap: 20px;}
.card:has(.col-5) {gap: 20px;}
.card .col-2 {width: calc((100% / 2) - 22px);}
.card .col-3 {width: calc((100% / 3) - 20px);}
.card .col-4 {width: calc((100% / 4) - 15px);}
.card .col-5 {width: calc((100% / 5) - 16px);}
@media print, screen and (min-width: 769px) {}
@media print, screen and (max-width: 768px) {}
/* ====================
    linkBtn
==================== */
@media print, screen and (min-width: 769px) {}
@media print, screen and (max-width: 768px) {}
/* ====================
    ul / ol
==================== */
.list-check {
    width: var(--inner-width);
    max-width: 960px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto;
    gap: 20px 40px;
}
.list-check li {
    width: calc(50% - 20px);
    font-size: var(--font-size20);
    font-weight: bold;
    padding-left: 1.5em;
    line-height: 1.5;
    position: relative;
}
.list-check li::before {
    content: '';
    position: absolute;
    width: 1em;
    height: 1em;
    background-image: url(/wp-content/uploads/icon_check.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    left: 0;
    top: .25em;
}


.list-flow {
    display: flex;
    flex-direction: column;
    gap: 25px;
    width: var(--inner-width);
    max-width: 1200px;
    margin: 0 auto;
}
.list-flow li {
    font-weight: bold;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    position: relative;
}
.list-flow li::after {
    content: '';
    position: absolute;
    border-top: 25px solid var(--color-primary);
    border-left: 23px solid transparent;
    border-right: 23px solid transparent;
    bottom: -25px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}
.list-flow li:last-child::after {
    display: none;
}
.list-flow .num {
    font-size: var(--font-size36);
    font-family: var(--font-family01);
    background: var(--color-primary);
    color: #FFF;
    width: 2.45em;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1.2;
    border-radius: 5px 0 0 5px;
}
.list-flow .num .sub {
    font-size: .5em;
}
.list-flow .txt {
    width: calc(100% - (var(--font-size36) * 2.45));
    padding: min(3%, 30px) min(5%, 50px);
    background: #FFF;
    border-radius: 0 5px 5px 0;
}
.list-flow .ttl {
    font-size: var(--font-size26);
    font-weight: bold;
    margin-bottom: .7em;
}
.list-flow .desc:last-child {
    margin-bottom: 0;
}
.list-flow .btn {
    display: flex;
    gap: 15px 25px;
}
@media print, screen and (min-width: 769px) {}
@media print, screen and (max-width: 768px) {
    .list-check {
        flex-direction: column;
        gap: 10px;
    }
    .list-check li {
        width: 100%;
        font-size: var(--font-size18);
    }
    .list-flow li {
        flex-direction: column;
    }
    .list-flow .num {
        width: 100%;
        border-radius: 5px 5px 0 0;
        height: 2.5em;
    }
    .list-flow .txt {
        width: 100%;
        border-radius: 0 0 5px 5px;
        padding: min(5%, 50px);
    }
    .list-flow .btn {
        flex-direction: column;
    }
}
/* ====================
    アイキャッチ
==================== */
.lHeaderthumbnail {
    position: relative;
}
.lHeaderthumbnail::after {
    content: '';
    position: absolute;
    font-size: clamp(60px, 6.25vw, 120px);
    font-family: var(--font-family02);
    font-weight: 900;
    color: #FFF;
    opacity: .3;
    top: 45%;
    left: 50%;
    width: var(--inner-width);
    max-width: var(--inner-max-width-px);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-align: right;
    line-height: 1;
}
body.single .lHeaderthumbnail::after,
body.home .lHeaderthumbnail::after {display: none;}
body.category-topic .lHeaderthumbnail::after {content: 'topic';}
body.category-news .lHeaderthumbnail::after {content: 'news';}
body.category-flyer .lHeaderthumbnail::after {content: 'flyer';}
body.category-information .lHeaderthumbnail::after {content: 'information';}
body.post-type-archive-property .lHeaderthumbnail::after {content: 'property';}
body.term-land .lHeaderthumbnail::after {content: 'land';}
body.term-detached-house .lHeaderthumbnail::after {content: 'detached house';}
body.term-apartment .lHeaderthumbnail::after {content: 'apartment';}
body.post-about .lHeaderthumbnail::after {content: 'about';}
body.post-school .lHeaderthumbnail::after {content: 'school';}
body.post-purchase .lHeaderthumbnail::after {content: 'purchase';}
body.post-sale .lHeaderthumbnail::after {content: 'sale';}
body.post-staff .lHeaderthumbnail::after {content: 'staff';}
.lHeaderthumbnail__background img {
    width: 100%;
    height: clamp(250px, 20.1vw, 400px);
}
.lHeaderthumbnail__title {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    width: var(--inner-width);
    max-width: var(--inner-max-width-px);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    color: #FFF;
    font-size: var(--font-size32);
    font-weight: bold;
    letter-spacing: .05em;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    line-height: 1.5;
}
.lHeaderthumbnail__subTitle {
    font-size: .56em;
    font-family: var(--font-family02);
}
/* ====================
    cSection
==================== */
.cSection {
    position: relative;
    padding: var(--space-60) 0;
}
.cSectionInner {
    width: var(--inner-width);
    max-width: var(--inner-max-width-px);
    margin-left: auto;
    margin-right: auto;
}
.cSectionTitle {
    font-size: var(--font-size34);
    font-weight: bold;
    line-height: 1.5;
    color: var(--color-primary);
    border-bottom: 2px solid;
    margin-bottom: 1em;
}
.cSectionTitle.is-white {
    color: #FFF;
    border-width: 0;
}
.cSectionTitleTop {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.3em;
    margin-bottom: 0.2em;
}
.cSectionTitleTop.is-column {
    flex-direction: column;
    gap: .1em;
}
.cSectionTitleTop img {
    width: 0.7em;
    display: inline-block;
}
.cSectionTitleEn {
    font-size: 0.53em;
    font-family: var(--font-family02);
    display: inline-block;
}
.cSectionTitleJp {
    font-family: var(--font-family01);
}
.cSectionButton {
    text-align: center;
    margin-top: 2em;
}
.cSectionBubble {
    color: var(--color-primary);
    font-size: var(--font-size22);
    font-weight: bold;
    text-align: center;
    margin-bottom: .5em;
}
@media screen and (max-width: 768px) {
    .cSection {
        padding: 40px 0;
    }
}
/* ==== cBgImg ======== */
.cBgImg {
    position: relative;
}
.cBgImg::before {
    content: '';
    position: absolute;
    width: 100%;
    height: calc((100% + clamp(290px, 20.1vw, 400px) / 3));/* 100% + thumbの高さ / 3 */
    background-size: cover;
    background-position: center;
    opacity: .1;
    z-index: -1;
    left: 0;
    top: calc((clamp(290px, 20.1vw, 400px) / 3) * -1);
}
/* ==== .cPageTitle ======== */
.cPageTitle {
    text-align: center;
    color: var(--color-primary);
    padding-bottom: .5em;
    position: relative;
}
.cPageTitle::after {
    content: '';
    position: absolute;
    width: 1.4em;
    height: 4px;
    background: var(--color-primary);
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}
/* ==== .cQuotationTitle ======== */
.cQuotationTitle {
    font-size: var(--font-size26);
    display: inline-block;
    padding: 0 1.2em;
    position: relative;
    text-align: center;
}
.cQuotationTitle::before, .cQuotationTitle::after {
    content: '“';
    position: absolute;
    color: var(--color-primary);
    font-size: 1.35em;
    top: 0;
}
.cQuotationTitle::before {
    content: '“';
    left: 0;
}
.cQuotationTitle::after {
    content: '”';
    right: 0;
}
/* ==== cFlex ======== */
.cFlex {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}
.cFlex.gap_20 {
    gap: 20px;
}
.cFlexItem {
    flex: 1;
    /* min-width: 300px; */
}
.cFlexItem .num {
    position: relative;
    font-size: clamp(60px, 6.25vw, 120px);
    font-family: var(--font-family02);
    font-weight: 900;
    line-height: 1;
    color: var(--color-primary);
    opacity: .1;
    margin-bottom: calc((clamp(60px, 6.25vw, 120px) / 2) * -1);
    display: block;
    z-index: 0;
}
@media screen and (max-width: 768px) {
    .cFlexItem {
        min-width: 100%;
    }
}
/* ==== cButton ======== */
.cButton {
    display: inline-block;
    position: relative;
    width: 100%;
    max-width: 290px;
    padding: 1em 2.5em;
    font-family: var(--font-family01);
    font-size: var(--font-size18);
    font-weight: bold;
    line-height: 2;
    text-align: center;
    color: #FFF;
    background: var(--color-primary);
    border-radius: 5px;
    text-decoration: none;
    transition: all 0.3s ease;
    /* outline: 1px solid; */
}
.cButton.is-white {
    background: #FFF;
    color: var(--color-primary);
}
.cButton--mail {
    background: var(--color-secondary-tint);
}
.cButton--contact {
    background: #FFF;
    outline: 1px solid;
    color: var(--color-primary);
    border-radius: 50vw;
}
.cButton:hover, a:hover .cButton {
    background: #FFF;
    color: var(--color-primary);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
    /* transform: translateY(-2px); */
    outline: 1px solid;
}
.cButton.is-white:hover, a:hover .cButton.is-white,
.cButton--contact:hover, a:hover .cButton--contact {
    color: #FFF;
    background: var(--color-primary);
}
.cButton--mail:hover, a:hover .cButton--mail {
    color: var(--color-secondary-tint);
    background: #FFF;
}
.cButton::after {
    content: '';
    position: absolute;
    width: 1.2em;
    height: 1.2em;
    background-image: url(/wp-content/uploads/icon_arrow.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    top: 50%;
    right: 1em;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    transition: .5s ease;
}
.cButton.is-white::after, .cButton--contact::after {
    background-image: url(/wp-content/uploads/icon_arrow-white.png);
}
.cButton--mail::after {
    background-image: url(/wp-content/uploads/icon_arrow-golden-yellow.png);
}
/* .cButton:hover::after, a:hover .cButton::after {
    right: .5em;
} */
/* ==== ctable ======== */
.cTable, .cTable th, .cTable td {
    border-width: 0;
}
.cTable th, .cTable td {
    font-size: var(--font-size16);
    background: #FFF;
    padding: 1.5em;
    vertical-align: middle;
}
.cTable th {
    border-bottom: 1px solid var(--color-primary-tint);
    color: var(--color-primary-tint);
    font-weight: bold;
    width: 200px;
}
.cTable td {
    font-weight: 500;
    border-bottom: 1px solid #DCDDDD;
    width: calc(100% - 180px);
}
@media print, screen and (min-width: 769px) {}
@media print, screen and (max-width: 768px) {
    .cTable th, .cTable td {
        display: block;
        width: 100%;
        padding: 1.2em 1em;
    } 
    .cTable th {
        background: var(--color-primary-shade);
    }
}
@media print, screen and (min-width: 769px) {}
@media print, screen and (max-width: 768px) {}
/* ==== cBannerLink ======== */
.cBannerLink {
    margin: 0 auto;
    width: 50%;
    max-width: 700px;
}
.cBannerLink a {
    display: block;
    overflow: hidden;
}
.cBannerLink img {
    outline: 1px solid #E0E0E0;
    border-radius: 10px;
}
@media screen and (max-width: 768px) {
    .cBannerLink {
        width: 90%;
    }
}
/* ==== cCta ======== */
.cCTaContent {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    position: relative;
}
.cCTaContent::before {
    content: '';
    position: absolute;
    width: 1px;
    height: 80%;
    border-left: 1px dotted #B5B5B5;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 2;
}
.cCTaButton {
    width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: #FFF;
    height: 310px;
    font-size: var(--font-size28);
    font-weight: bold;
    color: var(--color-font);
}
.cCTaButtonIcon {
    font-size: 1.6em;
    color: var(--color-primary);
}
.cCTaButtonText {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 94%;
}
.cCTaButtonText .num {
    color: var(--color-primary);
    font-family: var(--font-family02);
    font-size: 1.5em;
}
.cCTaButtonText .sub {
    color: var(--color-primary);
    font-size: .8em;
    font-weight: 500;
}
.cCTaButtonText .sub .ff-02 {
    font-weight: 600;
    font-style: italic;
    font-size: 1.13em;
}
.cCTaButtonText .bubble {
    color: var(--color-secondary-tint);
    font-size: .8em;
    display: inline-block;
    margin: .3em;
}
.cCTaButton:hover {
    opacity: .8;
}
.cCTaButton:hover .cCTaButtonIcon, .cCTaButton:hover .num, .cCTaButton:hover .sub {
    opacity: .6;
    transition: .3s ease;
}
.material-symbols-outlined {
    font-size: inherit;
    font-weight: bold;
}
@media print, screen and (max-width: 768px) {
    .cCTaContent {
        flex-direction: column;
    }
    .cCTaButton {
        width: 100%;
        height: 230px;
    }
    .cCTaContent::before {
        width: 80%;
        height: 1px;
        border-left: 0;
        border-top: 1px dotted #B5B5B5;
    } 
}

/* ==== cCheckList ======== */
.cCheckList {
    background: #FCFCFC;
    width: var(--inner-width);
    max-width: 1200px;
    margin: 0 auto;
    padding-top: min(3%, 30px);
    padding-bottom: min(5%, 50px);
}
/* ==== .cMessageContent ======== */
.cMessageContent {
    background: var(--color-background-02);
    width: var(--inner-width);
    max-width: 1200px;
    margin: 0 auto;
    padding: min(3%, 30px) min(5%, 55px);
    position: relative;
    margin-top: var(--space-60);
}
.cMessageContent::before, .cMessageContent::after {
    content: '';
    position: absolute;
    width: 1px;
    height: clamp(60px, 4.8vw, 90px);
    background: var(--color-primary-tint);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.cMessageContent::before {
    left: calc((clamp(60px, 4.8vw, 90px) / -7) *  -1);
    top: calc((clamp(60px, 4.8vw, 90px) / 3) *  -1);
}
.cMessageContent::after {
    right: calc((clamp(60px, 4.8vw, 90px) / -7) *  -1);
    bottom: calc((clamp(60px, 4.8vw, 90px) / 3) *  -1);
}
/* ==== .cSpeech-bubble ======== */
.cSpeech-bubble {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px 50px;
    max-width: 970px;
    width: 80%;
    margin: 0 auto;
}
.cSpeech-bubbleItem {
    position: relative;
    width: calc((100% / 3) - 34px);
    text-align: center;
    background: var(--color-primary);
    color: #FFF;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size18);
    font-size: min(0.9375vw, 18px);
    font-weight: bold;
    height: 5.8em;
    padding: 1em 2em;
    margin-bottom: 1.2em;
}
.cSpeech-bubbleItem::before, .cSpeech-bubbleItem::after {
    position: absolute;
    content: '';
    font-size: 2em;
    z-index: 1;
}
.cSpeech-bubbleItem::before {
    content: '“';
    left: 0.5em;
    top: 0;
}
.cSpeech-bubbleItem::after {
    content: '”';
    right: 0.5em;
    bottom: 0;
}
.cSpeech-bubbleItem__txt {
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
    margin: 0;
}
.cSpeech-bubbleItem__arrow {
    position: absolute;
    border-top: 1.2em solid var(--color-primary);
    border-left: 1.2em solid transparent;
    border-right: 1.2em solid transparent;
    bottom: calc(-1.2em + 1px);
    z-index: 1;
}

@media screen and (max-width: 768px) {
    .cSpeech-bubble {
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }
    .cSpeech-bubbleItem {
        font-size: var(--font-size16);
        width: 100%;
        max-width: 350px;
    }
}
/* ==== .cSpeech-bubble ======== */
 .cPanel {
    display: flex;
    flex-direction: column;
    gap: var(--space-50);
}
.cPanelItem__ttl {
    color: #FFF;
    background: var(--color-primary);
    display: inline-block;
    font-size: var(--font-size26);
    padding: .5em 1em;
    border-radius: 5px 5px 0 0;
    margin-bottom: 0;
}
.cPanelItemBody {
    border: 1px solid var(--color-primary);
    width: 100%;
    padding: min(5%, 30px) min(3%,15px);
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
    border-radius: 0 5px 5px 5px;
    background: #FFF;
}
.cPanelItemBody__txt, .cPanelItemBody__img {
    width: calc(50% - 20px);
}
.cPanelItemBody__txt .ttl {
    font-size: var(--font-size22);
    font-weight: bold;
    margin-bottom: .3em;
    color: var(--color-primary);
    position: relative;
    padding-left: 2em;
}

.cPanelItemBody__txt .num {
    font-size: .9em;
    font-family: var(--font-family02);
    display: inline-block;
    color: #FFF;
    background: var(--color-primary);
    padding: .1em .3em;
    margin-right: .5em;
    position: absolute;
    left: 0;
    top: 0;
}
.cPanelItemBody__txt .desc {
    font-size: var(--font-size16);
    font-weight: 500;
    margin-bottom: 1em;
}



/* -- .cPanel--secondary -- */
.cPanel--secondary .cPanelItem__ttl {
    width: 100%;
    background: var(--color-background-02);
    color: var(--color-font);
    text-align: center;
}   
.cPanel--secondary .cPanelItem {
    background: var(--color-primary);
    padding: 1px;
}
.cPanel--secondary .cPanelItem__ttl {
    border-radius: 0;
    border-bottom: 1px solid #DEDEDE;
}
.cPanel--secondary .cPanelItemBody {
    border: 0;
    border-radius: 0;
}
.cPanel--secondary .cPanelItemBody__txt .ttl {
    padding-left: 1em;
}
.cPanel--secondary .cPanelItemBody__txt .ttl::before {
    content: '';
    position: absolute;
    width: .5em;
    height: 2px;
    background: var(--color-primary);
    left: 0;
    top: .75em;
}

@media screen and (min-width: 769px) {
    .cPanel--secondary .cPanelItemBody__img {
        padding: 0 var(--space-80);
        min-width: 400px;
    }
}
@media screen and (max-width: 768px) {
    .cPanelItemBody {
        flex-direction: column-reverse;
        gap: 20px;
    }
    .cPanelItemBody__txt {width: 100%;}
    .cPanelItemBody__img {width: 80%;}
    /* -- .cPanel--secondary -- */
    .cPanel--secondary .cPanelItemBody__img {
        width: 100%;
    }
}
/* ====================
    pTopNavigation / ナビゲーションリスト
==================== */
.pTopNavigationList {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}
.pTopNavigationItem {
  position: relative;
  background-size: cover;
  background-position: center;
  border-radius: 10px;
  overflow: hidden;
  flex: 0 0 100%;
  min-height: 200px;
}
.pTopNavigationItem.is-half {
  flex: 0 0 calc(50% - 20px); /* gap考慮 */
}
.pTopNavigationItem::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 1;
}
.pTopNavigationItem.is-main::before {
    background: var(--color-secondary);
    opacity: .75;
}
.pTopNavigationItem.is-sub::before {
    background: var(--color-primary);
    opacity: .85;
}
.pTopNavigationItemInner {
    position: relative;
    z-index: 2;
    padding: min(100px, 7%);
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.pTopNavigationItemInner.is-row {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}
.pTopNavigationItemHead {
  text-align: center;
}
.pTopNavigationItemEn {
  display: block;
  font-family: var(--font-family02);
  font-size: 1rem;
  margin-bottom: 0.3em;
}
.pTopNavigationItemJp {
  display: block;
  font-family: var(--font-family01);
  font-size: 1.4rem;
  font-weight: bold;
}
.pTopNavigationButton {
  margin-top: 1em;
  text-align: center;
  width: 100%;
}

@media print, screen and (min-width: 769px) {
    .pTopNavigationButton.sp-right {
        text-align: right;
    }
}
@media print, screen and (max-width: 768px) {
    .pTopNavigationList {
        flex-direction: column;
        gap: 20px;
    }
    .pTopNavigationItemInner {
        width: 100%;
        height: auto;
    }
}
/* ====================
    カテゴリー調整
==================== */
.pPost__times, .pPost__terms {
    display: none;
}
.pPost__date {
    text-align: right;
    margin-bottom: 1rem;
    display: none;
}
.pPostListPageContent {
    margin: var(--space-60) 0;
}
.pPosts__postsContainer {
    display: flex;
    flex-direction: column;
}
.pPosts__item {
    border-bottom: 1px solid #CCCCCC;
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 15px;
    gap: 10px 20px;
    flex-wrap: nowrap;
}
.pPosts__cat {
    font-size: var(--font-size12);
    font-weight: bold;
    background: var(--color-primary);
    color: #FFF;
    line-height: 1.5;
    padding: .2em .7em;
}
.pPosts__date, .pPosts__title, .pPosts__title a {
    font-size: var(--font-size14);
    font-weight: 500;
    color: var(--color-font);
    margin: 0;
}
.pPosts__item:first-child {
    border-top: 1px solid #CCCCCC;
}
/* ==== ページナビゲーション＿＿投稿 ======== */
.pPosts__postsNavigation {
    margin-top: var(--space-40);
}
/* ==== 投稿アーカイブ調整 ======== */
.pPropertyList {
    margin-top: 20px;
}
.pPropertyList__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
body.archive .pPropertyList__grid {
    margin-top: 2rem;
    margin-bottom: 3rem;
}
.pPropertyCard {
    background: #FFF;
    border-radius: 10px;
    box-shadow: 0 3px 20px #C4C4C440;
}
.pPropertyCard a {
    display: block;
    padding: 15px;
}
.pPropertyCard__thumb {
    position: relative;
    overflow: hidden;
    margin-bottom: 15px;
    border-radius: 10px;
}
.pPropertyCard__thumb img {
    width: 100%;
    height: auto;
    aspect-ratio: 4/3;
}
.pPropertyCard__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    font-weight: bold;
    font-size: 1.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    pointer-events: none;
}
.pPropertyCard__tag {
    color: #FFF;
    background: var(--color-primary);
    font-size: var(--font-size14);
    font-weight: bold;
    line-height: 1.5;
    padding: .2em .8em;
    border-radius: 5px;
    display: inline-block;
    margin-bottom: 10px;
}
.pPropertyCard__title {
    font-size: var(--font-size16);
    font-weight: bold;
    line-height: 1.5;
    color: var(--color-font);
    margin-bottom: .5em;
}
.pPropertyCard__price {
    font-family: var(--font-family02);
    font-size: var(--font-size28);
    font-weight: bold;
    color: var(--color-primary-tint);
    line-height: 1.5;
    margin-bottom: 5px;
}
.pPropertyCard__meta {
    font-size: var(--font-size16);
    font-weight: 500;
    line-height: 1.5;
    color: var(--color-font);
    margin-bottom: .5em;
}
@media print, screen and (max-width: 1023px) {
    .pPropertyList__grid {
        grid-template-columns: repeat(3, 1fr);
    } 
}
@media print, screen and (max-width: 768px) {
    .pPropertyList__grid {
        grid-template-columns: repeat(2, 1fr);
    } 
}
@media print, screen and (max-width: 499px) {
    .pPropertyList__grid {
        grid-template-columns: repeat(1, 1fr);
    } 
}
/* ==== 投稿調整 ======== */
.pPost__title {
    font-size: var(--font-size24);
    font-weight: bold;
    color: #FFF;
    background: var(--color-primary);
    padding: .5em 1em;
    line-height: 1.5;
}
.pPost__title-sub {
    font-size: var(--font-size20);
    padding-left: .8em;
    border-left: 5px solid var(--color-primary);
    margin-bottom: .5em;
    margin-top: 2em;
}
.pPost__note {
    font-size: var(--font-size14);
}
@media print, screen and (max-width: 768px) {
}
/* ====================
    カスタム投稿調整
==================== */
/* ==== レイアウト＿＿カスタム投稿 ======== */
.pPost__block-main {
    margin-bottom: var(--space-120);
}
.pPost__flex {
    display: flex;
    justify-content: space-between;
}

@media screen and (max-width: 768px) {
    .pPost__block-main {
        margin-bottom: var(--space-60);
    }
    .pPost__flex {
        flex-direction: column;
        gap: 20px;
    }
}
/* ==== ギャラリー共通＿＿カスタム投稿 ======== */
.pPost__gallery-main img,
.pPost__gallery-thumb,
.pPost__sub-gallery-img {
    cursor: pointer;
    border: 2px solid transparent!important;
    transition: border-color 0.2s;
}
.pPost__gallery-main img:hover,
.pPost__gallery-thumb:hover,
.pPost__sub-gallery-img:hover {
    border-color: var(--color-primary)!important;
}
/* ==== メインギャラリー＿＿カスタム投稿 / 抜粋情報＿＿カスタム投稿 ======== */
.pPost__gallery {
    width: 40%;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.pPost__gallery-main img {
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center;
    aspect-ratio: 3 / 2;
}
.pPost__gallery-thumbs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}
.pPost__gallery-thumb {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    object-position: center;
}
.pPost__info {
    width: calc(60% - 3%);
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
    .pPost__gallery-thumbs {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media screen and (max-width: 768px) {
    .pPost__gallery, .pPost__info {
        width: 100%;
    }
}
/* ==== サブギャラリー＿＿カスタム投稿 ======== */
.pPost__sub-gallery {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 15px;
}
.pPost__sub-gallery-img {
    width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    object-position: center;
}
@media screen and (max-width: 768px) {
    .pPost__sub-gallery {
        grid-template-columns: repeat(4, 1fr);
        gap: 10px;
    }
}
@media screen and (max-width: 500px) {
    .pPost__sub-gallery {
        grid-template-columns: repeat(3, 1fr);
        gap: 10px;
    }
}
/* ==== 抜粋テーブル＿＿カスタム投稿 ======== */
.pPost__table {
    font-weight: bold;
    margin-bottom: var(--space-40);
}
.pPost__table th, .pPost__table td {
    padding: 1.4em 1em;
}
.pPost__table th {
    width: 15%;
}
.pPost__table td {
    width: 35%;
}
@media screen and (min-width: 769px) {
    .pPost__table th {
        /* min-width: max(10.5vw, 150px); */
        min-width: 10.5vw;
    }
}
@media screen and (max-width: 768px) {
    .pPost__table {
      width: 100%;
      border-collapse: collapse;
    }
    .pPost__table tr {
      display: flex;
      flex-wrap: wrap;
    }
    /* .pPost__table th,
    .pPost__table td {
      display: inline-block;
      width: 50%;
      box-sizing: border-box;
      vertical-align: top;
    }
    .pPost__table td[colspan],
    .pPost__table th[colspan] {
      width: 50% !important;
      display: block;
    } */
    .pPost__table th, .pPost__table td {
        display: inline-block;
        padding: 1em .5em;
    }
    .pPost__table th {
        width: 30%;
    }
    .pPost__table td {
        width: 70%;
    }
}
/* ==== 詳細テーブル＿＿カスタム投稿 ======== */
.pPost__detail-table-wrapper {
    margin-top: var(--space-60);
}
/* ==== マップ＿＿カスタム投稿 ======== */
.pPost__map-wrap {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
}
.pPost__map-embed, .pPost__map-text {
    width: calc((100% / 2) - 20px);
}

/* ==== モーダルウィンドウ＿＿カスタム投稿 ======== */
.img-modal {
    display: none;
    position: fixed;
    z-index: 9999;
    inset: 0;
    background: rgba(0, 0, 0, 0.8);
    align-items: center;
    justify-content: center;
}
.img-modal.is-active {
  display: flex;
}
.img-modal img {
  max-width: 90%;
  max-height: 90%;
  object-fit: contain;
}
.img-modal__overlay {
  position: absolute;
  inset: 0;
  cursor: zoom-out;
}
    
/* ==== タブ切り替え＿＿カスタム投稿 ======== */
.pTabFilter__nav {
    margin: 2rem 0;
}
.pTabFilter__nav, .pPost__tab-buttons {
    display: flex;
    flex-wrap: wrap;
	gap: 10px 0;
}
.pPost__tab-panel {
    display: none;  
    margin-top: var(--space-30);  
}
.pPost__tab-panel.is-active {
    display: block;    
}
.pPost__tab-btn {
    display: block;
    text-align: center;
    font-size: var(--font-size16);
    font-family: var(--font-family01);
    font-weight: bold;
    background: #FFF;
    color: var(--color-primary);
    border: 1px solid var(--color-primary-tint);
    padding: .7em 1em;
    cursor: pointer;
    margin-right: 1rem;
    border-radius: 50vw;
    width: 9.375em;
}
.pPost__tab-btn:hover {
    border-color: var(--color-primary);
    color: var(--color-primary);
}
.pPost__tab-btn.is-active {
    background: var(--color-primary);
    color: #fff;
    border-color: var(--color-primary);
}

/* ====================
    アーカイブページ
==================== */
/* ==== 検索実装 ======== */
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.pSearchArea {
    background: #fff;
    margin: 2rem 0;
    position: relative;
}
.pSearchArea__form {
    display: flex;
    flex-direction: column;
}
.pSearchArea__field {
    position: relative;
}
.pSearchArea__select {
    width: 100%;
    padding: 0.7em 1em;
    font-size: 1em;
    border: 1px solid #ccc;
    border-radius: 6px;
    background: #f9f9f9;
    appearance: none;
    position: relative;
    z-index: 1;
}
/* 疑似要素で + を表示 */
.pSearchArea__field::after {
    content: '＋';
    position: absolute;
    right: .5em;
    bottom: 1.1em;
    font-size: var(--font-size18);
    color: var(--color-font);
    pointer-events: none;
    transition: 0.2s;
}
.pSearchArea__field--keyword::after {
    display: none;
}
/* select に focus があるときは - に変える */
.pSearchArea__select:focus + .pSearchArea__field::after,
.pSearchArea__select:focus ~ ::after {
    content: '−';
}
.pSearchArea__field--keyword {
    width: 100%;
    padding-right: 4rem;
}
.pSearchArea__field--region, .pSearchArea__field--type, .pSearchArea__field--tag {
    width: calc((100% / 3) - 14px);
}
.pSearchArea__field label {
    font-weight: bold;
    font-size: var(--font-size18);
    font-weight: bold;
    margin-bottom: .6em;
    display: block;
}
.pSearchArea__field--region label, .pSearchArea__field--tag label, .pSearchArea__field--type label {
    padding-left: 1.5em;
    position: relative;
}
.pSearchArea__field--region label::before, .pSearchArea__field--tag label::before, .pSearchArea__field--type label::before {
    content: '';
    position: absolute;
    width: 1em;
    height: 1em;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.pSearchArea__field--region label::before {
    background-image: url(/wp-content/uploads/icon_region.png);
}
.pSearchArea__field--type label::before {
    background-image: url(/wp-content/uploads/icon_type.png);
}
.pSearchArea__field--tag label::before {
    background-image: url(/wp-content/uploads/icon_tag.png);
}
/* 🔍 キーワード入力 + ボタンを横並び */
.pSearchArea__field input[type="text"] {
  width: 100%;
  height: 3em;
  padding: .5em;
  font-size: var(--font-size18);
  background: #FFF;
  border: 1px solid #ccc;
  border-radius: 5px;
}
.pSearchArea__submit {
  position: absolute;
  z-index: 100;
  top: calc(var(--font-size18) * 2);
  right: 0;
  width: calc(var(--font-size18) * 3);
  height: calc(var(--font-size18) * 3);
}
.pSearchArea__submit button {
  background: #D3AB05;
  border: none;
  color: #fff;
  border-radius: 5px;
  font-size: 1.65em;
  cursor: pointer;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  transition: .3s ease;
}
.pSearchArea__submit button:hover {
    opacity: .6;
}
/* 地域・物件種別・タグ：3カラム対応 */
.pSearchArea__fields {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: space-between;
}
.pSearchArea__field select {
  width: 100%;
  height: 3em;
  font-size: var(--font-size18);
  border: 1px solid #C7C7C7;
  border-radius: 5px;
  background: #FFFFFF;
  padding: .5em;
  cursor: pointer;
}
.pSearchArea__field--keyword input[type="text"] {
  border-radius: 5px;
}
.pSearchArea__submitBtn {
  background: #D3AB05;
  color: white;
  border: none;
  padding: 0.85em 1em;
  font-size: 1.1em;
  border-radius: 0 6px 6px 0;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
    .pSearchArea__fields {
        gap: 10px;
    }    
    .pSearchArea__field--region, .pSearchArea__field--type, .pSearchArea__field--tag {
        width: 100%;
    }
}
/* ====================
    FVアニメーション
==================== */
/* FVアニメーションエリア */
.pFVA004 {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100vh;
    background: #fff;
}
.pFVA004__logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.pFVA004__logo img {
  scale: 0;
  max-width: 225px;
}
.pFVA004__circle {
  transform-origin: center;
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) scale(0);

  width: max(100vw, 100vh);
  height: max(100vw, 100vh);
  border-radius: 50%;
  background: var(--color-primary);
}
/* debug */
/* .pFVA004 {
  z-index: var(--z-index-loading);
} */
/* オープニングアニメーション中のみ画面の一番上に表示させる */
body.js-isFVAnimating .pFVA004 {
  z-index: var(--z-index-loading);
}
/* オープニングアニメーション中はヘッダーを非表示にする */
body.js-isFVAnimating .lHeader001 {
  visibility: hidden;
  opacity: 0;
}
.lHeader001 {
  transition: all 0.3s;
}
/* FVエリア */
.pFVArea {
  position: relative;
  overflow: hidden;
}
/* .pFVArea__imgContainer {
  width: 100%;
  height: calc(100vh - var(--admin-bar-height));
}
.pFVArea__imgContainer img {
  width: 100%;
  height: 100%;
  object-fit: cover;
} */

/* ====================
    メインビジュアル
==================== */
.pMv {
    width: 100%;
    height: auto;
    position: relative;
}
.pMvInner {
    position: relative;
    width: 96%;
    /* max-width: 1820px; */
    margin: 0 auto;
}
.pMvContent {
    position: absolute;
    width: 81%;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.pMvText {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    color: #FFF;
}
.pMvTextSub {
    font-size: 1.35vw;
    font-weight: bold;
    margin-bottom: .6em;
    background: var(--color-primary);
    line-height: 1.5;
    padding: .3em .5em;
    border-radius: .5vw;
}
.pMvTextMain {
    font-size: 2.34vw;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 0;
}
.pMvTextMainTop, .pMvTextMainBottom {
    display: inline-block;
    background: var(--color-primary);
    padding: .1em .5em;
}
.pMvTextMainTop {
    border-radius: .5vw .5vw 0 0;
}
.pMvTextMainBottom {
    border-radius: 0 .5vw .5vw .5vw;
    margin-top: -.1em;
}
.pMvCategory {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    gap: 1.15vw;
    width: 30.15vw;
    margin-top: 2vw;
}
.pMvCategoryItem {
    width: calc(100% / 3);
}
.pMvCategoryItem img {
    width: 100%;
    height: auto;
}
.pMvImage {
    margin-left: auto;
    width: 84%;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
}
.pMvImage img {
    width: 100%;
}
/* ====================
    TOP
==================== */
/* ==== pTopFlyer ======== */
.pTopFlyer {
    background: var(--color-primary-shade);
}
.pTopFlyer .cSectionTitle {
    border-width: 0;
    text-align: center;
}
.pTopFlyer .cSectionTitle span {
    display: inline-block;
    background: var(--color-primary);
    line-height: 1;
    color: #FFF;
    padding: .2em;
}
/* ====================
    Page
==================== */
body.post-school {
    background: var(--color-primary-shade);
}
/* ==== pPageAbout ======== */
.pPageAbout::before {
    background-image: url(/wp-content/uploads/about_bg.jpg);
}
/* ==== pPageGallery ======== */
.pPageGallery {
    padding: 20px 0;
}
.pPageGallery .cFlex {
    gap: 20px;
}
/* ==== pPageSale ======== */
.pPageSale {
    padding: 0;
}
/* ==== pPageWorries ======== */
.pPageWorries {
    padding: var(--space-60) 0;
}
.pPageWorries::before {
    background-image: url(/wp-content/uploads/sale_bg.jpg);
}
/* ==== pPageEntrust ======== */
.pPageEntrust {
    padding: var(--space-60) 0;
}
/* ==== pType ======== */
.pType__table, .pType__table th, .pType__table td {
    border: 0;
}
.pType__table {
    table-layout: fixed;
    border: 1px solid var(--color-primary);
}
.pType__table th {
    text-align: center;
    font-size: var(--font-size26);
    font-weight: bold;
    padding: .5em;
    vertical-align: middle;
    line-height: 1.8;
    border-top: 1px solid var(--color-primary);
    border-bottom: 1px solid #DEDEDE;
    border-right: 1px solid var(--color-primary);
}
.pType__table th:first-child {
    border-right: 1px solid #DEDEDE;
}
.pType__table td {
    border-bottom: 1px dotted var(--color-primary);
    font-size: var(--font-size16);
    font-weight: 500;
    border-right: 1px solid var(--color-primary);
    border-bottom: 1px dashed var(--color-primary);
}


.pType__table .ttl {
    font-size: var(--font-size22);
    font-weight: bold;
    line-height: 1.5;
    color: var(--color-primary);
    margin-bottom: .3em;
    display: block;
}



@media screen and (max-width: 768px) {

}
/* ==== pStaffList ======== */
.pStaffList {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: var(--space-150);
}
.pStaffCard {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
}
.pStaffCard__img {
    width: 32%;
}
.pStaffCard__body {width: 60%;}
.pStaffCard__name {
    font-size: var(--font-size26);
    margin-bottom: .5em;
}
.pStaffCard__name span {
    font-size: .7em;
}
.pStaffCard__profile {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 20px;
}
.pStaffCard__profile li {
    background: var(--color-background-02);
    font-size: var(--font-size16);
    font-weight: 500;
    line-height: 1.5;
    padding: .5em 1em;
    display: flex;
    justify-content: space-between;
}
.pStaffCard__profile .ttl {
    font-weight: bold;
    width: 7em;
}
.pStaffCard__profile .desc {
    width: calc(100% - 7em);
}
.pStaffCard__feature {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.pStaffCard__feature li {
    font-size: var(--font-size16);
    font-weight: 500;
    line-height: 1.5;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.pStaffCard__feature .ttl {
    font-weight: bold;
    color: #FFF;
    background: var(--color-primary);
    padding: .2em 1em;
    width: 7.5em;
    text-align: center;
    border-radius: 5px 5px 0 0;
}
.pStaffCard__feature .desc {
    width: 100%;
    border: 1px solid var(--color-primary);
    padding: .2em 1em;
    border-radius: 0 5px 5px 5px;
}
@media screen and (max-width: 768px) {
    .pStaffCard {
        flex-direction: column;
        align-items: center;
        gap: 20px;
    }
    .pStaffCard__img {
        width: 80%;
        max-width: 300px;
    }
    .pStaffCard__body {
        width: 100%;
    }
    .pStaffCard__name {
        display: flex;
        flex-direction: column;
        gap: 5px;
    }
}
/* ====================
    cta
==================== */
/* ==== pCta ======== */
.pCta {
    background: var(--color-primary-shade);
}

/* ====================
    フッター
==================== */
footer {
    background: var(--color-primary-tint);
    padding-bottom: var(--space-20);
}
.pFooterInner {
    width: var(--inner-width);
    max-width: var(--inner-max-width-px);
    margin: 0 auto;
}
/* .footer-content p {
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-size: 5vw;
    color: #FFF;
} */

.pFooter__navigation {
    padding-top: var(--space-50);
    padding-bottom: var(--space-30);
    margin-bottom: var(--space-30);
    border-bottom: 1px solid #FFF;
    display: flex;
    gap: 20px;
}
.pFooter__navigationItem {
    flex: 1;
}
.pFooter__navigationMenu {
    margin-bottom: var(--space-20);
    display: flex;
    flex-direction: column;
    gap: var(--space-20);
}
.pFooter__navigationMenu:last-child {
    margin-bottom: 0;
}
.pFooter__navigationMenu li {
    color: #FFF;
    font-size: var(--font-size18);
    font-weight: bold;
}
.pFooter__navigationMenu a, .pFooter__navigationMenu a:hover {
    color: #FFF;
    line-height: 2;
    padding: .5em 0;
}
.pFooter__navigationMenu a:hover {
    text-decoration: underline;
    text-decoration-thickness: 1px;
}
.pFooter__navigationMenu .sub-menu li {
    font-size: var(--font-size16);
    padding-left: 1.2em;
    position: relative;
}
.pFooter__navigationMenu .sub-menu li::before {
    display: unset;
    content: '';
    position: absolute;
    width: .8em;
    height: 2px;
    background: #FFF;
    left: 0;
    top: 1em;
}
.pFooter__lower {
    align-items: center;
}
.pFooter__logo {
    width: 30%;
    max-width: 340px;
}
.pFooter__txt {
    color: #FFF;
    margin: 0;
}
.pFooterLower__navigation {margin-top: var(--space-30);}
.pFooterLower__navigationMenu {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}
.pFooterLower__navigationMenu li {
    position: relative;
    font-size: var(--font-size14);
    padding: 0 1em;
}
.pFooterLower__navigationMenu a, .pFooterLower__navigationMenu a:hover {color: #FFF;}
.pFooterLower__navigationMenu a:hover {
    text-decoration: underline;
}
.pFooterLower__navigationMenu li::before {
    content: '';
    position: absolute;
    width: 1px;
    height: 1em;
    background: #FFF;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
.pFooterLower__navigationMenu li:last-child:after {
    content: '';
    position: absolute;
    width: 1px;
    height: 1em;
    background: #FFF;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
.pFooter__navigationMenu .sub-menu a {
    font-weight: 500;
}
#copyright {
    font-size: var(--font-size12);
    font-weight: 400;
    color: #FFF;
    text-align: center;
    margin-top: 10px;
}
@media screen and (max-width: 768px) {
    .pFooter__navigation {
        flex-wrap: wrap;
    }
    .pFooter__navigationItem {
        width: calc((100% / 3) - 14px);
        flex: unset;
    }
    .pFooter__navigationMenu li {
        font-size: var(--font-size16);
    }
    .pFooter__navigationMenu .sub-menu li {
        font-size: var(--font-size14);
    }
    .pFooter__lower {
        flex-direction: column;
        align-items: center;
    }
    .pFooter__logo {
        width: 50%;
        max-width: 250px;
    }

}
@media screen and (max-width: 499px) {
    .pFooter__navigation {
        gap: 10px;
    }
    .pFooter__navigationItem {
        width: calc((100% / 2) - 5px);
    }   
}
/* ====================
    ページネーション
==================== */
ul.page-numbers li a, ul.page-numbers li span {
    font-size: var(--font-size24);
    border-radius: 50vw;
    border-width: 0;
    color: var(--color-font);
}

ul.page-numbers li span.current,
ul.page-numbers li a:hover {
    background: var(--color-primary);
    color: #FFF;
}
.pPagination {
	padding: 0 0 var(--space-60);
}
.nav-links {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--space-16);
}
.page-numbers {
    font-weight: bold;
    color: var(--color-primary);
    border: 1px solid;
    font-size: var(--font-size24);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 3em;
    height: 3em;
    border-radius: 50vw;
}
.page-numbers:hover, .page-numbers.current {
    background: var(--color-primary);
    color: #FFF;
}

/* ====================
    テキスト
==================== */


/* ==== 公開後一時対応:あとで削除 ===== */
.cCTaContent::before {
	display: none;
}