@charset "UTF-8";

:root {
  --theme-color: #265231;
  --theme-border-color: #C7C7C7;
  --theme-bg-color: #FFFFFF;
}


html {
	scroll-behavior: smooth;
}
html body{
    height: auto !important;
}
body {
    color: #333;
    font-family: "Noto Serif JP", serif;;
    font-weight: 400;
}

a.link-text,
a:link.link-text,
a:visited.link-text {
    color: #0056b3;
    text-decoration: underline;
    font-weight: 500;
}

.header_top{
    display: flex;
    justify-content: space-between;
    padding-top: 30px;
    margin-bottom: 20px;
    align-items: center;
}
.header_top_logo{
    width: 60%;
}
.header_top_logo_inner {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
}
.header_top_logo_brand {
    flex: 0 0 auto;
    width: 10%;
    max-width: 80px;
}
.header_top_logo_brand img {
    display: block;
    max-width: 100%;
    height: auto;
}
.header_top_logo_name {
    flex: 0 0 auto;
    width: 80%;
    padding-left: 2%;
}
.header_top_logo_name .page-title {
    position: static;
    margin: 0;
    color: var(--theme-color);
    font-family: "Shippori Mincho", serif;
    font-size: 24px;
    text-indent: 0;
}
.header_top_logo_name .page-title_main {
    display: block;
    font-weight: 500;
}
.header_top_logo_name .page-title_sub {
    display: block;
    margin-bottom: 5px;
    color: #929292;
    font-size: 12px;
}
.header_top_links{
    display: flex;
    align-items: center;
}
.header_top_link_1{
    aspect-ratio: 6/2;
    width: 120px;
    margin: 0px 5px;
    color: #fff !important;
    display: flex;
    justify-content: center;
    align-items: center;
}
.header_top_link_1:hover{
    color: #fff;
    text-decoration: none;
}
.header_top_link_2{
    width: 40px;
    margin: 0px 5px;
}
header{
    position: sticky;
    top: 0;
    z-index: 99;
}
header nav{
    background-color: #FFFFFF;
    border-top: 1px solid var(--theme-border-color);
    border-bottom: 1px solid var(--theme-border-color);
}
header nav ul{
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 48px;
    padding: 0px;
    margin: 0px;
}
header nav ul a.active{
    background-color: #F0F0F0;
}
header nav ul li{
    list-style-type: none;
    border-left: 1px solid var(--theme-border-color);
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 12.5%;
    text-align: center;
} 
header nav ul li:last-child{
    border-right: 1px solid var(--theme-border-color);
} 
header nav ul li a{
    color: #222222;
    font-family: "Shippori Mincho", serif;
    font-size: 14px;
    display: flex;
    height: 100%;
    width: 100%;
    justify-content: center;
    align-items: center;
}
header nav ul li a:hover{
    text-decoration: none;
    color: #222222;
    background-color: #F8F8F8;
}

.main {
    background-color: #FAFBFC;
}


.main_title{
    text-align: center;
}
.main_title_jp{
    color: var(--theme-color);
    font-size: 32px;
    letter-spacing: 4px;
    margin-bottom: 10px;
}
.main_title_en{
    color: var(--theme-color);
    font-size: 22px;
    letter-spacing: 2px;
}
.sub_title{
    font-size: 30px;
    color: #000;
    margin-bottom: 50px;
    text-align: center;
}
.section_desc{
    margin-top: 20px;
    font-size: 12px;
}










.section_2_text{
    letter-spacing: 2px;
    font-size: 20px;
    line-height: 35px;
    margin-top: 40px;
    color: black;
    text-align: center;
}
.section_2_text_2{
    letter-spacing: 2px;
    font-size: 20px;
    line-height: 40px;
    margin-top: 40px;
    color: #222;
    text-align: center;
}
.section_2_text_3{
    font-size: 16px;
    color: #000;
    line-height: 35px;
    letter-spacing: 1px;
    text-align: center;
    margin-top: 30px;
}
.section_2_text_4{
    font-size: 22px;
    font-weight: 600;
    color: #000;
    line-height: 1.5;
    letter-spacing: 1px;
    text-align: center;
    margin-top: 30px;
}
.section_3_img{
    margin-top: 50px;
    position: relative;
}
.section_3_text{
    position: absolute;
    z-index: 5;
    top: 100px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: space-between;
}
.section_3_text_1{
    color: #fff;
    font-size: 50px;
}
.section_3_text_2{
    color: #fff;
    font-size: 26px;
    line-height: 45px;
    letter-spacing: 1px;
}

.section_4_img{
    margin-top: 50px;
}

.section_4_img figure {
    max-width: 540px;
    margin-right: auto;
    margin-left: auto;
}

.section_6_cats{
    margin-top: 50px;
    display: flex;
    flex-wrap: wrap;
}
.section_6_cats_cat{
    border: 1px solid var(--theme-border-color);
    padding: 5px;
    margin: 5px;
}

.section_6_box {
    background-color: var(--theme-bg-color);
    padding: 24px;
    max-width: 960px;
    margin-right: auto;
    margin-left: auto;
}

.section_6_lists {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
}

.section_6_lists li {
    flex: 0 0 auto;
    width: 50%;
    margin: 0.375em 0;
    padding: 0 1em 0 2.5em;
    text-indent: -1.5em;
}

.section_6_lists li::before {
    content: "●";
    color: var(--theme-color);
    margin-right: 0.5em;
}


.section_7_card{
    display: flex;
    margin-bottom: 150px;
    align-items: flex-end;
}
.section_7_card_body_title{
    font-size: 30px;
    line-height: 45px;
    letter-spacing: 5px;
    color: var(--theme-color);
    margin-bottom: 30px;
}
.section_7_card_body_text{
    font-size: 16px;
    color: #000;
    letter-spacing: 1px;
    line-height: 30px;
    margin-bottom: 50px;
}
.section_7_card_body_text span{
    font-size: 17px;
    color: #4D4D4D;
}
.section_7_card_body_img{
    width: 25%;
}
.section_7_card_body_img p{
    text-align: center;
    margin-bottom: 0px;
    margin-top: 10px;
    font-size: 16px;
}
.section_7_card_img_text{
    font-size: 18px;
    margin-top: 20px;
    letter-spacing: 1px;
}
.section_8{
    padding: 100px;
    padding-bottom: 50px;
    background-color: #DFECE2;
}
.section_8_card{
    background-color: #fff;
    display: flex;
    align-items: flex-end;
    padding: 50px;
    margin-bottom: 50px;
}
.section_8_card_body{
    position: relative;
}
.section_8_card_body_logo{
    position: absolute;
    z-index: 5;
    top: 0px;
    right: 0px;
    width: 100px;
}
.section_8_card_body_title{
    margin-bottom: 50px;
    color: var(--theme-color);
}
.section_8_card_body_title_jp{
    font-size: 30px;
    letter-spacing: 4px;
}
.section_8_card_body_title_en{
    font-size: 16px;
    letter-spacing: 2px;
}
.section_8_card_body_text{
    font-size: 16px;
    line-height: 35px;
}
.section_8_card_body_text span{
    font-size: 22px;
}

.section_9_card{
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 100px;
}
.section_9_card_img{
    width: 50%;
}
.section_9_card_body{
    width: 50%;
    position: relative;
}
.section_9_card_body_title{
    color: var(--theme-color);
    width: 100%;
    border-bottom: 1px solid var(--theme-color);
    position: relative;
    padding-bottom: 20px;
    margin-bottom: 20px;
}

.section_9_card_body_title_jp{
    font-size: 30px;
    letter-spacing: 4px;
}
.section_9_card_body_title_en{
    font-size: 16px;
    letter-spacing: 2px;
}
.section_9_card_body_title_logo{
    width: 130px;
    position: absolute;
    z-index: 5;
    right: 0px;
    bottom: 20px;
    transform: translateY(-5%);
}
.section_9_card_body_text{
    font-size: 16px;
    line-height: 30px;
}
.section_9_card_body_position{
    position: absolute;
    z-index: 5;
    width: 100%;
    display: flex;
    bottom: 0px;
    font-size: 14px;
}
.section_9_card_last{
    display: flex;
}
.section_9_card_last{
    display: flex;
    align-items: flex-end;
    margin-top: -100px;
    justify-content: space-between;
}
.section_9_card_last img{
    width: 55%;
    padding-right: 0px;
}
.section_9_card_last p{
    width: 43%;
    font-size: 14px;
}
.section_10{
    padding: 100px 0px;
    background-color: #DFECE2;
}
.section_10_card{
    background-color: #fff;
    margin-bottom: 50px;
}
.section_10_card_body{
    padding: 20px;
    position: relative;
    aspect-ratio: 5/4;
}
.section_10_card_body_title{
    font-size: 24px;
    color: var(--theme-color);
    margin-bottom: 10px;
}
.section_10_card_body_title span{
    font-size: 14px;
    border: 1px solid #222;
    padding: 3px 5px;
}
.section_10_card_body_text{
    font-size: 13px;
}
.section_10_card_body_position{
    position: absolute;
    display: flex;
    left: 0px;
    padding: 0px 20px;
    padding-bottom: 20px;
    bottom: 0px;
    width: 100%;
    font-size: 12px;
}
.section_10_card_body_position p{
    margin-bottom: 0px;
    line-height: 15px;
}

.section_11_title{
    margin-top: 50px;
    text-align: center;
    width: 100%;
    padding: 30px;
    border-bottom: 1px solid var(--theme-color);
    border-top: 1px solid var(--theme-color);
    margin-bottom: 100px;
    color: var(--theme-color);
}
.section_11_title h2{
    font-size: 32px;
}
.section_11_title p{
    font-size: 20px;
}
.section_11_card_title{
    font-size: 24px;
    text-align: center;
    color: var(--theme-color);
    padding: 20px 0px;
    letter-spacing: 2px;
}
.section_11_card_title .time-span {
    display: block;
    margin-top: 0.25em;
    color: #333;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
}
.section_11_card_text{
    font-size: 14px;
    margin-bottom: 100px;
}
.section_11_table{
    margin-bottom: 50px;
}
.section_11_table_title{
    color: var(--theme-color);
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    border-bottom: 2px solid var(--theme-color);
    margin-bottom: 20px;
}
.section_11_table_title h2{
    margin-bottom: 0px;
    font-size: 24px;
    letter-spacing: 2px;
}
.section_11_table_title p{
    margin-bottom: 0px;
    font-size: 16px;
    display: flex;
    align-items: center;
    letter-spacing: 1px;
}
.section_11_table_title p img{
    width: 20px;
    margin-right: 10px;
}
.section_11_table_title p .icon-1, .section_11_table_title p .icon-2{
    width: 20px;
    margin-right: 10px;
	fill: var(--theme-color) !important;
}
.section_11_table_column{
    display: flex;
    align-items: center;
    font-size: 15px;
    font-weight: 500;
    justify-content: space-between;
    border-bottom: 1px solid var(--theme-border-color);
    margin-bottom: 20px;
}
.section_12_title{
    color: var(--theme-color);
    width: 100%;
    font-size: 30px;
    border-bottom: 1px solid var(--theme-color);
    padding-bottom: 10px;
    margin-bottom: 10px;
}
.section_12_title span{
    font-size: 16px;
    margin-left: 10px;
}
.section_12_text{
    font-size: 16px;
    color: #000;
}
.section_12_too{
    text-align: center;
}
.section_12_too h2{
    color: #E0004F;
    font-size: 30px;
    letter-spacing: 4px;
    margin-bottom: 0px;
}
.section_12_too h2 span{
    font-size: 50px;
}
.section_12_too p{
    font-size: 16px;
    color: #000;
    margin-bottom: 0px;
}
.section_12_map {
    width: 100%;
    max-width: 720px;
    margin-right: auto;
    margin-left: auto;
}
.section_13_title{
    text-align: center;
    margin: 30px 0px;
    color: var(--theme-color);
    font-size: 24px;
    margin-bottom: 20px;
}
.section_13_title span{
    font-size: 34px;
}
.section_13_btn{
    background-color: var(--theme-color);
    color: #fff !important;
    font-size: 26px;
    padding: 10px 40px;
}
.section_13_btn:hover{
    color: #fff;
    text-decoration: none;
}
.section_13_map {
    width: 100%;
    max-width: 800px;
    margin-right: auto;
    margin-left: auto;
}
.section_13_map img {
    border: 1px solid #9b9b9b;
}
.section_14_table p{
    margin-bottom: 0px;
    padding: 0px 20px;
    font-size: 14px;
}
.section_14_table hr{
    margin: 20px 0px;
    border: 1px solid #5D8063;
}
.section_15_contact_btn{
    width: 20%;
    aspect-ratio: 6/2;
    margin: 0px 20px;
    color: #fff !important;
    font-size: 26px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.section_15_contact_btn:hover{
    text-decoration: none;
    color: #fff;
}




/* custom */

.background_color_1{
    background-color: #753445;
}
.background_color_2{
    background-color: #333951;
}
.w-50{
    width: 50%;
}
.w-30{
    width: 30%;
}
.w-70{
    width: 70%;
}
.display-flex{
    display: flex;
}
.top_space{
    padding-top: 150px;
}
.mt-50{
    margin-top: 50px;
}
.h-100{
     height: 100%;
}
/* custom */
.menu-icon {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 30px;
    height: 22px;
    cursor: pointer;
}

.bar {
    width: 100%;
    height: 1px;
    background-color: #222;
    transition: all 0.4s ease-in-out;
}

/* Active буюу X тэмдэгтийн хөдөлгөөн */
.menu-icon[aria-expanded="true"] .bar:nth-child(1) {
    transform: translateY(10.5px) rotate(45deg);
}
.menu-icon[aria-expanded="true"] .bar:nth-child(2) {
    opacity: 0;
}
.menu-icon[aria-expanded="true"] .bar:nth-child(3) {
    transform: translateY(-10.5px) rotate(-45deg);
}

@media only screen and (min-width: 1001px){
    .sp{
        display: none;
    }
}

@media only screen and (max-width: 1000px){
    .pc{
        display: none;
    }
    .sp-w-100{
        width: 100% !important;
    }
    .sp-p-0{
        padding: 0px !important;
    }
    header{
        border-top: 1px solid var(--theme-border-color);
        background-color: #fff;
        height: 60px;
    }
    header nav{
        height: auto;
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.05);
    }
    header nav ul{
        display: block;
        height: auto;
    }
    header nav ul li{
        width: 100%;
        border-bottom: 1px solid var(--theme-border-color);
        padding: 0;
        border-left: none;
    }
    header nav ul li:last-child {
        border-right: none;
        border-bottom: none;
    }
    header nav ul li a{
        padding: 10px 0;
    }
    header nav ul li a.active{
        background-color: #F0F0F0;
    }
    .header_menu_btn{
        color: #fff;
        font-size: 24px;
    }
    .header_top {
        padding-top: 20px;
    }
    .header_top_logo {
        width: 30%;
    }
    .header_top_logo_brand {
        width: 50%;
    }
    .header_top_logo_name {
        display: none;
    }
    .header_top_logo_name .page-title {
        display: none;
        font-size: 14px;
    }
    .header_top_logo_name .page-title_main {
        transform: scaleY(1.2);
        font-size: clamp(8px, calc(2.5vw + 0.1rem), 20px);
    }
    .header_top_logo_name .page-title_sub {
        margin-bottom: 0.5em;
        font-size: clamp(6px, calc(1.5vw + 0.1rem), 10px);
    }
    .sp-header .page-title-sp {
        width: 85%;
        color: #222;
        font-family: "Shippori Mincho", serif;
        font-size: clamp(10px, 3.25vw, 20px);
    }
    .header_top_link_1{
        aspect-ratio: auto;
        width: 45px;
        margin: 0px 4px;
        padding: 4px;
        font-size: 14px;
        line-height: 1.2;
        letter-spacing: 1px;
        text-align: center;
    }
    .header_top_link_2{
        width: 36px;
        margin: 0px 4px;
    }
    .section_desc{
        font-size: 10px;
    }
    .top_space{
        padding-top: 100px;
    }
    .main_title_jp{
        font-size: 24px;
    }
    .main_title_en{
        font-size: 16px;
    }
    .section_2_text{
        line-height: 30px;
        font-size: 16px;
        letter-spacing: 0px;
    }
    .section_2_text_2{
        font-size: 16px;
        line-height: 30px;
    }
    .section_2_text_3{
        font-size: 14px;
        color: #000;
        line-height: 25px;
        letter-spacing: 1px;
        text-align: center;
    }
    .section_3_text{
        top: 10px;
    }
    .section_3_text_1{
        font-size: 14px;
    }
    .section_3_text_2{
        font-size: 12px;
        line-height: 16px;
        letter-spacing: 0px;
    }
    .section_6_cats_cat{
        font-size: 14px;
    }
    .section_6_box {
        padding: 24px 12px;
    }
    .section_6_lists li {
        width: 100%;
        font-size: 14px;
    }
    .sub_title{
        font-size: 18px;
        margin-bottom: 30px;
    }
    .section_7_card{
        flex-wrap: wrap;
        margin-bottom: 100px;
    }
    .section_7_card_body_title{
        line-height: 30px;
        font-size: 20px;
    }
    .section_7_card_body_text{
        line-height: 25px;
        font-size: 14px;
        margin-bottom: 30px;
    }
    .section_7_card_body_img p{
        margin-bottom: 20px;
        font-size: 12px;
    }
    .section_8{
        padding: 20px;
    }
    .section_8_card{
        padding: 10px;
        flex-wrap: wrap;
    }
    .section_8_card_body_title_jp{
        font-size: 24px;
        letter-spacing: 2px;
    }
    .section_8_card_body_title_en{
        letter-spacing: 1px;
        font-size: 12px;
    }
    .section_8_card_body_title{
        margin-bottom: 30px;
    }
    .section_8_card_body_text{
        font-size: 14px;
        line-height: 25px;
    }
    .section_8_card_body_text span{
        font-size: 16px;
    }
    .section_9_card_img{
        width: 100%;
        order: 2;
    }
    .section_9_card_body{
        width: 100%;
        order: 1;
    }
    .section_9_card_body_title_logo{
        width: 80px;
    }
    .section_9_card_last{
        order: 3;
        flex-wrap: wrap;
    }
    .section_9_card_body_position{
        position: static;
        margin: 20px 0px;
    }
    .section_9_card_last img{
        width: 100%;
    }
    .section_9_card_last p{
        width: 100%;
        margin-top: 20px;
    }
    .section_10{
        padding: 50px 0px;
    }
    .section_10_card_body_title{
        font-size: 20px;
    }
    .section_11_title h2{
        font-size: 24px;
    }
    .section_11_title p{
        font-size: 14px;
    }
    .section_11_card_title{
        font-size: 14px;
        padding: 20px 0px;
    }
    .section_11_card_title .time-span{
        font-size: 12px;
    }
    .section_11_card_text{
        margin-bottom: 50px;
    }
    .section_11_table_title p{
        font-size: 14px;
    }
    .section_11_table_title h2{
        font-size: 20px;
    }
    .section_11_table_column{
        font-size: 14px;
    }
    .section_11_table_column_text{
        font-size: 12px;
        text-align: right;
    }
    .section_12_title{
        font-size: 20px;
    }
    .section_12_text{
        font-size: 14px;
    }
    .section_12_too{
        font-size: 24px;
    }
    .section_12_too h2{
        font-size: 20px;
    }
    .section_12_too h2 span {
        font-size: 20px;
    }
    .section_12_too p{
        font-size: 13px;
    }
    .section_13_title{
        font-size: 16px;
    }
    .section_13_title span{
        font-size: 20px;
    }
    .section_13_btn{
        font-size: 18px;
    }
    .section_14_table p{
        padding: 0px;
    }
    .section_14_table hr{
        margin: 10px 0px;
    }
    .section_15_contact_btn{
        width: 30%;
        font-size: 20px;
    }
}


@media only screen and (max-width: 1199px){
    .header_top_logo_name .page-title_main {
        font-size: 20px;
    }
}





.rool:hover{
        background-color: #ffffff;
        opacity:0.3;
        visibility: visible;
    }
    .busho{
        width: 960px;
        padding: 50px 130px;
    }
    .busho::after{
        content: "";
        clear: both;
        display: block;
    }
    .busho p:nth-of-type(1){
        width: 160px;
        display: block;
        float: left;
    }
    .busho p:nth-of-type(1) img{
        width: 138px;
        height: auto;
    }
    .busho p:nth-of-type(2){
        width: 540px;
        font-size: 20px;
        display: block;
        float: right;
    }
    .busho p:nth-of-type(3){
        width: 540px;
        font-size: 58px;
        line-height: normal;
        display: block;
        float: right;
        clear: right;
    }
    .busho p:nth-of-type(3) img{
        width: 60px;
        height: auto;
        margin: 0px;
        padding-right: 10px;
        vertical-align:middle;
    }
    .busho p:nth-of-type(4){
        width: 540px;
        font-size: 16px;
        line-height: normal;
        display: block;
        float: right;
        clear: right;
    }
    .busho p:nth-of-type(5){
        width: 540px;
        font-size: 16px;
        line-height: normal;
        display: block;
        float: right;
        clear: right;
    }
@media only screen and (max-width: 768px) {
    .busho{
        width: 100%;
        padding: 50px 0px;
    }
    .busho::after{
        content: "";
        clear: both;
        display: block;
    }
    .busho p:nth-of-type(1){
        width: 10%;
        display: block;
        float: left;
    }
    .busho p:nth-of-type(1) img{
        width: 90%;
        height: auto;
    }
    .busho p:nth-of-type(2){
        width: 89%;
        font-size: 14px;
        display: block;
        float: right;
    }
    .busho p:nth-of-type(3){
        width: 89%;
        font-size: 38px;
        line-height: normal;
        display: block;
        float: right;
        clear: right;
    }
    .busho p:nth-of-type(3) img{
        width: 40px;
        height: auto;
        margin: 0px;
        padding-right: 10px;
        vertical-align:middle;
    }
    .busho p:nth-of-type(4){
        width: 89%;
        font-size: 12px;
        line-height: normal;
        display: block;
        float: right;
        clear: right;
    }
    .busho p:nth-of-type(5){
        width: 89%;
        font-size: 12px;
        line-height: normal;
        display: block;
        float: right;
        clear: right;
    }
}

.rounded-image {
    border-radius: 12px;
}

.feature-detail {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}
.feature-detail-name {
    margin-top: 0.5rem;
    color: #222;
    font-size: 14px;
}
.feature-detail-description {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.6;
}

.tel-banner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    max-width: 540px;
    margin-top: 50px;
    margin-right: auto;
    margin-left: auto;
}
.tel-banner-left {
    flex: 0 0 auto;
    width: 25%;
    padding-right: 15px;
}
.tel-banner-right {
    flex: 0 0 auto;
    width: 75%;
    padding-left: 15px;
}
.tel-banner-logo {
    max-width: 100%;
    height: auto;
}
.tel-banner-office {
    font-size: 16px;
}
.tel-banner-tel {
    font-size: 42px;
}
.tel-banner-tel a:hover {
    color: inherit;
    text-decoration: none;
}
.tel-banner-tel a::before {
    content: "";
    display: inline-block;
    background-image: url(../images/icon_freedial.svg);
    background-size: contain;
    width: 48px;
    height: 26px;
    margin-right: 5px;
}
.tel-banner-address {
    font-size: 14px;
}

@media (max-width: 767.98px) {
    .tel-banner {
        justify-content: center;
        margin-top: 80px;
    }
    .tel-banner-left {
        width: 120px;
        margin-bottom: 20px;
        padding-right: 0;
    }
    .tel-banner-right {
        width: 100%;
        padding-left: 0;
        text-align: center;
    }
    .tel-banner-office {
        font-size: 14px;
    }
    .tel-banner-tel {
        font-size: 32px;
    }
}

.outline_yokoku {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: start;
}

.outline_yokoku p {
    font-size: 14px;
}
.outline_yokoku p:first-child {
    border: 1px solid #212529;
    margin: 0 20px 0.5em 0;
    padding: 0.1em 0.2em;
    font-size: 18px;
    font-weight: 500;
}
@media (max-width: 767.98px) {
    .outline_yokoku p {
        font-size: 12px;
    }
    .outline_yokoku p:first-child {
        margin-right: 0;
        font-size: 14px;
    }
}

.outline-dl {
    display: flex;
    flex-wrap: wrap;
    margin-right: auto;
    margin-left: auto;
}
.outline-dl dt,
.outline-dl dd {
    flex: 0 0 auto;
    border-bottom: 1px solid var(--theme-border-color);
    margin: 0;
    padding: 20px;
    font-size: 14px;
}
.outline-dl dt:first-of-type,
.outline-dl dd:first-of-type {
    border-top: 1px solid var(--theme-border-color);
}
.outline-dl dt {
    width: calc(25% - 10px);
    margin-right: 10px;
}
.outline-dl dd {
    width: 75%;
}
@media (max-width: 767.98px) {
    .outline-dl dt,
    .outline-dl dd {
        padding: 10px 0;
    }
}

.update-dl {
    display: flex;
    flex-wrap: wrap;
    margin-top: 2rem;
    margin-bottom: 3rem;
}
.update-dl dt,
.update-dl dd {
    flex: 0 0 auto;
    border-top: 1px solid var(--theme-border-color);
    border-bottom: 1px solid var(--theme-border-color);
    margin: 0;
    width: calc(100% / 6);
    padding: 10px;
    font-size: 13px;
    font-weight: 600;
}
.update-dl dt {
    background-color: #e8efe9;
}
@media (max-width: 991.98px) {
    .update-dl dt,
    .update-dl dd {
        width: calc(100% / 4);
    }
    .update-dl dt:last-of-type,
    .update-dl dd:last-of-type {
        border-top-style: none;
    }
    .update-dl dt:last-of-type {
        width: calc(100% / 4);
    }
    .update-dl dd:last-of-type {
        width: calc(100% / 4 * 3);
    }
}
@media (max-width: 767.98px) {
    .update-dl dt,
    .update-dl dd {
        border-top-style: none;
        width: calc(100% / 2);
        padding: 5px 10px;
        font-size: 12px;
    }
    .update-dl dt:first-of-type,
    .update-dl dd:first-of-type {
        border-top-style: solid;
    }
    .update-dl dt {
        width: 40%;
    }
    .update-dl dd {
        width: 60%;
    }
    .update-dl dt:last-of-type {
        width: 40%;
    }
    .update-dl dd:last-of-type {
        width: 60%;
    }
}

.floor-plan figcaption {
    margin-top: 0.5rem;
    font-size: 14px;
    text-align: center;
}



/* ===============================================
追加記述
=============================================== */

/* 2025.10.15 ヘッダー準備中表記 */
.disable-nav {
    pointer-events: none;
    background-color: #9e9e9ecf;
    color: #cacaca !important;
}
.disable-nav:hover {
    cursor: not-allowed;
}

/* 2025.10.21 文字サイズアップのスタイル */
.text-l {
    font-size: 1.8em;
    line-height: 1.5;
}
@media (max-width: 767.98px) {
    .text-l {
        font-size: 1.4em;
    }
}


/* 2025.12.2 限定公開間取り図の設定 */
.secret{
    position:relative;
    height: 100%;
}
.secret .secret_img{
    width: 100%;
}

.secret .secret-link{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width: max-content;
    max-width: 250px;
    text-align: center;
}
.secret .secret-link .secret-gentei{
    border: 1px solid #000;
    background: #fff;
    padding: 3%;
    margin: 0 auto 20px;
}
.secret .secret-link .secret-gentei .secret-tit01{
    font-weight:bold;
    font-size:22px;
    margin:0 auto 20px;
    color:#000;
}
.secret .secret-link .secret-gentei .secret-txt{
    font-size:16px;
    color:#000;
}
.secret .secret-link .secret-gentei .secret-txt .red {
    color:#A82033;
} 
.secret .secret-catch {
    position: relative;
    display: inline-block;
    font-size: 20px;
    font-weight: bold;
    color:#A82033;
}
.secret .secret-catch .star_img {
    max-width: 25px;
    display: inline-block;
    margin: 0 0 0px 5px;
}
.secret .secret-catch::before,
.secret .secret-catch::after {
    content: "";
    display: inline-block;
    width: 20px;
    height: 3px;
    background-color: #A82033;
    vertical-align: middle;
    transform: rotate(-245deg);
    margin: 0 6px;
}

.secret .secret-catch::before {
    transform: rotate(245deg);
}
.secret .secret-member{
    margin:10px auto;
}
.secret .secret-member a,
.secret .secret-catalog a {
    display: inline-block;
    padding: 8px 40px 8px 30px;
    background-color: #0078ff;
    color: #fff;
    text-decoration: none;
    border-radius: 9999px;
    font-weight: bold;
    position: relative;
    transition: background 0.3s, transform 0.2s;
    width: 100%;
    color:#A82033;
    background:#fff;
    border:2px solid #A82033;
    font-size: 16px;
}
.secret .secret-catalog a {
    color:#fff;
    background:#A82033;
}

.secret .secret-member a::after,
.secret .secret-catalog a::after {
    content: "▶";
    font-size: 0.9em;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    transition: transform 0.3s;
}

.secret .secret-member a:hover::after,
.secret .secret-catalog a:hover::after {
    transform: translate(4px, -50%);
}

/* マウスオーバー時：少し浮く（左上へ） */
.secret .secret-member a:hover,
.secret .secret-catalog a:hover {
    transform: translate(-3px, -3px);
}

/* クリック時（active）：少し沈む（右下へ） */
.secret .secret-member a:active,
.secret .secret-catalog a:active {
    transform: translate(3px, 3px);
}


/* メインビジュアルスライダー */
.mv-container {
    width: 100%;
    overflow: hidden;
    position: relative;
}

.mv-item {
    position: relative;
    width: 100%;
}

.mv-item img {
    width: 100%;
    height: auto;
    aspect-ratio: 2 / 1;
    object-fit: cover;
    vertical-align: bottom;
}

.mv-content {
    position: absolute;
    right: 5%;
    bottom: 5%;
    color: #fff;
    z-index: 10;
    text-shadow: 0 0 15px rgba(0,0,0,0.5);
}

.mv-content p {
    margin-bottom: 0;
    font-size: 1rem;
    letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
    .mv-content p {
        font-size: 0.875rem;
    }
}

.slick-prev { left: 30px; z-index: 11; }
.slick-next { right: 30px; z-index: 11; }
