@charset "utf-8";
/* 
サイト固有の記述
*/

/*共通*/
body{
    font-family: "a-otf-ryumin-pr6n", serif;
    font-weight: 300;
    font-style: normal;
}
.en{
    font-family: "garamond-premier-pro-display", serif;
    font-weight: 300;
    font-style: normal;
}
.contents_wrap_720{
    max-width: 720px;
    margin: 0 auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.link_btn04{
    background-color: #003c1e;
    border-radius: 22px;
    font-size: 14px;
    display: block;
    color: #fff;
    width: 100%;
    max-width: 180px;
    margin-left: auto;
    margin-right: auto;
    padding: 10px 0;
    text-align: center;
}
.link_btn04:hover{
    opacity: 0.6;
    -webkit-transition: 0.3s ease-out;
    transition: 0.3s ease-out;
    display: block;
}

.mb10{
	margin-bottom: 10px;
}
.note{
    display: inline-block;
    font-size: 12px;
}
.basic_space1_margin_bottom{
    margin-bottom: 120px !important;
}
.p01_sec03{
    background-color: unset;
    padding: 0;
}
.p01_sec03 .box h3{
    font-size: 19px !important;
}
.basic_space6_margin_bottom{
    margin-bottom: 7px !important;
}
.fz-16{font-size: 16px;}
.fz-18{font-size: 18px;}

h2{
    line-height: 1.5em;
}

ul.ul_tbl01 li .tbl_ttl{
    width: 20%;
}
ul.ul_tbl01 li .tbl_body{
    width: calc(100% - 20%);
}
.gutenberg{
    font-size: 18px;
}
@media screen and (min-width: 767px){	
  .pc { display:block; }
  .sp { display:none; }
}
@media screen and (max-width: 767px){	
  .pc { display:none; }
  .sp { display:block; }
}

/*home*/
#sec08 .flex_2c .box{
    width: calc((100% - 60px) / 2);
}
#sec08 .flex_2c{
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
}
#sec08 figure{
    margin-bottom: 20px;
}
.home #sec08 h3{
    font-size: 21px;
    margin-bottom: 8px;
}
#sec04 .sec04_flex .textbox{
    padding: 0 23% 0 5% !important;
}
#sec04 .sec04_flex .textbox .text_align_center{
    margin-bottom: 20px
}
#sec04 .sec04_flex .textbox p{
    margin-bottom: 20px
}
#sec04 .sec04_flex:nth-child(odd) .textbox{
    padding: 0 5% 0 23% !important;
}
.home #sec04 h3,
.home #sec04 .small_ttl.g-premier{
    font-size: 12px;
}
#sec04 .big_ttl{
    font-size: 36px;
}
#sec04 .sec04_flex:nth-child(odd){
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}
header.absolute #header_wrap h1 a,
header.absolute.after_scroll #header_wrap h1 a{
    height: 40px;
}
header #header_wrap .logo{
    max-height: 40px;
}
.page_title{
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #fff;
    line-height: 1;
    text-align: center;
}
.mv_logo p{
    font-size: 28px !important;
    letter-spacing: 0.05em;
}

.home #sec03 .contents_wrap{
    width: 100%;
    max-width: 900px;
}
.home h2{
    line-height: 1.5em;
}
.home #sec01 p{
    line-height: 2em;
    letter-spacing: 0.05em;
    margin-bottom: 1.5em;
}
.ma_b_3em{
    margin-bottom: 3em;
}
#sec04 .imgbox_01{
    background-image: url(../images/home/sec02_img01.jpg);
    background-size: cover;
    background-position: center;
    aspect-ratio: 4 / 3;
    max-height: 400px;
}
#sec04 .imgbox_02{
    background-image: url(../images/home/sec02_img02.jpg);
    background-size: cover;
    background-position: center;
    aspect-ratio: 4 / 3;
    max-height: 400px;
}

/*SCENE*/
.page-id-335 #sec01 p{
    line-height: 2em;
    letter-spacing: 0.05em;
    margin-bottom: 1.5em;
}
#sec01 p {
    font-size: 16px;
}
.page-id-335 #sec02 .sec02_flex{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
}
.page-id-335 #sec02 .sec02_flex .imgbox{
    width: calc((100% - 2px) / 2);
    margin-right: 2px;
}
.page-id-335 #sec02 .sec02_flex .textbox{
    width: calc(100% / 2);
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-left: calc((100vw - 900px) / 2);
    padding: 45px 0 45px 0px;
    margin-right: 50px;
}
.page-id-335 #sec02 .sec02_flex h3{
    font-size: 21px;
    line-height: 1.5em;
    margin-bottom: 20px;
}
.page-id-1854 #sec02 .sec02_flex h3{
    font-size: 21px;
    line-height: 1.5em;
    margin-bottom: 20px;
}
/* 「北海道の工務店が〜」「北海道の暮らしの魅力を〜」の2セクション共通の余白。
   デザイン上この2つは同じ余白リズムで、違うのは背景色だけ。
   id先頭の「_」は「背景色だけをOFFにする」意味で使う（余白は殺さない） */
.page-id-335 #sec03,
.page-id-335 #_sec03{
    padding: 90px 0;
}
.page-id-335 #sec03{
    background-color: #f5f5f5;
}
.page-id-1854 #sec03,
.page-id-1854 #_sec03{
    padding: 90px 0;
}
.page-id-1854 #sec03{
    background-color: #f5f5f5;
}
.kitchen-contents.contents_wrap{
    max-width: 900px;
}
.flex_3c{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}
.p01_sec03 .flex_3c .box, .p01_sec03a .flex_3c .box{
    width: calc((100% - 80px) / 3);
    margin-right: 40px;
}
.p01_sec03 .flex_3c .box:last-child, .p01_sec03a .flex_3c .box:last-child{
    margin-right: 0;
}
.page-id-335 #sec03 .contents_wrap,
.page-id-335 #_sec03 .contents_wrap{
    margin-bottom: 40px;
}
.page-id-335 #sec03 .basic_space5_margin_bottom,
.page-id-335 #_sec03 .basic_space5_margin_bottom{
    margin-bottom: 20px;
}
.kitchen-contents.contents_wrap{
    margin-bottom: 0 !important;
}
.page-id-335 #sec05 .flex_2{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.page-id-335 #sec05 .flex_2 .imgbox{
    width: calc(100% / 2);
    background-size: cover;
    background-position: center;
}
.page-id-335 #sec05 .flex_2 .txtbox{
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-left: 40px;
    font-size: 14px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.page-id-335 #sec05 .contents_wrap{
    max-width: 900px;
}
.page-id-335 #sec05 .flex_2 h2{
    font-size: 21px;
    line-height: 1.5em;
    margin-bottom: 20px;
}
#sec04 .sec04_flex{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
    max-height: 400px;
    background-color: #f5f5f5;
}
#sec04 .sec04_flex .imgbox{
    width: calc((100% - 2px) / 2);
    margin-right: 2px;
}
#sec04 .sec04_flex .textbox{
        -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: 14px;
    padding: 50px;
}
.page-id-335 #sec04 .line_txt01{
    font-size: 12px;
}
.thumbnail-thumb .next-arrow::before{
    border-top: solid 1px #505050 !important;
    border-right: solid 1px #505050 !important;
}
.thumbnail-thumb .prev-arrow::before{
    border-top: solid 1px #505050 !important;
    border-right: solid 1px #505050 !important;
}

@media screen and (max-width: 900px){
    .mv_logo p {
        font-size: 28px !important;
    }
    header #header_wrap .logo{
        margin-right: 50%;
    }
    #sec08 .flex_2c .box{
        width: calc((100% - 15px) / 2);
    }
    .txt{
        font-size: 12px;
    }
    .home #sec08 h3{
        font-size: 16px;
    }
    #sec04 .sec04_flex .textbox,
    #sec04 .sec04_flex:nth-child(odd) .textbox{
        padding: 10% !important;
    }
    #sec04 .txt{
        margin-top: 10px;
        margin-bottom: 10px;
    }
    .page-id-335 #sec02 .sec02_flex .textbox{
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        padding: 0 10%;
    }
    .page-id-335 #sec02 .sec02_flex .imgbox{
        width: 100%;
        margin-bottom: 10%;
    }
    .page-id-335 #sec03,
    .page-id-335 #_sec03{
        padding: 10% 0;
    }
    .page-id-335 #sec03 h2,
    .page-id-335 #_sec03 h2{
        margin-bottom: 15px !important;
    }
    .p01_sec03 .flex_3c .box, .p01_sec03a .flex_3c .box{
        width: 100%;
        margin-right: 0;
        margin-bottom: 20px;
    }
    .page-id-335 #sec03 .basic_space5_margin_bottom,
    .page-id-335 #_sec03 .basic_space5_margin_bottom{
        margin-bottom: 3px;
    }
    .page-id-335 #sec05 .flex_2 .imgbox{
        width: 100%;
        margin-bottom: 20px;
    }
    .page-id-335 #sec05 .flex_2 .txtbox{
        width: 100%;
        margin-left: 0;
    }
    .page-id-335 #sec05 .flex_2 h2{
        margin-bottom: 10px;
    }
    #sec04 .sec04_flex .imgbox{
        width: 100%;
        margin-right: 0;
    }
    #sec04 .sec04_flex .textbox, #sec04 .sec04_flex:nth-child(odd) .textbox{
        width: 100%;
    }
    .page-id-335 #sec02 .sec02_flex .imgbox{
        margin-right: 0;
    }
    #sec04 .sec04_flex{
        max-height: inherit;
    }
}

@media screen and (min-width: 900px){	
  .pc { display:block !important; }
  .sp { display:none !important; }
}
@media screen and (max-width: 900px){	
  .pc { display:none !important; }
  .sp { display:block !important; }
}

/*access*/
main .page_head.non_b_img{
    background-color: unset !important;
}
main .page_head.non_b_img .page_title{
    color: #505050 !important;
}
.header_drawer_toggle .gnav-trg span, .header_drawer_toggle .gnav-trg::before, .header_drawer_toggle .gnav-trg::after{
    background-color: #fff !important;
}
.page-template-tmpl_page_access .p01_sec13 ul.flex_1c .box{
    aspect-ratio: 11 / 6;
    border: 1px solid #505050;
}
.page-template-tmpl_page_access .p01_sec13 ul li{
    max-height: 340px;
}
.no-link{
    pointer-events:none;
}
.border-link{
    border-bottom: 1px solid #505050;
}
.border-box{
    border: 1px solid #969696;
}
.note{
    font-size: 12px;
}
.Villa-txt{
    background-color: #f5f5f5;
    padding: 25px;
    color: #505050;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}
.Villa-txt h3{
    font-size: 32px;
}
.Villa-txt .s_ttl{
    font-size: 16px;
    margin-right: 10px;
}
.Villa-txt .en_ttl{
   font-size: 16px;
    margin-left: 10px;
}
@media screen and (max-width: 900px){
    main .page_head.non_b_img{
        height: 150px !important;
    }
    .page-template-tmpl_page_access .flex_2c .box{
        width: 100%;
    }
    .basic_space6_margin_bottom{
        margin-bottom: 5px !important;
    }
    ul.flex_2c li:first-of-type.box{
        margin-bottom: 30px;
    }
}

/*company*/
.company-txt{
    color: #505050;
}
.company-txt h3{
    font-size: 21px;
}
.company-txt .s_ttl{
    font-size: 16px;
    margin-right: 10px;
}
@media screen and (max-width: 900px){
    
    .company-txt h3{
        font-size: 16px;
    }
    .company-txt .s_ttl{
        font-size: 12px;
    }
    .ma_t_1em{
        margin-top: 0px !important;
    }
    
    .home .ma_t_1em{
        font-size: 14px;
    }
}

.btn:hover{
    opacity: 0.6;
}

#mv_btn a{
    width: 150px;
    border-radius: 0;
    border: 1px solid #003c1e;
}
#mv_btn a:hover{
    opacity: unset;
    background-color: #fff;
    color: #003c1e;;
}
@media screen and (max-width: 767px){
    #mv_btn{
        right: unset;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        width: 80%;
    }
    #mv_btn a{
        width: 100%;
        border-radius: 3px;
    }
    footer{
        padding: 25px 0 120px;
    }
}

/*villa 春 香*/
.shun .contents_wrap,
.kaoru .contents_wrap,
.our_villa .contents_wrap{
    max-width: 900px !important;
}
.shun .page_title .b_ttl,
.kaoru .page_title .b_ttl,
.our_villa .page_title .b_ttl{
    display: flex;
    align-items: center;
    font-size: 60px;
    border-right: 1px solid #505050;
    padding-right: 40px;
    line-height: 1.1em;
}
.shun .page_title .s_ttl,
.kaoru .page_title .s_ttl,
.our_villa .page_title .s_ttl{
    font-size: 16px;
    margin-right: 15px;
}
.shun .page_title .en,
.kaoru .page_title .en,
.our_villa .page_title .en{
    font-size: 20px;
    display: inline-block;
    margin-top: 5px;
    margin-left: 15px;
}
.shun .page_title .s_ttl,
.kaoru .page_title .s_ttl,
.our_villa .page_title .s_ttl{
    text-align: left;
    padding-left: 40px;
}
.shun .flex_3c .box img,
.kaoru .flex_3c .box img,
.our_villa .flex_3c .box img,
.activity .flex_3c .box img{
    aspect-ratio: 3 / 3;
}
.shun .link_btn03,
.kaoru .link_btn03,
.our_villa .link_btn03{
    font-size: 16px;
    max-width: 360px;
    padding: 15px 0;
}
.more.link_btn03{
    background-color: #a0a0a0;
}
.villa-name{
    margin-bottom: 10px;
}
.p01_sec07 .img_area{
    max-width: 900px;
}
ul.flex_3c.basic_space2_margin_bottom{
    margin-bottom: 50px !important;
}
ul:last-of-type.flex_3c.basic_space2_margin_bottom{
    margin-bottom: 0 !important;
}
.our_villa .p01_sec03 .flex_2c .box,
.shun .p01_sec03 .flex_2c .box,
.kaoru .p01_sec03 .flex_2c .box{
    width: calc((100% - 10px) / 2);
    margin-right: 10px;
}
.our_villa .p01_sec03 .flex_2c .box:last-child,
.shun .p01_sec03 .flex_2c .box:last-child,
.kaoru .p01_sec03 .flex_2c .box:last-child{
    margin-right: 0;
}
.our_villa .flex_2c .box img,
.shun .flex_2c .box img,
.kaoru .flex_2c .box img{
    aspect-ratio: unset;
}
.facility{
    display: inline-block;
    height: 23px;
    padding: 0 0 0 35px;
}
.facility1 {
  background-image: url(../images/icon/facility1.svg);
  background-repeat: no-repeat;
  background-position: 2px 0;
}
.facility2 {
  background-image: url(../images/icon/facility2.svg);
  background-repeat: no-repeat;
  background-position: 0 0;
}
.facility3 {
  background-image: url(../images/icon/facility3.svg);
  background-repeat: no-repeat;
  background-position: 0 0;
}
.facility4 {
  background-image: url(../images/icon/facility4.svg);
  background-repeat: no-repeat;
  background-position: 0 0;
}
.facility5 {
  background-image: url(../images/icon/facility5.svg);
  background-repeat: no-repeat;
  background-position: 0 0;
}
.facility6 {
  background-image: url(../images/icon/facility6.svg);
  background-repeat: no-repeat;
  background-position: 0 0;
}
.facility7 {
  background-image: url(../images/icon/facility7.svg);
  background-repeat: no-repeat;
  background-position: 2px 0;
}
.facility8 {
  background-image: url(../images/icon/facility8.svg);
  background-repeat: no-repeat;
  background-position: 0 0;
}
.facility9 {
  background-image: url(../images/icon/facility9.svg);
  background-repeat: no-repeat;
  background-position: 0 0;
}

@media screen and (max-width: 767px){
    .our_villa main .page_head.non_b_img,
    main.our_villa .page_head.non_b_img,
    .shun main .page_head.non_b_img,
    .kaoru main .page_head.non_b_img{
        height: 300px !important;
    }
    .our_villa main .page_head.non_b_img .page_title,
    main.our_villa .page_head.non_b_img .page_title,
    .shun main .page_head.non_b_img .page_title,
    .kaoru main .page_head.non_b_img .page_title{
        display: block;
    }
    .our_villa .page_title .b_ttl, .shun .page_title .b_ttl, .kaoru .page_title .b_ttl{
        display: block;
        padding: 0;
        border-right: none;
    }
    .our_villa .page_title .s_ttl, .shun .page_title .s_ttl, .kaoru .page_title .s_ttl{
        text-align: center;
        margin-right: 0;
        padding-left: 0;
    }
    .our_villa .page_title .en, .shun .page_title .en, .kaoru .page_title .en{
        display: inherit;
        margin: 0;
        line-height: 2em;
    }
    .our_villa .page_title .s_ttl, .shun .page_title .s_ttl, .kaoru .page_title .s_ttl{
        font-size: 14px;
    }
    .our_villa .gutenberg, .shun .gutenberg, .kaoru .gutenberg{
        font-size: 16px;
    }
    .our_villa .p01_sec13 ul li,
    .shun .p01_sec13 ul li,
    .kaoru .p01_sec13 ul li{
        max-height: 110px;
    }
    .basic_space1_margin_bottom{
        margin-bottom: 60px !important;
    }
    .p01_sec03 .flex_3c .box, .p01_sec03a .flex_3c .box{
        margin-bottom: 40px;
    }
    ul.ul_tbl01 li .tbl_ttl{
        width: 100%;
        padding: 20px 0;
    }
    ul.ul_tbl01 li .tbl_body{
        width: 100%;
        padding: 20px 0;
    }
    ul.ul_tbl01 li:last-child .tbl_ttl{
        border-bottom: none;
    }
    ul.ul_tbl01 li .tbl_ttl{
        border-top: solid 1.5px #4d4d4d;
    }
}

/*ITEM / AMENITY*/
.item-amenity .p01_sec03 .flex_1c_b li{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;

}
.item-amenity .p01_sec03 .flex_1c_b .box .imgbox{
    width: 50%;
}
.item-amenity .p01_sec03 .flex_1c_b .box .textbox{
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}
/*.item-amenity .p01_sec03 .flex_1c_b li:nth-child(even){
    flex-direction: row-reverse;
}*/
@media screen and (max-width: 767px){
    .item-amenity .p01_sec03 .flex_1c_b .box .imgbox{
        width: 100%;
    }
    .item-amenity .p01_sec03 .flex_1c_b .box .textbox{
        width: 100%;
    }
}

/* 20241211 */
.pdf_link{
	display: flex;
	gap: 10px;
	margin-top: 10px;
}
.pdf_link a{
	border: 1px solid #505050;
	padding: 2.5px 18px 3px;
	text-align :center;
}
.pdf_link a:hover{
	opacity: 0.7; 
	transition-property: opacity;
  	transition-duration: 0.5s;
}
#sec04 .villa_list_wrap{
	display: flex !important;
	max-height: 100%;
}
#sec04 .villa_list_wrap .villa_imgbox_01{
	order: -2; 
}
#sec04 .villa_list_wrap .villa_imgbox_02{
	order: -1; 
}
#sec04 .villa_list_wrap .imgbox {
  width: calc(100% / 2) !important;
  margin-right: 0px !important;
}
#sec04 .sec04_flex .textbox {
  padding: 50px 100px 50px !important;
}
#sec04 .villa_list_border{
	border-right: 1px solid #fff;
}

@media screen and (max-width: 767px){
  header .switch_language_site {
    display: block;
    margin-top: 25px;
    margin-right: -50px;
  }
.pdf_link {
		justify-content: center;
		margin-bottom: 20px;
}
#sec04 .villa_list_wrap .imgbox {
  width: 100% !important;
}
#sec04 .villa_list_wrap .villa_imgbox_02 {
  order: initial;
}
#sec04 .villa_list_border{
	border-right: none;
}
}

/* 20250419 */
.box_link{
	position: relative;
}
.box_text_link::after {
  margin-left: 10px;
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: bold;
  -webkit-transition:
0.3s ease-out;
  transition:
0.3s ease-out;
}
.box_link a.box_text_link{
    position: absolute;
    width: 100%;
    height: 100%;
    top:0;
    left: 0;
    text-indent: 100%; /*テキスト非表示*/
    white-space: nowrap; /*テキスト非表示*/
    overflow: hidden; /*テキスト非表示*/
  }
.box_link a.box_text_link:hover{
        opacity:0.6;
        filter: alpha(opacity=60);
        -ms-filter: "alpha( opacity=60 )";
        background: #fff;
  }

/* トップページ */
.swiper-slide a:hover{
	opacity: 0.6
}
.card_our_villas{
	width: 100%;
}
a.card_our_villas_link{
	display: table;
	margin-inline: auto;
	margin-bottom: 5px;
}
a.card_our_villas_link:hover{
	opacity: 0.5;
}
.card_our_villas figure{
	width: 100%
}
.card_our_villas figure > img{
	width: 100%;
	height: 300px;
	object-fit: cover;
}
.card_our_villas .card_our_villas_txtbox{
	background-color: #f5f5f5;
	display: flex;
	gap: 20px;
	padding: 5% 5% 7%;
}
.card_our_villas .card_our_villas_txtbox .txtbox_01{
	text-align: center;
	font-size: 12px;
}
.card_our_villas .card_our_villas_txtbox .txtbox_01 h3.ttl{
	font-size: 36px;
}
.card_our_villas .card_our_villas_txtbox .txtbox_02{
	display: flex;
	flex-flow: column;
  	justify-content: space-between;
}
.card_list li{
	width: calc(100% / 5 - 1px)
}
.card_plan_txtbox{
	flex-flow: column
}
.card_plan_txtbox .card_plan_ttl{
	font-size: 14px;
	height: 40px;
}
.card_plan_txtbox .plan_link{
	text-align: center;
}
.card_plan_txtbox .plan_link span{
	font-size: 10px;
	padding-left: 5px;
}
.card_plan_txtbox .plan_link{
	color: #fff;
	background-color: #003c1e;
	border-radius: 20px;
  	padding: 2px 30px 7px 40px;
	margin: auto;
}
.card_plan_txtbox .plan_link a:hover{
	color: #003c1e;
	background-color: #fff;
	border: 1px solid #003c1e;
}
/* 各ページ */
.card_list_page{
	display: flex;
	gap: 1px;
	margin-bottom: -119px;
}
.card_list_page li{
	width: calc(100% / 4 - 1px)
}
.card_list_page .card_our_villas figure > img {
  width: 100%;
  height: 330px;
  object-fit: cover;
}
/* 和　調整*/
main .page_head.non_b_img.adjustment_01{/* 和　マージン調整*/
	height: 200px;
}
/*.nago .p01_sec03.point02 .flex_3c li.box figure{
	display: none;
}*/
/* スライダー　左右透過 */
.swiper-wrapper{
	gap: 1px !important
}
.swiper-button-next, .swiper-button-prev {
	color: #000 !important;
	font-size: 18px;
	}
.swiper-container-02,.swiper-container-03{
	position: relative;
	width: 100%;
	overflow: hidden;
}
.swiper-container-02 .swiper-pagination,.swiper-container-03 .swiper-pagination{display: none;}/* リセット */
.swiper-button-prev, .swiper-container-rtl .swiper-button-next {background-image: none !important;}
.swiper-button-next, .swiper-container-rtl .swiper-button-prev {background-image: none !important;}
.swiper-button-prev::after, .swiper-rtl .swiper-button-next::after {content: '' }
.swiper-button-next::after, .swiper-button-prev::after { font-size: 30px !important;}
.swiper-button-prev, .swiper-rtl .swiper-button-next {
  top: 50%;
  left: 10% !important;
  right: auto;
}
.swiper-button-next, .swiper-rtl .swiper-button-prev {
  top: 50%;
  right: 10% !important;
  left: auto;
}
.swiper-button-prev::before,.swiper-button-next::before {
		font-size:32px;
		color:#fff;
		font-weight:900;
	}
.swiper-slide{opacity: 0.5}
.swiper-slide-next,.swiper-slide-prev,.swiper-slide-active{ opacity: 1; }

/* news */
.news_list_display.news_non_thum_list .category_name {
  margin-right: 20px;
}
.category_name a {
  background-color: #666;
  color: #fff;
  font-size: 12px;
  padding: 5px 30px;
}
.news_list_display.news_non_thum_list li {
  width: 100%;
  border-bottom: solid 1px #1a1a1a;
  padding: 15px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.news_list_display.news_non_thum_list .news_list_contents span {
  padding-right: 60px;
}
.news_list_display.news_non_thum_list li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  border-bottom: none
}
/* ショップ */
.retail_list{
	display: flex;
	flex-wrap: wrap;
	gap: 1px;
}
.retail_list li{
	position: relative;
	width: calc(100% / 3 - 1px);
}
.retail_list li p {
  position: absolute;
  bottom: 0;
  color: #fff;
  background: rgba(0, 0, 0, 0.5);
  padding: 10px;
  width: 100%;
}
.retail_list li a:hover{
	opacity: 0.7
}

/* about */
.about_villas_wrap article + article{
	margin-top: 10px;
}
.about_ttl{
	font-size: 16px;
	margin-bottom: 10px;
}
.about_villas_wrap{
	background-color: #e6e6e6;
	padding: 90px 0;
}
.access_villas_wrap{/* access */
	background-color: #fff;
	padding: 0px;
}
.access_villas_wrap .about_villas_txtbox {/* access */
  background-color: #f5f5f5;
}
.about_villas{
	display: flex;
	width: min(90%, 900px);
	height: 300px;
	margin-inline: auto;
}
.about_villas_txtbox{
	background-color: #fff;
	padding: 5%
}
.about_villas figure{
	width: min(100%, 542px);
}
.about_villas figure img{
	width: 100%
}
.about_villas_txtbox{
	position: relative;
	width: 358px;
	font-size: 12px;
}
.about_villas_txtbox .txtbox_01{
	display: flex;
	margin-bottom: 30px;
}
.about_villas_txtbox .txtbox_01 div{
	text-align: center;
}
.about_villas_txtbox .ttl{
	font-size: 32px;
}
.about_villas_txtbox .txtbox_02 a{
	margin-top: 60px;
	position: absolute;
	right: 10%;
}
.gm_villas_wrap{/* gm */
	width: min(90%, 900px);
	margin-inline: auto;
}
.gm_villas_list{
	display: flex;
	gap: 60px;
	justify-content: center;
    text-align: justify;
}
.gm_villas_list li{
	width: 50%;
}
.gm_villas_list .ttl{
	font-size: 20px;
	margin-bottom: 20px;
}
.gm_villas_list .profile{
	border-top: 1px solid #333;
	padding-top: 10px;
	margin-top: 30px;
}
/* blog */
.blog_cate_date {
	font-size: 14px;
}
#date a,.blog_cate_date_cate a{
	background-color: #666;
  	color: #fff;
  	font-size: 12px;
  	padding: 5px 30px;
}
.blog_pagenavi{
	font-size: 12px;
}
main .page_head.non_b_img {
  height: 200px !important;
}

@media (max-width: 767px) {
.card_list_page {
  flex-wrap: wrap;
}
.card_list_page li {
  width: calc(100% / 2 - 1px);
}

.card_our_villas .card_our_villas_txtbox {
  gap: 15px;
  padding: 5% 6% 7%;
  flex-flow: column;
}
.card_our_villas .card_our_villas_txtbox .txtbox_01 {
  text-align: center;
  font-size: 10px;
  white-space: nowrap;
}
.card_our_villas .card_our_villas_txtbox .txtbox_02 {
  display: flex;
  flex-flow: column;
  justify-content: space-between;
  font-size: 14px;
}
.card_list_page .card_our_villas figure > img {
  width: 100%;
  height: 230px;
  object-fit: cover;
}
.card_plan_txtbox .card_plan_ttl {
  height: 60px;
}
a.card_our_villas_link{
	display: block;
}
.retail_list li {
  width: calc(100% / 2 - 1px);
}
.retail_list li p {
  line-height: 1.4;
  font-size: 14px;
}
.card_our_villas figure > img{
	height: 150px !important;
}
.swiper-button-next::after, .swiper-button-prev::after {
  position: absolute;
  top: -40px;
  z-index: 5;
}
.card_plan_txtbox .plan_link{
	margin-block: 10px;
}
.card_plan_txtbox .plan_link a {
	border-radius: 12px;
    padding: 0px 15px 5px 20px;
}
.swiper-slide{opacity: 0.5}
.swiper-slide-active{ opacity: 1; }
.card_list_page {
  display: flex;
  gap: 1px;
  margin-bottom: -59px;
}
/* about */
.about_villas_wrap{
	padding: 10% 0;
}
.about_villas {
  height: 100%;
  flex-flow: column;
}
.card_our_villas figure > img {
  height: 180px !important;
}
.about_villas_txtbox{
	width: 100%;
	padding-bottom: 10%;
}
.about_villas_txtbox .txtbox_02 a {
  margin-top: 0px;
}
.gm_villas_list {/* gm */
  gap: 30px;
  flex-flow: column;
}
.gm_villas_list li {
  width: 100%;
}

	}

.no-links{
pointer-events: none;
opacity: 1;
}

.archives_list h2{
    line-height: 1.5em;
    margin-bottom: 20px;
    text-align: justify;
    letter-spacing: 0.025em;
}
/* ①TOPページ新規セクション（sango2.0統合デザイン, 2026-08-11） */
.top_nav_banners { display: flex; flex-direction: column; gap: 80px; list-style: none; padding: 0; margin: 0; }
.top_nav_banners li { width: 100%; }
.top_nav_banner_link { position: relative; display: block; text-decoration: none; }
.top_nav_banner_link figure { margin: 0; aspect-ratio: 21/6; overflow: hidden; }
.top_nav_banner_link img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s cubic-bezier(0.19,1,0.22,1); }
.top_nav_banner_link:hover img { transform: scale(1.05); }
/* 2026-08-18: ディレクター指示によりフォント変更。サイト内の他の英字見出し(AWARD/VILLAS/RESERVE等)と同じ.g-premier(garamond-premier-pro)に統一 */
.top_nav_banner_label { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #fff; background: rgba(0,0,0,0.25); font-size: 28px; letter-spacing: 0.2em; font-family: garamond-premier-pro, serif; font-weight: 400; }
@media screen and (max-width: 767px) { .top_nav_banner_link figure { aspect-ratio: 16/9; } }
.top_award_sec { background: #fff; padding: 110px 0; }
.top_award_list { display: flex; gap: 150px; justify-content: center; flex-wrap: wrap; list-style: none; padding: 0; margin: 0; }
.top_award_ph { width: 140px; height: 140px; display: flex; align-items: center; justify-content: center; text-align: center; font-size: 11px; line-height: 1.6; color: #888; border: 1px dashed #ccc; background: repeating-linear-gradient(45deg, #eee, #eee 10px, #f5f5f5 10px, #f5f5f5 20px); }
/* .top_award_phのプレースホルダーを実ロゴに差し替え。比率まちまちの実ロゴを高さ基準で揃える（2026-08-14） */
.top_award_logo { height: 90px; display: flex; align-items: center; justify-content: center; }
.top_award_logo img { height: 100%; width: auto; object-fit: contain; }
.top_map_placeholder { aspect-ratio: 16/9; max-width: 900px; margin: 0 auto; display: flex; align-items: center; justify-content: center; color: #888; font-size: 13px; border: 1px dashed #ccc; background: repeating-linear-gradient(45deg, #eee, #eee 10px, #f5f5f5 10px, #f5f5f5 20px); }
/* 実画像比率1.69:1のためaspect-ratio固定はやめてimg自然サイズに委ねる（2026-08-14） */
.top_map_img { display: block; width: 100%; max-width: 900px; height: auto; margin: 0 auto; }
/* スクロール後(after_scroll)と下層ページのCONTACTボタン配色。style.css側の同等ルールがheader.absoluteの指定に負けて効かないため、後勝ちのこのファイルで指定（2026-08-16） */
header.absolute.after_scroll #header_wrap .navbar-nav .blank_btn a,
header #header_wrap .navbar-nav .blank_btn a { background-color: #b4b4b4 !important; color: #fff !important; }
/* AWARDロゴ SP調整（2026-08-17）。PC時のgap:150pxのままだとgapだけで300pxとなり375px幅に収まらないため、SPのみgapとロゴ高さを縮めて1行表示にする */
@media screen and (max-width: 767px) {
.top_award_list { gap: 32px; flex-wrap: nowrap; }
.top_award_logo { height: 60px; }
}
/* STORYアンカー（ABOUTページ）。高さを持たせず余白を作らない。固定ヘッダー分はscroll-margin-topで確保（2026-08-17） */
#story { display: block; height: 0; scroll-margin-top: 100px; }
/* VILLAS/DININGバナー間の余白。PCは原稿指定の80px。SPは画面が狭く80pxでは離れすぎるため半分の40px（2026-08-17） */
@media screen and (max-width: 767px) {
.top_nav_banners { gap: 40px; }
}
/* ============================================================
   TOPページ セクション背景色（原稿準拠, 2026-08-17）
   原稿ではfafafaの帯が「バナー」と「NEWS」の2箇所。帯はmarginではなく
   paddingで内側の余白を作り、隣接セクションと隙間なく接する構造。
   原稿実測: バナー帯=上下110px / AWARD(白)=上下約110px / NEWS帯=上下120px
   ============================================================ */
.top_banner_sec { background-color: #fafafa; padding: 110px 0; }
.home_achievement { background-color: #fafafa; padding: 120px 0; }
/* NEWS内側の既存余白(.basic_space1_margin_bottom = 120px !important)は帯のpaddingと
   二重になり約240pxの空白ができるため打ち消す。中身はsectionではなくdiv.contents_wrap */
.home_achievement > *:last-child { margin-bottom: 0 !important; }
/* 帯以外(Retail〜footer手前)は白 */
#dining, .top_map_sec, #sec06, #sec05 { background-color: #fff; }
/* NEWS帯(fafafa)の直後にRetail見出しが密着していたため上余白を追加。
   原稿実測では帯下端→Retail見出しまで114px */
#dining { padding-top: 114px; }
@media screen and (max-width: 767px) {
.top_banner_sec { padding: 55px 0; }
.top_award_sec { padding: 55px 0; }
.home_achievement { padding: 60px 0; }
#dining { padding-top: 60px; }
}
/* ヘッダーCONTACTボタンのhover下線を消す。共通のナビリンクはlinear-gradient(--d変数で幅可変)で
   下線アニメーションを出すが、ボタン表示の.blank_btnでは不要なため打ち消す（2026-08-17） */
#header_wrap .nav_inner .navbar-nav li.blank_btn a,
#header_wrap .nav_inner .navbar-nav li.blank_btn a:hover { background-image: none !important; --d: 0 !important; }

header #header_wrap h1 a{
    height: 40px;
}