@charset "UTF-8";

@import url('https://cdn.jsdelivr.net/npm/yakuhanjp@3.3.1/dist/css/yakuhanmp.min.css');
@import url('https://cdn.jsdelivr.net/npm/yakuhanjp@3.3.1/dist/css/yakuhanjp.min.css');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&family=EB+Garamond:wght@400;500;600;700;800&family=Noto+Sans+JP:wght@200;300;400;500;600;700;900&family=Hind:wght@400;500;600&display=swap');


html,body{font-family: YakuHanMP,'Noto Serif JP', serif;}
.goth{font-family: YakuHanJP,'Noto Sans JP', sans-serif;}
sub{font-size: 0.6em;}

@media screen and (min-width: 769px) {
body{font-size: 16px;line-height:1.5;}
.sp{display: none!important;}
.wrap1024{max-width: 1024px;margin: 0 auto;}
.wrap1280{max-width: 1280px;margin: 0 auto;}
.wrap1400{max-width: 1400px;margin: 0 auto;}
.note{font-size:13px;margin-top: 7px;}
}

@media screen and (max-width: 768px) {
body{font-size: 13px;line-height:1.4;}
.pc{display: none!important;}
.wrap1024,.wrap1280,.wrap1400{max-width: 100%;padding: 0 20px;}
.w100{width: 100vw;margin-left: -20px!important;margin-right: -20px!important;}
.note{font-size:11px;margin-top: 5px;}
article{margin-top: 55px;}
}

/*||||||||||||||||| ヘッダー＆メニュー |||||||||||||||||*/

header{background: rgba(255,255,255,0.7);position: fixed;width: 100%; top: 0;z-index: 1000;left: 0;height: 80px;padding: 0 20px;}
header .header_wrap{display: flex;justify-content: space-between;max-width: 1920px;margin: 0 auto;align-items: center;flex-wrap: wrap;}
.h_active header{background: rgba(255,255,255,0);}
header.fixed{box-shadow: 0px 0px 0.3em 0.1em #d3d3d3;}
.h_active header.fixed{box-shadow: none;}

header h1{padding: 10px 0 0 0;}
header h1 a{display: inline-block;}
header h1 a::before{content: "";width: 100%; height: 100%;position: absolute;left: 0;top: 0;pointer-events: none;background: url("../img/grandtoile_logo.png") no-repeat left center/contain;}
header h1 img{width: 442px;}

@media (min-width: 769px) and (max-width: 1024px) {
header h1 img{width:310px;}
}

/* PC用右上ボタン */
.pc_header_menu_r{display: flex;justify-content: flex-end;margin: 10px 60px 0 0;}
.pc_header_menu_r li{width: 170px;margin-left: 1%;}
.pc_header_menu_r li::before{content: "";display: block; width: calc(100% - 12px);height: calc(100% - 12px);border: 1px solid #fff;position: absolute;top:0;bottom:0;left:0;right: 0;margin: auto;z-index: 1;pointer-events: none;}

/*資料請求・来場予約ボタン*/
a.re_roleover{display: block;text-align: center;box-sizing: border-box;padding:8px 0;color:#fff;font-size:15px;overflow: hidden;position: relative;transition: .3s;letter-spacing: 0.15em;}
a.re_roleover::before{content: "";position: absolute;top: 0;left: 0;z-index: -1; width: 150%;height: 100%;transform-origin: right top;transform: skewX(-30deg) scale(0, 1);transition: transform .3s;background: #fff;}
a.re_roleover::after{content: "";position: absolute; z-index: -2;top: 0;left: 0;width: 100%;height: 100%;display: block;}
.pc_header_menu_r a.re_roleover span{display: block;border-top: 1px solid #fff;width: calc(100% - 18px);margin: 0 auto;font-size: 12px;letter-spacing: 0.1em;}

.request_btn a{border:1px solid #6b9d91;border-image: linear-gradient(125deg,#004D59,#83A8AE);border-image-slice: 1;}
.request_btn a::after{content: "";background: linear-gradient(125deg,#004D59,#83A8AE);}

.reservation_btn a{border:1px solid #896c0e;border-image: linear-gradient(125deg,#896c0e,#b1a46d);border-image-slice: 1;}
.reservation_btn a::after{content: "";background: linear-gradient(125deg,#896c0e,#b1a46d);}

/*ハンバーガーメニュー*/
.hb_menu{position: absolute;top: 8px;width: 40px;height: 45px;right: 0;z-index: 10;transition: all 0.3s;cursor: pointer;display: block;pointer-events: painted;}
.hb_menu::after{content: "MENU";position: absolute;bottom: -1.2em;font-size: 12px;display: block;width: 100%;text-align: center;left: 0;color: #50093e;}
.hb_menu span{display: block;height: 4px;width: 100%;position: absolute;top:0;bottom: 0;left: 0;margin: auto 0;}
.hb_menu span i{display: block;height: 100%;width: 100%;transition: all 0.3s;background: #50093e;}
.hb_menu span::before,
.hb_menu span::after{content:"";position: absolute;left: 0;display: block;height: 100%;width: 100%;background: #50093e;transition: all 0.3s;}
.hb_menu span::before{top: -11px;}
.hb_menu span::after{bottom: -11px;}

.h_active .hb_menu span::before{transform: rotate(-135deg);top: 0;right: 0;}
.h_active .hb_menu span::after{transform: rotate(135deg);bottom: 0;right: 0;width: 100%;}
.h_active .hb_menu span i{display: none;}
.h_active .hb_menu::after{content: "CLOSE";}

/* メニュー */
.menu_wrap{width: 100%;opacity: 0;pointer-events: none;background: rgba(255,255,255,0.95);height: 100%;position: fixed;top: 0;left: 0; z-index: 900;padding-top: 80px;transition: 0.3s all;transform: translateY(-3%);}
.h_active .menu_wrap{transform: translateY(0%);pointer-events: painted;opacity: 1;}
.menu{display: flex;flex-wrap: wrap;height: 94%;border-top: solid 1px #888;}
.menu a{text-align: center;border-right: solid 1px #888;border-bottom: solid 1px #888;width: 25%;display: flex;justify-content: center;align-items: center;flex-direction: column;color: #333;font-size: 16px;transition: 0.5s all;}
.menu a:nth-of-type(4n){border-right: none;}
.menu a span{font-size: 0.9em;color: #4f093f;}

/* セレクトページ */
#top .menu a[href$="./"],
#redevelopment .menu a[href$="./redevelopment/"],
#location .menu a[href$="./location/"],
#access .menu a[href$="./access/"],
#town_planning .menu a[href$="./town_planning/"],
#plan .menu a[href$="./plan/"],
#model_house .menu a[href$="./model_house/"],
#quality .menu a[href$="./quality/"],
#map .menu a[href$="./map/"],
#outline .menu a[href$="./outline/"]
{background: rgba(0,0,0,0.05);pointer-events: none;}

/* 非公開 */



@media screen and (min-width: 769px){
header h1 a:hover img{opacity: 0.6;}

header.fixed{height: 70px;}
header.fixed a.re_roleover span{display: none;}
header.fixed h1 img{width: 370px;}
header.fixed .hb_menu{top: 3px;}
.h_active header.fixed + .menu_wrap{padding-top: 70px;}

.menu a:hover{background: rgba(0,0,0,0.05);}

a.re_roleover:hover::before{content: "";transform-origin: right top;transform: skewX(-30deg) scale(1, 1);}
.request_btn a:hover{color:#6b9d91;}
.pc_header_menu_r .request_btn a:hover span{border-top-color:#6b9d91;}
.reservation_btn a:hover{color:#896c0e;}

}





/*||||||||||||||||| スマホ版メニュー（全ページ共通） |||||||||||||||||*/
/* 固定メニュー */
@media screen and (max-width: 768px) {

header{height: 55px;padding: 0;}
header .header_wrap{display: block;pointer-events: none;}

header h1{padding: 10px;background: rgba(255,255,255,1);width: 100%;z-index: 100;}
header h1 a{pointer-events: painted;}
header h1 img{width:100%;max-width: 260px;}

.pc_header_menu_r{display: none;}


/*ハンバーガーメニュー*/
.hb_menu{top: 5px;width: 30px;height: 32px;right: 15px;z-index: 110;}
.hb_menu::after{bottom: -1.3em;font-size: 10px;}
.hb_menu span{height: 3px;}
.hb_menu span::before{top:-9px;}
.hb_menu span::after{bottom:-9px;}

/* メニュー */
.menu_wrap{padding: 55px 0 55px;}
.menu{width: 99%;margin: 0 auto;}
.menu a:nth-of-type(even){width: 49.5%;border-right:none;}
.menu a:nth-of-type(odd){width: 50.5%;border-left:none;}
.menu a{font-size: 15px;}
.menu a span{font-size: 12px;}
}


/*||||||||||||||||| フッター（全ページ共通） |||||||||||||||||*/
footer{padding: 80px 0 0;}

footer .footer_re_btn{display: flex;justify-content: space-between;width:100%;}
footer .footer_re_btn li{width: 48%;/* width: 620px; */}
footer .footer_re_btn li::before{content: "";display: block; width: calc(100% - 16px);height: calc(100% - 16px);border: 1px solid #fff;position: absolute;top:0;bottom:0;left:0;right: 0;margin: auto;z-index: 1;pointer-events: none;}

footer .footer_re_btn a{font-size: 23px;padding: 17px 0 15px;line-height: 1.2;display: block;letter-spacing: 0.05em;/* background: url("../img/rq_btn_bk.png") no-repeat left center/contain; */}
footer .footer_re_btn a span{font-size: 14px;letter-spacing: 0.05em;}

footer .footer_note{margin-top: 50px;padding: 0;}
footer .footer_note p{padding-left:1em;text-indent:-1em;}

footer .footer_support{width:100%;padding: 50px 0 50px;margin-top: 50px;border-top: 1px solid #aaa;border-bottom: 1px solid #aaa;background: #f7f7f7;}
footer .footer_support > div{display: flex;justify-content: space-between;flex-wrap: wrap;align-items:center;}

footer .f_logo{text-align: right;}
footer .f_logo img{width:252px;display: inline;margin-bottom: 10px;position: relative;}
footer .f_logo a::before{content: '＜販売代理＞';position: relative;top: -18px;right: 5px;font-size: 14px;}
footer .f_logo p{text-align: right;}
footer .f_logo a{color: #000;}
footer .copyright{font-size: 14px;width: 100%;text-align: right;padding-top: 15px;padding-bottom: 15px;}

footer .foot_tel{font-size:54px;display: inline-block;line-height: 1;letter-spacing: 0.07em;font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;}
footer .foot_tel::before{content:"";background: url("../img/freedial_logo.svg") no-repeat center center/contain;display: inline-block;width: 69px;height: 44px;vertical-align: -3px;margin-right: 10px;}
footer .foot_tel span{font-size: 13px;margin-top: 15px; display: block;letter-spacing: 0;}

@media only screen and (min-width: 769px) {
footer .footer_re_btn a:hover{background: none;}
footer .f_logo a:hover{opacity: 0.7;}
}

@media only screen and (max-width: 1400px) {
footer .footer_btn{order: 1;width: 100%;}
footer .support{order: 2;}
footer .f_logo{order: 3;}
footer .copyright{order: 4;}
}
@media only screen and (max-width: 850px) {
footer .foot_tel{letter-spacing: 0;}
}

@media only screen and (max-width: 800px) {
footer .footer_re_btn a span{font-size: 1vw;}

footer .footer_support > div{justify-content: center;}
footer .copyright{text-align: center;}
}

@media only screen and (max-width: 768px) {
footer{padding: 45px 0 55px;}

footer .footer_re_btn{display: block;width:100%;}
footer .footer_re_btn li{width: 100%;max-width: 410px;margin: 0 auto;}
footer .footer_re_btn li:nth-of-type(n+2){margin-top: 10px;}
footer .footer_re_btn a{font-size: 20px;padding: 15px 0;margin: 0;}
footer .footer_re_btn a span{font-size: 12px;line-height: 1.4;display: block;margin-top: 7px;}

footer .footer_note{margin-top: 30px;padding: 0;}

footer .footer_support{width:100%;padding: 20px 0;margin-top: 30px;}

footer .footer_btn{justify-content:space-between;margin: 20px;}
footer .footer_btn a{width:48%;max-width: 250px;margin: 0;font-size: 14px;box-shadow: 0px 0px 0px 4px #004c80;height: 40px;}

footer .support{padding-left: 0;order: 1;}
footer .f_logo{padding-right: 0;text-align: center;}
footer .f_logo img{width:210px;display: inline;margin-bottom: 10px;}
footer .f_logo a::before{top: -17px;right: 5px;font-size: 11px;}
footer .f_logo a{color: #000;margin-top: 7px;margin-bottom: 7px;display: inline-block;}
footer .copyright{font-size: 12px;width: 100%;padding-right: 0;}

footer .foot_tel{font-size:40px;display: inline-block;text-align: right;line-height: 1;}
footer .foot_tel::before{width: 40px;height: 39px;vertical-align: -9px;margin-right: 10px;}
footer .foot_tel span{font-size: 12px;margin-top: -2px;}

/* SP版フットメニュー */
.footmenu{display: flex;position: fixed;bottom: 0;left: 0;width: 100%;z-index: 11000;}
.footmenu > *{flex: 1;}
.footmenu a{text-align: center;color: #fff;border-right: 1px solid #fff;padding: 8px 0 3px;}
.footmenu a img{width: 22px;}
.footmenu a p{margin-top: 5px;line-height: 1;font-size: 9px;height: 2em;display: flex;justify-content: center;align-items: center;}
.footmenu a:last-of-type{border-right: none;}
.footmenu .fm_tel{background: #84296d;}
.footmenu .fm_rq{background: #641450;}
.footmenu .fm_me{background: #50093e;border-right: 1px solid #fff;}
.footmenu .fm_map,
.footmenu .fm_rs{background: #641450;}
.footmenu .fm_ol{background: #84296d;}
.footmenu .fm_me .hb_menu{right: 0;left: 0;margin: 0 auto;bottom: auto;top: 5px;}
.footmenu .fm_me .hb_menu::after{bottom: -1.5em;color: #fff;}
.footmenu .hb_menu span i{background: #fff;}
.footmenu .hb_menu span::before,
.footmenu .hb_menu span::after{background: #fff;}

footer{padding: 45px 0 0;}
.footmenu{display: none;}
}

/* トップへ戻るボタン */
a#page_top{text-decoration: none;background: #fff;border-radius: 50px;box-shadow:2px 2px 5px 1px #c9c9c9;width: 60px;height: 60px;position: fixed;right: 30px;bottom: 150px;box-sizing: border-box;display: block;display: flex;justify-content:center;align-items:center;opacity: 0.9;z-index: 20;}
a#page_top::before{font-family: "Font Awesome 5 Free";content: '\f106';font-size: 22px;color: #555;font-weight: 900;}

@media only screen and (max-width: 768px) {
a#page_top{width: 40px;height: 40px;right: 10px;bottom: 100px;z-index: 100000;}
}


/*||||||||||||||||| 下層ページ共通 |||||||||||||||||*/
.layer_rich_main{max-width: 1920px;margin: 0 auto;}
.layer_rich_main .page_tit{/* font-size: 28px; */font-size: 1.46vw;color: #fff;letter-spacing: 0.1em;filter: drop-shadow(0 0 0.1em #000) drop-shadow(0 0 0.1em #000);opacity: 0;animation: 4s fadeIn 0s forwards;position: absolute;top: 28%;left: 10%;z-index: 1;}
.layer_rich_main .page_tit::before{content: "";width: 10.714em;height: 2.321em;display: block;background: url("../img/rebirth_logo.svg") no-repeat center center/contain;margin-bottom: 1em;}

.layer_main{height: 150px;display: flex;justify-content: center;align-items: center;text-align: center;background: url("../img/intro_bk.jpg") no-repeat center top/cover;}
.layer_main .page_tit{font-size: 28px;letter-spacing: 0.1em;padding-left: 0.1em;opacity: 0;animation: 4s fadeIn 0s forwards;line-height: 1;}

.lead_area{background: url("../img/intro_bk.jpg") no-repeat center top/cover;height: 190px;display: flex;justify-content: center;align-items: center;text-align: center;font-size: 30px;animation-name: fadeInUp;letter-spacing: 0.05em;}
.lead_area span{display: inline-block;}

.contents_tit{font-size: 28px;text-align: center;letter-spacing: 0.05em;}
.contents_tit big{display: block;font-size: 2em;margin-bottom: 0.2em;}
.contents_tit + *{margin-top: 1.2rem;}
.contents_tit + p{margin-top: 1.2rem;text-align: center;line-height: 1.7;}

.item_tit{font-size: 24px;letter-spacing: 0.05em;}
.item_tit + p{margin-top: 0.5em;line-height: 1.7;}

.layer section{padding: 50px 0 80px;animation-name: fadeInUp;}
.layer section:last-of-type{padding-bottom: 0;}
.layer section *{animation-name: fadeInUp;}


@media only screen and (min-width: 769px) {
.layer article{margin-top: 80px;}
.column3{display: flex;flex-wrap: wrap;}
.column3 > *{width: 31.25%;max-width: 320px; margin: 20px 3.125% 0 0;}
.column3 > * figcaption span{display: inline-block;}
.column3 > *:nth-of-type(3n-1){animation-delay: 0.2s;}
.column3 > *:nth-of-type(3n){margin-right: 0;animation-delay: 0.4s;}
}

@media only screen and (min-width: 1921px) {
.layer_rich_main{background-size: cover !important;}
.layer_rich_main .page_tit{font-size: 28px;}
}

@media only screen and (max-width: 768px) {
.layer_rich_main{}
.layer_rich_main .page_tit{font-size: 5vw;left: 5%;filter: drop-shadow(0 0 0.2em #000) drop-shadow(0 0 0.2em #000) drop-shadow(0 0 0.2em #000) drop-shadow(0 0 0.2em #000);}

.layer_main{height: 120px;}
.layer_main .page_tit{font-size: 23px;}

.lead_area{background: url("../img/intro_bk.jpg") no-repeat left top/cover;height: 150px;font-size: 22px;padding: 0 10px;}

.contents_tit{font-size: 18px;width: 100vw;margin: 0 -20px;}
.contents_tit + p{text-align: left;}

.item_tit{font-size: 17px;}
.item_tit + p{text-align: left;margin-top: 10px;line-height: 1.5;}

.layer section{padding: 40px 0;}
.layer section:last-of-type{padding-bottom: 0;}

/* .column3{justify-content: center;}
.column3 > *{width: 48%;margin: 15px 4% 0 0;}
.column3 > *:nth-of-type(even){margin-right: 0;animation-delay: 0.2s;} */
.column3{width: 100vw;margin: 15px -20px 0!important;}
.column3 figure{width: 70vw;margin: 0 2vw;}
.column3 figure img{width: 100%;}
.column3 figcaption span{display: inline-block;}
.column3 .slick-arrow{height: 28px;position: absolute;top: 0;bottom: 1em;margin: auto 0;filter: drop-shadow(0 0 0.2em #000) drop-shadow(0 0 0.3em #000);z-index: 1;cursor: pointer;}
.column3 .slick-arrow img{height: 100%;}
.column3 .prev_btn{left: 5%;}
.column3 .next_btn{right: 5%;}
.column3 .slick-dots{top: 39vw;}
.column3 .slick-dots li{width: 5px;height: 5px;background: #fff;border-radius: 50%;margin: 0 5px;}
.column3 .slick-dots li.slick-active{background: #0039b9;filter: drop-shadow(0 0 0.5vw #fff) drop-shadow(0 0 0.5vw #fff) drop-shadow(0 0 0.5vw #fff) drop-shadow(0 0 0.5vw #fff) drop-shadow(0 0 0.5vw #fff) drop-shadow(0 0 0.5vw #fff);outline: 1px solid #fff;}
.column3 .slick-dots li button,
.column3 .slick-dots li button::before{opacity: 0;pointer-events: none;}

.swipe_img{overflow-x: scroll;}
.swipe_img img{max-width: none;height: 100%;width: auto;}
.swipe{background-color: rgba(239,239,239,1);padding: 10px 0;text-align: center;margin: 2vw auto 0; width: 220px;transition: 0.2s all;position: absolute;left: 0;right: 0;top: 50%;transform: translateY(-50%);z-index: 2;border: 2px solid #fff;}
.swipe span::before{content: "";display: inline-block;width: 30px;height: 25px;background: url("../img/swipe_i.svg") no-repeat center center/contain;vertical-align: -0.7em;margin-right: 10px;}
.swipe.hide{opacity: 0;}


}

/* キャプション類 */
.cap_w,
.cap_wb,
.cap_b,
.cap_bw,
.cap_l{font-size: 12px;position: absolute;right: 1em;bottom: 0.8em;z-index: 1;line-height: 1.4;}
.cap_w{color: #fff;}
.cap_wb{color: #fff;text-shadow: 0 0 0.2em rgba(0,0,0,1),0 0 0.2em rgba(0,0,0,1),0 0 0.2em rgba(0,0,0,1),0 0 0.2em rgba(0,0,0,1);}
.cap_b{color: #000;}
.cap_bw{text-shadow: 0px 0px 0.1em rgba(255,255,255,0.9),0px 0px 0.1em rgba(255,255,255,0.9),0px 0px 0.1em rgba(255,255,255,0.9),0px 0px 0.1em rgba(255,255,255,0.9);}
.cap_o{font-size: 12px;margin-top: 0.5em;text-align: right;position: static;}
.cap_ol{font-size: 12px;margin-top: 0.5em;position: static;}
.cap_l{right: auto;left: 1em;}

.layer figcaption{animation-name: fadeIn;}

.bnrArea{margin:0 auto 80px;animation-name: fadeInUp;}
.bnrArea a:hover{opacity: 0.8;}

@media only screen and (max-width: 768px) {
.cap_w,
.cap_wb,
.cap_b,
.cap_bw,
.cap_l{font-size: 11px;}
.cap_o{font-size: 11px;}
.cap_ol{font-size: 11px;}
.w100 .cap_o{padding-right: 20px!important;}

.bnrArea{margin:0 auto 50px;}
}