/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: last 4 version
*/


/*	2024 年末年始カレンダー
----------------------------------------------------*/
.new-year {
	background: url(/wp/wp-content/themes/rezocha_01/images/new-year/bg_texture.png) repeat;
	background-size: 616px 450px;
	padding: 38px 0 42px;
	position: relative;
}

.new-year:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	max-width: 257px;
	width: calc(257 / 1600 * 100vw);
	height: calc(261 / 1600 * 100vw);
	background: url(/wp/wp-content/themes/rezocha_01/images/new-year/bg01.png) no-repeat;
	background-size: contain;
}
.new-year:after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
	max-width: 257px;
	width: calc(257 / 1600 * 100vw);
	height: calc(261 / 1600 * 100vw);
	background: url(/wp/wp-content/themes/rezocha_01/images/new-year/bg02.png) no-repeat;
	background-size: contain;
}
.new-year_title {
	max-width: 968px;
	margin: 0 auto 9px;
	width: calc(968 / 1600 * 100vw);
}
.new-year_calender {
	margin-bottom: 38px;
}

.new-year_illust {
	max-width: 1228px;
	width: calc(1228 / 1600 * 100vw);
	margin: 0 auto;
}

/*	4000人突破の文言
----------------------------------------------------*/

/* header p#h_img_pc {
margin: auto;
max-width: 150px;
} */
/* sp */

/* header p#h_img_sp {
margin: auto;
}

@media screen and (min-width: 640px) {
	header p#h_img_sp{
	display:none;
	}
} */








/*----------------------------------------------------
index.php css
----------------------------------------------------*/

/*	mainImg
----------------------------------------------------*/
#mainImg {
position:relative;
margin-top:74px;
padding-bottom:30px;
/* background:#f6f6f6; */
}

/* #mainImg p.mainImg_ttl {
position: absolute;
top:33%;
left: 0;
right: 0;
bottom: 0;
width:818px;
margin:auto;
z-index:1;
} */

#mainImg p.yado_t {
position: absolute;
color: #212836;
font-size: 11px;
line-height: 1.6;
padding: 1px 8px;
right: 10px;
bottom: 10px;
/* z-index: 2; */
background: rgba(255, 255, 255, .7);
border-radius: 3px;
}

#mainImg p.yado_t_l {
position: absolute;
color: #212836;
font-size: 11px;
line-height: 1.6;
padding: 1px 8px;
right: 10px;
bottom: 10px;
/* z-index: 2; */
background: rgba(255, 255, 255, .7);
border-radius: 3px;
}

#mainImg .slider li {
	position: relative;
}

#mainImg .slider li::before {
	content: "";
	width: 848px;
	height: 275px;
	background: url(../../images/index/main_c_winter_v2.png) no-repeat center / 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	z-index: 998;
}

#mainImg .slider li.no-tb::before {
	content: none;
}

#mainImg .slider::after {
	content: "";
	width: 100%;
	height: 141px;
	background:
		url(../../images/index/mv_winter_topL_v2.png) no-repeat,
		url(../../images/index/mv_winter_topR_v2.png) no-repeat;
	background-size: 405px 141px, 405px 141px;
	background-position: top left, top right;
	position: absolute;
	z-index: 999;
}

/*	maincolumn
----------------------------------------------------*/
#maincolumn p {
font-size:14px;
}

#top #maincolumn h1 {
margin-bottom: 15px;
font-size:20px;
text-align:center;
}

#top #maincolumn h2 {
margin-bottom: 2px;
font-size:35px;
text-align:center;
}

#top #maincolumn .campaign_title {
text-align:center;
line-height:24px;
letter-spacing:8px;
margin-top: 80px;
margin-bottom: 20px;
font-size:32px;
font-weight: bold;
text-align:center;
}

#top #maincolumn .text_free {
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
	-webkit-text-decoration: double underline #EDD842 3px;
	        text-decoration: double underline #EDD842 3px;
	margin-bottom: 20px;
}

#top #maincolumn .text_red {
	color: #ea616e;
	/* font-size: 1.6rem; */
}

#top #maincolumn h2 img {
margin-bottom: 10px;
width:310px;
}

#top #maincolumn p.biwako {
	position: relative;
	background: #468cd2;
	border-radius: 5px;
	color: #ffffff;
	font-size: 20px;
	font-weight: bold;
	padding: 10px;
	text-align: center;
	max-width: 230px;
	margin: 20px auto;
}

#top #maincolumn p.biwako::after {
	position: absolute;
	content: '';
	top: 85%;
	-webkit-transform: translateX(-50%);
	    -ms-transform: translateX(-50%);
	        transform: translateX(-50%);
	left: 50%;
	border: 22px solid transparent;
	border-top: 18px solid #468cd2;
	width: 0;
	height: 0;
}

#top #maincolumn p.hyogo {
	position: relative;
	background: #2DAD75;
	border-radius: 5px;
	color: #ffffff;
	font-size: 20px;
	font-weight: bold;
	padding: 10px;
	text-align: center;
	max-width: 230px;
	margin: 30px auto 20px;
}

#top #maincolumn p.hyogo::after {
	position: absolute;
	content: '';
	top: 85%;
	-webkit-transform: translateX(-50%);
	    -ms-transform: translateX(-50%);
	        transform: translateX(-50%);
	left: 50%;
	border: 22px solid transparent;
	border-top: 18px solid #2DAD75;
	width: 0;
	height: 0;
}


#top #maincolumn p.link {
position:relative;
margin:0 auto;
text-align:center;
}

#top #maincolumn p.link a {
display:block;
padding:8px 0 5px 0;
color:#333;
text-decoration:none;
border:1px solid #c0c0c0;
}

#top #maincolumn p.link a:hover {
color:#ffffff;
background: #dcaf35;
border:1px solid #dcaf35;
}

#top #maincolumn p.link a:before {
font-family: "FontAwesome";
content: "\f0da";
position: absolute;
font-size: 14px;
color:#dcaf35;
text-decoration:none;
}

#top #maincolumn p.link a:hover:before {
color:#fff;
}

/*	section01
----------------------------------------------------*/
#top #section01 {
background:#f6f6f6;
padding-top:30px;
padding-bottom:30px;
}

#top #section01 p {
/* margin-bottom:40px; */
text-align:center;
}

#top #section01-2 #info {
position:relative;
width: 910px;
margin: 55px auto 0;
padding:30px;
background:#fff;
-webkit-box-sizing: border-box;
        box-sizing: border-box;
}

#top #section01-2 #info h3 {
position:absolute;
top:-15px;
left:50%;
width:157px;
margin:0 0 0 -78.5px;
color:#fff;
text-align:center;
font-size:18px;
background:#45cbed;
}

#top #section01-2 #info dl {
padding: 15px 0;
border-bottom: 1px dashed #ccc;
}

#top #section01-2 #info dl:first-child {
padding-top: 0;
}

#top #section01-2 #info dl:last-child {
margin-bottom: 0;
padding-bottom: 0;
border-bottom: none;
}

#top #section01-2 #info dt {
float:left;
line-height: 1.6;
}

#top #section01-2 #info dd {
margin-left:150px;
line-height: 1.6;
}

#top #section01-2 #info dd a {
display: block;
}

#top #section01-2 #info p {
float:right;
margin-bottom:0;
background:#eaeaea;
}

#top #section01-2 #info p a {
display:block;
padding:8px;
font-size:12px;
color:#333;
}

#top #section01-2 #info p a:before {
font-family: "FontAwesome";
content: "\f0ca";
font-size: 12px;
padding-right: 10px;
text-decoration:none;
}

/*	section02
----------------------------------------------------*/
/*	villa  */
#top #section02 {
	padding: 100px 20px;
	margin: 0;
	background-color: #FFFBF0;
	max-width: inherit;
}

#top .villa_wrap {
	margin: 0 auto;
	max-width: 910px;
}

#top .villa_wrap .villa_ttl img {
	width: 128px!important;
	margin-bottom: 30px!important;
}

#top #maincolumn h2 {
	margin-bottom: 0;
}


#top #section02 .villa_wrap .villa-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 30px
}

#top #section02 .villa_wrap .text_free {
    font-size: 1.4rem;
    font-weight: bold;
    text-align: center;
    -webkit-text-decoration: double underline #edd842 3px;
    text-decoration: double underline #edd842 3px;
    margin-top: 10px
}

#top #section02 .villa_wrap .text_red {
    color: #d85363;
    font-size: 1.6rem
}

#top #section02 .villa_wrap #hagakureans {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 10px 10px 0;
    border: solid 5px #468cd2;
    border-radius: 15px;
    margin-bottom: 30px
}

#top #section02 .villa_wrap #hagakureans .hagakureans-text {
    font-size: 20px;
    font-weight: bold;
    width: 100%;
    color: #000;
    margin-bottom: 10px;
    line-height: 1.7
}

#top #section02 .villa_wrap #hagakureans .hagakureans-text .br-sp {
    display: none
}

#top #section02 .villa_wrap #hagakureans .hagakureans-text .blue {
    color: #468cd2;
    -webkit-text-decoration: double underline 3px #edd842;
    text-decoration: double underline 3px #edd842
}

#top #section02 .villa_wrap #hagakureans .hagakureans-text .blue .big {
    font-size: 25px
}

#top #section02 .villa_wrap .villa {
    max-width: 48%;
    width: 48%;
    margin-bottom: 30px;
    background: #fff;
    border-radius: 10px;
    -webkit-box-shadow: -4px -4px 8px #fffbf0, 4px 4px 8px rgba(0, 0, 0, .18);
    box-shadow: -4px -4px 8px #fffbf0, 4px 4px 8px rgba(0, 0, 0, .18)
}


#top #section02 .villa_wrap .villa p {
    overflow: hidden;
    border-radius: 10px 10px 0 0
}

#top #section02 .villa_wrap .villa a {
    color: #2dad75;
    -webkit-transition: all .2s linear;
    -o-transition: all .2s linear;
    transition: all .2s linear;
    text-decoration: none
}

#top #section02 .villa_wrap .villa a img {
    -webkit-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
        transform: scale(1)
}

#top #section02 .villa_wrap .villa .c_tag {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 15px;
    gap: 3px
}

#top #section02 .villa_wrap .villa .c_tag li {
    position: relative;
    padding: 1px 7px;
    color: #fff;
    background: #86af7f;
    border-radius: 4px;
	margin: 0;
}

#top #section02 .villa_wrap .villa .c_tag li:first-child {
    background: #f29606
}

#top #section02 .villa_wrap .villa .c_tag li.people {
    padding: 1px 6px 0 24px
}

#top #section02 .villa_wrap .villa .c_tag li.people::before {
    position: absolute;
    content: "";
    width: 19px;
    height: 16px;
    top: 5px;
    left: 5px;
    -webkit-transform: scale(0.8);
    -ms-transform: scale(0.8);
        transform: scale(0.8);
    background: url(../../images/villa/t_icon_people.svg) no-repeat
}

#top #section02 .villa_wrap .villa .c_tag li.parking {
    padding: 1px 6px 0 20px
}

#top #section02 .villa_wrap .villa .c_tag li.parking::before {
    position: absolute;
    content: "";
    width: 19px;
    height: 16px;
    top: 5px;
    left: 5px;
    -webkit-transform: scale(0.8);
    -ms-transform: scale(0.8);
        transform: scale(0.8);
    background: url(../../images/villa/t_icon_parking.svg) no-repeat
}

#top #section02 .villa_wrap .villa .c_tag li.bedroom2 {
    padding: 1px 7px
}

#top #section02 .villa_wrap .villa .c_tag li.bedroom2::before {
    position: absolute;
    content: "";
    width: 19px;
    height: 16px;
    top: 5px;
    left: 5px;
    -webkit-transform: scale(0.8);
    -ms-transform: scale(0.8);
        transform: scale(0.8);
    background: url(../../images/villa/icon_bed.svg) no-repeat
}

#top #section02 .villa_wrap .villa .c_tag li.tag_red {
    background: #bc5252
}

#top #section02 .villa_wrap .villa .c_tag li.tag_skyblue {
    background: #4ba2d0
}

#top #section02 .villa_wrap .villa .c_tag li.tag_brown {
    background: #8e6e4e
}

#top #section02 .villa_wrap .villa .c_tag li.tag_yellow {
    background: #d3c036
}

#top #section02 .villa_wrap .villa:hover {
    background: #2dad75
}

#top #section02 .villa_wrap .villa:hover a {
    color: #fff
}

#top #section02 .villa_wrap .villa:hover img {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
        transform: scale(1.1)
}

#top #section02 .villa_wrap .villa .rubi {
    margin-top: 1rem;
	margin-bottom: 0;
    text-align: center;
    color: #212836;
}

#top #section02 .villa_wrap .villa h4.name {
    letter-spacing: 1.1;
    text-align: center;
    margin-bottom: 0;
    font-size: 18px;
    color: #212836
}

#top #section02 .villa_wrap .villa h4.name span {
    position: relative;
    display: inline-block
}

#top #section02 .villa_wrap .villa h4.name span::before {
    position: absolute;
    top: 0;
    left: -20px;
    content: "";
    font-family: FontAwesome
}

#top #section02 .villa_wrap .villa h4.name span .ls_none {
    letter-spacing: normal
}

#top #section02 .villa_wrap .banner {
    max-width: 48%;
    background: none !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important
}

#top #section02 .villa_wrap .banner.villa:hover img {
    -webkit-transform: initial;
    -ms-transform: initial;
        transform: initial
}

#top #section02 .villa_wrap h3 {
    position: relative;
    background: #468cd2;
    border-radius: 5px;
    color: #fff;
    font-size: 23px;
    font-weight: bold;
    padding: 12px;
    text-align: center;
    width: 280px;
    margin: 0 auto 20px
}

#top #section02 .villa_wrap h3::after {
    position: absolute;
    content: "";
    top: 88%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
        transform: translateX(-50%);
    left: 50%;
    border: 22px solid rgba(0, 0, 0, 0);
    border-top: 18px solid #468cd2;
    width: 0;
    height: 0
}

#top #section02 .villa_wrap h3.hyogo {
    background: #2dad75;
    margin: 60px auto 20px
}

#top #section02 .villa_wrap h3.hyogo::after {
    border-top-color: #2dad75
}

#top #section02 .villa_wrap p {
    text-align: center
}

#top #section02 .villa_wrap span.marker {
    font-size: 18px;
    font-weight: bold;
    line-height: 2.2;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(77%, transparent), color-stop(77%, #ffb846));
    background: -o-linear-gradient(transparent 77%, #ffb846 77%);
    background: linear-gradient(transparent 77%, #ffb846 77%)
}


/*	section03
----------------------------------------------------*/
#top #section03 {
width:100%;
max-width:910px;
margin:0 auto 80px;
}

#top #section03 h2:before {
content:" ";
display:inline-block;
width:40px;
height:36px;
padding-right:10px;
background-image:url(../images/h2_bg_v2.png);
background-repeat:no-repeat;
background-size:contain;
vertical-align:middle;
}

#top #section03 #voice {
position:relative;
height:475px;
margin-bottom:80px;
}

#top #section03 #voice .fl {
left:0;
}

#top #section03 #voice .fr {
right:0;
}

#top #section03 #voice .box {
position:absolute;
width:350px;
height:320px;
padding:25px;
}

#top #section03 #voice .box .customer {
position:absolute;
left:50%;
bottom:-110px;
margin-left:-92.5px;
}

#top #section03 #voice .box .customer .img {
width:175px;
margin-bottom:10px;
padding:5px;
background:#fff;
-webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.35);
box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.35);
border-radius: 100px;
-webkit-border-radius: 100px;
-moz-border-radius: 100px;
overflow:hidden;
}

#top #section03 #voice .box .customer p {
text-align:center;
}

#top #section03 #voice .box .customer .img img {
border-radius: 100px;
-webkit-border-radius: 100px;
-moz-border-radius: 100px;
}

#top #section03 p.link {
width:467px;
}

#top #section03 p.link a:before {
top:7px;
left: 10px;
}

/*----------------------------------------------------
access.php css
----------------------------------------------------*/
#access section {
width:910px;
margin:0 auto;
}

#access #section02 {
	width:910px;
	margin:0 auto 120px;
	}

#access #pagecolumn h3 {
margin-bottom: 10px;
text-align:center;
border-bottom: 1px dashed #333;
}

#access #pagecolumn h3.name {
	font-size: 34px;
	border-bottom: none;
	margin-bottom: 0;
}

#access #pagecolumn .rubi {
	text-align: center;
}

#access #pagecolumn h3.address {
	font-size: 20px;
	border-bottom: none;
	margin-bottom: 18px;
}

#access #pagecolumn .box {
margin-bottom:50px;
}

#access #pagecolumn #section02 .box {
	margin-bottom:0px;
	}

#access #pagecolumn .box iframe {
width:100%;
}

#access #pagecolumn .pc_img {
display:block;
max-width:765px;
margin:0 auto;
}

#access #pagecolumn .sp_img {
display:none;
}

#access #pagecolumn .box h4 {
margin: 0 0 6px;
font-size: 14px;
}

#access #pagecolumn .box h5 {
	color: #fff;
	margin: 15px 0;
	padding: 3px 5px;
	font-size: 14px;
	display:inline;
}

#access #pagecolumn .box h5.osaka {
background:#6cc54a;
}

#access #pagecolumn .box h5.nagoya {
background:#f34040;
}

#access #pagecolumn .box h5.hokuriku {
background:#2ea7c9;
}

#access #pagecolumn .box p.time {
	/* margin: 10px 0; */
	font-size: 16px;
	font-weight: bold;
}

#access #pagecolumn .box p.road:not(:last-of-type) {
	margin-bottom: 10px;
}


/*----------------------------------------------------
accessmap.php css
----------------------------------------------------*/
#accessmap #pagecolumn h3 {
	margin-bottom: 10px;
	text-align:center;
	border-bottom: 1px dashed #333;
	}
	
#accessmap #pagecolumn h3.name {
	font-size: 32px;
	line-height: 1.2;
	border-bottom: none;
	margin-top: 20px;
	margin-bottom: 0;
}

#accessmap #pagecolumn h3.address {
	font-size: 18px;
	/* border-bottom: none; */
}

#accessmap #pagecolumn .box {
	width: 35%;
	margin: 0 auto;
	padding-top: 0;
	padding-bottom: 120px;
}


/*----------------------------------------------------
map-lakesidehouse.php css
----------------------------------------------------*/
#map-lakesidehouse #pagecolumn h3 {
	margin-bottom: 10px;
	text-align:center;
	border-bottom: 1px dashed #333;
	}
	
#map-lakesidehouse #pagecolumn h3.name {
	font-size: 32px;
	line-height: 1.2;
	border-bottom: none;
	margin-bottom: 0;
}

#map-lakesidehouse #pagecolumn .rubi {
	text-align: center;
	margin-bottom: 5px;
}

#map-lakesidehouse #pagecolumn h3.address {
	font-size: 18px;
	/* border-bottom: none; */
}


#map-lakesidehouse #pagecolumn .box {
	width: 35%;
	margin: 0 auto;
	padding-top: 0;
	padding-bottom: 50px;
}

#map-lakesidehouse #pagecolumn .box_02 {
	width: 55%;
	margin: 0 auto;
	padding-top: 0;
	padding-bottom: 50px;
}

#map-lakesidehouse #pagecolumn .sub_title {
	font-size: 25px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 10px;
}



/*----------------------------------------------------
map-sansen.php css
----------------------------------------------------*/
#map-sansen #pagecolumn h3 {
	margin-bottom: 10px;
	text-align:center;
	border-bottom: 1px dashed #333;
	}
	
#map-sansen #pagecolumn h3.name {
	font-size: 32px;
	line-height: 1.2;
	border-bottom: none;
	margin-bottom: 0;
}

#map-sansen #pagecolumn .rubi {
	text-align: center;
	margin-bottom: 5px;
}

#map-sansen #pagecolumn h3.address {
	font-size: 18px;
	/* border-bottom: none; */
}

#map-sansen #pagecolumn .sub_title {
	font-size: 25px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 10px;
}

#map-sansen #pagecolumn .box {
	width: 35%;
	margin: 0 auto;
	padding-top: 0;
	padding-bottom: 50px;
	}


/*----------------------------------------------------
map-hagakurean.php css
----------------------------------------------------*/
#map-hagakurean #pagecolumn h3 {
	margin-bottom: 10px;
	text-align:center;
	border-bottom: 1px dashed #333;
}
	
#map-hagakurean #pagecolumn h3.name {
	font-size: 32px;
	line-height: 1.2;
	border-bottom: none;
	margin-bottom: 0;
}

#map-hagakurean #pagecolumn .rubi {
	text-align: center;
	margin-bottom: 5px;
}

#map-hagakurean #pagecolumn h3.address {
	font-size: 18px;
	/* border-bottom: none; */
}

#map-hagakurean #pagecolumn .box {
	width: 35%;
	margin: 0 auto;
	padding-top: 0;
	padding-bottom: 50px;
}


/*----------------------------------------------------
map-syuku.php css
----------------------------------------------------*/
#map-shuku #pagecolumn h3 {
	margin-bottom: 10px;
	text-align:center;
	border-bottom: 1px dashed #333;
	}
	
#map-shuku #pagecolumn h3.name {
	font-size: 32px;
	line-height: 1.2;
	border-bottom: none;
	margin-bottom: 0;
}

#map-shuku #pagecolumn .rubi {
	text-align: center;
	margin-bottom: 5px;
}

#map-shuku #pagecolumn h3.address {
	font-size: 18px;
	/* border-bottom: none; */
}


#map-shuku #pagecolumn .box {
	width: 35%;
	margin: 0 auto;
	padding-top: 0;
	padding-bottom: 50px;
}

#map-shuku #pagecolumn .box_02 {
	width: 55%;
	margin: 0 auto;
	padding-top: 0;
	padding-bottom: 50px;
}

#map-shuku #pagecolumn .sub_title {
	font-size: 25px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 10px;
}


/*----------------------------------------------------
map-meibi.php css
----------------------------------------------------*/
#map-meibi #pagecolumn h3 {
	margin-bottom: 10px;
	text-align:center;
	border-bottom: 1px dashed #333;
}
	
#map-meibi #pagecolumn h3.name {
	font-size: 32px;
	line-height: 1.2;
	border-bottom: none;
	margin-bottom: 0;
}

#map-meibi #pagecolumn .rubi {
	text-align: center;
	margin-bottom: 5px;
}

#map-meibi #pagecolumn h3.address {
	font-size: 18px;
	/* border-bottom: none; */
}

#map-meibi #pagecolumn .box {
	width: 35%;
	margin: 0 auto;
	padding-top: 0;
	padding-bottom: 50px;
}


/*----------------------------------------------------
map-toju.php css
----------------------------------------------------*/
#map-toju #pagecolumn h3 {
	margin-bottom: 10px;
	text-align:center;
	border-bottom: 1px dashed #333;
}
	
#map-toju #pagecolumn h3.name {
	font-size: 32px;
	line-height: 1.2;
	border-bottom: none;
	margin-bottom: 0;
}

#map-toju #pagecolumn .rubi {
	text-align: center;
}

#map-toju #pagecolumn h3.address {
	font-size: 18px;
	/* border-bottom: none; */
}

#map-toju #pagecolumn .sub_title {
	font-size: 25px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 10px;
}

#map-toju #pagecolumn .box {
	width: 35%;
	margin: 0 auto;
	padding-top: 0;
	padding-bottom: 50px;
}

#map-toju #pagecolumn .box_02 {
	width: 55%;
	margin: 0 auto;
	padding-top: 0;
	padding-bottom: 50px;
}

/*----------------------------------------------------
map-nibou.php css
----------------------------------------------------*/
#map-nibou #pagecolumn h3 {
	margin-bottom: 10px;
	text-align:center;
	border-bottom: 1px dashed #333;
}
	
#map-nibou #pagecolumn h3.name {
	font-size: 32px;
	line-height: 1.2;
	border-bottom: none;
	margin-bottom: 0;
}

#map-nibou #pagecolumn .rubi {
	text-align: center;
}

#map-nibou #pagecolumn h3.address {
	font-size: 18px;
	/* border-bottom: none; */
}

#map-nibou #pagecolumn .sub_title {
	font-size: 25px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 10px;
}

#map-nibou #pagecolumn .scale {
	font-size: 12px;
	text-align: right;
}

#map-nibou #pagecolumn .box {
	width: 35%;
	margin: 0 auto;
	padding-top: 0;
	padding-bottom: 50px;
}

/*----------------------------------------------------
map-moridaishyo.php css
----------------------------------------------------*/
#map-moridaishyo #pagecolumn h3 {
	margin-bottom: 10px;
	text-align:center;
	border-bottom: 1px dashed #333;
}
	
#map-moridaishyo #pagecolumn h3.name {
	font-size: 32px;
	line-height: 1.2;
	border-bottom: none;
	margin-bottom: 0;
}

#map-moridaishyo #pagecolumn .rubi {
	text-align: center;
}

#map-moridaishyo #pagecolumn h3.address {
	font-size: 18px;
	/* border-bottom: none; */
}

#map-moridaishyo #pagecolumn .sub_title {
	font-size: 25px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 10px;
}

#map-moridaishyo #pagecolumn .scale {
	font-size: 12px;
	text-align: right;
}

#map-moridaishyo #pagecolumn .box {
	width: 35%;
	margin: 0 auto;
	padding-top: 0;
	padding-bottom: 50px;
}



/*----------------------------------------------------
caution-map-nibou.php css
----------------------------------------------------*/
#caution-map-nibou #pagecolumn h3 {
	text-align:center;
}

#caution-map-nibou #pagecolumn p {
	text-align:center;
	margin-bottom: 20px;
}

#caution-map-nibou #pagecolumn .box {
	width: 50%;
	margin: 0 auto;
	padding-top: 0;
	padding-bottom: 50px;
}


/*----------------------------------------------------
review.php css
----------------------------------------------------*/
#review section {
width:910px;
margin:0 auto;
}

#review #pagecolumn h3 {
margin-bottom:25px;
text-align:center;
}

#review #pagecolumn .box .fl {
float:left;
width:620px;
margin-top:10px;
padding:15px 10px;
border:3px #D2D2D2 solid;
background:#fff;
border-radius: 5px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
}

#review #pagecolumn .box .fr {
float:right;
max-width:185px;
margin:0 5px 0 50px;
}

#review #pagecolumn .box .fr .img {
width:175px;
margin-bottom:10px;
padding:5px;
background:#fff;
-webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.35);
box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.35);
border-radius: 100px;
-webkit-border-radius: 100px;
-moz-border-radius: 100px;
overflow:hidden;
}

#review #pagecolumn .box .fr .img img {
border-radius: 100px;
-webkit-border-radius: 100px;
-moz-border-radius: 100px;
}




/*----------------------------------------------------
contact css
----------------------------------------------------*/
#contact #pagetitle {
padding-bottom:25px;
}

#contact #pagecolumn {
padding-top: 50px;
}

#contact section {
width:725px;
margin:0 auto;
padding-bottom:50px;
}

#contact #pagecolumn h3 {
margin-bottom:30px;
text-align:center;
}

#contact #pagecolumn p {
margin-bottom:30px;
}

#contact #pagecolumn .comment {
margin-bottom:30px;
padding:20px;
background:#fff;
}

#contact #pagecolumn .comment p {
margin:0;
text-align:center;
}

#contact #pagecolumn .comment p.campaign{
margin-bottom: 5px;
font-weight: bold;
color: #f00;
line-height: 1.5;
}

#contact #pagecolumn .comment .tel {
font-size:30px;}

#contact #pagecolumn table {
width:100%;
margin-bottom:20px;
}

#contact #pagecolumn th {
padding:10px;
font-size:15px;
vertical-align:top;
font-weight:normal;
}

#contact #pagecolumn th span {
float:right;
padding:3px 5px;
color:#fff;
font-size:12px;
background:#c00;
}

#contact #pagecolumn td  {
padding:10px;
}

#contact #pagecolumn td input,
#contact #pagecolumn td textarea {
width:100%;
padding:5px;
border:1px solid #ccc;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}

#contact #pagecolumn td select {
padding:5px;
border:1px solid #ccc;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}

#contact #pagecolumn td input.add {
width:40%;
margin-bottom:10px;
padding:5px;
border:1px solid #ccc;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}

#contact #pagecolumn td select.add {
width:40%;
margin-bottom:10px;
padding:5px;
border:1px solid #ccc;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}

#contact #pagecolumn p.ok {
width:300px;
margin:0 auto;
background:#7fb242;
border:none;
}

#contact #pagecolumn p.ng {
float:left;
width:300px;
margin-left:20px;
background:#e00000;
border:none;
}

#contact #pagecolumn p.send {
float:right;
width:300px;
margin-right:20px;
background:#7fb242;
border:none;
}

#contact #pagecolumn p input {
display:block;
width:100%;
padding:10px 0;
color:#fff;
text-align:center;
font-size:15px;
border:none;
background:none;
-webkit-box-sizing: border-box;
box-sizing: border-box;
text-align:center;
}

#contact #pagecolumn p.ok:hover,
#contact #pagecolumn p.ne:hover,
#contact #pagecolumn p.send:hover {
cursor:pointer;
}


/*----------------------------------------------------
reserve css
----------------------------------------------------*/
#reserve #pagetitle {
padding-bottom:25px;
}

#reserve #pagecolumn {
padding-top: 50px;
}

#reserve #pagecolumn h3 {
margin-bottom:30px;
text-align:center;
}

#reserve section {
width:80%;
margin:0 auto;
padding-bottom:30px;
}


/*	contact_area
----------------------------------------------------*/
#contact_area {
padding-bottom: 50px;
}

#contact_area h2 {
margin-bottom:5px;
/*margin-bottom:15px;*/
font-size:24px;
text-align:center;
}

#contact_area p.campaign{
margin-bottom: 20px;
font-weight: bold;
color: #f00;
line-height: 1.5;
}

#contact_area > ul {
width:622px;
margin:0 auto 20px;
}

#contact_area > ul li {
width:288px;
font-size:14px;
text-align:center;
}

#contact_area > ul li a {
position:relative;
padding:15px 0 12px 0;
text-decoration:none;
}

#contact_area > ul li.reserve {
float:left;
}

#contact_area > ul li.reserve a {
display:block;
color:#fff;
background:#0997ec;
}

#contact_area > ul li.reserve a:hover {
background:#dcaf35;
}

#contact_area > ul li.contact {
float:right;
}

#contact_area > ul li.contact a {
display:block;
color:#333;
border:1px solid #c0c0c0;
background:#fff;
}

#contact_area > ul li.contact a:hover {
color: #fff;
background: #dcaf35;
border:1px solid #dcaf35;
}

#contact_area > ul li.reserve a:before,
#contact_area > ul li.contact a:before {
font-family: "FontAwesome";
content: "\f0da";
position: absolute;
top:15px;
left:15px;
font-size:14px;
text-decoration:none;
}

#contact_area > ul li.reserve a:before {
color:#fff;
}

#contact_area > ul li.contact a:before {
color:#dcaf35;
}

#contact_area > ul li.contact a:hover:before {
	color: #fff;
	background: #dcaf35;
}

#contact_area p {
font-size:16px;
text-align:center;
}

#contact_area p a {
color:#333;
text-decoration:none;
}



/*	contact_area2
----------------------------------------------------*/
#contact_area2 {
padding-bottom:100px;
}

#contact_area2 h2 {
margin-bottom:15px;
font-size:24px;
text-align:center;
}


#contact_area2 ul li.reserve {
float:left;
}

#contact_area2 ul li.reserve a {
display:block;
color:#fff;
background:#0997ec;
}

#contact_area2 ul li.reserve a:hover {
background:#dcaf35;
}

#contact_area2 ul li.contact {
float:right;
}

#contact_area2 ul li.contact a {
display:block;
color:#333;
border:1px solid #c0c0c0;
background:#fff;
}

#contact_area2 ul li.contact a:hover {
color:#dcaf35;
border:1px solid #dcaf35;
}

#contact_area2 ul li.reserve a:before,
#contact_area2 ul li.contact a:before {
font-family: "FontAwesome";
content: "\f0da";
position: absolute;
top:15px;
left:15px;
font-size:14px;
text-decoration:none;
}

#contact_area2 ul li.reserve a:before {
color:#fff;
}

#contact_area2 ul li.contact a:before {
color:#dcaf35;
}

#contact_area2 p {
font-size:16px;
text-align:center;
}

#contact_area2 p a {
color:#333;
text-decoration:none;
}

#contact_area2 p.tel {
font-size:28px;
text-align:center;
}


/*	pagetop
----------------------------------------------------*/
.pagetop {
right:20px;
bottom:20px;
}

.pagetop a {
display:block;
width:50px;
height:50px;
line-height:50px;
border-radius: 3px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
background-color: rgba(224,160,0);
}

.pagetop a:hover {
background:#dcaf35;
}

.pagetop a:before {
font-size:35px;
}




/*----------------------------------------------------
blog_info
----------------------------------------------------*/
#top #section01 .content-item:nth-of-type(2n) {
	margin-left: 0;
	margin-right: 0;
}

#top #section01-2 .blog_info {
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding: 64px 40px;
	background: #fff;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

#top #section01-2 .blog_info h1 {
	margin-bottom: 10px;
	padding-bottom: 9px;
	font-size: 16px;
	text-align: left;
	/* border-bottom: 1px dashed #ddd; */
}

#top #section01-2 .blog_info p {
	margin-bottom: 0;
}

#top #section01-2 .blog_info--wrap {
	padding: 10px 5px;
}

.blog_info .swiper-pagination {
	position: initial;
}

#top .blog_info .blog_ttl {
	text-align: center;
}

#top .blog_info .blog_ttl img{
	width: 128px;
	margin-bottom: 30px;
}

#top .section01 {
	padding: 0;
	background: inherit;
}

.swiper-container3 {
	position: relative;
	padding-bottom: 60px;
}

.swiper-pagination3 {
	position: absolute;
	bottom: 20px !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	text-align: center !important;
	display: -webkit-box !important;
	display: -ms-flexbox !important;
	display: flex !important;
	-webkit-box-pack: center !important;
	    -ms-flex-pack: center !important;
	        justify-content: center !important;
	-webkit-box-align: center !important;
	    -ms-flex-align: center !important;
	        align-items: center !important;
}

/*----------------------------------------------------
pagination
----------------------------------------------------*/
.pagination .screen-reader-text {
	display: none;
}

.pagination .nav-links {
	margin-top: 20px;
	text-align: center;
}

.pagination .nav-links a {
	font-size: 13px;
	color: #617469;
	text-decoration: none;
}

.pagination .nav-links a.prev i,
.pagination .nav-links a.next i {
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	font-style: normal;
}

.pagination .nav-links .page-numbers {
	display: inline-block;
	width: 30px;
	height: 30px; 
	background-color: #fff;
	border: 1px solid #f8f8f8;
	border-radius: 50%; 
	margin: 0 auto;
	text-align: center;
	line-height: 30px;
}

.pagination .nav-links .page-numbers.current {
	color: #fff;
	background-color: #617469;
}

/*----------------------------------------------------
sns_area css
----------------------------------------------------*/
.sns_area {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	max-width: 895px;
  margin: 50px auto 0;
}

.sns_wrap {
	width: 22%;
}

.sns_wrap2 {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
}

.un_spFooterMenu {
	display: none;
}

/*----------------------------------------------------
caution.php css
----------------------------------------------------*/
#caution .sec {
	max-width: 910px;
	margin: 20px auto;
}

#caution h3 {
	text-align: center;
	margin-bottom: 20px;
}

#caution .strong {
	padding-top: 35px;
	padding-bottom: 50px;
	font-size: 1.4rem;
	text-align: center;
	font-weight: bold;
}

#caution .title {
	font-size: 19px;
	font-weight: bold;
	margin-top: 60px;
	margin-bottom: 1rem;
	text-align: center;
}

#caution .title_top {
	font-size: 19px;
	font-weight: bold;
	margin-top: 0;
	margin-bottom: 1rem;
	text-align: center;
}

#caution .attention {
	font-size: 15px;
	margin-bottom: 1rem;
}

#caution .text {
	font-size: 15px;
	margin-bottom: 1rem;
}

#caution .no_bl {
	font-size: 15px;
	list-style-type: disclosure-closed;
	margin-bottom: 0;
}

#caution .item {
	font-size: 15px;
	list-style-type: disclosure-closed;
	margin-bottom: 1rem;
}

#caution .ul {
	margin-bottom: 15px;
}

#caution span.red {
font-weight: bold;
color:#c00;
}

#caution .box {
padding: 15px;
border: #333 solid 1px;
border-radius: 8px;
}

#caution .winter_box {
	/* background-color: #e0f4ff; */
	border-radius: 20px;
	border: #c00 solid 1px;
	padding: 30px 40px 20px 40px;
}

/*----------------------------------------------------
caution-2.php css
----------------------------------------------------*/
#caution-2 .sec {
	max-width: 910px;
	margin: 20px auto;
}

#caution-2 h3 {
	text-align: center;
	margin-bottom: 20px;
}

#caution-2 .strong {
	padding-top: 35px;
	padding-bottom: 50px;
	font-size: 1.4rem;
	text-align: center;
	font-weight: bold;
}

#caution-2 .title {
	font-size: 19px;
	font-weight: bold;
	margin-top: 60px;
	margin-bottom: 1rem;
	text-align: center;
}

#caution-2 .title_top {
	font-size: 19px;
	font-weight: bold;
	margin-top: 0;
	margin-bottom: 1rem;
	text-align: center;
}

#caution-2 .attention {
	font-size: 15px;
	margin-bottom: 1rem;
}

#caution-2 .text {
	font-size: 15px;
	margin-bottom: 1rem;
}

#caution-2 .no_bl {
	font-size: 15px;
	list-style-type: disclosure-closed;
	margin-bottom: 0;
}

#caution-2 .item {
	font-size: 15px;
	list-style-type: disclosure-closed;
	margin-bottom: 1rem;
}

#caution-2 .ul {
	margin-bottom: 15px;
}

#caution-2 span.red {
font-weight: bold;
color:#c00;
}

/*----------------------------------------------------
kanji.php css
----------------------------------------------------*/
#kanji #main {
	max-width: 910px;
  margin: 0 auto 65px auto;
}

#kanji .sec {
	max-width: 910px;
	margin: 50px auto 0;
}

#kanji .sp_br {
  display: none;
}

#kanji .sp {
  display: none;
}

#kanji h3 {
	text-align: center;
	margin-bottom: 20px;
}

#kanji tbody {
	/* width: 100%; */
	display: block;
}

#kanji .table_sp {
  display: none;
}

#kanji .table_pc {
	display: block;
	margin-left: 90px;
	margin-bottom: 30px;
	border-collapse: collapse;
}

#kanji .ct01 {
  padding: 15px;
  border: solid 1px #ccc;
	font-size: 1rem;
  text-align:center;
	color: #fff;
	background-color: #CFB25E;
}

#kanji .ct02 {
  padding: 18px;
  border: solid 1px #ccc;
	font-size: 15px;
  text-align:center;
  -webkit-box-sizing:border-box;
          box-sizing:border-box;
	background-color: #fff;
}

#kanji .strong {
	font-size: 1.1rem;
	text-align: center;
	font-weight: bold;
	padding-top: 30px;
	padding-bottom: 10px;
}

#kanji .item {
	list-style-type: disclosure-closed;
	font-size: 1rem;
	margin-bottom: 1rem;
}

#kanji .ul {
	margin-bottom: 15px;
}

#kanji .mail {
	text-align: center;
	padding-top: 10px;
}

#kanji .tel {
	text-align: center;
	padding-bottom: 45px;
}

#kanji a {
	color: #333;
	text-decoration: none;
}

/*----------------------------------------------------
privacy.php css
----------------------------------------------------*/
#privacypolicy .pp {
	width: 725px;
	margin: 0 auto;
}

#privacypolicy .pp_box,
#privacypolicy .pp_box p {
	font-size: 14px;
}

#privacypolicy .pp_box p + p {
	margin-top: 15px;
}

#privacypolicy .pp_box + .pp_box {
	margin-top: 30px;
}

#privacypolicy .pp_box > dt,
#privacypolicy .ga dt {
	margin-bottom: 20px;
	padding-left: 15px;
	font-size: 24px;
	font-weight: bold;
	color: #0997ec;
	line-height: 1.6;
	border-left: 3px solid #0997ec;
}

#privacypolicy .pp_box ol {
	margin: 15px 0 15px 20px;
}

#privacypolicy .pp_box ol li {
	list-style: decimal;
}

#privacypolicy .ga {
	margin-left: 20px;
	padding: 20px;
	background: rgba(255,255,255,.5);
	border-radius: 5px;
}

#privacypolicy .ga dt {
	padding-left: unset;
	border-left: unset;
}

#privacypolicy .inquiry dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}



/*	20250701追加
----------------------------------------------------*/
/*	calender  */

.calender {
	position: relative;
	color: #fff;
}
.calender::before, .calender::after {
	content: "";
	position: absolute;
	z-index: 3;
	height: 12px;
	width: 100%;
	left: 0;
	background-size: 1400px 12px;
}

.calender::before {
	top: 0;
	background-image: url(../../images/index/bg_deco_white_pc.webp);
    -webkit-animation: bg_wave 24s linear infinite,
               gentle_float 16s infinite alternate;
            animation: bg_wave 24s linear infinite,
               gentle_float 16s infinite alternate;
}

@-webkit-keyframes bg_wave {
    0% { 
		background-position: 0 0; 
	}
    100% { 
		background-position: 1400px 0; 
	}
}

@keyframes bg_wave {
    0% { 
		background-position: 0 0; 
	}
    100% { 
		background-position: 1400px 0; 
	}
}

@-webkit-keyframes gentle_float {
    0% { 
        -webkit-transform: translateY(0px) scale(1); 
                transform: translateY(0px) scale(1);
    }
    100% { 
        -webkit-transform: translateY(0.5px) scale(1.5); 
                transform: translateY(0.5px) scale(1.5);
    }
}

@keyframes gentle_float {
    0% { 
        -webkit-transform: translateY(0px) scale(1); 
                transform: translateY(0px) scale(1);
    }
    100% { 
        -webkit-transform: translateY(0.5px) scale(1.5); 
                transform: translateY(0.5px) scale(1.5);
    }
}

.calender::after {
	bottom: -11px;
	background-image: url(../../images/index/bg_deco_green_pc.png);
	background-repeat: repeat-x;
}

.calender_bg {
	padding: 20px 0 88px;
	background: url(../../images/index/bg_hanboubi.webp) repeat;
	background-size: 105px 105px;
}

.calender_title {
	margin: 80px auto 30px;
}

.calender_hanbouki {
	width: 344px;
}

.calender_obon {
	width: 224px;
}

.calender_txt {
	margin-bottom: 15px;
}

.table_box_sub {
	width: 50%!important;
	padding-top: 15px;
}

/*	youkoso  */
.youkoso {
	letter-spacing: .06em;
}
.youkoso_wrap {
	padding-top: 100px;
	-webkit-clip-path: inset(0);
	        clip-path: inset(0);
	position: relative;
}

.youkoso_wrap:after {
	content: "";
	position: absolute;
	bottom: -1px;
	left: 0;
	background-color: #F0B02B;
	width: 100%;
	height: 37px;
	z-index: 0;
}

.youkoso_wrap::before {
	content: '';
	position: fixed;
	top: 0;
	left: 0;
	width:100%;
	height:100%;
	background-size: cover;
	background-position: center;
	background-image: url(../../images/index/bg_youkoso.webp);
	background-repeat: no-repeat;
	z-index: -99;
}
.youkoso_copy {
	text-align: center;
	margin-bottom: 66px;
}

.youkoso_copy img {
	width: 518px;
}

.youkoso_txt {
	color: #fff;
	font-size: 14px;
	line-height: 1.6;
	font-weight: bold;
	max-width: 462px;
	margin: 0 auto 86px;
	text-align: right;
}

.youkoso_block {
	max-width: 1200px;
	margin: 0 auto 36px;
	position: relative;
	width: 100%;
}

.youkoso_block img {
	border-radius: 16px;
}

.youkoso_block:last-child {
	margin-bottom: 0;
}

.youkoso_blockWrap {
	position: relative;
	z-index: 2;
}

.youkoso_block:before {
	content: "";
	position: absolute;
	background-image: url(../../images/index/img_youkoso_kado01.svg),url(../../images/index/img_youkoso_kado02.svg),url(../../images/index/img_youkoso_kado03.svg),url(../../images/index/img_youkoso_kado04.svg) ;
	background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
	background-size: 34px 34px, 34px 34px, 34px 34px, 34px 34px;
	background-position: top left, top right, bottom left, bottom right;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.youkoso_blockWrap:before {
	content: "";
	position: absolute;
	background-image: url(../../images/index/img_youkoso_base-x01.svg),url(../../images/index/img_youkoso_base-x02.svg);
	background-repeat: repeat-x, repeat-x;
	background-size: 34px 34px, 34px 34px;
	background-position: center calc(0% - 1px), center calc(100% + 1px);
	width: calc(100% - 68px);
	height: 100%;
	z-index: -1;
	margin: 0 34px;
}

.youkoso_blockBg:before {
	content: "";
	position: absolute;
	background-image: url(../../images/index/img_youkoso_base-y01.svg),url(../../images/index/img_youkoso_base-y02.svg);
	background-repeat: repeat-y, repeat-y;
	background-size: 34px 34px, 34px 34px;
	background-position: calc(0% - 1px) center, calc(100% + 1px) center;
	width: 100%;
	height: calc(100% - 68px);
	z-index: -1;
	margin: 34px 0;
}

.youkoso_blockItem:before {
	content: "";
	position: absolute;
	width: calc(100% - 60px);
	height: calc(100% - 60px);
	background-color: #FFFBF0;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	    -ms-transform: translate(-50%,-50%);
	        transform: translate(-50%,-50%);
	z-index: -1;
}

.youkoso_blockItem {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 10px;
	padding: 10px;
	border-radius: 32px;
	position: relative;
}

.youkoso_txtTtl {
	margin-bottom: 30px;
}

.youkoso_block01 .youkoso_txtTtl {
	max-width: 258px;
}

.youkoso_block02 .youkoso_txtTtl {
	max-width: 255px;
}

.youkoso_txtDtl {
	color: #212836;
	font-weight: bold;
	line-height: 1.6;
}

.youkoso_blockTxt {
	width: calc(313/1180*100%);
	padding: 0 35px;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	position: relative;
}

.youkoso_blockTxt::before {
	content: "";
	position: absolute;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: #FF6F00;
	left: 17px;
	top: -17px;
}

.youkoso_imgL {
	width: calc(546/1180*100%);
	-ms-flex-negative: 0;
	    flex-shrink: 0;
}

.youkoso_imgS {
	width: calc(231/1180*100%);
	-ms-flex-negative: 0;
	    flex-shrink: 0;
}

/*スライダー*/
.youkoso_slideArea {
	position: relative;
}

.youkoso_slideWrap {
    height: 213px;
	padding: 66px 0 88px;
	background-color: #F0B02B;
}

.infinite-scroll-wrapper {
	display: flex;
	gap: 20px;
	overflow: hidden;
}

.infinite-scroll-list {
	display: flex;
	gap: 20px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.scroll-infinity__list--left {
  animation: infinity-scroll-left 80s linear infinite;
}

.scroll-item {
	width: 343px;
}

.scroll-item>img {
	width: 100%;
}

@keyframes infinity-scroll-left {
	from {
	transform: translate(0);
	}
	to {
	transform: translate(-100%);
	}
}

.calender::before, .calender::after {
	content: "";
	position: absolute;
	z-index: 3;
	height: 12px;
	width: 100%;
	left: 0;
	background-size: 1400px 12px;
}

.youkoso_slideWrap::before {
	content: "";
	position: absolute;
	z-index: 3;
	height: 12px;
	width: 100%;
	bottom: -12px;
	left: 0;
	background-size: 1400px 12px;
	background-image: url(../../images/index/bg_deco_yellow_sp.webp);
    -webkit-animation: bg_wave3 24s linear infinite,
               gentle_float2 16s infinite alternate;
            animation: bg_wave3 24s linear infinite,
               gentle_float2 16s infinite alternate;
}

@-webkit-keyframes bg_wave3 {
    0% { 
		background-position: 0 0; 
	}
    100% { 
		background-position: 1400px 0; 
	}
}

@keyframes bg_wave3 {
    0% { 
		background-position: 0 0; 
	}
    100% { 
		background-position: 1400px 0; 
	}
}

@-webkit-keyframes gentle_float2 {
    0% { 
        -webkit-transform: translateY(0px) scale(1); 
                transform: translateY(0px) scale(1);
    }
    100% { 
        -webkit-transform: translateY(0.5px) scale(1.5); 
                transform: translateY(0.5px) scale(1.5);
    }
}

@keyframes gentle_float2 {
    0% { 
        -webkit-transform: translateY(0px) scale(1); 
                transform: translateY(0px) scale(1);
    }
    100% { 
        -webkit-transform: translateY(0.5px) scale(1.5); 
                transform: translateY(0.5px) scale(1.5);
    }
}

/* syuku-meibi_wrapper - PC */
#top #section02 .villa_wrap .syuku-meibi_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 30px;
  margin-bottom: 30px;
}

/* highlight-wrapper - PC */
#top #section02 .villa_wrap .highlight-wrapper {
  position: relative;
  border: 5px solid #D85363;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 15px;
  max-width: 48%;
  width: 48%;
  margin-bottom: 30px;
  background: #fff;
  -webkit-box-shadow: -4px -4px 8px #fffbf0, 4px 4px 8px rgba(0, 0, 0, .18);
  box-shadow: -4px -4px 8px #fffbf0, 4px 4px 8px rgba(0, 0, 0, .18);
}

#top #section02 .villa_wrap .highlight-wrapper::before {
  content: "Pick UP!";
  position: absolute;
  top: -42px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  text-align: center;
  width: 90%;
  margin: auto;
  z-index: 10;
  color: #fff;
  font-size: 24px;
  font-weight: 900;
  line-height: 1.75;
  letter-spacing: 0.05em;
  background: #D85363;
  border-radius: 8px 8px 0 0;
}

/* meibi限定バッジ（擬似要素版） - PC */
.villa--meibi-special > a > p {
  position: relative;
}

.villa--meibi-special > a > p::before {
  content: "限定";
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 10;
  background: #D85363;
  color: #fff;
  font-size: 16px;
  font-weight: 900;
  padding: 8px 16px;
  border-radius: 6px 0 0 6px;
  border: 2px solid #D85363;
  line-height: 1.4;
  letter-spacing: 0.05em;
  -webkit-box-shadow: 0 3px 8px rgba(234, 97, 110, 0.4);
  box-shadow: 0 3px 8px rgba(234, 97, 110, 0.4);
}

.villa--meibi-special > a > p::after {
  content: "翌日15:00まで滞在OK!!";
  white-space: pre;
  position: absolute;
  top: 12px;
  left: 78px;
  z-index: 10;
  background: #fff;
  color: #333;
  font-size: 16px;
  font-weight: bold;
  padding: 8px 16px;
  border-radius: 0 6px 6px 0;
  border: 2px solid #D85363;
  line-height: 1.4;
  text-align: center;
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}