/* sub_top */
.sub_visual { position: relative; height: 430px; overflow: hidden; }
.sub_visual .bg { z-index: 1; position: absolute; top: 0; left: 0; width: 100%; height: 100%; transform-origin: center; }
.sub_visual .bg { animation: suv_bg forwards linear 5s; }
@keyframes suv_bg {
    0% { transform: scale(1.1); }
    100% { transform: scale(1); }
}
.sub_visual.sub1 .bg { background: url(/image/sub/subcommon/subtop_bg1.jpg) no-repeat center/cover; }
.sub_visual.sub2 .bg { background: url(/image/sub/subcommon/subtop_bg2.jpg) no-repeat center/cover; }
.sub_visual.sub3 .bg { background: url(/image/sub/subcommon/subtop_bg3.jpg) no-repeat center/cover; }
.sub_visual.sub_cont .bg { background: url(/image/sub/subcommon/subtop_bg1.jpg) no-repeat center/cover; }

.sub_visual .frame { z-index: 2; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.55); }
.sub_visual .txtbox { z-index: 3; position: relative; top: 100px; height: calc(100% - 100px); padding: 0 20px; }
.sub_visual .txtbox .texts { position: relative; top: 50%; transform: translateY(-50%); text-align: center; }
.sub_visual .txtbox .text1 { font-family: "Playfair Display";  font-weight: 800; font-size: 50px; line-height: 1.2; color: #fff; }
.sub_visual .txtbox .text2 { margin-top: 5px; font-weight: 300; font-size: 20px; color: #fff; line-height: 1.25; }

@media (max-width: 1535px) {
    .sub_visual { height: 380px; }
    .sub_visual .txtbox { top: 90px; height: calc(100% - 90px); }
}
@media (max-width: 1279px) {
    .sub_visual { height: 340px; }
    .sub_visual .txtbox { top: 80px; height: calc(100% - 80px); }
}
@media (max-width: 1023px) {
    .sub_visual { height: 280px; }
    .sub_visual .txtbox { top: 70px; height: calc(100% - 70px); }
    .sub_visual.sub1 .bg { background-position-x: 90%; }
    .sub_visual.sub2 .bg { background-position-x: 70%; }
    .sub_visual.sub3 .bg { background-position-x: 80%; }
}
@media (max-width: 767px) {
    .sub_visual { height: 240px; }
    .sub_visual .txtbox { top: 60px; height: calc(100% - 60px); }
}

/* sub_common */
.sub_sect { position: relative; padding: 80px 0; overflow: hidden; }
.sub_sect .sub_tit { padding-bottom: 60px; text-align: center; font-family: "Playfair Display";  font-weight: 800; font-size: 45px; line-height: 1.2; color: #000; }

/* sub1_1 */
.sub1_1 .textbox { text-align: center; }
.sub1_1 .textbox .text1 { font-weight: 300; font-size: 22px; color: #666; line-height: 1.5; }
.sub1_1 .textbox .text2 { font-size: 30px; color: #000; line-height: 1.4; }
.sub1_1 .cont1 { margin: 60px 0; }
.sub1_1 .cont1 dl { display: flex; flex-wrap: nowrap; align-items: center; background-color: #f7f3ed; }
.sub1_1 .cont1 dl dt { width: 50%; }
.sub1_1 .cont1 dl dt img { width: 100%; }
.sub1_1 .cont1 dl dd { width: 50%; padding: 70px; }
.sub1_1 .cont1 dl dd .cont2 { font-size: 22px; color: #b0873a; }
.sub1_1 .cont1 dl dd .cont2 * { font-size: inherit; color: inherit; }
.sub1_1 .cont1 dl dd .cont2 p { display: flex; flex-wrap: nowrap; align-items: center; }
.sub1_1 .cont1 dl dd .cont2 p:nth-of-type(n + 2) { margin-top: 25px; }
.sub1_1 .cont1 dl dd .cont2 p span { display: inline-block; margin-right: 15px; width: 9px; height: 5px; background-color: #b0873a; }
@media (max-width: 1535px) {
    .sub1_1 .cont1 dl dd { padding: 60px; }
    .sub1_1 .cont1 dl dd .cont2 p:nth-of-type(n + 2) { margin-top: 23px; }
}
@media (max-width: 1279px) {
    .sub1_1 .cont1 dl dd { padding: 50px; }
    .sub1_1 .cont1 dl dd .cont2 p:nth-of-type(n + 2) { margin-top: 20px; }
}
@media (max-width: 1023px) {
    .sub1_1 .cont1 dl dd { padding: 40px; }
    .sub1_1 .cont1 dl dd .cont2 p:nth-of-type(n + 2) { margin-top: 17px; }
}
@media (max-width: 767px) {
    .sub1_1 .textbox .text1 br { display: none; }
    .sub1_1 .cont1 dl { display: block; }
    .sub1_1 .cont1 dl dt { width: 100%; }
    .sub1_1 .cont1 dl dd { width: 100%; padding: 30px; }
    .sub1_1 .cont1 dl dd .cont2 p:nth-of-type(n + 2) { margin-top: 15px; }
}

/* sub2_1 */
.sub2_1 .mapcont { position: relative; height: 440px; border: 1px solid #e1e1e1; }
.sub2_1 .mapcont iframe { width: 100%; height: 100%; }
.sub2_1 .contents { margin-top: 90px; }
.sub2_1 .contents .cont1 { display: flex; flex-wrap: nowrap; justify-content: space-between; }
.sub2_1 .contents .cont1 > li { width: 47.5%; }
.sub2_1 .contents .cont1 > li strong { display: block; margin-bottom: 15px; font-weight: 600; font-size: 24px; color: #3c3c3c; }
.sub2_1 .contents .snscont { margin-top: 20px; display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: center; font-size: 17px; color: #636363; }
.sub2_1 .contents .snscont a { display: inline-flex; flex-wrap: nowrap; align-items: center; }
.sub2_1 .contents .snscont a img { display: inline-block; margin-right: 7px; width: 25px; }
.sub2_1 .contents .cont2 { padding: 70px 50px; background-color: #f3f3f3; border-radius: 20px; }
.sub2_1 .contents .cont3 { display: flex; flex-wrap: nowrap; }
.sub2_1 .contents .cont3.ver2 { margin-top: 55px; }
.sub2_1 .contents .cont3 .left { min-width: max-content; margin-right: 17px; }
.sub2_1 .contents .cont3 .left img { width: 28px; }
.sub2_1 .contents .cont3 .right { width: 100%; font-size: 18px; line-height: 1; }
.sub2_1 .contents .cont3 .right * { font-size: inherit; line-height: inherit; }
.sub2_1 .contents .cont3 .right .scr1 { font-size: 18px; color: #000; line-height: 1.38; }
.sub2_1 .contents .cont3 .right .scr2 { display: flex; flex-wrap: nowrap; align-items: center; }
.sub2_1 .contents .cont3 .right .scr2:nth-of-type(n + 2) { margin-top: 20px; }
.sub2_1 .contents .cont3 .right .scr2 b { display: inline-block; width: 130px; min-width: 130px; font-weight: 500; color: #b59887; }
.sub2_1 .contents .cont3 .right .scr2 span { display: inline-block; width: 100%; color: #5e5e5e; }
@media (max-width: 1535px) {
    .sub2_1 .mapcont { height: calc(250px + 12vw); }
    .sub2_1 .contents .snscont a img { margin-right: 6px; width: 22px; }
    .sub2_1 .contents .cont2 { padding: 60px 40px; border-radius: 17px; }
    .sub2_1 .contents .cont3 .left { margin-right: 15px; }
    .sub2_1 .contents .cont3 .left img { width: 25px; }
    .sub2_1 .contents .cont3 .right .scr2:nth-of-type(n + 2) { margin-top: 17px; }
    .sub2_1 .contents .cont3 .right .scr2 b { width: 120px; min-width: 120px; }
}
@media (max-width: 1279px) {
    .sub2_1 .mapcont { height: calc(220px + 9vw); }
    .sub2_1 .contents .cont1 { display: block; }
    .sub2_1 .contents .cont1 > li { width: 100%; }
    .sub2_1 .contents .cont1 > li:nth-of-type(n + 2) { margin-top: 30px; }
    .sub2_1 .contents .snscont a img { margin-right: 5px; width: 22px; }
    .sub2_1 .contents .cont2 { padding: 50px 30px; border-radius: 15px; }
    .sub2_1 .contents .cont3 .left { margin-right: 13px; }
    .sub2_1 .contents .cont3 .left img { width: 22px; }
    .sub2_1 .contents .cont3 .right .scr2:nth-of-type(n + 2) { margin-top: 15px; }
    .sub2_1 .contents .cont3 .right .scr2 b { width: 110px; min-width: 110px; }
}
@media (max-width: 1023px) {
    .sub2_1 .contents .snscont a img { width: 20px; }
    .sub2_1 .contents .cont2 { padding: 30px 20px; border-radius: 13px; }
    .sub2_1 .contents .cont3 .left { margin-right: 11px; }
    .sub2_1 .contents .cont3 .left img { width: 20px; }
    .sub2_1 .contents .cont3 .right .scr2:nth-of-type(n + 2) { margin-top: 13px; }
    .sub2_1 .contents .cont3 .right .scr2 b { width: 100px; min-width: 100px; }
}
@media (max-width: 767px) {
    .sub2_1 .mapcont { height: calc(150px + 7vw); }
    .sub2_1 .contents .cont2 { padding: 15px; border-radius: 10px; }
    .sub2_1 .contents .cont3 .left img { width: 18px; }
    .sub2_1 .contents .cont3 .right .scr2:nth-of-type(n + 2) { margin-top: 11px; }
}
@media (max-width: 560px) {
    .sub2_1 .contents .snscont { display: block; }
    .sub2_1 .contents .snscont > div:nth-of-type(n + 2) { margin-top: 12px; }
}
@media (max-width: 360px) {
    .sub2_1 .contents .cont3 .right .scr2 b { width: 80px; min-width: 80px; }
}


/* sub3_1 */
.sub3_1 .contents { display: flex; flex-wrap: wrap; justify-content: space-between; }
.sub3_1 .contents > li { width: 47%; }
.sub3_1 .contents > li:nth-of-type(n + 3) { margin-top: 3%; }
.sub3_1 .contents > li .top { padding: 25px 20px; font-weight: 600; font-size: 24px; color: #845b43; background-color: #f1eeec; border-top: 1px solid #adadad; }
.sub3_1 .contents > li .mid { padding: 20px; font-size: 18px; color: #717171; line-height: 1.55; }
@media (max-width: 1535px) {
    .sub3_1 .contents > li .top { padding: 22px 17px; }
    .sub3_1 .contents > li .mid { padding: 17px; }
}
@media (max-width: 1279px) {
    .sub3_1 .contents > li .top { padding: 18px 15px; }
    .sub3_1 .contents > li .mid { padding: 15px; }
}
@media (max-width: 1023px) {
    .sub3_1 .contents { display: block; }
    .sub3_1 .contents > li { width: 100%; }
    .sub3_1 .contents > li:nth-of-type(n + 3) { margin-top: initial; }
    .sub3_1 .contents > li:nth-of-type(n + 2) { margin-top: 15px; }
    .sub3_1 .contents > li .top { padding: 15px 12px; }
    .sub3_1 .contents > li .mid { padding: 12px 0; }
}