html, body{
    font-family: 'Noto Sans';
}
picture,source,img{
    width: 100%;
    height: auto;
}
/***********************************************************
メインビジュアル
************************************************************/
.key-visual{
    width: 90.27%;
    margin-left: 9.73%;
    border-bottom-left-radius: calc(40 / 1440 * 100vw);
    overflow: hidden;
    position: relative;
}
@media (max-width: 834px) {
    .key-visual {
        width: 91.79%;
        margin-left: 8.21%;
        border-bottom-left-radius: calc(40 / 390 * 100vw);
    }
}
.key-visual-title {
    position: absolute;
    top: calc(450/1440*100vw);
    left: 3.84%;
    color: white;
    font-family: "Noto Serif JP";
}
@media (max-width: 834px) {
    .key-visual-title {
        top: calc(370 / 390 * 100vw);
        left: 6.7%;
        width: 86.59%;
    }
}
.key-visual-title h1{
    font-size: calc(72 / 1440 * 100vw);
}
@media (max-width: 834px) {
    .key-visual-title h1 {
        font-size: calc(40 / 390 * 100vw);
    }
}
.key-visual-title p {
    margin-top: calc(30 / 1440 * 100vw);
    font-size: calc(16 / 1440 * 100vw);
}
@media (max-width: 834px) {
    .key-visual-title p {
        margin-top: calc(30 / 390 * 100vw);
        font-size: calc(10 / 390 * 100vw);
        line-height: 1.79;
    }
}
/***********************************************************
アンカーナビ
************************************************************/
.anchor-nav{
    margin: 60px auto 0;
    display: flex;
    align-items: center;
    width: 75%;
    border-top: 0.75px solid #4D4D4D;
    border-bottom: 0.75px solid #4D4D4D;
    min-width: 876px;
}
@media (max-width: 876px) {
    .anchor-nav {
        min-width: initial;
        width: 100%;
    }
}
@media (max-width: 834px) {
    .anchor-nav {
        margin: calc(40/390*100vw) auto 0;
        width: 76.92%;
        display: block;
        min-width: initial;
    }
}
.anchor-nav .item{
    width: 25%;
    padding: 0.75em 0.65em;
    font-size: 16px;
    position: relative;
}
@media (max-width: 834px) {
    .anchor-nav .item {
        width: 100%;
        display: block;
        font-size: calc(16/390*100vw);
    }
    .anchor-nav .item+.item {
        border-top: 0.75px solid #4D4D4D;
    }
}
@media (min-width: 835px) {
    .anchor-nav .item + .item{
        border-left: 0.75px solid #4D4D4D;
    }
}
.anchor-nav .item::before {
    content: "";
    width: 7px;
    height: 7px;
    transform: rotate(45deg);
    background: #C99388;
    display: inline-block;
}
@media (max-width: 834px) {
    .anchor-nav .item::before {
        width: calc(7/390*100vw);
        height: calc(7/390*100vw);
    }
}
.anchor-nav .item::after {
    content:"";
    display:block;
    width: 8px;
    height: 8px;
    aspect-ratio: 1/1;
    background: url(../../images/familykon/ico_arrow_down.svg) no-repeat center/contain;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0.65em;
}
@media (max-width: 834px) {
    .anchor-nav .item::after {
        width: 0.65em;
        height: 0.65em;
    }
}
.anchor-nav .item .en{
    font-family: Futura, Jost;
    font-size: 1.125em;
    color: #4d4d4d;
    vertical-align: middle;
    margin-left: 10px;
}
@media (max-width: 834px) {
    .anchor-nav .item .en {
        font-size: 1em;
        margin-left: 0.65em;
    }
}
.anchor-nav .item .ja{
    font-size: 0.5625em;
    margin-left: 1.11em;
    display: inline-block;
}
@media (max-width: 834px) {
    .anchor-nav .item .ja {
        font-size: 0.65em;
        margin-left: 0.65em;
    }
}
/***********************************************************
Features
************************************************************/
.features{
    margin-top: 80px;
}
@media (max-width: 834px) {
    .features {
        margin-top: calc(52/390/100vw);
    }
}
.features__title{
    margin-top: 16px;
    text-align: center;
}
@media (max-width: 834px) {
    .features__title {
        margin-top: calc(16/390*100vw);
    }
}
.features__title-en{
    font-family: Futura, Jost;
    font-size: 24px;
    color: #222;
    line-height: normal;
}
@media (max-width: 834px) {
    .features__title-en {
        font-size: calc(24/390*100vw);
    }
}
.features__title-jp{
    font-size: 12px;
    color: #9D9D9D;
    line-height: normal;
}
@media (max-width: 834px) {
    .features__title-jp {
        font-size: calc(12/390*100vw);
    }
}
.features__body{
    width: 52.77%;
    min-width: 760px;
    margin: 68px auto 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: calc(72 / 1440 * 100vw);
}
@media (max-width: 834px) {
    .features__body {
        width: 87.17%;
        margin: calc(40 / 390 * 100vw) auto 0;
        row-gap: calc(40 / 390 * 100vw);
        min-width: initial;
    }
}
.features__body li{
    width: 44.07%;
}
@media (max-width: 834px) {
    .features__body li {
        width: 100%;
    }
}
.reason-number {
    font-family: 'Futura', sans-serif;
    font-weight: 500;
    color: #c99388;
    margin-bottom: 0;
    font-size: 20px;
}
@media (max-width: 834px) {
    .reason-number {
        font-size: calc(20 / 390 * 100vw);
    }
}
.reason-digit {
    font-size: 28px;
}
@media (max-width: 834px) {
    .reason-digit {
        font-size: calc(28 / 390 * 100vw);
    }
}
.reason-number::after{
    width: 40px;
    content: "";
    height: 12px;
    display: inline-block;
    vertical-align: middle;
    border-top: 1px solid #C99388 ;
    margin-left: 4px;
}
@media (max-width: 834px) {
    .reason-number::after {
        width: calc(40 / 390 * 100vw);
        height: calc(12 / 390 * 100vw);
    }
}
.reason-title{
    margin-top: 10px;
    color: #3F3F3F;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}
@media (max-width: 834px) {
    .reason-title {
        margin-top: calc(10 / 390 * 100vw);
        font-size: calc(18 / 390 * 100vw);
    }
}
.reason1{
    margin-top: 32px;
}
@media (max-width: 834px) {
    .reason1 {
        margin-top: calc(32 / 390 * 100vw);
    }
}
.reason1_caption {
    margin-top: 10.82px;
    color: #3F3F3F;
    text-align: center;
    font-size: 13.527px;
    font-style: normal;
    font-weight: 500;
    line-height: 135%;
}
@media (max-width: 834px) {
    .reason1_caption {
        margin-top: calc(10.82 / 390 * 100vw);
        font-size: calc(13.527 / 390 * 100vw);
    }
}
.reason2 {
    margin: 16px 0;
}
@media (max-width: 834px) {
    .reason2 {
        margin: calc(16 / 390 * 100vw) 0;
    }
}
.reason2_title {
    border-radius: 40px;
    border: 1px solid #C99388;
    padding: 3.333px 20px;
    color: #C99388;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    line-height: 150%;
    display: inline-block;
    cursor: pointer;
    width: 100%;
    position: relative;
}
@media (max-width: 834px) {
    .reason2_title {
        border-radius: calc(40 / 390 * 100vw);
        padding: calc(3.333 / 390 * 100vw) calc(20 / 390 * 100vw);
        font-size: calc(16 / 390 * 100vw);
    }
}
.reason2_title::after{
    content: "";
    width: 1em;
    height: 1em;
    position: absolute;
    top: 50%;
    right: 1em;
    background: url(../../images/familykon/icon-info.svg) center;
    background-size: cover;
    transform: translateY(-50%);
}
.reason2_caption{
    color: #3F3F3F;
    font-size: 12px;
    font-weight: 500;
    line-height: 140%;
    margin-top: 10px;
}
@media (max-width: 834px) {
    .reason2_caption {
        font-size: calc(12 / 390 * 100vw);
        margin-top: calc(10 / 390 * 100vw);
    }
}
.reason2_caption b{
    color: #222;
}
.reason3 {
    margin-top: 43px;
}
@media (max-width: 834px) {
    .reason3 {
        margin-top: calc(43 / 390 * 100vw);
    }
}
.reason4 {
    margin-top: 14px;
}
@media (max-width: 834px) {
    .reason4 {
        margin-top: calc(14 / 390 * 100vw);
    }
}
.reason5 {
    margin-top: 41px;
}
@media (max-width: 834px) {
    .reason5 {
        margin-top: calc(41 / 390 * 100vw);
    }
}
/***********************************************************
Venue
************************************************************/
.venue{
    padding-top: 80px;
}
/*タイトル他セクションと同じに見えるように補正*/
@media (max-width: 834px) {
    .venue__title-en{
        font-size: calc(24/390*100vw);
    }
    .venue__title-jp{
        font-size: calc(12/390*100vw);
    }
}
/***********************************************************
plan
************************************************************/
.plan{
    padding-top: 80px;
}
@media (max-width: 834px) {
    .plan {
        padding-top: calc(80 / 390 * 100vw);
    }
}
.plan__title {
    margin-top: 16px;
    text-align: center;
}
@media (max-width: 834px) {
    .plan__title {
        margin-top: calc(16/390*100vw);
    }
}
.plan__title-en {
    font-family: Futura, Jost;
    font-size: 24px;
    color: #222;
    line-height: normal;
}

@media (max-width: 834px) {
    .plan__title-en {
        font-size: calc(24/390*100vw);
    }
}
.plan__title-jp {
    font-size: 12px;
    color: #9D9D9D;
    line-height: normal;
}
@media (max-width: 834px) {
    .plan__title-jp {
        font-size: calc(12/390*100vw);
    }
}
.plan__tab_wrap{
    padding-top: 45px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
@media (max-width: 834px) {
    .plan__tab_wrap {
        padding-top: calc(45 / 390 *100vw);
    }
}
.plan__tab_wrap label{
    border-radius: 8px 8px 0px 0px;
    border: 1px solid #787676;
    color: #787676;
    font-size: 16px;
    padding: 23px 30px 16px;
    width: 10em;
    text-align: center;
    cursor: pointer;
}
@media (max-width: 834px) {
    .plan__tab_wrap label {
        border-radius: calc(8 / 390 *100vw) calc(8 / 390 *100vw) 0px 0px;
        font-size: calc(16 / 390 *100vw);
        padding: calc(23 / 390 *100vw) calc(30 / 390 *100vw) calc(16 / 390 *100vw);
    }
}
.plan__tab_wrap label + label{
    margin-left: 10px;
}
@media (max-width: 834px) {
    .plan__tab_wrap label+label {
        margin-left: calc(10 / 390 *100vw);
    }
}
.plan__tab_wrap label input{
    display: none;
}
.plan__tab_body{
    display: none;
    width: 100%;
}
@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}
/*開閉ロジック*/
.plan__tab_wrap label:has(:checked){
    color: #fff;
    background-color: #787676;
}
.tabbtn1:has(input:checked) ~ .body1,
.tabbtn2:has(input:checked)~.body2 {
    display: block;
    animation: fadeIn 0.5s ease-in-out forwards;
}
/*タブ内部パーツ*/
.plan__tab_body__header{
    background-color: #787676;
    color: #fff;
    padding: 10px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}
@media (max-width: 834px) {
    .plan__tab_body__header {
        gap: calc(10 / 390 *100vw);
    }
}
.plan__tab_body__header_en {
    font-size: 20px;
    font-family: Futura, Jost;
}
@media (max-width: 834px) {
    .plan__tab_body__header_en {
        font-size: calc(20 / 390 * 100vw);
    }
}
.plan__tab_body__header_ja {
    font-size: 12px;
}
@media (max-width: 834px) {
    .plan__tab_body__header_ja {
        font-size: calc(12 / 390 * 100vw);
    }
}
.plan_read_text{
    margin-top: 20px;
    text-align: center;
    font-size: 16px;
}
@media (max-width: 834px) {
    .plan_read_text {
        margin-top: calc(20 / 390 * 100vw);
        font-size: calc(14 / 390 * 100vw);
        padding: 0 1em;
        text-align: left;
    }
}
.plan_price{
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 40px;
}
@media (max-width: 834px) {
    .plan_price {
        gap: calc(10 / 390 * 100vw);
        margin-top: calc(40 / 390 * 100vw);
    }
}
.plan_price li{
    text-align: center;
}
.plan_price li + li{
    padding-left: 38px;
    position: relative;
}
@media (max-width: 834px) {
    .plan_price li+li {
        padding-left: calc(21.45 / 390 * 100vw)
    }
}
.plan_price li+li::before {
    content: "+";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 27px;
    display: inline-block;
}
@media (max-width: 834px) {
    .plan_price li+li::before {
        font-size: calc(20 / 390 * 100vw);
        transform: translateY(-47.5%);
    }
}
.plan_price__head{
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 8px;
    font-family: 'Noto Sans';
}
@media (max-width: 834px) {
    .plan_price__head {
        font-size: calc(12 / 390 * 100vw);
    }
}
.plan_price__price {
    font-size: 27px;
    font-family: Futura, Jost;
    font-weight: 500;
    line-height: normal;
    position: relative;
}
@media (max-width: 834px) {
    .plan_price__price {
        font-size: calc(20 / 390 * 100vw);
    }
}
.plan_price__price:has(.tilde){
    padding-right: 0.6em;
}
.plan_price__price .unit{
    font-size: 10px;
    font-family: 'Noto Sans';
    font-weight: 700;
}
@media (max-width: 834px) {
    .plan_price__price .unit {
        font-size: calc(10 / 390 * 100vw);
    }
}
.plan_price__price .tilde{
    font-size: 18px;
    font-weight: 700;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-25%);
}
@media (max-width: 834px) {
    .plan_price__price .tilde {
        font-size: calc(16 / 390 * 100vw);
    }
}
.plan_price__tax {
    font-size: 10px;
    line-height: normal;
}
@media (max-width: 834px) {
    .plan_price__tax {
        font-size: calc(10 / 390 * 100vw);
    }
}

.totalprice{
    margin-top: 30px;
    text-align: center;
    margin-bottom: 60px;
}
@media (max-width: 834px) {
    .totalprice {
        margin-top: calc(30 / 390 * 100vw);
        margin-bottom: calc(60 / 390 * 100vw);
    }
}
.totalprice__title {
    padding: 10px;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    border-bottom: 1px solid #C99388;
    margin: 0 auto;
    display: inline-block;
}
@media (max-width: 834px) {
    .totalprice__title {
        padding: calc(10 / 390 * 100vw);
        font-size: calc(14 / 390 * 100vw);
    }
}
.totalprice__items {
    display: flex;
    gap: 16px;
    justify-content: center;
    width: calc(724 / 1440 * 100vw);
    min-width: 724px;
    margin: 30px auto 60px;
}
@media (max-width: 834px) {
    .totalprice__items {
        min-width: inherit;
        width: 100%;
        overflow-x: scroll;
        -ms-overflow-style: none;
        scrollbar-width: none;
        scroll-snap-type: x;
        padding-left: calc(16 / 390 * 100vw);
        box-sizing: border-box;
        justify-content: flex-start;
        scroll-padding: calc(16 / 390 * 100vw);
        margin: calc(30 / 390 * 100vw) auto calc(60 / 390 * 100vw);
    }
    .totalprice__items::-webkit-scrollbar {
        display: none;
    }
}
.totalprice__items li{
    border-radius: 8px;
    border: 1px solid #585858;
    color: #585858;
    width: 33.3%;
}
@media (max-width: 834px) {
    .totalprice__items li {
        width: calc(220 / 390 * 100vw);
        flex-shrink: 0;
        scroll-snap-align: start;
    }
}
.totalprice__items li .title{
    border-bottom: 1px solid #585858;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    padding: 4px 16px;
    text-align: left;
}
@media (max-width: 834px) {
    .totalprice__items li .title {
        font-size: calc(14 / 390 * 100vw);
        padding: calc(4 / 390 * 100vw) calc(16 / 390 * 100vw);
    }
}
.totalprice__items li .textbox{
    padding: 0 16px;
}
@media (max-width: 834px) {
    .totalprice__items li .textbox {
        padding: 0 calc(16 / 390 * 100vw);
    }
}
.totalprice__items li .price {
    font-size: 14px;
    margin-top: 12px;
    text-align: center;
}
@media (max-width: 834px) {
    .totalprice__items li .price {
        font-size: calc(14 / 390 * 100vw);
        margin-top: calc(12 / 390 * 100vw);
    }
}
.totalprice__items li span{
    vertical-align: middle;
}
.totalprice__items li .price .yen {
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 160%;
    vertical-align: middle;
}
@media (max-width: 834px) {
    .totalprice__items li .price .yen {
        font-size: calc(18 / 390 * 100vw);
    }
}
.totalprice__items li .price .tax {
    font-size: 10px;
    font-style: normal;
    font-weight: 500;
    line-height: 160%;
    vertical-align: middle;
    margin-left: 4px;
}
@media (max-width: 834px) {
    .totalprice__items li .price .tax {
        font-size: calc(10 / 390 * 100vw);
    }
}
.totalprice__items li .unitprice{
    color: #9D9D9D;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 160%;
    text-align: center;
    margin-bottom: 16px;
}
@media (max-width: 834px) {
    .totalprice__items li .unitprice {
        font-size: calc(12 / 390 * 100vw);
        margin-bottom: calc(16 / 390 * 100vw);
    }
}
.totalprice__items li .unitprice .tax{
    color: #9D9D9D;
    font-size: 10px;
    font-style: normal;
    font-weight: 500;
    line-height: 160%;
    vertical-align: middle;
}
@media (max-width: 834px) {
    .totalprice__items li .unitprice .tax {
        font-size: calc(10 / 390 * 100vw);
    }
}
.plan__item_list{
    margin: 60px auto;
    display: flex;
    row-gap: calc(31 / 1440 * 100vw);
    column-gap: 6.54%;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 44.58%;
    min-width: 642px;
}
@media (max-width: 834px) {
    .plan__item_list {
        margin: calc(60 / 390 * 100vw) auto;
        row-gap: calc(21 / 390 * 100vw);
        width: 90.74%;
        min-width: initial;
    }
}
.plan__item_list li{
    width: 46.72%;
}
.plan__item_list li p{
    color: #222;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}
@media (max-width: 834px) {
    .plan__item_list li p {
        font-size: calc(12 / 390 * 100vw);
    }
}
.pran_other_item{
    text-align: center;
    width: 36.94%;
    min-width: 532px;
    margin: 0 auto;
}
@media (max-width: 834px) {
    .pran_other_item {
        width: calc(348 / 390 * 100vw);
        min-width: initial;
    }
}
.pran_other_item__list{
    margin: 36px 0 40px;
    display: flex;
    gap: 20px;
}
@media (max-width: 834px) {
    .pran_other_item__list {
        margin: calc(36 / 390 * 100vw) 0 calc(40 / 390 * 100vw);
        gap: calc(20 / 390 * 100vw);
    }
}
.pran_other_item__list li{
    width: 13.53%;
}
@media (max-width: 834px) {
    .pran_other_item__list li {
        width: 20.58%;
    }
}
.pran_other_item__list li p{
    font-size: 12px;
    font-weight: 400;
    line-height: 140%;
    color: #222;
    margin-top: 8px;
    letter-spacing: -0.05em;
}
@media (max-width: 834px) {
    .pran_other_item__list li p {
        font-size: calc(12 /390 * 100vw);
        margin-top: calc(8 /390 * 100vw);
    }
}
.pran_other_item__op_price{
    border-bottom: 0.5px solid #C7C7C7;
    padding: 4px 0px;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    color: #222;
    text-align: left;
    margin-top: 30px;
}
@media (max-width: 834px) {
    .pran_other_item__op_price {
        padding: calc(4 / 390 * 100vw) 0;
        font-size: calc(14 / 390 * 100vw);
        margin-top: calc(30 / 390 * 100vw);
    }
}
.oplist{
    margin: 12px 0;
}
@media (max-width: 834px) {
    .oplist {
        margin: calc(12 / 390 * 100vw) 0;
    }
}
.plan_comparison{
    margin-top: 80px;
    text-align: center;
    font-size: 14px;
    font-weight: 700;
    color: #4D4D4D
}
@media (max-width: 834px) {
    .plan_comparison {
        margin-top: calc(80 / 390 * 100vw);
        font-size: calc(12 / 390 * 100vw);
    }
}
.table_open{
    display: none;
}
.plan_table_wrap{
    width: 855px;
    margin: 40px auto 0;
    position: relative;
    max-height: 404px;
    overflow: hidden;
    transition: max-height .5s ;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
@media (max-width: 834px) {
    .plan_table_wrap {
        width: 100%;
        margin: calc(40 / 390 * 100vw) auto 0;
        overflow-x: scroll;
        max-height: calc(335 / 390 * 100vw);
    }
}
.plan_table_wrap::after{
    content: "";
    display: block;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.00) 0%, rgba(255, 255, 255, 0.75) 17.5%, #FFF 73.5%);
    position: absolute;
    height: 34px;
    width: 100%;
    bottom: 0;
    left: 0;
}
/*開後のstyle*/
.table_open:checked ~ .plan_table_wrap{
    max-height: 300vh;
}
@media (max-width: 834px) {
    .table_open:checked~.plan_table_wrap {
        max-height: 300vh;
    }
}
.table_open:checked~.plan_table_wrap::after {
    opacity: 0;
}
.table_open_btn{
    color: #787676;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 28px;
    cursor: pointer;
}
@media (max-width: 834px) {
    .table_open_btn {
        font-size: calc(16 / 390 * 100vw);
    }
}
.table_open_btn::after {
    content: "";
    display: inline-block;
    width: 1.25em;
    height: 1.25em;
    background: url(../../images/familykon/ico_plus.svg) center center/contain no-repeat;
    vertical-align: -15%;
}
.table_open_btn .hidden{
    display: none;
}
.table_open:checked~.table_open_btn::after{
    transform: rotate(45deg);
}
.table_open:checked~.table_open_btn .hidden{
    display: inline;
}
.table_open:checked~.table_open_btn .view {
    display: none;
}
.table_open:checked~.table_open_btn{
    display: none;
}
/*テーブル本体*/
.plan_table{
    border-collapse: collapse;
    width: 100%;
}
@media (max-width: 834px) {
    .plan_table {
        width: calc(427 / 390 * 100vw);
    }
}
.plan_table td{
    background: #E9E7E3;
    border: #FFF 2px solid;
    padding: 13.5px;
    vertical-align: middle;
    width: 25%;
}
@media (max-width: 834px) {
    .plan_table td {
        padding: calc(13.5 / 390 * 100vw);
    }
    .plan_table td .sp_none{
        display: none;
    }
}
.plan_table td.header {
    background: #C99388;
    color: #FFF;
}
@media (max-width: 834px) {
    .plan_table td.header,
    .plan_table td.header_other{
        font-size: calc(12 / 390 * 100vw);
    }
}
.plan_table td.header .sub_title{
    font-size: 12px;
    margin-top: 8px;
    font-weight: 400;
}
@media (max-width: 834px) {
    .plan_table td.header .sub_title {
        font-size: calc(10 / 390 * 100vw);
    }
}
.plan_table td.title1 {
    font-size: 16px;
}
@media (max-width: 834px) {
    .plan_table td.title1 {
        font-size: calc(14 / 390 * 100vw);
    }
}
.plan_table td.title2 {
    background: #F3F3F3;
}
@media (max-width: 834px) {
    .plan_table td.title, 
    .plan_table td.title2{
        font-size: calc(10 / 390 * 100vw);
    }
}
.plan_table td.other {
    color: #565B64;
    background: #FFF;
}
.plan_table td.price{
    color: #C17D70;
    font-size: 24px;
    line-height: 175%;
}
@media (max-width: 834px) {
    .plan_table td.price {
        font-size: calc(16 / 390 * 100vw);
        letter-spacing: -0.075em;
    }
}
/***********************************************************
weddingreport
************************************************************/
.weddingreport{
    padding-top: 80px;
}
@media (max-width: 834px) {
    .weddingreport {
        padding-top: calc(80 / 390 * 100vw);
    }
}
.weddingreport__title {
    margin-top: 16px;
    text-align: center;
}
@media (max-width: 834px) {
    .weddingreport__title {
        margin-top: calc(16/390*100vw);
    }
}
.weddingreport__title-en {
    font-family: Futura, Jost;
    font-size: 24px;
    color: #222;
    line-height: normal;
}
@media (max-width: 834px) {
    .weddingreport__title-en {
        font-size: calc(24/390*100vw);
    }
}
.weddingreport__title-jp {
    font-size: 12px;
    color: #9D9D9D;
    line-height: normal;
}
@media (max-width: 834px) {
    .weddingreport__title-jp {
        font-size: calc(12/390*100vw);
    }
}
.weddingreport__wrap{
    margin-top: 48px;
    padding: 80px 0;
    border-radius: 40px 40px 0px 0px;
    background: #EFEEEE;
    text-align: center;
}
@media (max-width: 834px) {
    .weddingreport__wrap {
        margin-top: calc(49 / 390 * 100vw);
    }
}
.weddingreport__subtitle {
    color: #565452;
    font-family: 'Noto Sans';
    font-size: 22px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    display: inline-block;
    margin: 0 auto;
    text-align: left;
}
@media (max-width: 834px) {
    .weddingreport__subtitle {
        font-size: calc(22 / 390 * 100vw);
    }
}
.weddingreport__subtitle br{
    display: none;
}
@media (max-width: 834px) {
    .weddingreport__subtitle br {
        display: initial;
    }
}
.weddingreport__subtitle_en {
    text-align: left;
    color: #A4A29F;
    font-family: 'Noto Sans';
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    margin-top: 9px;
}
@media (max-width: 834px) {
    .weddingreport__subtitle_en {
        font-size: calc(18 / 390 * 100vw);
        margin-top: calc(9 / 390 * 100vw);
    }
}
.weddingreport__schedule_head{
    width: calc(556 / 1440 * 100vw);
    margin: 50px auto 0;
}
@media (max-width: 834px) {
    .weddingreport__schedule_head {
        width: 100%;
    }
}
.weddingreport__schedule_body{
    width: calc(330 / 1440 * 100vw);
    padding-top: 40px;
    padding-left: calc(24 / 1440 * 100vw);
    padding-right: calc(26 / 1440 * 100vw);
    padding-bottom: 24px;
    border-left: #fff solid calc(2 / 1440 * 100vw);
    margin: 0 auto;
}
@media (max-width: 834px) {
    .weddingreport__schedule_body {
        width: calc(272 / 390 * 100vw);
        padding-top: calc(50 / 390 * 100vw);
        padding-left: calc(24 / 390 * 100vw);
        padding-right: calc(26 / 390 * 100vw);
        padding-bottom: calc(9 / 390 * 100vw);
        border-left: #fff solid calc(2 / 390 * 100vw);
    }
}
.weddingreport__schedule_title{
    margin-left: calc(-29 / 1440 * 100vw);
    color: #000;
    font-family: 'Noto Sans';
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 150%;
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
@media (max-width: 834px) {
    .weddingreport__schedule_title {
        font-size: calc(14 / 390 * 100vw);
        margin-left: calc(-29 / 390 * 100vw);
    }
}
.weddingreport__schedule_title::before{
    content: "";
    width: 8px;
    height: 8px;
    aspect-ratio: 1/1;
    display: block;
    background-color: #B1AFAC;
    margin-right: 19px;
    border-radius: 50%;
}
@media (max-width: 834px) {
    .weddingreport__schedule_title::before {
        width: calc(8 / 390 * 100vw);
        height: calc(8 / 390 * 100vw);
        margin-right: calc(19 / 390 * 100vw);
    }
}
.weddingreport__schedule_title + img{
    margin-top: 13.67px;
}
@media (max-width: 834px) {
    .weddingreport__schedule_title+img {
        margin-top: calc(17/390*100vw);
    }
}
.weddingreport__schedule_body img+ .weddingreport__schedule_title{
    margin-top: 28.33px;
}
@media (max-width: 834px) {
    .weddingreport__schedule_body img+.weddingreport__schedule_title {
        margin-top: calc(62/390*100vw);
    }
}
.weddingreport__gallery_title{
    color: #565452;
    text-align: center;
    font-family: Futura;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    margin-top: 50px;
}
@media (max-width: 834px) {
    .weddingreport__gallery_title {
        font-size: calc(20 / 390 * 100vw);
        margin-top: calc(50 / 390 * 100vw);
    }
}
.weddingreport__gallery_wrap {
    padding: 30px 14px;
    background-color: #FFF;
    width: calc(670 / 1440 * 100vw);
    min-width: 670px;
    margin: 20px auto 0;
}
@media (max-width: 834px) {
    .weddingreport__gallery_wrap {
        padding: calc(30 / 390 * 100vw) calc(14 / 390 * 100vw);
        width: calc(308 / 390 * 100vw);
        min-width: initial;
        margin: calc(20 / 390 * 100vw) auto 0;
    }
}
.weddingreport__gallery {
    display: flex;
    align-items: flex-start;
    align-content: flex-start;
    gap: 8.51px;
    flex-wrap: wrap;
}
@media (max-width: 834px) {
    .weddingreport__gallery {
        gap:calc(8.51 / 390 * 100vw)
    }
}
.jscroll .weddingreport__gallery{
    margin-top: 8.51px;
}
@media (max-width: 834px) {
    .jscroll .weddingreport__gallery {
        margin-top: calc(8.51 / 390 * 100vw);
    }
}
.weddingreport__gallery li{
    width: 15.5%;
}
@media (max-width: 834px) {
    .weddingreport__gallery li {
        width: 31%;
    }
}
.jscroll-loading{
    width: 50px;
    margin: auto;
}
.weddingreport__gallery_wrap .btn{
    margin: 30px auto 0;
    font-size: 16px;
    color: #565452;
    font-weight: 700;
    font-family: 'Noto Sans';
    width: 100%;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}
@media (max-width: 834px) {
    .weddingreport__gallery_wrap .btn {
        margin: calc(30 / 390 * 100vw) auto 0;
        font-size: calc(16 / 390 * 100vw);
    }
}
.weddingreport__gallery_wrap .btn::after {
    content: "";
    background: url(../../images/familykon/ico_plus.svg) center/contain no-repeat;
    width: 23px;
    height: 23px;
    margin-left: 10px;
    display: block;
}
@media (max-width: 834px) {
    .weddingreport__gallery_wrap .btn::after {
        width: calc(23 / 390 * 100vw);
        height: calc(23 / 390 * 100vw);
        margin-left: calc(10 / 390 * 100vw);
    }
}
/***********************************************************
faq
************************************************************/
.faq{
    padding-top: 80px;
    padding-bottom: 0;
}
@media (max-width: 834px) {
    .faq {
        padding-top: calc(96px / 390 100vw);
    }
    .faq__title-en{
        font-size: calc(20 / 390 * 100vw);
    }
    .faq__title-jp{
        font-size: calc(12 / 390 * 100vw);
    }
}
.faq .button-link{
    display: flex;
    justify-content: center;
    align-items: center;
}
.faq .button-link::after {
    width: 20px;
    height: 20px;
    content: "";
    display: block;
    background-image: url(../../images/familykon/ico_link.svg);
    background-size: 20px;
    margin-left: 8px;
}
.faq .button-link__button{
    background: none;
    padding: 6px 0.5em;
    color: #3F3F3F;
    border: none;
    border-bottom: 1px solid #000;
    display: inline-block;
    text-align: center;
}
.faq .button-link__button::after {
    display: none;
}
/***********************************************************
Wedding Style
************************************************************/
.wedding-style{
    padding-top: 200px;
}
@media (max-width: 834px) {
    .wedding-style {
        padding-top: calc(128 / 390 * 100vw);
        padding-left: calc(15 / 390 * 100vw);
        padding-right: calc(15 / 390 * 100vw);
        max-width: initial;
    }
}
.wedding-style__title{
    font-size: 20px;
}
@media (max-width: 834px) {
    .wedding-style__title{
        font-size: calc(24 / 390 * 100vw);
    }
}
.wedding-style__subtitle {
    font-size: 12px;
}
@media (max-width: 834px) {
    .wedding-style__subtitle{
        font-size: calc(12 / 390 * 100vw);
    }
}
.wedding-style__linklist{
    margin-top: 40px;
}
@media (max-width: 834px) {
    .wedding-style__linklist {
        margin-top: calc(48 / 390 * 100vw);
    }
}
.wedding-style__linkitem{
    position: relative;
    display: block;
    border-radius: 10px;
    overflow: hidden;
}
.wedding-style__linkitem~.wedding-style__linkitem{
    margin-top: 20px;
}
@media (max-width: 834px) {
    .wedding-style__linkitem~.wedding-style__linkitem {
        margin-top: calc(20 / 390 * 100vw);
    }
}
.wedding-style__textbox{
    position: absolute;
    right: 28px;
    top: 50%;
    transform: translateY(-50%);
    text-align: right;
}
@media (max-width: 834px) {
    .wedding-style__textbox {
        right: calc(18 / 390 * 100vw);
    }
}
.wedding-style__textbox img{
    width: 43px;
    margin-top: 20px;
}
@media (max-width: 834px) {
    .wedding-style__textbox img {
        width: calc(33 / 390 * 100vw);
        margin-top: calc(14 / 390 * 100vw);
    }
}
.wedding-style__number{
    color: #FFF;
    font-family: Futura;
    font-size: 11px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}
@media (max-width: 834px) {
    .wedding-style__number {
        font-size: calc(11 / 390 * 100vw);
    }
}
.wedding-style__number span{
    font-size: 20px;
}
@media (max-width: 834px) {
    .wedding-style__number span {
        font-size: calc(20 / 390 * 100vw);
    }
}
.wedding-style__name {
    color: #FFF;
    font-family: "Noto Serif JP";
    font-size: 30px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}
@media (max-width: 834px) {
    .wedding-style__name {
        font-size: calc(27 / 390 * 100vw);
    }
}
/***********************************************************
Reservation
************************************************************/
@media (max-width: 834px) {
    .reservation__title-en{
        font-size: calc(22 / 390 * 100vw);
    }
    .reservation__title-jp{
        font-size: calc(12 / 390 * 100vw);
    }
}
.reservation .action-links{
    max-width: 430px;
}
.reservation .button-link{
    display: flex;
    justify-content: center;
    align-items: center;
    color: #3F3F3F;
    font-family: YuGothic;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    background: #fff;
    border-radius: 40px;
    border: 1px solid #3F3F3F;
    padding: 16px 0;
}
.reservation .button-link::after{
    content: "";
    display: inline-block;
    background: url(../../images/familykon/ico_reservetion_arrow.svg) center/contain no-repeat;
    width: 30px;
    height: 5px;
    margin-left: 10px;
}
.reservation .button-link~.button-link {
    margin-top: 20px;
}
/********************************************************
 modal
*********************************************************/
/*基本パーツ*/
.modal-wrapper {
    display: none;
    position: fixed;
    z-index: 6020;
    top: 0;
    left: 0;
    justify-content: center;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    overflow-y: auto;
    padding-block: 32px;
    font-family: "Yu Gothic", "Noto Sans JP", "YuGothic", "Hiragino Kaku Gothic ProN", sans-serif;
}

body.modal-open .modal-wrapper {
    display: flex;
}

.modal-wrapper .modal-close__button {
    margin-left: auto;
    cursor: pointer;
    font-size: 18px;
    font-weight: bold;
}

.modal-wrapper .modal-content {
    display: flex;
    flex-direction: column;
    row-gap: 16px;
    width: calc(100% - 48px);
    max-width: 800px;
    background-color: #fff;
    padding: 16px;
    border-radius: 10px;
    height: fit-content;
    font-size: 14px;
    margin-block: auto;
}

.modal-wrapper .modal-body__footer {
    display: flex;
    justify-content: center;
    align-items: center;
    row-gap: 16px;
}

.modal-wrapper .modal-body__footer .step-modal-close {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 560px;
    padding-block: 16px;
    margin-top: 8px;
    margin-bottom: 8px;
    border: 2px solid #536A80;
    color: #536A80;
    font-size: 14px;
    font-weight: bold;
    cursor: pointer;
}
@media screen and (min-width: 768px) {
    .modal-wrapper .modal-body__footer .step-modal-close {
        font-size: 16px;
    }
}

body.modal-open {
    overflow: hidden;
    height: 100vh;
}
/*modal_Contents*/
.modal-wrapper .contents{
    max-width: 640px;
    margin: 0 auto;
    color: #3F3F3F;
}
.jinzenshiki_maintitle{
    font-size: 38px;
    text-align: center;
    font-weight: bold;
    line-height: 1.5;
}
@media screen and (max-width: 768px) {
    .jinzenshiki_maintitle {
        font-size: calc(27/375*100vw);
    }
}
.jinzenshiki_maintitle span{
    color: #C99388;
}
.jinzenshiki_subtitle{
    font-size: 24px;
    text-align: center;
    width: fit-content;
    margin: 0 auto 43px;
    font-weight: bold;
    border-top: 1px solid #C99388;
    padding: 7px 0;
    line-height: 1.5;
}
@media screen and (max-width: 768px) {
    .jinzenshiki_subtitle {
        font-size: calc(15/375*100vw);
        letter-spacing: -0.0575em;
    }
}
.jinzenshiki_feature_title{
    background-color: #C99388;
    color: #FFF;
    font-size: 20px;
    font-weight: bold;
    padding: 0 6px;
    line-height: 1.5;
    width: max-content;
}
@media screen and (max-width: 768px) {
    .jinzenshiki_feature_title {
        font-size: calc(20/375*100vw);
        padding: 0 calc(6/375*100vw);
    }
}
.jinzenshiki_feature_text {
    font-size: 14px;
    margin-top: 6px;
}
@media screen and (max-width: 768px) {
    .jinzenshiki_feature_text {
        font-size: calc(14/375*100vw);
        margin-top: calc(6/375*100vw);
    }
}
.jinzenshiki_feature_text + .jinzenshiki_feature_title{
    margin-top: 26px;
}
@media screen and (max-width: 768px) {
    .jinzenshiki_feature_text+.jinzenshiki_feature_title {
        margin-top: calc(26/375*100vw);
    }
}
.jinzenshiki_item_title{
    margin: 46px auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 297px;
    font-size: 16px;
    font-weight: bold;
}
@media screen and (max-width: 768px) {
    .jinzenshiki_item_title {
        font-size: calc(16/375*100vw);
        width: auto;
    }
}
.jinzenshiki_item_title::before,
.jinzenshiki_item_title::after{
    content: "";
    background-color: #C99388;
    width: 56px;
    height: 1px;
    display: block;
}
@media screen and (max-width: 768px) {
    .jinzenshiki_item_title::before,
    .jinzenshiki_item_title::after {
        width: calc(65/375*100vw);
    }
}
.jinzenshiki_item{
    border: 1px solid #C99388;
    padding: 16px 11px;
    position: relative;
    min-height: 137px;
}
.jinzenshiki_item + .jinzenshiki_item{
    margin-top: 10px;
}
.jinzenshiki_item_textbox {
    padding-left: 194px;
    line-height: 1.5;
}
@media screen and (max-width: 768px) {
    .jinzenshiki_item_textbox {
        padding-left: 0;
        font-size: calc(14/375*100vw);
    }
}
.jinzenshiki_item_head{
    font-size: 18px;
    font-weight: bold;
    line-height: 1.5;
    background: linear-gradient(transparent 82%, #C99388 18%);
    margin-bottom: 14px;
    width: max-content;
}
@media screen and (max-width: 768px) {
    .jinzenshiki_item_head {
        font-size: calc(18/375*100vw);
    }
}
.jinzenshiki_item_img{
    width: 158px;
    position: absolute;
    top: 16px;
    left: 11px;
}
@media screen and (max-width: 768px) {
    .jinzenshiki_item_img {
        position:static;
        width: 100%;
        margin-bottom: 16px;
    }
}
