@import url('https://fonts.googleapis.com/css2?family=Pacifico&display=swap');

:root {
    --hv-blue: #6ebec4;
    --hv-dblue: #1399bc;
    --hv-orange: #ec8600;
}


/*==============================================================
case top
==============================================================*/

/* header */
.main-header {
    width: 100%;
    position: relative;
}

@media screen and (max-width:767px) {
    .main-header {
        background-size: auto 48%;
    }

    @media screen and (max-width:414px) {
        .main-header {
            background-size: auto 50%;
        }
    }
}

.main-header .title-wrp {
    padding-top: min(64px, 12vw);
    text-align: center;
}

.main-header .title-wrp .title {
    width: min(320px, 56%);
    margin: 0 auto;
}

.main-header .welcome {
    font-size: clamp(4vw, 6em, 6.5vw);
    color: #fff;
    text-align: center;
    position: absolute;
    width: 100%;
    bottom: 20%;
    left: 50%;
    z-index: 10;
    transform: translateX(-50%);
}

.main-header .slide-wrp {
    width: 100%;
    max-height: 25vw;
    overflow: hidden;
    margin: 2em auto 0;
    background-color: #222;
}

.main-header .slide-wrp .slide {
    display: block;
    width: 25%;
}

.main-header .slide-wrp figure {
    display: block;
    width: 100%;
    height: 0;
    padding: 0;
    padding-bottom: 100%;
    position: relative;
    margin: 0;
    overflow: hidden;
    opacity: .8;
}

@media screen and (max-width:767px) {
    .main-header .slide-wrp {
        max-height: 50vw;
    }

    .main-header .slide-wrp figure {
        padding-bottom: 100%;
    }

    .main-header .welcome {
        font-size: 14vw;
        bottom: 15%;
    }
}

.main-header .slide-wrp figure img {
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    width: 100%;
    height: 100%;
    vertical-align: top;
}

.note-wrp {
    width: fit-content;
    margin-inline: auto;
    margin-top: 2em;
    padding: 0 1em;
    font-size: min(.8em, 3.2vw);
    text-align: left;
}

/* main */
.wrapper:not(.single) .main-contnets-wrp {
    background-color: #f9f8ed;
}

/* lead wrp */
.lead-wrp {
    padding: min(72px, 12vw) 0 min(64px, 12vw);
    text-align: center;
    background-color: #e5eded;
    position: relative;
}

.main-icon {
    position: absolute;
    width: 70%;
    max-width: 440px;
    top: -100px;
    left: 50%;
    z-index: 10;
    transform: translateX(-50%);
}

@media screen and (max-width:440px) {
    .main-icon {
        top: -14vw;
    }
}

.lead-wrp .lead {
    font-size: min(1.8rem, 3.8vw);
    line-height: 2;
    font-weight: bold;
    padding-top: 1em;
}

.anchor_link-list {
    max-width: 94%;
    margin: min(3em, 7vw) auto 0;
    display: flex;
    justify-content: center;
    gap: min(2em, 2vw);
}

@media (max-width:640px) {
    .anchor_link-list {
        gap: min(2em, 1vw);
    }
}

.anchor_link-list li {
    width: min(18em, 33%);
}

.anchor_link-list li a {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    padding: .5em;
    color: #fff;
    background-color: var(--hv-blue);
    text-decoration: none;
    position: relative;
    border-radius: 5px;
    font-size: min(1em, 2.4vw);
    transition: all .3s 0s ease;
}

.anchor_link-list li:hover a {
    background-color: var(--hv-dblue);
}

@media (max-width:640px) {
    .anchor_link-list li a {
        padding: .75em .5em;
        font-size: min(1em, 3.4vw);
        letter-spacing: 0;
    }
}

.anchor_link-list li a .iconfont-arrow_b {
    position: absolute;
    right: .75em;
    top: 50%;
    translate: 0 -50%;
}

@media (max-width:640px) {
    .anchor_link-list li a .iconfont-arrow_b {
        right: .5em;
        top: unset;
        bottom: .5em;
        translate: 0;
    }
}

.anchor_link-list li a .sml {
    display: inline-block;
    font-size: .8em;
}

/* article list wrp */
.article-list-wrp {
    padding: min(80px, 15vw) 0;
}

.article-list-wrp.open {
    width: 100%;
    max-width: 800px;
    padding: 80px 0;
    margin: 0 auto;
}

.article-list-wrp .article-list-title {
    text-align: center;
    color: var(--hv-dblue);
    font-size: min(2em, 5.4vw);
    letter-spacing: .05em;
}

.article-list-wrp .article-list-title .jp {
    display: block;
}

.article-list-wrp .article-list-title .en {
    display: inline-block;
    margin: 0 auto .75em;
    font-size: .6em;
    font-weight: normal;
    color: var(--hv-blue);
    position: relative;
    padding: 0 1em;
}

.article-list-wrp .article-list-title .en::before,
.article-list-wrp .article-list-title .en::after {
    display: inline-block;
    content: '';
    width: 1.5em;
    height: 0;
    border-top: 1px solid;
    margin: .25em 1em;
}

.article-list-wrp .article-list-lead {
    margin-top: 1.5em;
    margin-bottom: min(60px, 10vw);
    text-align: center;
    font-size: min(1.1em, 4vw);
    line-height: 1.8;
}

/* .article-list-wrp .hash-title {
    margin-top: min(60px, 10vw);
    padding-bottom: .25em;
    color: var(--hv-dblue);
    font-size: min(1.2em, 4.2vw);
    letter-spacing: .05em;
    border-bottom: solid 1px var(--hv-blue);
} */

.article-list {
    margin-top: min(2em, 5vw);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    justify-content: center;
    gap: min(32px, 5vw);
}

@media (max-width:640px) {
    .article-list {
        grid-template-columns: 1fr;
    }
}

.article-list>li {
    padding: min(24px, 7vw) min(24px, 3vw);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background-color: #fff;
    position: relative;
    border-radius: 5px;
    box-shadow: 0 0 3px rgba(0, 0, 0, .2);
}

/* article title */
.article-list .article-title-wrp {
    display: flex;
    align-items: flex-start;
    gap: 1em;
}

.article-list .article-title-wrp .vol {
    margin-bottom: .5em;
    font-size: min(4rem, 8vw);
    font-family: 'Pacifico', cursive;
    font-weight: bold;
    color: var(--hv-blue);
    line-height: 1;
    padding-right: .35em;
    position: relative;
}

.article-list .article-title-wrp .vol::after {
    content: '';
    display: block;
    width: 0;
    height: .7em;
    border-right: 2px solid #000;
    position: absolute;
    right: 0;
    bottom: 0;
}

.article-list .title {
    margin-bottom: 1em;
    text-align: center;
    color: var(--hv-dblue);
    font-size: min(1.1em, 4vw);
    line-height: 1.6;
}

.article-list .title .large {
    font-size: 1.3em;
}

.article-list .article-title-wrp .title {
    margin: .5em 0 1.5em;
    text-align: left;
    color: #000;
    font-size: min(1em, 3.8vw);
    font-weight: normal;
    flex-grow: 1;
}

/* thumb / mov */
.article-list :where(.thumb-wrp, .mov) {
    margin-bottom: auto;
}

.article-list .thumb {
    width: 100%;
    padding-bottom: 56.4%;
    position: relative;
}

.article-list .thumb .play-arrow {
    width: 5em;
    height: 5em;
    position: absolute;
    left: 50%;
    bottom: 50%;
    transform: translate(-50%, 40%);
    color: var(--hv-blue);
    background-color: rgba(255, 255, 255, .8);
    border: solid 2px currentcolor;
    border-radius: 50%;
    transition: all .3s 0s ease;
}

.article-list .thumb .play-arrow::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: solid 1em transparent;
    border-left: solid 1.6em currentcolor;
    position: absolute;
    left: 38%;
    top: 50%;
    transform: translateY(-50%);
}

.article-list .thumb .btn {
    display: block;
    width: max-content;
    margin: 0 !important;
    position: absolute;
    left: 50%;
    bottom: 10%;
    transform: translateX(-50%);
    background-color: var(--hv-blue);
    font-size: min(.85em, 3.4vw);
    transition: all .3s 0s ease;
}

.article-list .thumb .btn:hover {
    background-color: #222;
}

.article-list .thumb.dummy::after {
    content: 'Coming Soon';
    width: fit-content;
    font-family: 'Pacifico', cursive;
    font-size: 1.5em;
    color: #fff;
    position: absolute;
    left: 50%;
    top: 50%;
    translate: -50% -50%;
    z-index: 2;
}

.article-list .thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}

.article-list :where(.thumb-wrp, .mov) .point-get-note {
    font-size: .78em;
}

@media screen and (max-width: 767px) {
    .article-list :where(.thumb-wrp, .mov) .point-get-note {
        font-size: min(.75em, 3.1vw);
    }
}


/* description */
.article-list .description {
    /* margin-top: 1em; */
}

/* data table */
.article-list .data {
    grid-area: data;
    margin-top: auto;
    margin-top: 1em;
}

.article-list .data .data-title {
    width: 4.5em;
}

.data table {
    width: 100%;
    font-size: .85em;
    table-layout: fixed;
}

@media (max-width:767px) {
    .data table {
        font-size: .75em;
    }
}

.data table tr {
    display: flex;
    align-items: center;
    border-bottom: solid 1px #ccc;
}

.data table th {
    width: 7em;
    padding: .2em 0;
    font-weight: normal;
    position: relative;
}

.data table th::after {
    content: '：';
    position: absolute;
    right: .25em;
}

.data table td {
    width: calc(100% - 7em);
    padding: .2em 0;
    flex-grow: 1;
}

.data table td[colspan="2"] {
    width: 100%;
}

.data table td .slash {
    padding: 0 .5em;
}

.data .hvisit {
    width: 100%;
}

.data .hvisit .icon-house {
    display: inline-block;
    width: 2.4em;
    height: 2.4em;
    border: 2px solid;
    border-radius: 100%;
    margin-right: .5em;
    background-color: var(--hv-blue);
    vertical-align: middle;
    overflow: hidden;
    translate: 0 -2px;
}

.data .hvisit .icon-house img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* btn-wrp */
.article-list .description .btn {
    width: 100%;
    margin: 2em auto 1em;
    padding-left: 0;
    padding-right: 0;
    font-size: 1.3rem;
    background: var(--hv-dblue);
}

.article-list .description .btn:hover {
    background-color: #222;
}

.login .article-list .bannerlink:hover .description .btn {
    background: var(--hv-dblue);
}

.login .article-list .description .btn:hover {
    background: #222;
}

/* tag list */
.tag-list {
    margin-top: 1em;
    display: flex;
    flex-wrap: wrap;
    gap: .25em 1.5em;
}

.tag-list li {
    color: var(--hv-dblue);
    font-size: min(.8em, 3.2vw);
}

.tag-list li::before {
    content: '#';
}

/* hometour --------------------*/
.hometour .article-list>li {
    padding: min(32px, 7vw) min(24px, 3vw) min(24px, 3vw);
    background-color: #fff;
}

/* .hometour .article-list>li {
    padding: 0;
    background-color: transparent;
    position: relative;
    border-radius: 0;
    box-shadow: unset;

}

.hometour .article-list>li>.homtour-box {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;

    padding: min(32px, 7vw) min(24px, 3vw) min(24px, 3vw);
    background-color: #fff;
    border-radius: 5px;
    box-shadow: 0 0 3px rgba(0, 0, 0, .2);
} */

/* planning --------------------*/
.article-list-wrp.planning {
    background-color: #fff;
}

.planning .article-list>li {
    background-color: #f0f6f6;
}

/* voice --------------------*/
.voice .article-list {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 375px), 1fr));
    gap: min(64px, 10vw) min(48px, 5vw);
}

.voice .article-list .mov-title {
    width: max-content;
    margin: 0 auto min(1.25em, 3vw);
    padding: .2em 1.5em;
    color: var(--hv-dblue);
    font-size: min(1.2em, 4.2vw);
    position: relative;
}

.voice .article-list .mov-title::before,
.voice .article-list .mov-title::after {
    content: '';
    display: block;
    height: 1.2lh;
    border-left: solid 2px #222;
    position: absolute;
    left: 0;
    top: 0;
    rotate: -30deg;
}

.voice .article-list .mov-title::after {
    position: absolute;
    left: unset;
    right: .25em;
    rotate: 30deg;
}


/*==============================================================
single page
==============================================================*/
@media screen and (min-width: 768px) {
    .single .main-contnets-wrp .inner-lg:not(.other-list) {
        width: min(calc(100% - 200px), var(--max-width));
    }
}

.en {
    font-family: 'Pacifico', cursive;
    font-size: 1.05em;
}

/* header */
.article-header {
    padding: 0 0 min(64px, 10vw);
    box-shadow: 0 5px 4px -4px rgba(70, 70, 70, .3) inset;
}

.article-header .case-logo {
    display: block;
    width: min(300px, 50%);
    padding: 56px 0 2rem;
    margin: 0 auto;
}

.article-header .case-logo img {
    width: 100%;
    height: auto;
}

.article-header .vol {
    width: 1.8em;
    display: block;
    margin: 0 auto;
    font-size: min(6rem, 10vw);
    border-bottom: solid 4px #000;
    -webkit-text-stroke-width: 2px;
}

.article-header .title {
    text-align: center;
    font-size: 1.4em;
}

.article-wrp {
    position: relative;
}

/* movie */
.article-wrp .summary-wrp {
    position: relative;
    padding: 0 0 min(80px, 15vw);
    text-align: center;
    --mov-size: min(65%, 740px);
    margin: 0 auto;
    width: 100%;
    max-width: 740px;
}

/* .article-wrp .summary-wrp .mov {
    width: 100%;
    margin-bottom: 3em;
    position: relative;
} */

.video-js {
    width: 100%;
    height: calc(740px * 9 / 16);
    border: 1px solid #ccc;
}

/* .article-wrp .summary-wrp .mov iframe {
    border: 1px solid #ccc;
} */

.article-wrp .summary-wrp .description {
    width: 740px;
    text-align: left;
}

@media screen and (max-width:1024px) {
    /* .article-wrp .summary-wrp {
        flex-direction: column;
        align-items: center;
        --mov-size: min(100%, 740px);
        order: 2;
        padding: 0 15px 50px;
    } */

    /* .article-wrp .summary-wrp .mov {
        order: 2;
    } */

    .article-wrp .summary-wrp .description {
        width: min(100%, 740px);
        margin-bottom: 3em;
        order: 1;
    }
}

.article-wrp .summary-wrp .description .title {
    margin-bottom: 1.5em;
    font-size: min(2.4rem, 5.2vw);
    text-align: center;
}

@media screen and (max-width:1024px) {
    .article-wrp .summary-wrp .description .title {
        text-align: center;
    }
}

@media screen and (max-width:414px) {
    .article-wrp .summary-wrp .description .title {
        text-align: left;
    }
}

.article-wrp .summary-wrp .description .data {
    width: min(400px, calc(100% - calc(var(--base-gutter)*2)));
    margin: 0 auto;
}

.article-wrp .summary-wrp .description .data table {
    width: 100%;
    font-size: min(1.6rem, 3.5vw);
}

.article-wrp .summary-wrp .description .data table td {
    padding: .5em 0;
}

/* plan wrp */
.plan-wrp {
    padding: min(80px, 15vw) 0;
    background-color: #f9f8ed;
}

.pagination {
    padding: 0 0 min(80px, 15vw);
    background-color: #f9f8ed;
}

.plan-wrp .plan-title {
    display: block;
    width: 240px;
    margin: -120px auto 0;
}

.plan-wrp .plan-title::before {
    content: '';
    display: block;
    width: 240px;
    height: 200px;
    margin: 0 auto;
    background-image: url(/homevisit/img/checkplan.svg);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: contain;
}

@media screen and (max-width:767px) {
    .plan-wrp .plan-title::before {
        height: 120px;
    }
}

.plan-wrp .floor-wrp {
    padding: 20px min(40px, 7vw) 40px;
    background-color: #fff;
}

@media screen and (max-width:767px) {
    .plan-wrp .floor-wrp {
        padding: 15px;
    }
}

.plan-wrp .floor-wrp .floor {
    width: 46%;
    margin: 0;
    display: flex;
    flex-direction: column;
    position: relative;
}

.plan-wrp .floor-wrp .layout {
    padding: .5em;
    margin-bottom: 2em;
}

@media (max-width:767px) {
    .plan-wrp .floor-wrp .layout {
        padding: .5em 1.5em;
    }
}

.plan-wrp .floor-wrp .floor-text {
    margin-top: 2em !important;
    text-align: justify;
    position: relative;
}

.plan-wrp .floor-wrp .floor-text::before {
    color: var(--hv-dblue);
    display: grid;
    place-items: center;
    font-weight: bold;
    position: absolute;
    left: 0;
    top: -2.25em;
    border: solid 2px;
    font-size: 1.2em;
    border-radius: 4px;
    padding: 0 .75em;
}

.plan-wrp .floor-wrp .floor1-text::before {
    content: '1F';
}

.plan-wrp .floor-wrp .floor2-text::before {
    content: '2F';
}

.plan-wrp .floor-wrp .floor2-3-text::before {
    content: '2F-3F';
}

.plan-wrp .floor-wrp .floor3-text::before {
    content: '3F';
}

@media screen and (max-width:640px) {
    .plan-wrp .floor-wrp .floor-text {
        font-size: .9em;
    }
}

.fixme::before {
    content: '修正中';
    position: absolute;
    top: 50%;
    left: 50%;
    text-align: center;
    color: #c00;
    font-weight: bold;
    border: 2px solid;
    padding: .25em 1em;
    display: inline-block;
    transform: translate(-50%, -50%);
}

.plan-wrp .floor-wrp .w2 {
    width: 47%;
    margin: 0;
}

.plan-wrp .floor-wrp .w3-1 {
    width: 31%;
    margin: 0;
}

.plan-wrp .floor-wrp .w3-2 {
    width: 62%;
    margin: 0;
}

.homevisit5 .plan-wrp .floor-wrp .floor1,
.homevisit5 .plan-wrp .floor-wrp .floor2 {
    width: 60%;
}

.homevisit5 .plan-wrp .floor-wrp .floor1-text,
.homevisit5 .plan-wrp .floor-wrp .floor2-text {
    margin-top: 4em !important;
    width: 35%;
}

@media screen and (max-width:767px) {
    .plan-wrp .floor-wrp .w2 {
        width: 100%;
        margin: 0;
    }

    .plan-wrp .floor-wrp .w3-1 {
        width: 100%;
        margin: 0;
    }

    .plan-wrp .floor-wrp .w3-2 {
        width: 100%;
        margin: 0;
    }

    .order0 {
        order: 0;
    }

    .order1 {
        order: 1;
    }

    .order2 {
        order: 2;
    }

    .order3 {
        order: 3;
    }

    .homevisit5 .plan-wrp .floor-wrp .floor1,
    .homevisit5 .plan-wrp .floor-wrp .floor2 {
        width: 100%;
    }

    .plan-wrp .floor-wrp .floor1-text,
    .plan-wrp .floor-wrp .floor2-text {
        margin-bottom: 2em;
    }

    .homevisit5 .plan-wrp .floor-wrp .floor1-text,
    .homevisit5 .plan-wrp .floor-wrp .floor2-text {
        margin-top: 2em !important;
        width: 100%;
    }
}


/* checkpoint */
.plan-wrp .checkpoint-wrp {
    margin-top: 80px;
    padding: 30px min(30px, 5vw);
    background-color: #fff;
    border: solid 1px var(--hv-orange);
    display: grid;
    grid-template-areas:
        "title title"
        "thumb text";
    grid-template-columns: min(50%, 360px) 1fr;
    grid-template-rows: auto 1fr;
    gap: 24px;
}

@media screen and (max-width:640px) {
    .plan-wrp .checkpoint-wrp {
        grid-template-areas:
            "title"
            "thumb"
            "text";
        grid-template-columns: 100%;
        grid-template-rows: auto auto auto;
        font-size: .9em;
    }
}

.plan-wrp .checkpoint-wrp .checkpoint-title {
    margin-top: -65px;
    margin-left: -10px;
}

.plan-wrp .checkpoint-wrp .checkpoint-title::before {
    content: '';
    display: block;
    width: 270px;
    height: 100px;
    background-image: url(/homevisit/img/checkpoint.svg);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: contain;
}

.plan-wrp .checkpoint-wrp .thumb {
    grid-area: thumb;
    position: relative;
    height: 0;
    padding-bottom: 56.5%;
}

.plan-wrp .checkpoint-wrp .thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}

.plan-wrp .checkpoint-wrp .text {
    grid-area: text;
    line-height: 1.8;
    text-align: justify;
}

@media screen and (max-width: 767px) {
    .share-wrp {
        padding-top: 0;
        background-color: #f9f8ed;
    }
}


/* other wrp */
.other-wrp {
    padding: min(64px, 12vw) 0;
}

.other-wrp .other-title {
    font-size: min(2.6rem, 6.8vw);
    text-align: center;
}

.other-wrp .other-title::after {
    content: '';
    display: block;
    width: 4em;
    margin: .8em auto 0;
    border-bottom: solid 4px var(--hv-blue);
}

.other-list {
    margin: 54px auto;
    overflow: hidden;
}

.other-list .bannerlink {
    display: inline-block;
    /* width: 300px; */
    padding: 12px;
    margin: 0 min(16px, 2vw);
    position: relative;
    background-color: #fff;
    border: 1px solid #ccc;
}

.other-list .bannerlink a:focus {
    outline: none;
}

.other-list .bannerlink::after {
    font-size: min(1.4rem, 3.6vw);
}

.other-list .bannerlink .thumb {
    height: clamp(120px, 35vw, 160px);
}

.other-list .bannerlink p {
    margin-top: .5em;
    font-size: min(1.4rem, 3.6vw);
}

.other-list .bannerlink p.vol {
    margin-top: .25em;
    font-size: min(2.4rem, 6vw);
}

.open-message {
    background-color: #ec8600;
    padding: 1em 2em;
    position: relative;
    display: inline-block;
    border-radius: 5px;
    color: #fff;
    font-weight: bold;
    transform: translateY(2em);
}

.open-message:after {
    top: 100%;
    left: 50%;
    border: solid transparent;
    content: "";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(236, 134, 0, 0);
    border-top-color: #ec8600;
    border-width: 15px;
    margin-left: -15px;
}

.get-point-inner {
    padding: 2em 0.5em;
}

.get-point-title {
    font-size: 2.2rem;
}