/*  Color
----------------------------------------------- */
:root{
  --maincolor : #f7f7f7; 
  --accentcolor : #e94f0d;
  --light-yellow : #f3efea;
  --light-gray : #dfdfdf;
  --dark-gray : #3e3a39;
  --darkest-gray : #403a39;
  --textcolor : #332e21;
  --light-textcolor : #f4efe9;
  --border : #b2b0b0;

  --yodoya : #183e7f;
  --aoi : #5c6958;
  --sin : #874d2f;
}


/*  Base
----------------------------------------------- */
html{scroll-padding-top: 150px;}
html:not(.cc-m-all){scroll-behavior: smooth;}

body, a, p, h1, h2, h3, li, span{
    padding: 0;
    margin: 0;
}
body.overflow{
   overflow: hidden;
}
body{
  -webkit-text-size-adjust: 100%;
}


dl, ol, ul{
    padding: 0 !important;
    margin: 0 !important;
}

a{color: var(--textcolor);}
a:hover { text-decoration:none; }


h1.j-blog-post--headline {font-family: "Zen Kaku Gothic New", sans-serif !important;}
h2 {font-family: "Zen Kaku Gothic New", sans-serif !important;}
h3{
    font-size: 30px !important;
    letter-spacing: 0.05em;
    font-family: "Zen Kaku Gothic New", sans-serif !important;
}
#content h3{
    margin: 120px 0 60px !important;
    color: var(--accentcolor);
    text-align: center;
}
#content h3 span{
    display: block;
    font-size:13px;
    letter-spacing: 0;
    color: var(--textcolor);
}

body, p {
    font-size: 14px;
    line-height:1.8;
    font-family: "Zen Kaku Gothic New", sans-serif !important;
    font-weight: 400;
    font-style: normal;
    color: var(--textcolor);
}

ul, li{
    list-style:none;
}

.sp-only{display:none;}
.pc-only, .pcS-only{display:block;}

@media screen and (max-width: 1139px) {
   /* 表示領域が1139px以下の場合に適用するスタイル */
.pcS-only{display:none;}
}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */

.sp-only{display:block;}
.pc-only{display:none;}


#content h3{margin: 60px 0 30px !important;}


}



/*  Font
----------------------------------------------- */
.gothic-light {
  font-family: "Zen Kaku Gothic New", sans-serif !important;
  font-weight: 300;
  font-style: normal;
}

.gothic-regular {
  font-family: "Zen Kaku Gothic New", sans-serif !important;
  font-weight: 400;
  font-style: normal;
}

.gothic-medium {
  font-family: "Zen Kaku Gothic New", sans-serif !important;
  font-weight: 500;
  font-style: normal;
}

.gothic-bold {
  font-family: "Zen Kaku Gothic New", sans-serif !important;
  font-weight: 700;
  font-style: normal;
}

.mincho-regular {
  font-family: "Shippori Mincho", serif !important;
  font-weight: 400;
  font-style: normal;
}

.mincho-medium {
  font-family: "Shippori Mincho", serif !important;
  font-weight: 500;
  font-style: normal;
}

.mincho-bold {
  font-family: "Shippori Mincho", serif !important;
  font-weight: 700;
  font-style: normal;
}
/* 英語 */
.marcellus-regular {
  font-family: "Marcellus SC", serif !important;
  font-weight: 400;
  font-style: normal;
}



/*  button
----------------------------------------------- */
.button1 a{
    width: 231px;
    height: 60px;
    margin: 0 auto;
    background: var(--accentcolor);
    transition: all .3s;
    font-weight: 500;
    color: var(--light-yellow) !important;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    text-decoration: none !important;
    position: relative;
}
.button1 a:hover{background: var(--dark-gray);}

.button-voiceicon a::before {
    content: "";
    display: inline-block;
    background: url(https://u.jimcdn.com/cms/o/s60010bfa2424ab34/userlayout/font/icon-voice.svg?t=1745996787) no-repeat;
    width: 30px;
    height: 30px;
    margin-right: 10px;
}
.button-arrowicon{position: relative;}
a.button-arrowicon::before {
    content: "";
    display: inline-block;
    background: url(https://u.jimcdn.com/cms/o/s60010bfa2424ab34/userlayout/font/icon-arrow1.svg?t=1745218754) no-repeat;
    width: 12px;
    height: 12px;
    position: absolute;
    right: 20px;
    top: calc(50% - 6px);
}

/*  table
----------------------------------------------- */
table{border-collapse: collapse;}
tr, th, td{
    font-family: "Zen Kaku Gothic New", sans-serif !important;
    font-weight: 400;
} 
.table-style1{width:100%; border-bottom: 1px solid var(--border);}
.table-style1 th, .table-style1 td{
    font-size:13px;
    line-height:1.9;
}
.table-style1 tr{
    display: block;
    padding: 25px 0;
    border-top: 1px solid var(--border);
}
.table-style1 th{
    padding: 0 20px;
    white-space: nowrap;
    text-align: left;
    min-width: 60px;
}
.table-style1 td{
    padding: 0 15px 0 0;
}



/*  body
----------------------------------------------- */

body {
    background: var(--maincolor);
}
#cc-nav{position:static;}




/*  header
----------------------------------------------- */

#header-wrap{
    position: fixed;
    width: 100%;
    z-index: 999;
    top:0px;  
    transition: all .5s;
    will-change: transform;
}
.cc-indexpage #header-wrap{top:-100px; opacity:0;}
.cc-indexpage #header-wrap.is-show{top:0; opacity:1;}

#header{
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100px;
    background: var(--light-yellow);
    font-weight: 500;
}
#header{letter-spacing:0.01em;}
#header img.logo{width: 240px; margin-left: 48px;}
#header a{
    text-decoration:none;
    transition: all .3s;
}
#header a:not(.header-nav-link li:last-child a):hover{
    color: var(--accentcolor);
}
#header ul:not(.header-nav-reservation ul, .header-nav-link-second){
    display: flex;
    align-items: center;
}

/* ヘッダーナビゲーション上のリンク（インスタ、お客様の声などのリンク） */
.header-link{
    display: flex;
    justify-content: flex-end;
    height: 30px;
}
/* インスタ */
.header-link-insta{font-size:11px; letter-spacing:0;}
.header-link-insta a{margin-right:15px;}
.header-link-insta a:before{
    content:"";
    display:inline-block;
    background:url(https://u.jimcdn.com/cms/o/s60010bfa2424ab34/userlayout/font/icon-insta.svg?t=1744852622) no-repeat;
    width:15px;
    height:15px;
    position: relative;
    top: 4px;
    margin-right: 4px;
    transition: all .3s;
}
.header-link-insta a:hover:before{
    filter: brightness(0) saturate(100%) invert(34%) sepia(77%) saturate(3026%) hue-rotate(1deg) brightness(96%) contrast(91%);
}

/* お客様の声などのリンク */
.header-link-list{
    font-size:12px;
    background: var(--dark-gray);
    height: 30px;
}
.header-link-list a{
    color :var(--light-yellow) !important;
    margin-left:15px;
}
.header-link-list a:hover{color: var(--accentcolor) !important;}
.header-link-list li:last-child a{margin-right:15px;}

/* お客様の声などのリンク　カレント表示 */
.header-link-list li.current a{color: var(--accentcolor) !important;}


/* ナビゲーションの１階層目 */
.header-nav{height:70px;}
.header-nav-link{font-size:16px; justify-content: flex-end;}
.header-nav-link li a{
    display:flex;
    justify-content: center;
    align-items: center;
    height:70px;
    padding: 0 15px;
    position:relative;
}
.header-nav-link-item img{display:none;}
/* .header-nav-link-item > a:active{pointer-events: none;} */


/* 宿泊予約 */
.sp-header-nav-reservation{display:none;}

.header-nav-link li.header-nav-reservation{
    width:140px;
    height:70px;
    background: var(--accentcolor);
    color: var(--maincolor);
    position:relative;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}
.header-nav-reservation ul{
    position:absolute;
    top: 70px;
    width: 100%;
    height: 140px;
    background: var(--dark-gray);
    visibility: hidden;
    transition: all .3s;
    opacity: 0;
    transform: translateY(-10px);
}
.header-nav-reservation.active ul{
    visibility: visible;
    opacity: 1;
    transform: translateY(0px);
    z-index: 3;
}
.header-nav-reservation ul li:first-child{margin-top: 10px;}
.header-nav-reservation ul li a{
    width: 100%;
    height:40px;
    padding:0;
    color: var(--maincolor);
}
.header-nav-reservation ul li a:hover{
    color: var(--accentcolor);
}


.header-nav-link li a:not(.header-nav-reservation ul li a){
    margin-right:15px;
}

/* ホバー設定 */
.header-nav-link li a:not(.header-nav-reservation ul li a):hover::after{
    content: '';
    position: absolute;
    left: 0;
    bottom:0;
    width: 100%;
    height: 2px;
    background: var(--accentcolor);
}

/* 施設ごとのホバー設定 */
.link-yodoya a:hover, .link-yodoya:has(.link-yodoya-second:hover) > a{color: var(--yodoya) !important;}
.link-aoi a:hover, .link-aoi:has(.link-aoi-second:hover) > a{color: var(--aoi) !important;}
.link-sin a:hover, .link-sin:has(.link-sin-second:hover) > a{color: var(--sin) !important;}

.header-nav-link li.link-yodoya a:hover::after{
    background: var(--yodoya) !important;
}
.header-nav-link li.link-aoi a:hover::after{
    background: var(--aoi) !important;
}
.header-nav-link li.link-sin a:hover::after{
    background: var(--sin) !important;
}

/* ナビゲーション カレント表示 */
.header-nav-link li.current > a{color: var(--accentcolor) !important;}
.header-nav-link li.current > a::after{
    content: '';
    position: absolute;
    left: 0;
    bottom:0;
    width: 100%;
    height: 2px;
    background: var(--accentcolor);
}

/* ナビゲーション 施設ごとのカレント表示 */
.header-nav-link .link-yodoya.current > a{color: var(--yodoya) !important;}
.header-nav-link .link-aoi.current > a{color: var(--aoi) !important;}
.header-nav-link .link-sin.current > a{color: var(--sin) !important;}

.header-nav-link li.link-yodoya.current > a::after{
    background: var(--yodoya) !important;
}
.header-nav-link li.link-aoi.current > a::after{
    background: var(--aoi) !important;
}
.header-nav-link li.link-sin.current > a::after{
    background: var(--sin) !important;
}



/* ナビゲーションの２階層目 */
.header-nav-link-second{
    display:none;
    height: 50px;
    width: 100%;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    background: var(--light-gray);
    text-align: center;
}
.header-nav-link-second li{
    display:inline-block;
}

.header-nav-link-second li a{
    height:50px;
}
/* 施設ごとのホバー設定（２階層目） */
.link-yodoya-second li a:hover{color: var(--yodoya) !important;}
.link-aoi-second li a:hover{color: var(--aoi) !important;}
.link-sin-second li a:hover{color: var(--sin) !important;}

.link-yodoya-second a:hover::after{
    background: var(--yodoya) !important;
}
.link-aoi-second a:hover::after{
    background: var(--aoi) !important;
}
.link-sin-second a:hover::after{
    background: var(--sin) !important;
}

/* ナビゲーション 施設ごとのカレント表示（２階層目） */
.header-nav-link .link-yodoya.current .header-nav-link-second,
.header-nav-link .link-aoi.current .header-nav-link-second,
.header-nav-link .link-sin.current .header-nav-link-second{display:block; z-index: 2;}

.link-yodoya-second li.current a{color: var(--yodoya) !important;}
.link-aoi-second li.current a{color: var(--aoi) !important;}
.link-sin-second li.current a{color: var(--sin) !important;}

.link-yodoya-second li.current a::after{
    background: var(--yodoya) !important;
}
.link-aoi-second li.current a::after{
    background: var(--aoi) !important;
}
.link-sin-second li.current a::after{
    background: var(--sin) !important;
}


/* ナビゲーションの３階層目 */
.header-nav-link-third{display:none !important;}




/* ハンバーガーメニューのボタン */
.sp-menu{display:none;}


@media screen and (max-width: 1139px) {
   /* 表示領域が1139px以下の場合に適用するスタイル */
.header-nav-link{font-size:14px;}
}


@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */

#header{height:70px;}
#header img.logo{width: 170px; margin-left: 20px;}
#header ul:not(.header-nav-reservation ul, .header-nav-link-second, .header-nav-link-third){display:block !important;}

.header-r{
    width: calc(100% - 90px);
    transition: all .5s;
    transform: translateY(-10px);
    opacity:0;
    visibility: hidden;
    position: absolute;
    top:70px;
    background: var(--dark-gray);
    display: flex;
    flex-direction: column;
     /* justify-content: flex-end; */
    padding: 45px;
    overflow-y: scroll;
    height: calc(100dvh - 90px);
}
.header-r.open{
    transform: translateY(0);
    opacity:1;
    visibility: visible;
}
.header-r a{ 
    color: var(--maincolor) !important;
    margin: 0;
}
.header-r a:hover{color: var(--accentcolor) !important;}

.sp-header-r{display:flex;}


/* ヘッダーナビゲーション上のリンク */
.header-link{
    height:auto;
    flex-direction: row-reverse;
    padding-top: 40px;
    border-top: 1px solid #b2b0b0;
    line-height: 1.8;
    order: 2;
}
.header-link-list{
    font-size:14px;
    margin-right: 35px !important;
    height: 150px;
}

/* インスタ */
.header-link-insta a:before{
    background:url(https://u.jimcdn.com/cms/o/s60010bfa2424ab34/userlayout/font/icon-insta-w.svg?t=1745215462) no-repeat;
}

/* ナビゲーションの１階層目 */
.header-nav{height:auto; margin-bottom: 40px; order: 1;}
.header-nav-link li a{
    height:45px;
    font-size:20px;
    margin: 0 !important;
    padding: 0;
    justify-content: flex-start;
}
.header-nav-link li a:not(.header-nav-reservation ul li a):hover::after{
    content:none;
}
.header-nav-link-item{position:relative;}
.header-nav-link-item img{
    display:block;
    width:15px;
    height:15px;
    position: absolute;
    top: 16px;
    left: 115px;
    transition: all .3s;
}
.header-nav-link-item img.on{
    transform: rotate(45deg);
}

/* 宿泊予約 */
.header-nav-link li.header-nav-reservation{display:none;}
.sp-header-nav-reservation{
    display:block;
    background: var(--accentcolor);
    width: 70px;
    height: 70px;
    font-size: 11px;
    letter-spacing: 0.01em;
    color: var(--light-yellow);
    text-align: center;
    cursor:pointer;
}
.sp-header-nav-reservation img{
    display:block;
    width: 40px;
    height: 40px;
    margin: 5px auto 0;
}
.sp-header-nav-reservation ul{
    width: 140px;
    right: 70px;
    font-size: 16px;
}
.sp-header-nav-reservation ul li a{
    height: 30px;
    display: block;
    padding-top: 10px;
}

/* 施設ごとのホバー設定 */
.link-yodoya:has(.link-yodoya-second:hover) > a,
.link-aoi:has(.link-aoi-second:hover) > a,
.link-sin:has(.link-sin-second:hover) > a{color: var(--accentcolor) !important;}


/* ナビゲーション カレント表示 */
.header-nav-link li.current > a::after{content:none;}

/* ナビゲーション 施設ごとのカレント表示 */
.header-nav-link .link-yodoya.current > a,
.header-nav-link .link-aoi.current > a,
.header-nav-link .link-sin.current > a{color: var(--accentcolor) !important;}




/* ナビゲーションの２階層目 */
.header-nav-link-second{
    margin-left:20px !important;
    position: static;
    transform: none;
    background: none;
    text-align: left;
    height: auto;
}
.header-nav-link-second li{
    display:block;
}
.header-nav-link li ul.header-nav-link-second a{font-size: 16px; height: 30px;}

/* 施設ごとのホバー設定（２階層目） */
.link-yodoya-second li a:hover{color: var(--accentcolor) !important;}
.link-aoi-second li a:hover{color: var(--accentcolor) !important;}
.link-sin-second li a:hover{color: var(--accentcolor) !important;}


/* ナビゲーション 施設ごとのカレント表示（２階層目） */
.link-yodoya-second li.current a,
.link-aoi-second li.current a,
.link-sin-second li.current a{color: var(--accentcolor) !important;}




/* ハンバーガーメニューのボタン */
.sp-menu{
    display:block;
    cursor: pointer;
    width: 70px;
    height:70px;
    background: var(--dark-gray);
    color: var(--light-yellow);
    border:0;
    position:relative;
}
.sp-menu span{
    width: 26px;
    height: 3px;
    border-radius: 2px;
    background-color: var(--light-yellow);
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transition: all .3s;
}
.sp-menu span:nth-of-type(1) {top:17px;}
.sp-menu span:nth-of-type(2) {top:25px;}
.sp-menu span:nth-of-type(3) {top:33px;}
.sp-menu span:nth-of-type(4) {
    background: none;
    font-size: 11px;
    width: 70px;
    height: auto;
    top: 45px;
    letter-spacing: 0.01em;
}
/* ハンバーガーメニューのボタン　オープン時 */
.sp-menu.open span:nth-of-type(1) {
    top: 19px;
    left: 23px;
    transform: translateY(6px) rotate(-45deg);
    width: 26px;
}
.sp-menu.open span:nth-of-type(2) {
	opacity: 0;
}
.sp-menu.open span:nth-of-type(3){
    top: 31px;
    left: 23px;
    transform: translateY(-6px) rotate(45deg);
    width: 26px;
}


}



/* ----------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------
  content
----------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------- */
#content-wrapper{width:100%; overflow:hidden; padding: 160px 0 120px;}
.cc-indexpage #content-wrapper{padding: 0px;}

#page-2440170126 #content-wrapper, #page-2440170226 #content-wrapper,
#page-2439970726 #content-wrapper, #page-2439817426 #content-wrapper,
#page-2440327326 #content-wrapper, #page-2440333626 #content-wrapper,
#page-2440333826 #content-wrapper, #page-2440334026 #content-wrapper,
#page-2440593426 #content-wrapper{padding: 100px 0 120px;}



#content{
    width:1140px;
    margin: 0 auto;
}

.n {padding: 0px !important;}

@media screen and (max-width: 1139px) {
   /* 表示領域が1139px以下の場合に適用するスタイル */
#content{width: calc(100% - 40px);}
.cc-indexpage #content{width: 100%;}
.cc-indexpage .cc-m-hgrid-column{padding: 0 !important;}
#page-2440170126 #content-wrapper, #page-2440170226 #content-wrapper,
#page-2439970726 #content-wrapper, #page-2439817426 #content-wrapper,
#page-2440327326 #content-wrapper, #page-2440333626 #content-wrapper,
#page-2440333826 #content-wrapper, #page-2440334026 #content-wrapper{   
    padding: 70px 0px 120px;
}

}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#content-wrapper{padding: 100px 0px 60px;}


}

/*  トップページ
----------------------------------------------- */
/* メインビジュアル */
#sp-top-mainvisual-wrapper, #top-mainvisual-wrapper{display:none; position:relative;}
.cc-indexpage #top-mainvisual-wrapper{display:block;}
.bx-wrapper{
    margin:0 !important;
    box-shadow: none !important;
    border: none !important;
    background: none !important;
}
.bx-wrapper img{width:100% !important;}


#top-mainvisual-wrapper .top-mainvisual-logo{
    position:absolute;
    width:378px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#sp-top-mainvisual-wrapper, .cc-indexpage #top-mainvisual-wrapper{display:none; position:relative;}
.cc-indexpage #sp-top-mainvisual-wrapper{display:block;}

#sp-top-mainvisual-wrapper .sp-top-mainvisual-logo{
    position:absolute;
    width:112px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

}



/* イントロ */
#cc-m-13192937726{
    width:100%;
    height: 570px;
    margin: 0px -800px 0 -800px;
    padding: 120px 800px 0 800px !important;
    background:var(--light-gray);
}

#cc-m-13192937726 p{
    font-size:20px;
    letter-spacing:0.05em;
    line-height:2;
    font-family: "Shippori Mincho", serif !important;
    font-weight: 500;
    font-style: normal;
}
#cc-m-13192937726 .cc-m-hgrid-column:not(.last){
    width:675px !important;
    padding: 0 80px 0 0 !important;
}
#cc-m-13192937726 .cc-m-hgrid-column.last{
    width:374px !important;
    padding-top: 40px;
}

@media screen and (max-width: 1139px) {
   /* 表示領域が1139px以下の場合に適用するスタイル */
#cc-m-13192937726{
    height:auto;
    margin: 0px auto;
    padding: 40px 0px 40px 0px !important;
    display: flex;
    flex-direction: column;
}
#cc-m-13192937726 .cc-m-hgrid-column:not(.last), #cc-m-13192937726 .cc-m-hgrid-column.last{
    width: calc(100% - 80px) !important;
    margin: 0px auto;
    padding: 0 !important;
}
#cc-m-13192937726 .cc-m-hgrid-column:not(.last){
    order: 2;
    margin-top:40px;
}
#cc-m-13192937726 p{
    font-size:18px;
}

.sp-intro{font-size:24px !important; margin-bottom:30px; text-align:center;}

}


/* ループスライダー */
.loopSliderWrap * {
    margin: 0;
    padding: 0;
}
.loopSliderWrap {
    top: 0;
    left: 0;
    height: 340px;
    overflow: hidden;
    position: absolute;
}
 
.loopSlider {
    /*margin: 0px auto 10px;*/
    /*width: 100%;*/
    height: 340px;
    text-align: left;
    position: relative;
    overflow: hidden;
    width: 100vw;
    margin: 0 calc(50% - 50vw);
}
 
.loopSlider ul {
    height: 340px;
    float: left;
    overflow: hidden;
}
 
.loopSlider ul li {
    width: 340px;
    height: 340px;
    float: left;
    display: inline;
    overflow: hidden;
}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
.loopSliderWrap, .loopSlider, .loopSlider ul {height: 135px;}
.loopSlider ul li, .loopSlider ul li img {
    width: 135px;
    height: 135px;
}

}



/* 各施設のご案内 */
#cc-m-13196128626{margin: 0 calc(50% - 50vw);}
/* ~~~編集画面用~~~ */
#cc-m-13196128626.cc-m-all{
    margin:0;
}
/* ~~~~~~ */

#content #cc-m-13195759226 h3{color:var(--textcolor);}
.shisetu{
    display:flex;
}
.shisetu-item{
    position:relative;
    border-top: solid 12px;
}
.shisetu-item a{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
}


.shisetu-img img{width:100%;}
.shisetu-img{position:relative;}
.shisetu-img::before{
    content:"";
    display:block;
    width:100%;
    height:100%;
    background: var(--dark-gray);
    opacity: .5;
    position:absolute;
    transition: all .3s;
    mix-blend-mode: multiply;
}
/* スクロールすると時間差でふわっと表示 */
.scroll-up {
  transition: 0.8s ease-in-out;
  transform: translateY(50px);
  opacity: 0;
}
.scroll-up.scroll {
  transform: translateY(0);
  opacity: 1.0;
}
.shisetu-aoi .scroll-up{transition-delay: .5s;}
.shisetu-sin .scroll-up{transition-delay: 1s;}


.shisetu-name{
    width: 120px;
    height:120px;
    border-radius:50%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align:center;
    position: absolute;
    top: -60px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.shisetu-name p{color:#FFF; font-size: 16px; line-height: 1.3; transition: all .3s;}
.shisetu-name span{font-size:24px;}
.shisetu-name p:nth-child(2){font-size:9px;}
.shisetu-name p:nth-child(2) span{font-size:13px; margin-right:3px;}


.shisetu-writings{
    display: flex;
    justify-content: center;
}
.shisetu-writings p{
    font-size:22px;
    color:#FFF;
    writing-mode: vertical-rl;
    line-height: 1.7;
    letter-spacing: 0.05em;
    position: absolute;
    top: 80px;
    transition: all .3s;
}
.shisetu-writings::before{
    display:block;
    content:'';
    width: 96px;
    height: 395px;
    position:absolute;
    top:0;
    background-color: var(--yodoya);
    mix-blend-mode:multiply;
}

/* ホバー設定 */
.shisetu-item:hover .shisetu-img::before{opacity:0;}

.shisetu-item:hover .shisetu-name p,
.shisetu-item:hover .shisetu-writings p{color: var(--accentcolor);}



/* 色設定 */
.shisetu-yodoya{border-color: var(--yodoya);}
.shisetu-yodoya .shisetu-name{background: var(--yodoya);}

.shisetu-aoi{border-color: var(--aoi);}
.shisetu-aoi .shisetu-name,
.shisetu-aoi .shisetu-writings::before{background: var(--aoi);}

.shisetu-sin{border-color: var(--sin);}
.shisetu-sin .shisetu-name,
.shisetu-sin .shisetu-writings::before{background: var(--sin);}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13195759226 h3{
    font-size: 22px !important;
}
#cc-m-13196128626{margin: 0;}
.shisetu{
    display:block;
}

.shisetu-name{
    width: 92px;
    height:92px;
    top: auto;
    bottom: -10px;
    left: 20%;
    z-index: 2;
}
.shisetu-name p{font-size: 9px;}
.shisetu-name span{font-size:15px;}

.shisetu-writings p{
    writing-mode: horizontal-tb;
    top: auto;
    bottom: 10px;
    font-size: 17px;
    left: 35%;
}
.shisetu-writings::before{
    width: 80%;
    height: 76px;
    top: auto;
    bottom: 0;
    right: 0;
}

}




/* テキスト『わんにゃんリゾートKURAYOSHIは、・・・・』 */
#cc-m-13196254826{
    height: 250px;
    margin: 0px calc(50% - 50vw);
    padding: 120px 0 0 0 !important;
    background: var(--light-gray);
}
/* ~~~編集画面用~~~ */
#cc-m-13196254826.cc-m-all{
    margin:0;
}
/* ~~~~~~ */
#cc-m-13196254826 p{
    font-size:30px;
    line-height:1.6;
    letter-spacing: 0.05em;
    text-align: center;
}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13196254826{
    height: auto;
    padding: 60px 0 20px 0 !important; 
    margin: 0;
}
#cc-m-13196254826 p{font-size:22px;}
}



/* ６つの理由 */
#cc-m-13196272726 {
    position: relative;
}
#cc-m-13196272726::before,
#cc-m-13196272726::after {
    content: "";
    display: block;
    position: absolute;
    left: calc(50% - 50vw);
    right: calc(50% - 50vw);
    /*width: 100%;*/
    height: 50%;
}
#cc-m-13196272726::before {
    top: 0;
    background-color: var(--light-gray);
}
#cc-m-13196272726::after {
    bottom: 0;
    background-color: var(--maincolor);
}
.reason{
    /*background: url(https://image.jimcdn.com/app/cms/image/transf/dimension=2260x10000:format=jpg/path/s60010bfa2424ab34/image/i96edefd4d2994de1/version/1745995446/image.jpg) no-repeat;*/
    /*background-size: cover;*/
    background: url(https://u.jimcdn.com/cms/o/s60010bfa2424ab34/userlayout/img/reason-bg-square.jpg?t=1747216044) top center / cover no-repeat;
    mask-image: url(https://u.jimcdn.com/cms/o/s60010bfa2424ab34/userlayout/img/reason-bg-obj.png?t=1747216763);
    mask-repeat: no-repeat;
    mask-position: center center;
    mask-size: 100% 100%;
    position: relative;
    z-index: 1;
    padding: 130px 0 140px 0;
    margin: 0px calc(50% - 50vw) 0px;
}

.reason-title{width:396px; margin: 0 auto 60px;}

.reason-list{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
    width: 1140px;
    margin: 0 auto;
}
.reason-list-item{position:relative;}
.reason-list-item img{
    width: 100%;
    box-shadow: 1px 2px 8px -8px rgba(0, 0, 0, 0.3),8px 8px 8px -8px rgba(0, 0, 0, 0.3);
}
.reason-list-item img:hover{cursor:pointer;}
.reason-list-item::after{
    content: "";
    display: inline-block;
    width:100%;
    height:0px;
    background: var(--accentcolor);
    position: absolute;
    bottom: 0;
    transition: all .3s;
}
.reason-list-item:hover::after{
    height:5px;
}
@media screen and (max-width: 1139px) {
   /* 表示領域が1139px以下の場合に適用するスタイル */
.reason-list{width: calc(100% - 80px);}
.reason-list-item{margin: 0 5px;}
}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
.reason{
    padding: 60px 0;
    margin: 0px;
}
.reason-list{width: 100%;}
.reason-title{width:316px; margin: 0 auto 20px;}

}


/* モーダル */
.c-modal {
    display: none;
    width: 100%;
    height: 100vh;
    min-height: 720px;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
}
.c-modal_bg {
    background: rgba(0, 0, 0, 0.2);
    height: 100vh;
    width: 100%;
}
.c-modal_content {
    width:900px;
    min-height:400px;
    background: #fff;
    padding: 70px 10px 10px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    box-shadow: 1px 2px 5px 0px rgba(0, 0, 0, 0.4);
}
.c-modal_content_inner {
    
}
.c-modal_content_textbox{
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 40px;
    padding: 0 80px 0 40px;
    margin-bottom: 50px;
}

.c-modal_content_title p:first-child{
    color: var(--accentcolor);
    font-size:18px;
    line-height:1.8;
    font-weight: 500;
    display: flex
}
.c-modal_content_title p:first-child span{
    font-size:46px;
    font-weight: 400;
    width: 62px;
    height: 57px;
    padding-bottom: 5px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border: 1px solid var(--accentcolor);
    border-radius: 50%;
    margin-right: 13px;
}
.c-modal_content_title p:nth-child(2){
    font-size: 30px;
    letter-spacing: 0.05em;
    margin-top: 35px;
}
.c-modal_content_text p{
    font-size: 13px;
    line-height: 1.9;
    font-weight: 300;
}
.c-modal_content_text a{color:var(--accentcolor) !important;}

.c-modal_content_imgbox img{width:100%;}

.c-modal_content_inner .slick-dots{
    position: absolute;
    top: calc(50% - 14px);
    right: 15px;
}
.c-modal_content_inner .slick-dots li{
    width: 10px;
    height:10px;
    margin-bottom: 13px;
    border-radius: 50%;
    border: 1px solid #FFF;
    background: #546666;
}
.c-modal_content_inner .slick-dots li:last-child {
    margin-bottom: 0;
}
.c-modal_content_inner .slick-dots li:hover,
.c-modal_content_inner .slick-dots li.slick-active{
    background: var(--light-gray) !important;
}
.c-modal_content_inner .slick-dots li button {
    display: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    padding: 0;
    border: none;
    background-color: transparent;
}
.c-modal_close {
    position: absolute;
    top: 15px;
    right: 15px;
}
.c-modal_close img{width:40px;}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
.c-modal_content {
    width:90%;
}
.c-modal_content_textbox{
    display: block;
    padding: 0 30px;
    margin-bottom: 50px;
}
.c-modal_content_title p:first-child span {
    font-size: 30px;
    width: 45px;
    height: 40px;
    flex-shrink: 0;
}
.c-modal_content_title p:nth-child(2) {
    font-size: 24px;
    margin:30px 0;
}

}



/* お客様の声 */
#cc-m-13196559926{
    margin: 0px calc(50% - 50vw);
    padding: 60px 0 120px !important;
    background:var(--maincolor);
}
/* ~~~編集画面用~~~ */
#cc-m-13196559926.cc-m-all{
    margin:0;
}
/* ~~~~~~ */
.voice{
    width: 1140px;
    margin: 0 auto;
    position: relative;
}
#content .voice h3{
    margin: 0px 0 60px !important;
    text-align: center;
    position: relative;
    z-index: 2;
}

.voice h3::after{
    content: "";
    display: inline-block;
    background: url(https://u.jimcdn.com/cms/o/s60010bfa2424ab34/userlayout/font/voice-title-bg.svg?t=1745996794) no-repeat;
    width: 76px;
    height:60px;
    position: absolute;
    top: -10px;
    margin-left: 30px;
    z-index: -1;
}
@media screen and (max-width: 1139px) {
   /* 表示領域が1139px以下の場合に適用するスタイル */
.voice{
    width: calc(100% - 80px);
}
}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13196559926{
    margin: 0;
}

}




/* 新着情報 */
#cc-m-13197548326{
    margin: 0px calc(50% - 50vw);
    background:var(--light-gray);
}
/* ~~~編集画面用~~~ */
#cc-m-13197548326.cc-m-all{
    margin:0;
}
/* ~~~~~~ */
.news{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0px;
}

.news-text{padding: 120px 0;}
#content .news h3{
    margin: 0px 0 60px !important;
}
.news-img{height: 100%;}
.news-img img{
    width:100%;
    object-fit: cover;
    height: 100%;
}
.news .bx-wrapper:nth-child(2){display:none;}
.news .bx-viewport{height: 100% !important;}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13197548326{margin: 0px;}
.news{
    display: block;
}
.news-text{padding: 60px 0;}
.news .bx-wrapper:nth-child(2){display:block;}
}


/* FAQ　よくある質問 */
#cc-m-13197558026{padding: 120px 0 !important;}
#content #cc-m-13197558026 h3{
    margin: 0px 0 60px !important;
}

.faq-button{
    display: grid;
    grid-template-columns: 410px 410px;
    gap: 40px;
    justify-content: center;
}
.faq-button a{
    display:flex;
    align-items:center;
    width:387px;
    height:60px;
    padding-left:23px;
    font-size:19px;
    color: var(--maincolor) !important;
    background: #827f7e;
    text-decoration:none !important;
    transition: all .3s;
}
.faq-button a span{font-size:14px; margin-right: 8px;}

.faq-button a:hover{background: var(--accentcolor);}
.faq-button a:nth-child(2):hover{background: var(--yodoya);}
.faq-button a:nth-child(3):hover{background: var(--aoi);}
.faq-button a:nth-child(4):hover{background: var(--sin);}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13197558026{padding: 60px 0 !important;}
#content #cc-m-13197558026 h3{
    margin: 0px 0 50px !important;
}
.faq-button{
    display: block;
    width: calc(100% - 40px);
    margin: 0 auto;
}
.faq-button a{
    width: calc(100% - 23px);
    margin-bottom: 20px;
    font-size: 18px;
}
.faq-button a span{font-size:13px;}

}


/*  周辺観光案内
----------------------------------------------- */
#page-2440236126 #content-wrapper{padding: 0px 0 120px;}

#cc-m-13198691526{margin: 0px calc(50% - 50vw);}
#cc-m-13198691526 img{width:100%;}
/* ~~~編集画面用~~~ */
#cc-m-13198691526.cc-m-all{
    margin:0;
}
/* ~~~~~~ */


/* 直営店の背景色 */
#cc-m-13198713126{
    margin: 0px calc(50% - 50vw);
    padding: 120px 0 !important;
    background: var(--light-gray);
}
#content #cc-m-13198713126 h3{margin: 0px 0 60px !important;}
/* ~~~編集画面用~~~ */
#cc-m-13198713126.cc-m-all{
    margin:0;
}
/* ~~~~~~ */


/* 「もっと見る」のボタン */
.spot-more{
    display: flex;
    justify-content: center;
    align-items: center;
}
.spot-more a{
    width:200px;
    height:48px;
    display:flex;
    justify-content: center;
    align-items:center;
    background: var(--textcolor);
    color: var(--maincolor) !important;
    text-decoration: none !important;
    transition: all .3s;
}
.spot-more a:hover{background: var(--accentcolor);}

@media screen and (max-width: 1139px) {
   /* 表示領域が1139px以下の場合に適用するスタイル */
.spot-more a{margin: 30px auto 0 0;}
}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#page-2440236126 #content-wrapper{padding: 50px 0 60px;}

/* 直営店の背景色 */
#cc-m-13198713126{padding: 60px 0 !important;}
#content #cc-m-13198713126 h3{margin: 0px 0 30px !important;}

/* 「もっと見る」のボタン */
.spot-more{margin-top: 30px;}
.spot-more a{width:100%;}
}


/*  お問い合わせ
----------------------------------------------- */
#cc-m-13199700426{margin-bottom:60px;}
#cc-m-13199700426 p{
    font-size:18px;
    font-weight:300;
    text-align:center;
    line-height:1.9;
}

/* フォーム */
#cc-m-13192939826{width:774px; margin: 0 auto;}
form.cc-m-form .cc-m-form-view-element>label {
    font-size: 13px;
    margin: 0 0 15px 5px;
}
/* フォーム　テキストボックス */
form.cc-m-form .cc-m-form-view-element{
    padding: 0 0 30px 0;
}
form.cc-m-form .cc-m-form-view-element .cc-m-form-view-input-wrapper input{
    border: none;
    padding: 20px;
    background: #e4e4e4;
}
/* フォーム　セレクトボックス */
form.cc-m-form .cc-m-form-view-element{padding: 0 0 30px 0 !important;}
form.cc-m-form .cc-m-form-view-element .cc-m-form-view-input-wrapper select{
    width:100%;
    border: none;
    padding: 20px;
    background: #e4e4e4;
    -webkit-appearance: none;
    appearance: none; 
}

.cc-m-form-select .cc-m-form-view-input-wrapper::after {
    content: "";
    position: absolute;
    top: 22px;
    right: 20px;
    width: 6px;
    height: 6px;
    border-right: 1px solid var(--dark-gray);
    border-bottom: 1px solid var(--dark-gray);
    transform: rotate(45deg);
}
/* フォーム　テキストエリア */
form.cc-m-form .cc-m-form-view-element .cc-m-form-view-input-wrapper textarea{
    border: none;
    padding: 20px;
    background: #e4e4e4;
}
/* フォーム　キャプチャ */
div.captcha{margin: 0 auto;}
/* フォーム　送信ボタン */
.cc-m-form-view-input-wrapper {text-align: center;}
.cc-m-form-view-input-wrapper label{font-size:13px; margin-bottom:30px; display: block;}
.cc-m-form-view-input-wrapper input[type="submit"]{
    width: 230px;
    height: 60px;
    padding: 4px 18px !important;
    background: var(--accentcolor) !important;
    color: #FFF;
    font-size: 16px;
    font-weight: 500;
    font-family: "Zen Kaku Gothic New", sans-serif !important;
    position: relative;
    transition: all .3s;
    cursor:pointer;
}
.cc-m-form-view-input-wrapper input[type="submit"]:hover{background: var(--dark-gray) !important;}
.submit-wrap{
    position: relative;
    width: 230px;
    margin: 0 auto;
}
.submit-wrap::after{
    content: "";
    display: inline-block;
    background: url(https://u.jimcdn.com/cms/o/s60010bfa2424ab34/userlayout/font/icon-arrow1.svg?t=1745218754) no-repeat;
    width: 12px;
    height: 12px;
    position: absolute;
    right: 20px;
    top: calc(50% - 6px);
}

/* フォーム　注意書き */
.cc-m-form-note{display: none;}

/* フォーム　入力必須表記 */
form.cc-m-form .cc-m-form-view-element.cc-m-required>label div:after{
    color:var(--accentcolor) !important;
    margin-left: 15px !important;
    content: "必須" !important;
}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13199700426 p{font-size:16px; text-align:left;}

/* フォーム */
#cc-m-13192939826{width:100%;}
}


/*  よくあるご質問
----------------------------------------------- */
.faq{width:774px; margin: 0 auto; border-bottom:1px solid #b2b0b0;}
.faq-box{
    border-top:1px solid #b2b0b0;
    position:relative;
}
.fbox{
    padding: 25px 0 25px 5px;
    cursor: pointer;
    transition: all .3s;
}
.faq-box.open .fbox p{color: var(--accentcolor);}
.abox{
    display:none;
    padding: 5px 0 40px 5px;
}
.fbox p, .abox p {font-size:16px; width: 90%; line-height:1.8;}
.abox p {font-weight:300;}

.faq-box .icon-plus {
    width: 15px;
    height: 15px;
    position: absolute;
    right: 30px;
    top: calc(50% - 7px);
    cursor: pointer;
    transition: all .3s;
    filter: brightness(0) saturate(100%) invert(13%) sepia(31%) saturate(551%) hue-rotate(6deg) brightness(93%) contrast(86%);
}
.faq-box.open .icon-plus {transform: rotate(45deg);}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
.faq{width:100%;}
.fbox p, .abox p {width: 85%;}
}





/* ----------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------
  別邸余戸谷
----------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------------
  別邸余戸谷　トップページ
---------------------------------------------------------------------------------------------- */
#page-2440357526 #content-wrapper{padding: 50px 0 0px;}

#cc-m-13200074426{margin: 0px calc(50% - 50vw); position:relative;}
#cc-m-13200074426 img{width:100%;}
#cc-m-13200074426::after{
    content:"";
    display:inline-block;
    background: url(https://u.jimcdn.com/cms/o/s60010bfa2424ab34/userlayout/font/logo-yodoya.svg?t=1747104349) no-repeat;
    width: 157px;
    height: 139px;
    position: absolute;
    top: 56%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
/* ~~~編集画面用~~~ */
#cc-m-13200074426.cc-m-all{
    margin:0;
}
/* ~~~~~~ */
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#page-2440357526 #content-wrapper{padding: 70px 0 0px;}
#cc-m-13200074426::after{width: 110px; height: 97px; top: 50%;}
}


/* イントロ */
#content .shisetu-intro h3{
    line-height: 1.5;
    color: var(--yodoya);
}
.shisetu-intro p{
    max-width: 510px;
    margin: 0 auto;
    line-height: 1.9;
}
.shisetu-intro .button1 a{
    background:var(--yodoya);
    margin: 60px auto;
}
.shisetu-intro .button1 a:hover{
    background:var(--dark-gray);
}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#content .shisetu-intro h3{font-size:22px !important;}
}

/* レコメンド */
#cc-m-13200091826{
    margin: 120px calc(50% - 50vw);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0px;
}
#cc-m-13200091826 .cc-m-hgrid-column{width: auto !important; padding: 0;}
#cc-m-13200091826 .cc-m-hgrid-separator, #cc-m-13200091826 .cc-clear{display:none;}
#cc-m-13200091826 .last{background: var(--yodoya);}

/* ~~~編集画面用~~~ */
#cc-m-13200091826.cc-m-all{
    margin: 120px 0;
    display: block;
}
#cc-m-13200091826.cc-m-all .cc-m-hgrid-column{width: 49% !important;}
#cc-m-13200091826.cc-m-all .cc-m-hgrid-separator, #cc-m-13200091826.cc-m-all .cc-clear{display:block;}
/* ~~~~~~ */


.shisetu-reco p, .shisetu-reco h3, .shisetu-reco h3 span{color: var(--maincolor) !important;}
.shisetu-reco p{
    max-width: 372px;
    margin: 0 auto;
    line-height: 1.9;
}

#cc-matrix-3778034926, #cc-m-13200092026, #cc-m-13200091826 figure{height: 100% !important;}
#cc-m-13200091826 img{width:100%; height: 100%; object-fit: cover;}

.shisetu-reco .button1 a{
    width:300px;
    background:var(--yodoya);
    margin: 60px auto 120px;
    border: 1px solid var(--border);
}
.shisetu-reco .button1 a:hover{
    background:var(--dark-gray);
}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13200091826{
    margin: 120px calc(50% - 50vw) 0;
    display: flex;
    flex-direction: column-reverse;
}
.shisetu-reco .button1 a{margin: 60px auto 60px;}
}



/* 宿泊について */
#cc-m-13200114126{
    margin-bottom: 120px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0px;
}
#cc-m-13200114126 .cc-m-hgrid-column{width: auto !important; padding: 0;}
#cc-m-13200114126 .cc-m-hgrid-separator, #cc-m-13200114126 .cc-clear{display:none;}

/* ~~~編集画面用~~~ */
#cc-m-13200114126.cc-m-all{
    display: block;
}
#cc-m-13200114126.cc-m-all .cc-m-hgrid-column{width: 49% !important;}
#cc-m-13200114126.cc-m-all .cc-m-hgrid-separator, #cc-m-13200114126.cc-m-all .cc-clear{display:block;}
/* ~~~~~~ */

#content .shisetu-stay h3{color: var(--yodoya); margin: 60px 0 60px !important;}
.shisetu-stay p{
    max-width: 372px;
    margin: 0 auto;
    line-height: 1.9;
}

#cc-matrix-3778041526, #cc-m-13200114326, #cc-m-13200114126 figure{height: 100% !important;}
#cc-m-13200114126 img{width:100%; height: 100%; object-fit: cover;}

.shisetu-stay .button1 a{
    background:var(--yodoya);
    margin: 60px auto;
}
.shisetu-stay .button1 a:hover{
    background:var(--dark-gray);
}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13200114126{
    margin: 0px calc(50% - 50vw) 0px;
    display: flex;
    flex-direction: column;
}
#content .shisetu-stay h3{margin: 60px 0 30px !important;}
}




/* 選べるプラン */
#cc-m-13200116326{
    margin: 0px calc(50% - 50vw);
    background: #ccd8e5;
    padding: 120px 0 !important;
}
#content .shisetu-plan h3{color: var(--yodoya); margin: 0px 0 60px !important;}
.shisetu-plan p:first-of-type{
    max-width: 510px;
    margin: 0 auto;
    line-height: 1.9;
}

.shisetu-plan img{
    max-width:1140px;
    width:100%;
    margin: 0 auto;
    box-shadow: 1px 2px 8px 0px rgba(0, 0, 0, 0.3);
}

.shisetu-plan .button1 a{
    background:var(--yodoya);
    margin: 60px auto;
}
.shisetu-plan .button1 a:hover{
    background:var(--dark-gray);
}
/* ~~~編集画面用~~~ */
#cc-m-13200116326.cc-m-all{
    margin:0;
}
/* ~~~~~~ */
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13200116326{padding: 60px 0 !important;}
.shisetu-plan{width:calc(100% - 40px); margin: 0 auto;}
#content .shisetu-plan h3{margin: 0px 0 30px !important;}
.shisetu-plan img{width:100%;}
}


/* キャンセルポリシー */
#content .shisetu-policy h3{color: var(--yodoya); font-size:20px !important;}
#content .shisetu-policy h3 span{font-size:22px; margin-top: 10px;}
.shisetu-policy p:first-of-type{
    max-width: 510px;
    margin: 0 auto;
    line-height: 1.9;
}

.shisetu-policy .button1 a{
    width:380px;
    background:var(--yodoya);
    margin: 60px auto 120px;
}
.shisetu-policy .button1 a:hover{
    background:var(--dark-gray);
}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#content .shisetu-policy h3{font-size:18px !important;}
#content .shisetu-policy h3 span{font-size:20px; margin-top: 8px;}
.shisetu-policy .button1 a{
    max-width:380px;
    width:100%;
    margin: 60px auto 60px;
    font-size: 13px;
}
}



/* 新着情報 */
#cc-m-13200123226{
    margin: 0px calc(50% - 50vw);
    background: var(--yodoya);
}
#cc-m-13200123226 h3, #cc-m-13200123226 h3 span,
#cc-m-13200123226 .blog-date, #cc-m-13200123226 .blog-title a h2{color: var(--maincolor);}

#cc-m-13200123226 .button1 a{
    background:var(--yodoya);
    margin: 60px auto 0px;
    border: 1px solid var(--border);
}
#cc-m-13200123226 .button1 a:hover{
    background:var(--dark-gray);
}
/* ~~~編集画面用~~~ */
#cc-m-13200123226.cc-m-all{
    margin:0;
}
/* ~~~~~~ */
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13200123226 .button1 a{margin: 60px auto 0px;}
}


/* 新着情報記事の引き込み */
#blognews-yodoya{
    margin: 0 90px 60px;
    border-top: 1px solid var(--border);
}
#blognews-yodoya .blog-item:after{filter:none;}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#blognews-yodoya{
    margin: 0 20px 60px;
}
}

/* アクセス */
#content .shisetu-access h3{color: var(--yodoya); margin: 120px 0 60px !important;}
.shisetu-access p{
    max-width: 510px;
    margin: 0 auto;
    line-height: 1.9;
}

.shisetu-access .button1 a{
    background:var(--yodoya);
    margin: 60px auto 60px;
}
.shisetu-access .button1 a:hover{
    background:var(--dark-gray);
}
/* Googleマップ */
#cc-m-13200138726{margin: 0px calc(50% - 50vw);}
.cc-map-wrapper, .cc-map-wrapper iframe{height:600px !important}
/* ~~~編集画面用~~~ */
#cc-m-13200138726.cc-m-all{
    margin:0;
}
/* ~~~~~~ */

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#content .shisetu-access h3{margin: 60px 0 30px !important;}

/* Googleマップ */
.cc-map-wrapper, .cc-map-wrapper iframe{height:400px !important}
}




/* ----------------------------------------------------------------------------------------------
  別邸余戸谷　下層ページ
---------------------------------------------------------------------------------------------- */
/*  施設案内
----------------------------------------------- */
#page-2440357626 #content-wrapper{padding: 0px 0 0px;}

#cc-m-13200829126{margin: 0px calc(50% - 50vw);}
#cc-m-13200829126 img{width:100%;}
/* ~~~編集画面用~~~ */
#cc-m-13200829126.cc-m-all{
    margin:0;
}
/* ~~~~~~ */


/* 建物紹介 */
.shisetu-intro-column{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 40px;
    max-width: 1000px;
    margin: 0 auto;
    align-items: start;
}
.shisetu-intro .button1 a {width: 300px;}
#cc-m-13200829526 .shisetu-intro .button1 a::before{transform: rotate(90deg);}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
.shisetu-intro-column{grid-template-columns: 1fr;}
.shisetu-intro-column p{margin-bottom:30px;}
}




/* フロアガイド */
.guide-floor{
    max-width: 1000px;
    margin:60px auto 120px;
}
.guide-floor > p{
    font-size:22px;
    color: var(--yodoya);
    text-align:center;
    letter-spacing: 0.05em;
    margin-bottom:60px;
}
.guide-floor-map img{
    width:100%;
}

/* 施設紹介 */
#cc-m-13200831026, #cc-m-13201190326, #cc-m-13201220226,
#cc-m-13201220626, #cc-m-13201221026, #cc-m-13201221326,
#cc-m-13201221626, #cc-m-13201221926{
    width: 100%;
    height: auto;
    margin: 0px -800px 0 -800px;
    padding: 80px 800px 0px 800px !important;
    background: #ccd8e5;
    display:flex;
}
/* 1段目（リビング） */
#cc-m-13200831026{
    padding: 120px 800px 0px 800px !important;
}
/* 最後の段（バスルーム） */
#cc-m-13201221926{
    padding: 80px 800px 120px 800px !important;
}

/* ~~~編集画面用~~~ */
#cc-m-13200831026.cc-m-all, #cc-m-13201190326.cc-m-all, #cc-m-13201220226.cc-m-all,
#cc-m-13201220626.cc-m-all, #cc-m-13201221026.cc-m-all, #cc-m-13201221326.cc-m-all,
#cc-m-13201221626.cc-m-all, #cc-m-13201221926.cc-m-all{
    margin: 0px;
    padding: 120px 0 !important;
    display:block;
}
/* ~~~~~~ */

/* 左側テキスト */
#page-2440357626 .cc-m-hgrid-column:not(.last){
    background: #FFF;
    padding: 20px calc(2% + 20px) 20px 35px;
}
#page-2440357626 #sidebar .cc-m-hgrid-column{
    background:none;
    padding:0 2% 0 0;
}
#page-2440357626 #sidebar .cc-m-hgrid-column.last{padding:0;}

/* ~~~編集画面用~~~ */
#page-2440357626 .cc-m-all-content .cc-m-hgrid-column:not(.last){
    padding: 20px 2% 20px 0px;
}
/* ~~~~~~ */

#content .guide-room h3{
    margin: 0 0 40px !important;
    text-align: left;
    color: var(--yodoya);
}
#content .guide-room h3 span{line-height: 1.6;}
.guide-room p{
    margin-bottom: 30px;
    line-height: 1.9;
}

/* 右側スライダー */
#cc-matrix-3778279626, #cc-m-13200831126,
#cc-matrix-3778408626, #cc-m-13201190526,
#cc-matrix-3778422526, #cc-m-13201220426,
#cc-matrix-3778422726, #cc-m-13201220826,
#cc-matrix-3778422926, #cc-m-13201221226,
#cc-matrix-3778423126, #cc-m-13201221526,
#cc-matrix-3778423326, #cc-m-13201221826,
#cc-matrix-3778423526, #cc-m-13201222126,
#page-2440357626 .cc-m-gallery-slider, #page-2440357626 .bx-wrapper, #page-2440357626 .bx-viewport ul,
#page-2440357626 .bx-viewport li, #page-2440357626 .bx-viewport a,
#page-2440357626 .cc-m-gallery-slider .bx-wrapper .bx-viewport{height:100% !important;}

#page-2440357626 .cc-m-gallery-slider ul img{
    height: 100% !important;
    object-fit: cover;
}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
/* 施設紹介 */
#cc-m-13200831026, #cc-m-13201190326, #cc-m-13201220226,
#cc-m-13201220626, #cc-m-13201221026, #cc-m-13201221326,
#cc-m-13201221626, #cc-m-13201221926{
    padding: 40px 800px 0px 800px !important;
    display:block;
}

/* 1段目（リビング） */
#cc-m-13200831026{
    padding: 60px 800px 0px 800px !important;
}
/* 最後の段（バスルーム） */
#cc-m-13201221926{
    padding: 40px 800px 60px 800px !important;
}
/* 左側テキスト */
#page-2440357626 .cc-m-hgrid-column{float:none; width:100% !important;}
#page-2440357626 .cc-m-hgrid-column:not(.last){padding: 20px; box-sizing: border-box;}

}




/* ペットの設備・備品 */
#cc-m-13201240226{margin: 120px 0;}
#page-2440357626 #cc-m-13201240226 .cc-m-hgrid-column:not(.last){
    background: none;
    padding: 0px 2% 0px 0px;
}
/* 左側スライダー キャプション*/
#cc-m-13201240226 .bx-wrapper li{padding-bottom: 55px !important;}
#cc-m-13201240226 .bx-caption{
    width:100% !important;
    bottom: 0px;
    text-align: left !important;
    margin: 0 !important;
    background: none;
    min-height: 50px;
}
#cc-m-13201240226 .cc-m-gallery-slider .bx-wrapper .bx-caption span{
    color: var(--textcolor) !important;
    padding: 0 !important;
    font-size:14px !important;
    font-family: "Zen Kaku Gothic New", sans-serif !important;
    font-weight: 400;
    line-height: 1.6;
}
/* 左側スライダー コントローラー*/
#cc-m-13201240226 .bx-prev, #cc-m-13201240226 .bx-next,
#cc-m-13201240226 .bx-controls-auto, #cc-m-13201240226 .cc-m-gallery-slider-fullscreen{
    top: calc(50% - 25px) !important;
}


/* 右側テキスト */
#content #cc-m-13201240226 .guide-room h3{margin: 0 0 60px !important;}
#cc-m-13201240226 .guide-room h3 span{
    font-size: 22px;
    margin-top: 10px;
}
#cc-m-13201241026{padding-left: 20px !important;}

@media screen and (max-width: 1139px) {
   /* 表示領域が1139px以下の場合に適用するスタイル */
#cc-m-13201240226{
    display: flex;
    flex-direction: column-reverse;
}
#page-2440357626 #cc-m-13201240226 .cc-m-hgrid-column:not(.last){padding:0;}
#cc-m-13201240226 .cc-m-hgrid-column{float:none; width: 100% !important;}

/* 左側スライダー キャプション*/
#cc-m-13201240226 .bx-wrapper li{padding-bottom: 75px !important;}
#cc-m-13201240226 .bx-caption{min-height: 70px;}
#cc-m-13201240226 .cc-m-gallery-slider .bx-wrapper .bx-caption span{font-size:12px !important;}
/* 左側スライダー コントローラー*/
#cc-m-13201240226 .bx-prev, #cc-m-13201240226 .bx-next,
#cc-m-13201240226 .bx-controls-auto, #cc-m-13201240226 .cc-m-gallery-slider-fullscreen{
    top: calc(50% - 35px) !important;
}

/* 右側テキスト */
#cc-m-13201241026{padding-left: 0px !important;}
#cc-m-13201240226 .cc-m-hgrid-column.last{margin-bottom:30px;}
}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13201240226{margin: 60px 0;}

}


/* 施設概要 */
#cc-m-13201249026{
    margin: 0px calc(50% - 50vw);
    background: var(--yodoya);
    padding: 120px 0 150px !important;
}
/* ~~~編集画面用~~~ */
#cc-m-13201249026.cc-m-all{
    margin:0;
    padding: 120px 0 !important;
}
/* ~~~~~~ */
.guide-facility{
    max-width: 1000px;
    margin: 0 auto;
}
#content .guide-facility h3{
    font-size:20px !important;
    color:var(--maincolor);
    margin: 0 0 60px !important;
}
#content .guide-facility h3 span{
    font-size: 22px;
    color:var(--maincolor);
    margin-top: 10px;
}
.guide-facility .table-style1 th, .guide-facility .table-style1 td{
    color:var(--maincolor);
}
.guide-facility .table-style1 th{
    min-width: 210px;
    padding: 0 20px 0 10px;
}
@media screen and (max-width: 1139px) {
   /* 表示領域が1139px以下の場合に適用するスタイル */
.guide-facility{
    max-width: 800px;
    padding: 0 20px;
}
}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13201249026{
    padding: 60px 0 60px !important;
}
.guide-facility .table-style1 th, .guide-facility .table-style1 td{
    display:block;
    width:100%;
    box-sizing: border-box;
}
.guide-facility .table-style1 th{ padding: 0 0px 0 10px;}
.guide-facility .table-style1 td{ padding: 0 0px 0 20px;}
}


/*  宿泊について
----------------------------------------------- */
#page-2440357726 #content-wrapper{padding: 0px 0 120px;}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#page-2440357726 #content-wrapper{padding: 0px 0 60px;}
}

/* お泊まりになる前に */
.booking-notice{
    margin: 0px calc(50% - 50vw);
    background: #ccd8e5;
    padding: 270px 0 120px !important;
}
#content .booking-notice h3{
    margin:0 auto 20px !important;
    color: var(--yodoya);
}
#content .booking-notice h3 + p{
    font-size:22px;
    margin-bottom:60px;
    text-align: center;
    line-height: 1.8;
}
.booking-notice-button{
    display:flex;
    justify-content:center;
}
.booking-notice-button a{
    display:flex;
    justify-content:center;
    align-items: center;
    width:380px;
    height:60px;
    font-size:16px;
    background:var(--yodoya);
    color: var(--light-yellow) !important;
    text-decoration:none !important;
    position:relative;
    transition: all .3s;
}
.booking-notice-button div:last-of-type a{margin-left:40px;}
.booking-notice-button a:hover{background:var(--dark-gray);}
.booking-notice-button a::after {
    content: "";
    display: inline-block;
    background: url(https://u.jimcdn.com/cms/o/s60010bfa2424ab34/userlayout/font/icon-arrow1.svg?t=1745218754) no-repeat;
    width: 12px;
    height: 12px;
    position: absolute;
    right: 20px;
    top: calc(50% - 6px);
    transition: all .3s;
}

.booking-notice-button p{
    text-align: center;
    margin-top: 10px;
    line-height: 1.8;
}
.booking-notice-button p span{color: var(--yodoya) !important;}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
/* お泊まりになる前に */
.booking-notice{
    padding: 130px 0 60px !important;
}
#content .booking-notice h3{font-size:22px !important;}
.booking-notice-button{display:block;}
.booking-notice-button a, .booking-notice-button div:last-of-type a{width:320px; margin: 0 auto;}
.booking-notice-button div:first-child{margin-bottom: 40px;}
}



/* 予約サイト */
.booking-method{
    max-width:1000px;
    margin:0 auto;
    padding: 120px 0 80px;
    border-bottom: 1px solid var(--border);
}
#content .booking-method h3{
    font-size:20px !important;
    margin: 0 0 40px !important;
    text-align: left;
    color: var(--yodoya);
}
#content .booking-method h3 span{
    font-size:22px;
    margin-top:20px;
    line-height: 1.6;
}
.booking-method-button{
    display:flex;
    margin-top:40px;
}
.booking-method-button a{
    display:flex;
    justify-content:center;
    align-items: center;
    width:260px;
    height:84px;
    font-size:16px;
    background:#FFF;
    color: var(--yodoya) !important;
    text-decoration:none !important;
    border-radius: 50px;
    font-weight: 500;
    position:relative;
    transition: all .3s;
}
.booking-method-button a img{width:75%;}
.booking-method-button a:last-child img{width:55%;}
.booking-method-button a:not(:last-child){margin-right:40px;}
.booking-method-button a:hover{opacity: .7;}
.booking-method-button a:first-child::before {
    content: "";
    display: inline-block;
    background: url(https://u.jimcdn.com/cms/o/s60010bfa2424ab34/userlayout/font/icon-reservation.svg?t=1744957988) no-repeat;
    filter: brightness(0) saturate(100%) invert(18%) sepia(31%) saturate(4567%) hue-rotate(204deg) brightness(89%) contrast(87%);
    width: 30px;
    height: 30px;
    margin-right: 8px;
    transition: all .3s;
}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
.booking-method{padding: 60px 0 60px;}
.booking-method-button{display:block;}
.booking-method-button a:not(:last-child) {
    margin: 0 0 40px;
}
}


/* ご宿泊当日の流れ */
.booking-site{
    max-width:1000px;
    margin:0 auto;
    padding: 80px 0 0px;
}
#content .booking-site h3{
    font-size:20px !important;
    margin: 0 0 40px !important;
    text-align: left;
    color: var(--yodoya);
}
#content .booking-site h3 span{
    font-size:22px;
    margin-top:20px;
    line-height: 1.6;
}

/* ステップ */
#cc-m-13202530726, #cc-m-13202532226, #cc-m-13202532526{
    max-width:1000px;
    margin:0 auto;
}
#cc-m-13202532226{margin:60px auto;}
#cc-m-13202532526{padding-bottom:80px !important;}

/* 右側テキスト */
.booking-site-text{padding-left: 20px;}
.booking-site-text .step{
    font-weight:500;
    margin-bottom:30px;
    display: inline-block;
}
.booking-site-text .step::after{
    content: "";
    display:block;
    border-bottom: 1px solid var(--yodoya);
}
.booking-site-text ul{padding-left:15px !important;}
.booking-site-text ul li{
    text-indent: -1em;
    padding-left: 1em;
    line-height:1.9;
    right:0 !important;
}
.booking-site-text ul li::before{
    content: "・";
    color:var(--yodoyacolor);
}
.booking-site-text p:last-child{padding-left:15px;}
.booking-site-text .booking-notice-last-button:not(:first-child) {margin-top: 15px;}
.booking-site-text .booking-notice-last-button:not(:last-child) {margin-bottom: 15px;}

@media screen and (max-width: 1139px) {
   /* 表示領域が1139px以下の場合に適用するスタイル */
#cc-m-13202530726, #cc-m-13202532226, #cc-m-13202532526{
    max-width:100%;
}
}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
.booking-site{padding: 60px 0 0px;}
/* ステップ */
#cc-m-13202532526{padding-bottom:60px !important;}
#cc-m-13202530726 .cc-m-hgrid-column, #cc-m-13202532226 .cc-m-hgrid-column,
#cc-m-13202532526 .cc-m-hgrid-column{
    float:none;
    width:100% !important;
}
#cc-m-13202530726 img, #cc-m-13202532226 img, #cc-m-13202532526 img{width:100%;}
.booking-site-text{padding: 30px 0 0;}
}


/* 宿泊の注意事項 */
#cc-m-13202532926{
    max-width:1000px;
    margin:0 auto;
}
.booking-notice-last{
    padding-top:80px;
    border-top: 1px solid var(--border);
}
.booking-notice-last > p{
    font-size:22px;
    margin-bottom:60px;
    line-height: 1.8;
}
.booking-notice-last-button{display:flex; align-items: center;}
.booking-notice-last-button:not(:last-child){margin-bottom:40px;}
.booking-notice-last-button a{
    display:flex;
    justify-content:center;
    align-items: center;
    width:380px;
    height:60px;
    font-size:16px;
    background:var(--yodoya);
    color: var(--light-yellow) !important;
    text-decoration:none !important;
    position:relative;
    transition: all .3s;
}
.booking-notice-last-button a{margin-right:40px;}
.booking-notice-last-button a:hover{background:var(--dark-gray);}
.booking-notice-last-button a::after {
    content: "";
    display: inline-block;
    background: url(https://u.jimcdn.com/cms/o/s60010bfa2424ab34/userlayout/font/icon-arrow1.svg?t=1745218754) no-repeat;
    width: 12px;
    height: 12px;
    position: absolute;
    right: 20px;
    top: calc(50% - 6px);
    transition: all .3s;
}

.booking-notice-last-button p{
    line-height: 1.8;
}
.booking-notice-last-button p span{color: var(--yodoya) !important;}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
.booking-notice-last{
    padding-top:60px;
}
.booking-notice-last-button{display:block;}
.booking-notice-last-button a{width:320px;}
}




/*  料金
----------------------------------------------- */
#page-2440357826 #content-wrapper{padding: 270px 0 0px;}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#page-2440357826 #content-wrapper{padding: 130px 0 0px;}
}

.fee{padding-bottom: 120px; padding-right: 20px;}
#content .fee h3{
    font-size:20px !important;
    margin: 0 0 40px !important;
    text-align: left;
    color: var(--yodoya);
}
#content .fee h3 span{
    font-size:22px;
    margin-top:20px;
    line-height: 1.6;
}
.fee p{line-height: 1.8;}
.fee table.table-style1{margin: 40px 0;}
.fee table.table-style1 th{
    min-width: 270px;
    font-weight: 500;
    padding: 0 0 0 50px;
}

.fee .button1 a{
    width: 300px;
    margin: 0;
    background:var(--yodoya);
}
.fee .button1 a:hover{background:var(--dark-gray);}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13202812826{padding-bottom: 40px !important;}
.fee{padding: 0 0 60px 0;}
#cc-m-13202812826 .cc-m-hgrid-column{
    float:none;
    width:100% !important;
}
#cc-m-13202812826 img{width:100%;}
.fee table.table-style1 th{padding: 0 20px;}
}



/* キャンセルポリシー */
#cc-m-13202814226{
    background: #ccd8e5;
    margin: 0px -800px 0 -800px;
    padding: 120px 800px 120px 800px !important;
}
.cancel{padding-right: 20px;}
#content .cancel h3{
    font-size:20px !important;
    margin: 0 0 40px !important;
    text-align: left;
    color: var(--yodoya);
}
#content .cancel h3 span{
    font-size:22px;
    margin-top:20px;
    line-height: 1.6;
}
.cancel p{line-height: 1.8;}
.cancel p:not(:last-child){margin-bottom:20px;}
.cancel table.table-style1{margin: 40px 0;}
.cancel table.table-style1 th{
    min-width: 270px;
    font-weight: 500;
    padding: 0 0 0 50px;
}

.cancel .button1 a{
    width: 300px;
    margin: 0;
    background:var(--yodoya);
}
.cancel .button1 a:hover{background:var(--dark-gray);}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13202814226{
    padding: 60px 800px 40px 800px !important;
}
.cancel{padding: 0 0 60px 0;}
#cc-m-13202814226 .cc-m-hgrid-column{
    float:none;
    width:100% !important;
}
#cc-m-13202814226 img{width:100%;}
.cancel table.table-style1 th{padding: 0 20px; min-width: 150px;}
}
/* ~~~編集画面用~~~ */
#cc-m-13202814226.cc-m-all{
    margin:0;
    padding: 120px 0 !important;
}
/* ~~~~~~ */



/* アクセス
----------------------------------------------- */
#page-2440580326 #content-wrapper{padding: 150px 0 60px;}
#page-2440580326 #content{max-width: 1000px;}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#page-2440580326 #content-wrapper{padding: 70px 0 0px;}
}

#content #cc-m-13203195826 h3{color: var(--yodoya);}

/* ルート */
.access{padding-top: 60px;}
#content .access h3{
    font-size:20px !important;
    margin: 0 0 40px !important;
    text-align: left;
    color: var(--yodoya);
}
#content .access h3 span{
    font-size:22px;
    margin-top:20px;
    line-height: 1.6;
}
.access p{line-height: 1.8;}
#cc-m-13203196226 .access p:first-of-type{color: var(--yodoya);}

.access-map{padding: 50px 0 60px 0;}


/* 各交通機関 */
.access-way{padding: 60px 0;}
.access-way.first{padding: 60px 0 0 0;}
.access-way p:first-child{
    font-size:22px;
}
.access-way p:first-child::before{
    content:"";
    display:inline-block;
    width:22px;
    height:22px;
    border-radius:50%;
    background: var(--yodoya);
    position: relative;
    top: 2px;
}

.access-way .table-wrap{margin-bottom:50px;}
.access-way .table-style1{
    width:700px;
    margin: 25px 0 0px;
}
.access-way .table-style1 tr:first-child{
    border:none;
    padding: 25px 0 15px;
}
.access-way .table-style1 th,
.access-way .table-style1 td{
    min-width: 60px;
    padding: 0 0 0 20px;
}
.access-way .table-style1 th:first-child,
.access-way .table-style1 td:first-child{
    min-width: 40px;
    padding-left:50px;
}
.access-way.second .table-style1 th:nth-child(2),
.access-way.second .table-style1 td:nth-child(2){
    min-width: 90px;
}
.access-way.last .table-style1 th:nth-child(2),
.access-way.last .table-style1 td:nth-child(2){
    min-width: 50px;
}
.access-way .table-style1 th{text-align:center;}
.access-way .table-style1 th:last-child{min-width: 280px;}

.access-way p{line-height: 1.8;}
#page-2440580326 .access-way.last p:last-child{color: var(--yodoya);}

/* 駐車場について */
.access-parking{padding-bottom:60px;}
#content .access-parking h3{
    font-size:20px !important;
    margin: 0 0 40px !important;
    text-align: left;
    color: var(--yodoya);
}
#content .access-parking h3 span{
    font-size:22px;
    margin-top:20px;
    line-height: 1.6;
}
.access-parking p{line-height: 1.8;}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
.access-way .table-wrap{overflow-x: scroll;}
}



/* ペット同伴での宿泊に関する規約
----------------------------------------------- */
#page-2440594826 #content-wrapper{padding: 150px 0 120px;}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#page-2440594826 #content-wrapper{padding: 70px 0 60px;}
}

/* 規約タイトル */
#cc-m-13203662626{max-width: 1000px; margin: 0 auto 60px;}
#content .terms-pet h3{
    color: var(--yodoya);
}
#content .terms-pet h3 span{
    font-size:22px;
    line-height: 1.6;
}
.terms-pet p{
    font-size:22px;
    text-align:center;
    margin-top:60px;
}

/* フォーム */
#cc-m-13203663026{
    max-width: 774px;
    margin: 0 auto;
}
form.cc-m-form .cc-m-form-view-element.cc-m-form-subheading{padding:0 0 25px 0 !important;}
.cc-m-form-subheading > label{
    font-size: 13px !important;
    margin: 0 !important;
    font-weight: 400 !important;
}
form.cc-m-form .cc-m-form-subheading:first-of-type > label div::after{
    content: "必須　※すべてのチェックボックスにチェック" !important;
    color: var(--accentcolor) !important;
    margin-left: 15px !important;
}
.cc-m-form-check{
    display:flex !important;
    align-items:center;
    flex-direction: row-reverse;
    justify-content: flex-end;
}
.cc-m-form-check .cc-m-form-view-input-wrapper{height: 40px;}
.cc-m-form-check .cc-m-form-view-input-wrapper input[type="checkbox"] {
    width: 40px;
    height: 40px;
    border: none !important;
    background: #e4e4e4 !important;
    margin-right:15px;
    flex-shrink: 0;
    position: relative;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.cc-m-form-check .cc-m-form-view-input-wrapper input[type="checkbox"]:checked:before {
    position: absolute;
    top: 6px;
    left: 14px;
    transform: rotate(50deg);
    width: 10px;
    height: 18px;
    border-right: 3px solid var(--textcolor);
    border-bottom: 3px solid var(--textcolor);
    content: '';
}
.cc-m-form-check label{
    margin:0 !important;
}
.cc-m-form-check label div{
    padding-left: 1.5em;
    text-indent: -1.5em;
}
.cc-m-form-check label div::after{display:none;}


/* 送信ボタン */
#page-2440594826 .cc-m-form-view-input-wrapper input[type="submit"]{
    background: var(--yodoya) !important;
}
#page-2440594826 .cc-m-form-view-input-wrapper input[type="submit"]:hover{background: var(--dark-gray) !important;}


/* 利用規約
----------------------------------------------- */
#page-2440594926 #content-wrapper{padding: 150px 0 120px;}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#page-2440594926 #content-wrapper{padding: 70px 0 60px;}
}

/* 規約タイトル */
#cc-m-13203683926{max-width: 1000px; margin: 0 auto 60px;}
#content .terms h3{
    color: var(--yodoya);
}
#content .terms h3 span{
    font-size:22px;
    line-height: 1.6;
}
.terms p{
    max-width: 774px;
    font-size:13px;
    line-height:1.6;
    margin:0 auto 60px;
}

/* 規約文 */
.tears-text{
    max-width: 774px;
    margin:0 auto;
}
.tears-text div{margin-bottom:30px;}
.tears-text div p:first-child{font-size:16px; margin-bottom:5px;}
.tears-text div p{
    font-size:13px;
    line-height:1.6;
    padding-left:1em;
    text-indent:-1em;
}

/* ----------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------
  別邸葵町
----------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------------
  別邸葵町　トップページ
---------------------------------------------------------------------------------------------- */
#page-2440370826 #content-wrapper{padding: 50px 0 0px;}

#cc-m-13200179826{margin: 0px calc(50% - 50vw); position:relative;}
#cc-m-13200179826 img{width:100%;}
#cc-m-13200179826::after{
    content:"";
    display:inline-block;
    background: url(https://u.jimcdn.com/cms/o/s60010bfa2424ab34/userlayout/font/logo-aoi.svg?t=1747187365) no-repeat;
    width: 157px;
    height: 139px;
    position: absolute;
    top: 56%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
/* ~~~編集画面用~~~ */
#cc-m-13200179826.cc-m-all{
    margin:0;
}
/* ~~~~~~ */
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#page-2440370826 #content-wrapper{padding: 70px 0 0px;}
#cc-m-13200179826::after{width: 110px; height: 97px; top: 50%;}
}

/* イントロ */
#content #cc-m-13200179426 .shisetu-intro h3{
    color: var(--aoi);
}
#cc-m-13200179426 .shisetu-intro .button1 a{
    background:var(--aoi);
}
#cc-m-13200179426 .shisetu-intro .button1 a:hover{
    background:var(--dark-gray);
}

/* レコメンド */
#cc-m-13200186526{
    margin: 120px calc(50% - 50vw);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0px;
}
#cc-m-13200186526 .cc-m-hgrid-column{width: auto !important; padding: 0;}
#cc-m-13200186526 .cc-m-hgrid-separator, #cc-m-13200186526 .cc-clear{display:none;}
#cc-m-13200186526 .last{background: var(--aoi);}

/* ~~~編集画面用~~~ */
#cc-m-13200186526.cc-m-all{
    margin: 120px 0;
    display: block;
}
#cc-m-13200186526.cc-m-all .cc-m-hgrid-column{width: 49% !important;}
#cc-m-13200186526.cc-m-all .cc-m-hgrid-separator, #cc-m-13200186526.cc-m-all .cc-clear{display:block;}
/* ~~~~~~ */

#cc-matrix-3778068526, #cc-m-13200186626, #cc-m-13200186526 figure{height: 100% !important;}
#cc-m-13200186526 img{width:100%; height: 100%; object-fit: cover;}

#cc-m-13200186526 .shisetu-reco .button1 a{
    background:var(--aoi);
}
#cc-m-13200186526 .shisetu-reco .button1 a:hover{
    background:var(--dark-gray);
}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13200186526{
    margin: 120px calc(50% - 50vw) 0;
    display: flex;
    flex-direction: column-reverse;
}
}


/* 宿泊について */
#cc-m-13200186126{
    margin-bottom: 120px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0px;
}
#cc-m-13200186126 .cc-m-hgrid-column{width: auto !important; padding: 0;}
#cc-m-13200186126 .cc-m-hgrid-separator, #cc-m-13200186126 .cc-clear{display:none;}

#content #cc-m-13200186126 .shisetu-stay h3{color: var(--aoi);}

/* ~~~編集画面用~~~ */
#cc-m-13200186126.cc-m-all{
    display: block;
}
#cc-m-13200186126.cc-m-all .cc-m-hgrid-column{width: 49% !important;}
#cc-m-13200186126.cc-m-all .cc-m-hgrid-separator, #cc-m-13200186126.cc-m-all .cc-clear{display:block;}
/* ~~~~~~ */

#cc-matrix-3778068426, #cc-m-13200186426, #cc-m-13200186126 figure{height: 100% !important;}
#cc-m-13200186126 img{width:100%; height: 100%; object-fit: cover;}

#cc-m-13200186126 .shisetu-stay .button1 a{
    background:var(--aoi);
}
#cc-m-13200186126 .shisetu-stay .button1 a:hover{
    background:var(--dark-gray);
}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13200186126{
    margin: 0px calc(50% - 50vw) 0px;
    display: flex;
    flex-direction: column;
}
}


/* 選べるプラン */
#cc-m-13200442626{
    margin: 0px calc(50% - 50vw);
    background: #dcdfcf;
    padding: 120px 0 !important;
}
#content #cc-m-13200442626 .shisetu-plan h3{color: var(--aoi);}

#cc-m-13200442626 .shisetu-plan .button1 a{
    background:var(--aoi);
}
#cc-m-13200442626 .shisetu-plan .button1 a:hover{
    background:var(--dark-gray);
}
/* ~~~編集画面用~~~ */
#cc-m-13200442626.cc-m-all{
    margin:0;
}
/* ~~~~~~ */
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13200442626{padding: 60px 0 !important;}
}



/* キャンセルポリシー */
#content #cc-m-13200442526 .shisetu-policy h3{color: var(--aoi);}

#cc-m-13200442526 .shisetu-policy .button1 a{
    background:var(--aoi);
}
#cc-m-13200442526 .shisetu-policy .button1 a:hover{
    background:var(--dark-gray);
}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
}



/* 新着情報 */
#cc-m-13200443826{
    margin: 0px calc(50% - 50vw);
    background: var(--aoi);
}
#cc-m-13200443826 h3, #cc-m-13200443826 h3 span,
#cc-m-13200443826 .blog-date, #cc-m-13200443826 .blog-title a h2{color: var(--maincolor);}

#cc-m-13200443826 .button1 a{
    background:var(--aoi);
    margin: 60px auto 0px;
    border: 1px solid var(--border);
}
#cc-m-13200443826 .button1 a:hover{
    background:var(--dark-gray);
}
/* ~~~編集画面用~~~ */
#cc-m-13200443826.cc-m-all{
    margin:0;
}
/* ~~~~~~ */
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13200443826 .button1 a{margin: 60px auto 0px;}
}

/* 新着情報記事の引き込み */
#blognews-aoi{
    margin: 0 90px 60px;
    border-top: 1px solid var(--border);
}
#blognews-aoi .blog-item:after{filter:none;}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#blognews-aoi{
    margin: 0 20px 60px;
}
}

/* アクセス */
#content #cc-m-13200443726 .shisetu-access h3{color: var(--aoi);}

#cc-m-13200443726 .shisetu-access .button1 a{
    background:var(--aoi);
}
#cc-m-13200443726 .shisetu-access .button1 a:hover{
    background:var(--dark-gray);
}
/* Googleマップ */
#cc-m-13200445526{margin: 0px calc(50% - 50vw);}
/* ~~~編集画面用~~~ */
#cc-m-13200445526.cc-m-all{
    margin:0;
}
/* ~~~~~~ */

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
}




/* ----------------------------------------------------------------------------------------------
  別邸葵町　下層ページ
---------------------------------------------------------------------------------------------- */
/*  施設案内
----------------------------------------------- */
#page-2440370926 #content-wrapper{padding: 0px 0 0px;}

/* ページビジュアル */
#cc-m-13203695826{margin: 0px calc(50% - 50vw);}
#cc-m-13203695826 img{width:100%;}
/* ~~~編集画面用~~~ */
#cc-m-13203695826.cc-m-all{
    margin:0;
}
/* ~~~~~~ */



/* 建物紹介 */
#cc-m-13203690526{padding-bottom: 60px !important;}
#content #cc-m-13203690526 .shisetu-intro h3{color: var(--aoi);}

.shisetu-intro-button{
    display: grid;
    grid-template-columns: 270px 270px 270px;
    gap: 0 40px;
    justify-content:center;
}
.shisetu-intro .shisetu-intro-button .button1 a {
    width: 270px;
    margin:0;
}
#cc-m-13203690526 .shisetu-intro .button1 a::before{transform: rotate(90deg);}

.shisetu-intro-button div{margin-bottom:60px;}
#cc-m-13203690526 .shisetu-intro-button div p{
    font-size:16px;
    color:var(--aoi);
    text-align:center;
}
#cc-m-13203690526 .shisetu-intro .button1 a{background: var(--aoi);}
#cc-m-13203690526 .shisetu-intro .button1 a:hover{background: var(--dark-gray);}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13203690526{padding-bottom: 0px !important;}
.shisetu-intro-button{grid-template-columns: 1fr;}
.shisetu-intro-button div{margin: 0px auto 30px;}
}

/* 部屋紹介 */
/* 部屋名 */
#cc-m-13203708326, #cc-m-13203845626, #cc-m-13203846126{
    margin: 0px calc(50% - 50vw);
    background: #dcdfcf;
    padding: 120px 0 0px !important;
}
#content .room-name h3{
    margin: 0 !important;
    color: var(--aoi);
}
/* ~~~編集画面用~~~ */
#cc-m-13203708326.cc-m-all, #cc-m-13203845626.cc-m-all, #cc-m-13203846126.cc-m-all{
    margin:0;
}
/* ~~~~~~ */
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13203708326, #cc-m-13203845626, #cc-m-13203846126{
    padding: 60px 0 0px !important;
}
}



/* ギャラリー */
#cc-m-13203701426, #cc-m-13203845726, #cc-m-13203846226{
    margin: 0px calc(50% - 50vw);
    background: #dcdfcf;
    padding: 40px 0 60px !important;
}
#cc-m-13203701426 .cc-m-gallery-slider,
#cc-m-13203845726 .cc-m-gallery-slider,
#cc-m-13203846226 .cc-m-gallery-slider{
    max-width: 1140px;
    margin: 0 auto;
}
/* ~~~編集画面用~~~ */
#cc-m-13203701426.cc-m-all, #cc-m-13203845726.cc-m-all, #cc-m-13203846226.cc-m-all{
    margin:0;
}
/* ~~~~~~ */
@media screen and (max-width: 1139px) {
   /* 表示領域が1139px以下の場合に適用するスタイル */
#cc-m-13203701426, #cc-m-13203845726, #cc-m-13203846226{
     padding: 40px 20px 60px !important;
}
}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13203701426, #cc-m-13203845726, #cc-m-13203846226{
     padding: 20px 20px 60px !important;
}
}


/* 紹介文 */
#cc-m-13203704826, #cc-m-13203845826, #cc-m-13203846426{
    position:relative;
}
#cc-m-13203846426{padding: 0px 0 120px !important;}

#cc-m-13203704826::after, #cc-m-13203845826::after, #cc-m-13203846426::after{
    content:"";
    display:inline-block;
    width: 100vw;
    height: 100%;
    position: absolute;
    top:0;
    margin: 0px calc(50% - 50vw);
    background: #dcdfcf;
    z-index: -1;
}

.room-text{padding-right:20px;}
.room-text p:first-child{
    font-size:22px;
    margin-bottom:40px;
}
.room-text p{line-height:1.8;}
.room-text .button1 a{
    background: var(--aoi);
    margin: 40px 0 60px 0;
}
.room-text .button1 a:hover{background: var(--dark-gray);}
.room-text a.other{
    text-decoration:none;
    position:relative;
    padding-left: 50px;
    display: inline-block;
    font-weight: 500;
    transition: all .3s;
}
.room-text a.other::before{
    content:"";
    display:inline-block;
    background: url(https://u.jimcdn.com/cms/o/s60010bfa2424ab34/userlayout/font/icon-arrow3.svg?t=1748247992) no-repeat;
    width:34px;
    height:34px;
    position:absolute;
    top: 8px;
    left: 0;
}
.room-text a.other:hover{color:var(--accentcolor);}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13203704826 .cc-m-hgrid-column,
#cc-m-13203845826 .cc-m-hgrid-column, 
#cc-m-13203846426 .cc-m-hgrid-column{
    float: none;
    width: 100% !important;
}
#cc-m-13203846426{padding: 0px 0 60px !important;}
.room-text{padding:0 0 60px 0;}
}



/* 紹介文横　表 */
.about-pet{
    margin-top:20px;
    padding-left: 20px;
}
.about-pet a{
    position:relative;
    font-weight: 500;
    text-decoration:none !important;
    transition: all .3s;
}
.about-pet a::before {
    content: "";
    position: absolute;
    width: 9px;
    height: 9px;
    top: 4px;
    right: -20px;
    border-top: 1px solid var(--textcolor);
    transform: rotate(55deg);
}
.about-pet a::after {
    content: "";
    position: absolute;
    width: 9px;
    height: 9px;
    top: 7px;
    right: -20px;
    border-right: 1px solid var(--textcolor);
    transform: rotate(35deg);
}

.about-pet a:hover{color:var(--accentcolor);}


/* ペットの設備・備品 */
#cc-m-13203690626{margin: 120px 0;}
#page-2440370926 #cc-m-13203690626 .cc-m-hgrid-column:not(.last){
    padding: 0px 2% 0px 0px;
}
/* 左側スライダー キャプション*/
#cc-m-13203690626 .bx-wrapper li{padding-bottom: 55px !important;}
#cc-m-13203690626 .bx-caption{
    width:100% !important;
    bottom: 0px;
    text-align: left !important;
    margin: 0 !important;
    background: none;
    min-height: 50px;
}
#cc-m-13203690626 .cc-m-gallery-slider .bx-wrapper .bx-caption span{
    color: var(--textcolor) !important;
    padding: 0 !important;
    font-size:14px !important;
    font-family: "Zen Kaku Gothic New", sans-serif !important;
    font-weight: 400;
    line-height: 1.6;
}
/* 左側スライダー コントローラー*/
#cc-m-13203690626 .bx-prev, #cc-m-13203690626 .bx-next,
#cc-m-13203690626 .bx-controls-auto, #cc-m-13203690626 .cc-m-gallery-slider-fullscreen{
    top: calc(50% - 25px) !important;
}

/* 右側テキスト */
#content #cc-m-13203690626 .guide-room h3{
    margin: 0 0 60px !important;
    color: var(--aoi);
}
#cc-m-13203690626 .guide-room h3 span{
    font-size: 22px;
    margin-top: 10px;
}
#cc-m-13203690826{padding-left: 20px !important;}

@media screen and (max-width: 1139px) {
   /* 表示領域が1139px以下の場合に適用するスタイル */
#cc-m-13203690626{
    display: flex;
    flex-direction: column-reverse;
}
#cc-m-13203690626 .cc-m-hgrid-column{float:none; width: 100% !important;}
/* 左側スライダー キャプション*/
#cc-m-13203690626 .bx-wrapper li{padding-bottom: 75px !important;}
#cc-m-13203690626 .bx-caption{min-height: 70px;}
#cc-m-13203690626 .cc-m-gallery-slider .bx-wrapper .bx-caption span{font-size:12px !important;}
/* 左側スライダー コントローラー*/
#cc-m-13203690626 .bx-prev, #cc-m-13203690626 .bx-next,
#cc-m-13203690626 .bx-controls-auto, #cc-m-13203690626 .cc-m-gallery-slider-fullscreen{
    top: calc(50% - 35px) !important;
}

/* 右側テキスト */
#cc-m-13203690826{padding-left: 0px !important;}
#cc-m-13203690626 .cc-m-hgrid-column.last{margin-bottom:30px;}
}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13203690626{margin: 60px 0;}
}


/* 別邸葵町 施設内共有スペース */
#cc-m-13203860126{
    position:relative;
    padding: 120px 0 120px !important;
}

#cc-m-13203860126::after{
    content:"";
    display:inline-block;
    width: 100vw;
    height: 100%;
    position: absolute;
    top:0;
    margin: 0px calc(50% - 50vw);
    background: #dcdfcf;
    z-index: -1;
}
#page-2440370926 #cc-m-13203860126 .cc-m-hgrid-column:not(.last){
    padding: 0px 2% 0px 0px;
}
/* 右側スライダー キャプション*/
#cc-m-13203860126 .bx-wrapper li{padding-bottom: 55px !important;}
#cc-m-13203860126 .bx-caption{
    width:100% !important;
    bottom: 0px;
    text-align: left !important;
    margin: 0 !important;
    background: none;
    min-height: 50px;
}
#cc-m-13203860126 .cc-m-gallery-slider .bx-wrapper .bx-caption span{
    color: var(--textcolor) !important;
    padding: 0 !important;
    font-size:14px !important;
    font-family: "Zen Kaku Gothic New", sans-serif !important;
    font-weight: 400;
    line-height: 1.6;
}
/* 右側スライダー コントローラー*/
#cc-m-13203860126 .bx-prev, #cc-m-13203860126 .bx-next,
#cc-m-13203860126 .bx-controls-auto, #cc-m-13203860126 .cc-m-gallery-slider-fullscreen{
    top: calc(50% - 25px) !important;
}

/* 左側テキスト */
#content #cc-m-13203860126 .guide-room h3{
    margin: 0 0 60px !important;
    color: var(--aoi);
}
#cc-m-13203860126 .guide-room h3 span{
    font-size: 22px;
    margin-top: 10px;
}
#cc-m-13203860326{padding-right: 20px !important;}

@media screen and (max-width: 1139px) {
   /* 表示領域が1139px以下の場合に適用するスタイル */
#cc-m-13203860126{
    display: flex;
    flex-direction: column;
}
#cc-m-13203860126 .cc-m-hgrid-column{float:none; width: 100% !important;}
/* 右側スライダー キャプション*/
#cc-m-13203860126 .bx-wrapper li{padding-bottom: 75px !important;}
#cc-m-13203860126 .bx-caption{min-height: 70px;}
#cc-m-13203860126 .cc-m-gallery-slider .bx-wrapper .bx-caption span{font-size:12px !important;}
/* 右側スライダー コントローラー*/
#cc-m-13203860126 .bx-prev, #cc-m-13203860126 .bx-next,
#cc-m-13203860126 .bx-controls-auto, #cc-m-13203860126 .cc-m-gallery-slider-fullscreen{
    top: calc(50% - 35px) !important;
}

/* 左側テキスト */
#cc-m-13203860326{padding-right: 0px !important;}
#cc-m-13203860126 .cc-m-hgrid-column:first-of-type{margin-bottom:30px;}
}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13203860126{
    margin: 60px 0 0;
    padding: 60px 0 60px !important;
}
}


/* 施設概要 */
#cc-m-13203690926{
    margin: 0px calc(50% - 50vw);
    background: var(--aoi);
    padding: 120px 0 150px !important;
}
/* ~~~編集画面用~~~ */
#cc-m-13203690926.cc-m-all{
    margin:0;
}
/* ~~~~~~ */
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13203690926{
    padding: 60px 0 60px !important;
}
}




/*  宿泊について
----------------------------------------------- */
#page-2440562526 #content-wrapper{padding: 0px 0 120px;}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#page-2440562526 #content-wrapper{padding: 0px 0 60px;}
}

/* お泊まりになる前に */
#cc-m-13202539726 .booking-notice{
    background: #dcdfcf;
}
#content #cc-m-13202539726 .booking-notice h3{
    color: var(--aoi);
}

#cc-m-13202539726 .booking-notice-button a{
    background:var(--aoi);
}
#cc-m-13202539726 .booking-notice-button a:hover{background:var(--dark-gray);}
#cc-m-13202539726 .booking-notice-button p span{color: var(--aoi) !important;}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */

}


/* 予約サイト */
#content #cc-m-13202541926 .booking-method h3{
    color: var(--aoi);
}

#cc-m-13202541926 .booking-method-button a{
    color: var(--aoi) !important;
}
#cc-m-13202541926 .booking-method-button a:first-child::before {
    filter: brightness(0) saturate(100%) invert(41%) sepia(8%) saturate(659%) hue-rotate(61deg) brightness(94%) contrast(94%);
}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */

}


/* ご宿泊当日の流れ */
#content #cc-m-13202539926 .booking-site h3{
    color: var(--aoi);
}

/* ステップ */
#cc-m-13202540026, #cc-m-13202543326, #cc-m-13202543626, #cc-m-13202543926, #cc-m-13202544226{
    max-width:1000px;
    margin:0 auto;
}
#cc-m-13202543326, #cc-m-13202543626, #cc-m-13202543926{margin:60px auto;}
#cc-m-13202544226{padding-bottom:80px !important;}

/* 右側テキスト */
#cc-m-13202540026 .booking-site-text .step::after, 
#cc-m-13202543326 .booking-site-text .step::after, 
#cc-m-13202543626 .booking-site-text .step::after, 
#cc-m-13202543926 .booking-site-text .step::after{
    border-bottom: 1px solid var(--aoi);
}
#cc-m-13202544226 .booking-site-text .step::after{content:none;}

#cc-m-13202540026 .booking-site-text ul li::before, 
#cc-m-13202543326 .booking-site-text ul li::before, 
#cc-m-13202543626 .booking-site-text ul li::before, 
#cc-m-13202543926 .booking-site-text ul li::before,
#cc-m-13202544226 .booking-site-text ul li::before{
    content: "・";
    color:var(--aoi);
}

@media screen and (max-width: 1139px) {
   /* 表示領域が1139px以下の場合に適用するスタイル */
#cc-m-13202540026, #cc-m-13202543326, #cc-m-13202543626, 
#cc-m-13202543926, #cc-m-13202544226{
    max-width:100%;
}
}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */

/* ステップ */
#cc-m-13202544226{padding-bottom:60px !important;}
#cc-m-13202540026 .cc-m-hgrid-column, #cc-m-13202543326 .cc-m-hgrid-column,
#cc-m-13202543626 .cc-m-hgrid-column, #cc-m-13202543926 .cc-m-hgrid-column, 
#cc-m-13202544226 .cc-m-hgrid-column{
    float:none;
    width:100% !important;
}
#cc-m-13202540026 img, #cc-m-13202543326 img,
#cc-m-13202543626 img, #cc-m-13202543926 img, 
#cc-m-13202544226 img{width:100%;}
}


/* 宿泊の注意事項 */
#cc-m-13202540326{
    max-width:1000px;
    margin:0 auto;
}
#cc-m-13202540326 .booking-notice-last-button a,
#cc-matrix-3778851226 .booking-notice-last-button a{
    background:var(--aoi);
}
#cc-m-13202540326 .booking-notice-last-button a:hover,
#cc-matrix-3778851226 .booking-notice-last-button a:hover{background:var(--dark-gray);}

#cc-m-13202540326 .booking-notice-last-button p span{color: var(--aoi) !important;}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */

}


/*  料金
----------------------------------------------- */
#page-2440580426 #content-wrapper{padding: 270px 0 0px;}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#page-2440580426 #content-wrapper{padding: 130px 0 0px;}
}

#content #cc-m-13202825026 .fee h3{
    color: var(--aoi);
}

#cc-m-13202825026 .fee table.table-style1 td{
    padding: 0;
    min-width: 70px;
}

#cc-m-13202825026 .fee .button1 a{
    background:var(--aoi);
}
#cc-m-13202825026 .fee .button1 a:hover{background:var(--dark-gray);}

@media screen and (max-width: 1139px) {
   /* 表示領域が1139px以下の場合に適用するスタイル */
#cc-m-13202825026 .fee table.table-style1 th{
    display:block;
    padding: 0 10px;
}
#cc-m-13202825026 .fee table.table-style1 tr td{min-width: 100px;}
#cc-m-13202825026 .fee table.table-style1 tr td:first-of-type{
    padding-left:30px;
    box-sizing: border-box;
    min-width: calc(100px + 30px);
}
}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13202825026{padding-bottom: 40px !important;}
#cc-m-13202825026 .cc-m-hgrid-column{
    float:none;
    width:100% !important;
}
#cc-m-13202825026 img{width:100%;}

#cc-m-13202825026 .fee table.table-style1 tr td{min-width: 70px;}
#cc-m-13202825026 .fee table.table-style1 tr td:first-of-type{
    min-width: calc(70px + 30px);
}
}



/* キャンセルポリシー */
#cc-m-13202826326{
    background: #dcdfcf;
    margin: 0px -800px 0 -800px;
    padding: 120px 800px 120px 800px !important;
}
#content #cc-m-13202826326 .cancel h3{
    color: var(--aoi);
}

#cc-m-13202826326 .cancel .button1 a{
    background:var(--aoi);
}
#cc-m-13202826326 .cancel .button1 a:hover{background:var(--dark-gray);}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13202826326{
    padding: 60px 800px 40px 800px !important;
}
#cc-m-13202826326 .cc-m-hgrid-column{
    float:none;
    width:100% !important;
}
#cc-m-13202826326 img{width:100%;}
}
/* ~~~編集画面用~~~ */
#cc-m-13202826326.cc-m-all{
    margin:0;
    padding: 120px 0 !important;
}
/* ~~~~~~ */



/* アクセス
----------------------------------------------- */
#page-2440580526 #content-wrapper{padding: 150px 0 60px;}
#page-2440580526 #content{max-width: 1000px;}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#page-2440580526 #content-wrapper{padding: 70px 0 0px;}
}

#content #cc-m-13203213026 h3{color: var(--aoi);}

/* マップ */
#content #cc-m-13203213126 .access h3{
    color: var(--aoi);
}

/* 各交通機関 */
#page-2440580526 .access-way p:first-child::before{
    background: var(--aoi);
}

/* 駐車場について */
#cc-m-13203215126{padding-bottom:60px !important; max-width: 700px;}
#cc-m-13203215126 .access-parking{padding-bottom:30px;}
#content #cc-m-13203215126 .access-parking h3{
    color: var(--aoi);
}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13203215126 .cc-m-hgrid-column{
    float:none;
    width:100% !important;
}
}



/* ペット同伴での宿泊に関する規約
----------------------------------------------- */
#page-2440595026 #content-wrapper{padding: 150px 0 120px;}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#page-2440595026 #content-wrapper{padding: 70px 0 60px;}
}

/* 規約タイトル */
#cc-m-13203676726{max-width: 1000px; margin: 0 auto 60px;}
#content #cc-m-13203676726 .terms-pet h3{
    color: var(--aoi);
}

/* フォーム */
#cc-m-13204922226{
    max-width: 774px;
    margin: 0 auto;
}


/* 送信ボタン */
#page-2440595026 .cc-m-form-view-input-wrapper input[type="submit"]{
    background: var(--aoi) !important;
}
#page-2440595026 .cc-m-form-view-input-wrapper input[type="submit"]:hover{background: var(--dark-gray) !important;}



/* 利用規約
----------------------------------------------- */
#page-2440595126 #content-wrapper{padding: 150px 0 120px;}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#page-2440595126 #content-wrapper{padding: 70px 0 60px;}
}

/* 規約タイトル */
#cc-m-13203686926{max-width: 1000px; margin: 0 auto 60px;}
#content #cc-m-13203686926 .terms h3{
    color: var(--aoi);
}
.terms p.right{
    margin:0 auto 30px;
    text-align:right;
}


/* プラン（ブログ記事内のボタン）
----------------------------------------------- */
.shisetu-plan-aoi .button1 a{background:var(--aoi);}



/* ----------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------
  別邸新町
----------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------------
  別邸新町　トップページ
---------------------------------------------------------------------------------------------- */
#page-2440371026 #content-wrapper{padding: 50px 0 0px;}

#cc-m-13200451226{margin: 0px calc(50% - 50vw); position:relative;}
#cc-m-13200451226 img{width:100%;}
#cc-m-13200451226::after{
    content:"";
    display:inline-block;
    background: url(https://u.jimcdn.com/cms/o/s60010bfa2424ab34/userlayout/font/logo-sin.svg?t=1747289475) no-repeat;
    width: 157px;
    height: 139px;
    position: absolute;
    top: 56%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
/* ~~~編集画面用~~~ */
#cc-m-13200451226.cc-m-all{
    margin:0;
}
/* ~~~~~~ */
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#page-2440371026 #content-wrapper{padding: 70px 0 0px;}
#cc-m-13200451226::after{width: 110px; height: 97px; top: 50%;}
}

/* イントロ */
#content #cc-m-13200451126 .shisetu-intro h3{
    color: var(--sin);
}
#cc-m-13200451126 .shisetu-intro .button1 a{
    background:var(--sin);
}
#cc-m-13200451126 .shisetu-intro .button1 a:hover{
    background:var(--dark-gray);
}

/* レコメンド */
#cc-m-13200457426{
    margin: 120px calc(50% - 50vw);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0px;
}
#cc-m-13200457426 .cc-m-hgrid-column{width: auto !important; padding: 0;}
#cc-m-13200457426 .cc-m-hgrid-separator, #cc-m-13200457426 .cc-clear{display:none;}
#cc-m-13200457426 .last{background: var(--sin);}

/* ~~~編集画面用~~~ */
#cc-m-13200457426.cc-m-all{
    margin: 120px 0;
    display: block;
}
#cc-m-13200457426.cc-m-all .cc-m-hgrid-column{width: 49% !important;}
#cc-m-13200457426.cc-m-all .cc-m-hgrid-separator, #cc-m-13200457426.cc-m-all .cc-clear{display:block;}
/* ~~~~~~ */

#cc-matrix-3778162626, #cc-m-13200457526, #cc-m-13200457426 figure{height: 100% !important;}
#cc-m-13200457426 img{width:100%; height: 100%; object-fit: cover;}

#cc-m-13200457426 .shisetu-reco .button1 a{
    background:var(--sin);
}
#cc-m-13200457426 .shisetu-reco .button1 a:hover{
    background:var(--dark-gray);
}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13200457426{
    margin: 120px calc(50% - 50vw) 0;
    display: flex;
    flex-direction: column-reverse;
}
}


/* 宿泊について */
#cc-m-13200457826{
    margin-bottom: 120px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0px;
}
#cc-m-13200457826 .cc-m-hgrid-column{width: auto !important; padding: 0;}
#cc-m-13200457826 .cc-m-hgrid-separator, #cc-m-13200457826 .cc-clear{display:none;}

#content #cc-m-13200457826 .shisetu-stay h3{color: var(--sin);}

/* ~~~編集画面用~~~ */
#cc-m-13200457826.cc-m-all{
    display: block;
}
#cc-m-13200457826.cc-m-all .cc-m-hgrid-column{width: 49% !important;}
#cc-m-13200457826.cc-m-all .cc-m-hgrid-separator, #cc-m-13200457826.cc-m-all .cc-clear{display:block;}
/* ~~~~~~ */

#cc-matrix-3778163126, #cc-m-13200458026, #cc-m-13200457826 figure{height: 100% !important;}
#cc-m-13200458026 img{width:100%; height: 100%; object-fit: cover;}

#cc-m-13200457826 .shisetu-stay .button1 a{
    background:var(--sin);
}
#cc-m-13200457826 .shisetu-stay .button1 a:hover{
    background:var(--dark-gray);
}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13200457826{
    margin: 0px calc(50% - 50vw) 0px;
    display: flex;
    flex-direction: column;
}
}


/* 選べるプラン */
#cc-m-13200459126{
    margin: 0px calc(50% - 50vw);
    background: #e6d9d4;
    padding: 120px 0 !important;
}
#content #cc-m-13200459126 .shisetu-plan h3{color: var(--sin);}

#cc-m-13200459126 .shisetu-plan .button1 a{
    background:var(--sin);
}
#cc-m-13200459126 .shisetu-plan .button1 a:hover{
    background:var(--dark-gray);
}
/* ~~~編集画面用~~~ */
#cc-m-13200459126.cc-m-all{
    margin:0;
}
/* ~~~~~~ */
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13200459126{padding: 60px 0 !important;}
}



/* キャンセルポリシー */
#content #cc-m-13200458326 .shisetu-policy h3{color: var(--sin);}

#cc-m-13200458326 .shisetu-policy .button1 a{
    background:var(--sin);
}
#cc-m-13200458326 .shisetu-policy .button1 a:hover{
    background:var(--dark-gray);
}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
}



/* 新着情報 */
#cc-m-13200459026{
    margin: 0px calc(50% - 50vw);
    background: var(--sin);
}
#cc-m-13200459026 h3, #cc-m-13200459026 h3 span,
#cc-m-13200459026 .blog-date, #cc-m-13200459026 .blog-title a h2{color: var(--maincolor);}

#cc-m-13200459026 .button1 a{
    background:var(--sin);
    margin: 60px auto 0px;
    border: 1px solid var(--border);
}
#cc-m-13200459026 .button1 a:hover{
    background:var(--dark-gray);
}
/* ~~~編集画面用~~~ */
#cc-m-13200459026.cc-m-all{
    margin:0;
}
/* ~~~~~~ */
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13200459026 .button1 a{margin: 60px auto 0px;}
}

/* 新着情報記事の引き込み */
#blognews-sin{
    margin: 0 90px 60px;
    border-top: 1px solid var(--border);
}
#blognews-sin .blog-item:after{filter:none;}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#blognews-sin{
    margin: 0 20px 60px;
}
}

/* アクセス */
#content #cc-m-13200458826 .shisetu-access h3{color: var(--sin);}

#cc-m-13200458826 .shisetu-access .button1 a{
    background:var(--sin);
}
#cc-m-13200458826 .shisetu-access .button1 a:hover{
    background:var(--dark-gray);
}
/* Googleマップ */
#cc-m-13200459226{margin: 0px calc(50% - 50vw);}
/* ~~~編集画面用~~~ */
#cc-m-13200459226.cc-m-all{
    margin:0;
}
/* ~~~~~~ */

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
}



/* ----------------------------------------------------------------------------------------------
  別邸新町　下層ページ
---------------------------------------------------------------------------------------------- */
/*  施設案内
----------------------------------------------- */
#page-2440371126 #content-wrapper{padding: 0px 0 0px;}

/* ページビジュアル */
#cc-m-13203867026{margin: 0px calc(50% - 50vw);}
#cc-m-13203867026 img{width:100%;}
/* ~~~編集画面用~~~ */
#cc-m-13203867026.cc-m-all{
    margin:0;
}
/* ~~~~~~ */


/* 建物紹介 */
#cc-m-13203867126{padding-bottom: 60px !important;}
#content #cc-m-13203867126 .shisetu-intro h3{color: var(--sin);}

#cc-m-13203867126 .shisetu-intro-button{
    grid-template-columns: 270px 270px;
}
#cc-m-13203867126 .shisetu-intro-button div p{
    font-size: 16px;
    color:var(--sin);
    text-align: center;
}
#cc-m-13203867126 .shisetu-intro .button1 a{background: var(--sin);}
#cc-m-13203867126 .shisetu-intro .button1 a:hover{background: var(--dark-gray);}
#cc-m-13203867126 .shisetu-intro .button1 a::before{transform: rotate(90deg);}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13203867126 {padding-bottom: 0px !important;}
#cc-m-13203867126 .shisetu-intro-button{grid-template-columns: 1fr;}
}


/* 部屋紹介 */
/* 部屋名 */
#cc-m-13203867226, #cc-m-13203869226{
    margin: 0px calc(50% - 50vw);
    background: #e6d9d4;
    padding: 120px 0 0px !important;
}
#content #cc-m-13203867226 .room-name h3,
#content #cc-m-13203869226 .room-name h3{
    color: var(--sin);
}
/* ~~~編集画面用~~~ */
#cc-m-13203867226.cc-m-all, #cc-m-13203869226.cc-m-all{
    margin:0;
}
/* ~~~~~~ */
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13203867226, #cc-m-13203869226{
    padding: 60px 0 0px !important;
}
}


/* ギャラリー */
#cc-m-13203867326, #cc-m-13203869326{
    margin: 0px calc(50% - 50vw);
    background: #e6d9d4;
    padding: 40px 0 60px !important;
}
#cc-m-13203867326 .cc-m-gallery-slider,
#cc-m-13203869326 .cc-m-gallery-slider{
    max-width: 1140px;
    margin: 0 auto;
}
/* ~~~編集画面用~~~ */
#cc-m-13203867326.cc-m-all, #cc-m-13203869326.cc-m-all{
    margin:0;
}
/* ~~~~~~ */
@media screen and (max-width: 1139px) {
   /* 表示領域が1139px以下の場合に適用するスタイル */
#cc-m-13203867326, #cc-m-13203869326{
     padding: 40px 20px 60px !important;
}
}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13203867326, #cc-m-13203869326{
     padding: 20px 20px 60px !important;
}
}


/* 紹介文 */
#cc-m-13203867426, #cc-m-13203869426{
    position:relative;
}
#cc-m-13203869426{padding: 0px 0 120px !important;}

#cc-m-13203867426::after, #cc-m-13203869426::after{
    content:"";
    display:inline-block;
    width: 100vw;
    height: 100%;
    position: absolute;
    top:0;
    margin: 0px calc(50% - 50vw);
    background: #e6d9d4;
    z-index: -1;
}

#cc-m-13203867426 .room-text .button1 a,
#cc-m-13203869426 .room-text .button1 a{
    background: var(--sin);
}
#cc-m-13203867426 .room-text .button1 a:hover,
#cc-m-13203869426 .room-text .button1 a:hover{background: var(--dark-gray);}

#cc-m-13203867426 .room-text a.other::before,
#cc-m-13203869426 .room-text a.other::before{top: -5px;}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13203867426 .cc-m-hgrid-column,
#cc-m-13203869426 .cc-m-hgrid-column{
    float: none;
    width: 100% !important;
}
#cc-m-13203869426{padding: 0px 0 60px !important;}
}



/* ペットの設備・備品 */
#cc-m-13203868026{margin: 120px 0;}
#page-2440371126 #cc-m-13203868026 .cc-m-hgrid-column:not(.last){
    padding: 0px 2% 0px 0px;
}
/* 左側スライダー キャプション*/
#cc-m-13203868026 .bx-wrapper li{padding-bottom: 55px !important;}
#cc-m-13203868026 .bx-caption{
    width:100% !important;
    bottom: 0px;
    text-align: left !important;
    margin: 0 !important;
    background: none;
    min-height: 50px;
}
#cc-m-13203868026 .cc-m-gallery-slider .bx-wrapper .bx-caption span{
    color: var(--textcolor) !important;
    padding: 0 !important;
    font-size:14px !important;
    font-family: "Zen Kaku Gothic New", sans-serif !important;
    font-weight: 400;
    line-height: 1.6;
}
/* 左側スライダー コントローラー*/
#cc-m-13203868026 .bx-prev, #cc-m-13203868026 .bx-next,
#cc-m-13203868026 .bx-controls-auto, #cc-m-13203868026 .cc-m-gallery-slider-fullscreen{
    top: calc(50% - 25px) !important;
}

/* 右側テキスト */
#content #cc-m-13203868026 .guide-room h3{
    margin: 0 0 60px !important;
    color: var(--sin);
}
#cc-m-13203868026 .guide-room h3 span{
    font-size: 22px;
    margin-top: 10px;
}
#cc-m-13203868226{padding-left: 20px !important;}

@media screen and (max-width: 1139px) {
   /* 表示領域が1139px以下の場合に適用するスタイル */
#cc-m-13203868026{
    display: flex;
    flex-direction: column-reverse;
}
#cc-m-13203868026 .cc-m-hgrid-column{float:none; width: 100% !important;}
/* 左側スライダー キャプション*/
#cc-m-13203868026 .bx-wrapper li{padding-bottom: 75px !important;}
#cc-m-13203868026 .bx-caption{min-height: 70px;}
#cc-m-13203868026 .cc-m-gallery-slider .bx-wrapper .bx-caption span{font-size:12px !important;}
/* 左側スライダー コントローラー*/
#cc-m-13203868026 .bx-prev, #cc-m-13203868026 .bx-next,
#cc-m-13203868026 .bx-controls-auto, #cc-m-13203868026 .cc-m-gallery-slider-fullscreen{
    top: calc(50% - 35px) !important;
}

/* 右側テキスト */
#cc-m-13203868226{padding-left: 0px !important;}
#cc-m-13203868026 .cc-m-hgrid-column.last{margin-bottom:30px;}
}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13203868026{margin: 60px 0;}
}



/* 駐車場 */
#cc-m-13203868526{
    position:relative;
    padding: 120px 0 120px !important;
}

#cc-m-13203868526::after{
    content:"";
    display:inline-block;
    width: 100vw;
    height: 100%;
    position: absolute;
    top:0;
    margin: 0px calc(50% - 50vw);
    background: #e6d9d4;
    z-index: -1;
}
#page-2440371126 #cc-m-13203868526 .cc-m-hgrid-column:not(.last){
    padding: 0px 2% 0px 0px;
}
/* 右側スライダー キャプション*/
#cc-m-13203868526 .bx-wrapper li{padding-bottom: 55px !important;}
#cc-m-13203868526 .bx-caption{
    width:100% !important;
    bottom: 0px;
    text-align: left !important;
    margin: 0 !important;
    background: none;
    min-height: 50px;
}
#cc-m-13203868526 .cc-m-gallery-slider .bx-wrapper .bx-caption span{
    color: var(--textcolor) !important;
    padding: 0 !important;
    font-size:14px !important;
    font-family: "Zen Kaku Gothic New", sans-serif !important;
    font-weight: 400;
    line-height: 1.6;
}
/* 右側スライダー コントローラー*/
#cc-m-13203868526 .bx-prev, #cc-m-13203868526 .bx-next,
#cc-m-13203868526 .bx-controls-auto, #cc-m-13203868526 .cc-m-gallery-slider-fullscreen{
    top: calc(50% - 25px) !important;
}

/* 左側テキスト */
#content #cc-m-13203868626 .guide-room h3{
    margin: 0 0 60px !important;
    color: var(--sin);
}
#cc-m-13203868626 .guide-room h3 span{
    font-size: 22px;
    margin-top: 10px;
}
#cc-m-13203868626{padding-right: 20px !important;}

@media screen and (max-width: 1139px) {
   /* 表示領域が1139px以下の場合に適用するスタイル */
#cc-m-13203868526{
    display: flex;
    flex-direction: column;
}
#cc-m-13203868526 .cc-m-hgrid-column{float:none; width: 100% !important;}
/* 右側スライダー キャプション*/
#cc-m-13203868526 .bx-wrapper li{padding-bottom: 75px !important;}
#cc-m-13203868526 .bx-caption{min-height: 70px;}
#cc-m-13203868526 .cc-m-gallery-slider .bx-wrapper .bx-caption span{font-size:12px !important;}
/* 右側スライダー コントローラー*/
#cc-m-13203868526 .bx-prev, #cc-m-13203868526 .bx-next,
#cc-m-13203868526 .bx-controls-auto, #cc-m-13203868526 .cc-m-gallery-slider-fullscreen{
    top: calc(50% - 35px) !important;
}

/* 左側テキスト */
#cc-m-13203868626{padding-right: 0px !important;}
#cc-m-13203868526 .cc-m-hgrid-column:first-of-type{margin-bottom:30px;}
}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13203868526{
    margin: 60px 0 0;
    padding: 60px 0 60px !important;
}
}



/* 施設概要 */
#cc-m-13203869026{
    margin: 0px calc(50% - 50vw);
    background: var(--sin);
    padding: 120px 0 150px !important;
}
/* ~~~編集画面用~~~ */
#cc-m-13203869026.cc-m-all{
    margin:0;
}
/* ~~~~~~ */
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13203869026{
    padding: 60px 0 60px !important;
}
}




/*  宿泊について
----------------------------------------------- */
#page-2440562626 #content-wrapper{padding: 0px 0 120px;}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#page-2440562626 #content-wrapper{padding: 0px 0 60px;}
}

/* お泊まりになる前に */
#cc-m-13202555726 .booking-notice{
    background: #e6d9d4;
}
#content #cc-m-13202555726 .booking-notice h3{
    color: var(--sin);
}

#cc-m-13202555726 .booking-notice-button a{
    background:var(--sin);
}
#cc-m-13202555726 .booking-notice-button a:hover{background:var(--dark-gray);}
#cc-m-13202555726 .booking-notice-button p span{color: var(--sin) !important;}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */

}



/* 予約サイト */
#content #cc-m-13202555926 .booking-method h3{
    color: var(--sin);
}

#cc-m-13202555926 .booking-method-button a{
    color: var(--sin) !important;
}
#cc-m-13202555926 .booking-method-button a:first-child::before {
    filter: brightness(0) saturate(100%) invert(31%) sepia(79%) saturate(421%) hue-rotate(336deg) brightness(87%) contrast(87%);
}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */

}



/* ご宿泊当日の流れ */
#content #cc-m-13202556026 .booking-site h3{
    color: var(--sin);
}

/* ステップ */
#cc-m-13202556226, #cc-m-13202556626, #cc-m-13202556926, #cc-m-13202557226, #cc-m-13202557526{
    max-width:1000px;
    margin:0 auto;
}
#cc-m-13202556626, #cc-m-13202556926, #cc-m-13202557226{margin:60px auto;}
#cc-m-13202557526{padding-bottom:80px !important;}

/* 右側テキスト */
#cc-m-13202556226 .booking-site-text .step::after, 
#cc-m-13202556626 .booking-site-text .step::after, 
#cc-m-13202556926 .booking-site-text .step::after, 
#cc-m-13202557226 .booking-site-text .step::after{
    border-bottom: 1px solid var(--sin);
}
#cc-m-13202557526 .booking-site-text .step::after{content:none;}

#cc-m-13202556226 .booking-site-text ul li::before, 
#cc-m-13202556626 .booking-site-text ul li::before, 
#cc-m-13202556926 .booking-site-text ul li::before, 
#cc-m-13202557226 .booking-site-text ul li::before,
#cc-m-13202557526 .booking-site-text ul li::before{
    content: "・";
    color:var(--sin);
}

@media screen and (max-width: 1139px) {
   /* 表示領域が1139px以下の場合に適用するスタイル */
#cc-m-13202556226, #cc-m-13202556626, #cc-m-13202556926, 
#cc-m-13202557226, #cc-m-13202557526{
    max-width:100%;
}
}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */

/* ステップ */
#cc-m-13202557526{padding-bottom:60px !important;}
#cc-m-13202556226 .cc-m-hgrid-column, #cc-m-13202556626 .cc-m-hgrid-column,
#cc-m-13202556926 .cc-m-hgrid-column, #cc-m-13202557226 .cc-m-hgrid-column, 
#cc-m-13202557526 .cc-m-hgrid-column{
    float:none;
    width:100% !important;
}
#cc-m-13202556226 img, #cc-m-13202556626 img,
#cc-m-13202556926 img, #cc-m-13202557226 img, 
#cc-m-13202557526 img{width:100%;}
}


/* 宿泊の注意事項 */
#cc-m-13202557826{
    max-width:1000px;
    margin:0 auto;
}
#cc-m-13202557826 .booking-notice-last-button a,
#cc-matrix-3778851326 .booking-notice-last-button a{
    background:var(--sin);
}
#cc-m-13202557826 .booking-notice-last-button a:hover,
#cc-matrix-3778851326 .booking-notice-last-button a:hover{background:var(--dark-gray);}

#cc-m-13202557826 .booking-notice-last-button p span{color: var(--sin) !important;}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */

}


/*  料金
----------------------------------------------- */
#page-2440580626 #content-wrapper{padding: 270px 0 0px;}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#page-2440580626 #content-wrapper{padding: 130px 0 0px;}
}

#content #cc-m-13202851626 .fee h3{
    color: var(--sin);
}

#cc-m-13202851626 .fee table.table-style1 td{
    padding: 0;
    min-width: 100px;
}

#cc-m-13202851626 .fee .button1 a{
    background:var(--sin);
}
#cc-m-13202851626 .fee .button1 a:hover{background:var(--dark-gray);}

@media screen and (max-width: 1139px) {
   /* 表示領域が1139px以下の場合に適用するスタイル */
#cc-m-13202851626 .fee table.table-style1 th{
    display:block;
    padding: 0 10px;
}
#cc-m-13202851626 .fee table.table-style1 td{width: 50%;}
#cc-m-13202851626 .fee table.table-style1 tr td:first-of-type{
    padding-left:30px;
}
}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13202851626{padding-bottom: 40px !important;}
#cc-m-13202851626 .cc-m-hgrid-column{
    float:none;
    width:100% !important;
}
#cc-m-13202851626 img{width:100%;}
}



/* キャンセルポリシー */
#cc-m-13202851926{
    background: #e6d9d4;
    margin: 0px -800px 0 -800px;
    padding: 120px 800px 120px 800px !important;
}
#content #cc-m-13202851926 .cancel h3{
    color: var(--sin);
}

#cc-m-13202851926 .cancel .button1 a{
    background:var(--sin);
}
#cc-m-13202851926 .cancel .button1 a:hover{background:var(--dark-gray);}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13202851926{
    padding: 60px 800px 40px 800px !important;
}
#cc-m-13202851926 .cc-m-hgrid-column{
    float:none;
    width:100% !important;
}
#cc-m-13202851926 img{width:100%;}
}
/* ~~~編集画面用~~~ */
#cc-m-13202851926.cc-m-all{
    margin:0;
    padding: 120px 0 !important;
}
/* ~~~~~~ */



/* アクセス
----------------------------------------------- */
#page-2440580726 #content-wrapper{padding: 150px 0 60px;}
#page-2440580726 #content{max-width: 1000px;}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#page-2440580726 #content-wrapper{padding: 70px 0 0px;}
}

#content #cc-m-13203220726 h3{color: var(--sin);}

/* マップ */
#content #cc-m-13203220826 .access h3{
    color: var(--sin);
}

/* 各交通機関 */
#page-2440580726 .access-way p:first-child::before{
    background: var(--sin);
}

/* 駐車場について */
#cc-m-13203223426{padding-bottom:60px !important; max-width: 700px;}
#cc-m-13203223426 .access-parking{padding-bottom:30px;}
#content #cc-m-13203223426 .access-parking h3{
    color: var(--sin);
}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13203223426 .cc-m-hgrid-column{
    float:none;
    width:100% !important;
}
}



/* ペット同伴での宿泊に関する規約
----------------------------------------------- */
#page-2440595226 #content-wrapper{padding: 150px 0 120px;}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#page-2440595226 #content-wrapper{padding: 70px 0 60px;}
}

/* 規約タイトル */
#cc-m-13203682126{max-width: 1000px; margin: 0 auto 60px;}
#content #cc-m-13203682126 .terms-pet h3{
    color: var(--sin);
}

/* フォーム */
#cc-m-13204922326{
    max-width: 774px;
    margin: 0 auto;
}

/* 送信ボタン */
#page-2440595226 .cc-m-form-view-input-wrapper input[type="submit"]{
    background: var(--sin) !important;
}
#page-2440595226 .cc-m-form-view-input-wrapper input[type="submit"]:hover{background: var(--dark-gray) !important;}




/* 利用規約
----------------------------------------------- */
#page-2440595326 #content-wrapper{padding: 150px 0 120px;}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#page-2440595326 #content-wrapper{padding: 70px 0 60px;}
}

/* 規約タイトル */
#cc-m-13203689426{max-width: 1000px; margin: 0 auto 60px;}
#content #cc-m-13203689426 .terms h3{
    color: var(--sin);
}


/* プラン（ブログ記事内のボタン）
----------------------------------------------- */
.shisetu-plan-sin .button1 a{background:var(--sin);}



/*  footer
----------------------------------------------- */

/* ---------フッター　お問い合わせ--------- */
.footer-contact{
    background: url(https://u.jimcdn.com/cms/o/s60010bfa2424ab34/userlayout/img/footer-contact-bg.jpg?t=1745201015) no-repeat;
    background-position: center;
    background-size: cover;
    text-align:center;
    height:420px;
    padding-top: 125px;
}
.footer-contact h3 + p{
    font-size: 14px;
    margin-top:16px;
    font-weight: 500;
}
.footer-contact h3, .footer-contact p{color: var(--light-textcolor);}
.footer-contact a{
    color: var(--light-textcolor) !important;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    text-decoration:none !important;
}
/* メールでお問い合わせ */
.footer-contact a{
    width: 411px;
    height: 60px;
    margin: 60px auto;
    background: var(--dark-gray);
    transition: all .3s;
    font-weight: 500;
}
.footer-contact a::before{
    content: "";
    display: inline-block;
    background: url(https://u.jimcdn.com/cms/o/s60010bfa2424ab34/userlayout/font/icon-mail.svg?t=1745202484) no-repeat;
    width: 37px;
    height: 37px;
    margin-right:15px;
}
.footer-contact a:not(.footer-contact-button a):hover{background: var(--light-textcolor); color: var(--dark-gray) !important;}
.footer-contact a:not(.footer-contact-button a):hover::before{
filter: brightness(0) saturate(100%) invert(21%) sepia(13%) saturate(205%) hue-rotate(325deg) brightness(92%) contrast(90%);
}


/* 各施設　予約ボタン */
.footer-contact-button{
    display: flex;
    justify-content: center;
    align-items: center;
}
.footer-contact-button a{
    width: 231px;
    height: 60px;
    margin: 0;
    background: var(--accentcolor);
}
.footer-contact-button a::before{
    background: url(https://u.jimcdn.com/cms/o/s60010bfa2424ab34/userlayout/font/icon-reservation.svg?t=1744957988) no-repeat;
    width: 30px;
    height: 30px;
    margin-right:10px;
}
.footer-contact-button a:not(:last-child){margin-right:40px;}

.footer-contact-button a:nth-of-type(1):hover{background: var(--yodoya);}
.footer-contact-button a:nth-of-type(2):hover{background: var(--aoi);}
.footer-contact-button a:nth-of-type(3):hover{background: var(--sin);}


@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */

/* ---------フッター　お問い合わせ--------- */
.footer-contact{
    background: url(https://u.jimcdn.com/cms/o/s60010bfa2424ab34/userlayout/img/sp-footer-contact-bg.jpg?t=1745222568) no-repeat;
    background-size: cover;
    background-position: center right;
    height:475px;
    padding: 60px 20px 0;
    width: calc(100% - 40px);
    margin: 0 auto;
}

/* メールでお問い合わせ */
.footer-contact a:not(.footer-contact-button a){
    width: 100%;
    margin: 30px auto 40px;
}

/* 各施設　予約ボタン */
.footer-contact-button{
    display: block;
}
.footer-contact-button a{
    margin: 0 auto;
}
.footer-contact-button a:not(:last-child){margin:0 auto 20px;}
}



/* ---------フッターナビ--------- */
#footer{
    width:100%;
    background: var(--darkest-gray);
    padding:90px 0
}
.footer-nav{
    width:1140px;
    margin: 0 auto;
}
.footer-nav img{width:160px; margin: 0 auto 60px;}
.footer-nav, .footer-nav a{
    color: var(--light-textcolor) !important;
    font-size: 13px;
    text-decoration:none !important;
    position:relative;
    transition: all .3s;
}
.footer-nav-inner a:not(.foter-reservation):hover{color: var(--accentcolor) !important;}

.footer-nav-inner{
    display:grid;
    gap: 40px;
    grid-template-columns: 1fr 1fr 1fr 1fr;
}


.footer-nav-inner ul li{
    border-top: 1px solid #b2b0b0;
}
.footer-nav-inner .footer-nav-second li{border-bottom:none; border-top: 1px solid #b2b0b0;}

.footer-nav-inner ul li a{
    display:block;
    padding:10px 0 10px 15px;
}

/* 施設名 */
.footer-nav-inner .name a{
    display:block;
    font-size: 16px;
    padding:20px 0 20px 15px;
    border-top: 1px solid #b2b0b0;
}
.footer-nav-inner .name a::after{
    content:"";
    display: inline-block;
    background: url(https://u.jimcdn.com/cms/o/s60010bfa2424ab34/userlayout/font/icon-arrow1.svg?t=1745218754) no-repeat;
    width:12px;
    height:12px;
    position: absolute;
    right:0;
    top: calc(50% - 6px);
    transition: all .3s;
}
.footer-nav-inner .name a:hover::after{
    filter: brightness(0) saturate(100%) invert(34%) sepia(77%) saturate(3026%) hue-rotate(1deg) brightness(96%) contrast(91%);
}


/* 住所 */
.footer-nav-inner .address{
    padding:10px 0 10px 15px;
    border-top: 1px solid #b2b0b0;
}
.footer-nav-inner .address img{
    display: inline;
    width:15px;
    height:15px;
    margin: 0px;
    transition: all .3s;
}
.footer-nav-inner .address a:last-child{
    position: relative;
    top: 3px;
    left: 10px;
}
.footer-nav-inner .address img:hover{
    filter: brightness(0) saturate(100%) invert(34%) sepia(77%) saturate(3026%) hue-rotate(1deg) brightness(96%) contrast(91%);
}

/* 宿泊について */
.footer-nav-inner .foter-reservation a{
    display:flex;
    align-items: center;
    padding:10px 0 10px 15px;
    background: var(--accentcolor);
}
.footer-nav-inner .foter-reservation a::before{
    content:"";
    display: inline-block;
    background: url(https://u.jimcdn.com/cms/o/s60010bfa2424ab34/userlayout/font/icon-reservation.svg?t=1744957988) no-repeat;
    width:26px;
    height:26px;
    margin-right: 5px;
}
.footer-nav-inner .foter-reservation a::after{
    content:"";
    display: inline-block;
    background: url(https://u.jimcdn.com/cms/o/s60010bfa2424ab34/userlayout/font/icon-arrow2.svg?t=1745202478) no-repeat;
    width:8px;
    height:8px;
    position:absolute;
    right:15px;
}

.footer-nav-inner .foter-reservation a:hover{color: var(--light-textcolor) !important;}
.footer-nav-inner .footer-nav-item:nth-of-type(1) .foter-reservation a:hover{background: var(--yodoya);}
.footer-nav-inner .footer-nav-item:nth-of-type(2) .foter-reservation a:hover{background: var(--aoi);}
.footer-nav-inner .footer-nav-item:nth-of-type(3) .foter-reservation a:hover{background: var(--sin);}

/* 選ばれる理由リンク */
.navigation > a{
    display: block;
    font-size: 16px;
    padding: 20px 0 20px 15px;
    border-bottom: 1px solid #b2b0b0;
}
.navigation > a::after{
    content: "";
    display: inline-block;
    background: url(https://u.jimcdn.com/cms/o/s60010bfa2424ab34/userlayout/font/icon-arrow1.svg?t=1745218754) no-repeat;
    width: 12px;
    height: 12px;
    position: absolute;
    right: 0;
    top: calc(50% - 6px);
    transition: all .3s;
}
.navigation > a:hover::after{
    filter: brightness(0) saturate(100%) invert(34%) sepia(77%) saturate(3026%) hue-rotate(1deg) brightness(96%) contrast(91%);
}


/* そのほかのリンク */
.footer-nav-inner ul li a:not(.footer-nav-second li a, .mainNav1 li a)::after{
    content:"";
    display: inline-block;
    background: url(https://u.jimcdn.com/cms/o/s60010bfa2424ab34/userlayout/font/icon-arrow2.svg?t=1745202478) no-repeat;
    width:8px;
    height:8px;
    position:absolute;
    right:15px;
    top: calc(50% - 4px);
    transition: all .3s;
}
.footer-nav-inner ul li a:not(.footer-nav-second li a):hover::after{
    filter: brightness(0) saturate(100%) invert(34%) sepia(77%) saturate(3026%) hue-rotate(1deg) brightness(96%) contrast(91%);
}

.footer-nav-inner .footer-nav-second li a{padding-left:30px;}
.footer-nav-second li a::before{
    content:"-";
    display: inline-block;
    margin-right:3px;
}

/* スマホ用のアコーディオンボタン */
.footer-nav-button{
    display:none;
}

@media screen and (max-width: 1139px) {
   /* 表示領域が1139px以下の場合に適用するスタイル */

.footer-nav{
    width:100%;
    margin: 0 auto;
}
.footer-nav-inner{
    display:grid;
    gap: 20px;
    grid-template-columns: 1fr 1fr;
    padding: 0 20px;
}
}


@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
/* ---------フッターナビ--------- */
#footer{
    padding:40px 0
}

.footer-nav img{width:128px; margin: 0 auto 40px;}

.footer-nav-inner{
    grid-template-columns: 1fr;
}
.footer-nav-first{display:none;}


/* スマホ用のアコーディオンボタン */
.footer-nav-button{
    display:block;
    padding:10px 0 10px 15px;
    border-top: 1px solid #b2b0b0;
    position: relative;
    transition: all .3s;
}
.footer-nav-button:hover{color: var(--accentcolor);}
.footer-nav-button::after{
    content:"";
    display: inline-block;
    background: url(https://u.jimcdn.com/cms/o/s60010bfa2424ab34/userlayout/font/icon-plus.svg?t=1744944102) no-repeat;
    width:15px;
    height:15px;
    position:absolute;
    right:15px;
    top: calc(50% - 7px);
    transition: all .3s;
}
.footer-nav-button:hover::after{
    filter: brightness(0) saturate(100%) invert(34%) sepia(77%) saturate(3026%) hue-rotate(1deg) brightness(96%) contrast(91%);
}
.footer-nav-button.on::after{
    transform: rotate(45deg);
}

}



/*  sidebar
----------------------------------------------- */
#sidebar{
    width:100%;
    background: var(--light-gray);
    padding:40px 0;
}
.sidebar-inner{
    width:1140px;
    margin: 0 auto;
}
#sidebar a img{transition: all .3s;}
#sidebar a img:hover{opacity:.7;}


@media screen and (max-width: 1139px) {
   /* 表示領域が1139px以下の場合に適用するスタイル */
.sidebar-inner{width: calc(100% - 40px);}

.sidebar-inner .cc-m-hgrid-column{float:none !important; width: 100% !important;}
.sidebar-inner .cc-m-hgrid-separator{display:none;}

#cc-m-13194811526{
    display:grid;
    gap: 20px;
    grid-template-columns: 1fr 1fr 1fr 1fr;
}

.sidebar-inner img{width: 100%;}

}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#cc-m-13194811526{
    grid-template-columns: 1fr 1fr;
}

}



/*  コピーライト
----------------------------------------------- */
#gutter {
    width:100%;
    height:auto;
    background: var(--darkest-gray);
    padding:40px 0;
}
.gutter-inner{
    width:1140px;
    margin: 0 auto;
    font-size:12px;
    color: var(--light-textcolor) !important;
}
.gutter-inner a{
    font-size:12px;
    color: var(--light-textcolor) !important;
    text-decoration:none !important;
    transition: all .3s;
}
.gutter-inner a:hover{color: var(--accentcolor) !important;}

.gutter-inner-link{
    display:flex;
    justify-content: space-between;
}
.gutter-inner-link ul{display: flex;}
.gutter-inner-link ul li:not(:last-child)::after{
    content:"｜";
    display: inline-block;
    margin: 0 0 0 -2px;
}

@media screen and (max-width: 1139px) {
   /* 表示領域が1139px以下の場合に適用するスタイル */
.gutter-inner{width:calc(100% - 40px);}
}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */

.gutter-inner-link, .gutter-inner-link ul{display:block;}
.gutter-inner-link ul li:not(:last-child)::after{content:none;}
.gutter-inner-link{
    margin-bottom: 10px;
    line-height: 2.1;
}

#contentfooter{line-height: 2.1 !important;}

}

/*  Navigation
----------------------------------------------- */
.navigation{border-top:1px solid #b2b0b0;}
ul.mainNav1,
ul.mainNav2
{
    margin:0;
    padding: 0;
}



ul.mainNav1 li,
ul.mainNav2 li
{
    display: inline;
    margin: 0;	
    padding: 0;
}


ul.mainNav1 li a,
ul.mainNav2 li a
{
    text-decoration: none;
    display: block;
    color: var(--light-textcolor);
    border-bottom:1px solid #b2b0b0;
}


ul.mainNav1 li a { padding:20px 0 20px 15px; font-size:16px;}
ul.mainNav2 li a { padding:10px 0px 10px 25px; font-size:14px;}
ul.mainNav3 li a { padding:10px 0px 10px 35px; font-size:13px;}


ul.mainNav1 a:hover{
    color: var(--accentcolor);
}

/* ul.mainNav1 a.current { color: var(--accentcolor); } */

ul.mainNav1 li a::after{
    content:"";
    display: inline-block;
    background: url(https://u.jimcdn.com/cms/o/s60010bfa2424ab34/userlayout/font/icon-arrow1.svg?t=1745218754) no-repeat;
    width:12px;
    height:12px;
    position: absolute;
    right:0;
    top: calc(50% - 6px);
    transition: all .3s;
}
ul.mainNav1 li a:hover::after{
    filter: brightness(0) saturate(100%) invert(34%) sepia(77%) saturate(3026%) hue-rotate(1deg) brightness(96%) contrast(91%);
}




/* ブログ
----------------------------------------------- */
/* 記事一覧表示ページ */
.j-blogarticle{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 40px;
}
.j-blogarticle #cc-matrix- #cc-m-1:nth-child(5),
.j-blogarticle #cc-matrix- #cc-m-1:nth-child(6),
.j-blogarticle #cc-matrix- #cc-m-1:nth-child(7){display:none;}

.j-blogarticle img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 354 / 236;
}

.j-blogarticle a{text-decoration:none !important; transition: all .3s;}
.j-blogarticle a:hover, h2.j-blog-post--headline:hover{color: var(--accentcolor);}
h2.j-blog-post--headline{
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    margin-top: 8px;
    transition: all .3s;
}

@media screen and (max-width: 1139px) {
   /* 表示領域が1139px以下の場合に適用するスタイル */
.j-blogarticle{
    grid-template-columns: 1fr 1fr;
}
}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
.j-blogarticle{
    gap:20px;
}
h2.j-blog-post--headline{font-size: 18px;}

}



/* デフォルトのテーマ名を非表示にする */
#page-2440170126 .j-blogarticle #cc-matrix-:first-child,
#page-2440170226 .j-blogarticle #cc-matrix-:first-child,
#page-2440593426 .j-blogarticle #cc-matrix-:first-child{display:none;}

/* デフォルトのカテゴリ名の表示レイアウト */
#page-2439970726 .j-blogarticle{
    position: relative;
    padding-top: 60px !important;
}
#page-2439970726 .j-blogarticle #cc-matrix-:first-child{
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
}
#page-2439970726 .j-blogarticle #cc-matrix-:first-child .cc-m-hgrid-column.last{display: none;}
#page-2439970726 .j-blogarticle #cc-matrix-:first-child .cc-m-hgrid-column:first-child{width:100% !important;}


/* 新着情報、お客様の声ページに見出しとカテゴリリンクをつける */
#page-2439970726 .news-headline, #page-2439970726 .voice-headline, 
#page-2439970726 .plan-headline{display:none;}


/* 周辺観光案内・直営店・周辺のお食事処ページの見出し */
#page-2440234626 #cc-matrix-:first-child, #page-2440234726 #cc-matrix-:first-child,
#page-2440234826 #cc-matrix-:first-child{
    display: flex;
    justify-content: center;
    align-items: center;
}
#page-2440234626 #cc-matrix-:first-child h1, #page-2440234726 #cc-matrix-:first-child h1,
#page-2440234826 #cc-matrix-:first-child h1{
    font-size: 30px;
}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#page-2440234626 #cc-matrix-:first-child h1, #page-2440234726 #cc-matrix-:first-child h1,
#page-2440234826 #cc-matrix-:first-child h1{
    font-size: 22px;
}
}



/* 「さらに表示する」ボタン */
#load-more-blog-posts-content{
    display: flex;
    justify-content: center;
    align-items: center;
}
.blogreadmore{
    width:200px !important;
    height:48px;
    display:flex !important;
    justify-content: center;
    align-items:center;
    background: var(--textcolor);
    color: var(--maincolor) !important;
    text-decoration: none !important;
    transition: all .3s;
}
.blogreadmore:hover{background: var(--accentcolor);}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
.blogreadmore{
    width:100% !important;
    padding: 0 10px;
}
}


.news-cat{
    display: grid;
    grid-template-columns: 120px 120px 120px 120px;
    gap: 30px;
    justify-content:center;
    margin-bottom:60px;
}
.news-cat a{
    display:flex;
    align-items:center;
    justify-content: center;
    width:120px;
    height:30px;
    border: solid 1px var(--textcolor);
    border-radius:15px;
    font-size:16px;
    text-decoration: none !important;
    transition: all .3s;
}
.news-cat a:not(:last-child){margin-right:30px;}
.news-cat a:hover,
.news-cat a.current{
    background: var(--accentcolor);
    color: var(--light-yellow);
    border: solid 1px var(--accentcolor);
}
@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
.news-cat{
    grid-template-columns: 120px 120px;
    gap: 20px;
    margin-bottom:30px;
}
.news-cat a{font-size:14px;}
}



/* 記事内カテゴリ表示 */
.j-blog-post--tags-wrapper{margin-top:20px;}
/* 記事内タイトル */
.j-blog-header{font-size: 30px; margin: 20px 0 30px;}
/* 記事内テキスト */
.cc-page-blog p{line-height:1.8;}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */

/* 記事内タイトル */
.j-blog-header{font-size: 22px; margin: 10px 0 30px;}
}


/* 新着情報記事の引き込み */
#blognews{
    margin: 0 90px 60px;
    border-top: 1px solid var(--border);
}
.blog-item{
    display: flex;
    align-items: baseline;
    padding: 25px 0;
    border-bottom: 1px solid var(--border);
    position: relative;
}
.blog-item a, .blog-item a h2{
    font-size: 13px !important;
    text-decoration: none !important;
}
.blog-item a h2{padding-right: 58px;}
.blog-item:after{
    content: "";
    display: inline-block;
    background: url(https://u.jimcdn.com/cms/o/s60010bfa2424ab34/userlayout/font/icon-arrow2.svg?t=1745202478) no-repeat;
    width: 8px;
    height: 8px;
    position: absolute;
    right: 35px;
    top: calc(50% - 4px);
    filter: brightness(0) saturate(100%) invert(12%) sepia(11%) saturate(1750%) hue-rotate(6deg) brightness(93%) contrast(83%);
}
.blog-item > a{
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
}
.blog-item:hover .blog-title a h2{color: var(--accentcolor) !important;}
.blog-date{margin-right:25px; font-weight: 300;}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#blognews{
    margin: 0 20px 60px;
}
.blog-item a h2{padding-right: 28px;}
.blog-item:after{right: 0px;}
}



/* お客様の声記事の引き込み */
#voice-item-wrap{
    width: 1140px;
    margin: 0 auto 60px;
    display: grid;
    grid-template-columns: 270px 270px 270px 270px;
    gap: 20px;
}
.voice-item{
    width: 250px;
    padding: 10px;
    background: #FFF;
}
.voice-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 250 / 179;
}
.voice-text{
    font-weight: 300;
    line-height: 1.8;
    margin: 20px 10px 15px;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
}
.voice-more{font-weight: 500; text-align: right;}
.voice-more a{
    text-decoration: none !important;
    color: var(--accentcolor) !important;
    transition: all .3s;
}
.voice-more a::after{
    content: "";
    display: inline-block;
    background: url(https://u.jimcdn.com/cms/o/s60010bfa2424ab34/userlayout/font/icon-arrow1.svg?t=1745218754) no-repeat;
    width: 12px;
    height: 12px;
    margin-left:8px;
    filter: brightness(0) saturate(100%) invert(34%) sepia(77%) saturate(3026%) hue-rotate(1deg) brightness(96%) contrast(91%);
}
.voice-more a:hover{color: var(--textcolor) !important;}
@media screen and (max-width: 1139px) {
   /* 表示領域が1139px以下の場合に適用するスタイル */
#voice-item-wrap{
    width: 100%;
    grid-template-columns: 270px 270px;
    justify-content: center;
}
.voice-item{margin: 0 10px;}
}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#voice-item-wrap{
    grid-template-columns: 1fr;
}
}

/* 周辺観光案内記事の引き込み */
#sightseeing-wrap, #directly-wrap, #restaurant-wrap{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 50px 40px;
}
#sightseeing-wrap{margin-bottom: 120px;}
#directly-wrap{width: 1140px; margin: 0 auto;}
.sightseeing-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 354 / 236;
}
.sightseeing-title a{text-decoration:none !important;}
.sightseeing-date{
    font-weight: 300;
    font-size: 13px;
    margin-top: 8px;
}
@media screen and (max-width: 1139px) {
   /* 表示領域が1139px以下の場合に適用するスタイル */
#sightseeing-wrap, #directly-wrap, #restaurant-wrap{
    grid-template-columns: 1fr 1fr;
    justify-content: center;
}
#sightseeing-wrap{margin-bottom: 60px;}
#directly-wrap{width: calc(100% - 40px);}
}

@media screen and (max-width: 768px) {
   /* 表示領域が768px以下の場合に適用するスタイル */
#sightseeing-wrap, #directly-wrap, #restaurant-wrap{
    gap: 20px;
}
}