.ori-sp-container{
	width:100%;
	margin:0 auto;
	text-align:center;
	background-size: 50px 50px;
	background-color: #BFE2FE;
	background-image: linear-gradient(to left, #CBE7FD 50%, transparent 50%, transparent);
    padding-bottom: 80px;
}
#ori-sp-wrapper a:hover{
	filter:alpha(opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;
}

.main_visual_pc{
	background: url(/special/travel/cp_ski_win_2025/images/main_pc.png) no-repeat top center;
	height: 1041px;
}

.main_visual_pc img{
    display: none;
}

.cp_ski_2018{
	width: 1010px;
    margin: -500px auto 0;
}

.ski_content{
    background: #ffffff;
    padding: 30px;
    margin-bottom: 80px;
    position: relative;
    border-radius: 0 0 10px 10px;
}

#rentacar + .ski_content{
    margin-bottom: 15px;
}

.ski_content:before{
    content: url(/special/travel/cp_ski_win_2025/images/content_head.png);
    position: absolute;
    top: -20px;
    left: 0;
}

.fac_list{
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.fac_block{
    width: 300px;
    border: 3px solid #4489CA;
    overflow: hidden;
    border-radius: 10px;
    text-align: left;
    display: flex;
    flex-direction: column;
    margin-bottom: 35px;
}

.changeborder .fac_block{
    border: 3px solid #E487AD;
}

.fac_list .fac_block:nth-of-type(3n - 1){
    margin-right: calc((100% - (300px * 3)) / 2);
	margin-left: calc((100% - (300px * 3)) / 2);
}

.area_name{
	text-align: left;
    padding: 10px;
    display: flex;
    justify-content: space-between;
}

.area{
    width: 70px;
    height: 70px;
    background: #1B9394;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #ffffff;
    font-weight: bold;
    font-size: 20px;
}

.num_name{
    width: calc(100% - 70px);
    padding-left: 10px;
}

.num_name .fac_num{
    font-size: 14px;
    margin-bottom: 5px;
    text-align: right;
}

.num_name .fac_name{
    color: #1B9394;
    font-weight: bold;
}

.ski_main_content .num_name .fac_name{
    font-size: 32px;
    line-height: 1.1em;
}

.ski_main_content .num_name{
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    width: calc(100% - 85px);
    padding-bottom: 5px;
    margin-left: 15px;
    background: url(/special/travel/cp_ski_win_2025/images/bg_border.png) repeat-x bottom;
    padding-left: 0;
}

.ski_main_content .area_name{
    align-items: center;
    flex-wrap: wrap;
    padding: 0;
    margin-bottom: 15px;
}

.address{
    padding: 0 10px;
    font-size: 14px;
    margin-bottom: 5px;
}

.tag_txt{
	padding: 0 10px;
    color: #418BCA;
    font-weight: bold;
    font-size: 13px;
    margin-top: 5px;
}

.special{
    margin: 40px 10px 20px;
    background: #FFFED2;
    border: 1px solid #E6E5A2;
    padding: 18px 20px 15px;
    font-weight: bold;
    flex: 1 0 auto;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.special:after{
	content: url(/special/travel/cp_ski_win_2025/images/icon_special.png);
    position: absolute;
    top: -32px;
    left: calc(50% - (177px / 2));
}

.font_red{
	color: #ff0000;
    font-size: 18px;
}

.duration{
    font-size: 11px;
}

.btn_ski{
    background: #F85688;
    margin: 0 10px 20px;
    box-shadow: 0 5px 0 #FF9AB8;
    border-radius: 50px;
}

.btn_ski a{
    text-align: center;
    display: block;
    color: #ffffff;
    font-weight: bold;
    padding: 15px 0;
    position: relative;
}

.btn_ski a:after{
	content: url(/special/travel/cp_ski_win_2025/images/arrow.png);
	position: absolute;
	right: 40px;
}

.region_name_num{
    padding: 10px;
    display: flex;
    justify-content: space-between;
    font-size: 14px;
}

.stay_name{
    padding: 0 10px;
    color: #00479C;
    font-weight: bold;
    margin-bottom: 10px;
}

.stay_txt{
	font-size: 14px;
    padding: 10px;
    flex: 1 0 auto;
    margin-bottom: 25px;
}

.stay_special{
    background: #FFFED2;
    margin: 0 10px 20px;
    padding: 20px 20px 10px;
    border: 1px solid #E6E5A4;
    display: flex;
    align-items: center;
    font-weight: bold;
    position: relative;
}

.stay_special:after{
    content: url(/special/travel/cp_ski_win_2025/images/good_value.png);
    position: absolute;
    top: -32px;
    left: calc(50% - (177px / 2));
}

.stay_special_ski{
    background: #FFFED2;
    margin: 0 10px 20px;
    padding: 20px 20px 10px;
    border: 1px solid #E6E5A4;
   display: flex;
    align-items: center;
    position: relative;
font-weight: bold;
}
.stay_special_ski p{
width:100%;
height:2.5em;
line-height:130%;
margin:0 auto;
text-align:center;
}

.stay_special_ski:after{
    content: url(/special/travel/cp_ski_win_2025/images/good_value_ski.png);
    position: absolute;
    top: -32px;
    left: calc(50% - (177px / 2));
}


.ski_navi{
    display: flex;
    justify-content: space-between;
    margin-bottom: 65px;
}

.contents_title{
	width: 610px;
 margin-top:70px;
    margin-left: auto;
 margin-right: auto;
    background-size: 12px 12px;
    background-color: #007BDB;
    background-image: linear-gradient(-45deg, #008EE2 25%, transparent 25%, transparent 50%, #008EE2 50%, #008EE2 75%, transparent 75%, transparent);
    padding: 15px 0 20px;
    border-radius: 65px 65px 0 0;
position:relative;
}
.title_balloon{
position:absolute;
top:-45px;
left:8%;
z-index:10;
}
@media screen and (min-width: 248px) and (max-width: 609px){
.contents_title{
 margin-top:50px;
}
.stay_special_ski p{
height:auto;
}
}
@media screen and (min-width: 500px) and (max-width: 599px){
.title_balloon{
left:0%;
}
}
@media screen and (min-width: 248px) and (max-width: 499px){
.title_balloon{
top:-85px;
left:5%;
}
}
.ski_main_content{
    border-bottom: 4px dotted #458BC6;
    margin-bottom: 35px;
    padding-bottom: 35px;
}

.main_inner1{
	margin-bottom: 50px;
}

.area_overview{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.pic_left{
    width: 494px;
}

.overview_right{
	width: calc(100% - (494px + 30px));
    text-align: left;
    display: flex;
    flex-direction: column;
}

.main_inner1 .btn_ski {
    width: 245px;
    margin: auto;
}

.special_outer{
	flex: 1 0 auto;
}

.reccomended_point{
    padding: 10px 0 5px;
    color: #1C54B1;
    font-weight: bold;
    font-size: 18px;
    border-bottom: 2px dotted #4489CA;
    margin: 0 15px 10px;
}

.reccomended_txt{
    padding: 0 15px;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 15px;
}

.reccomended_title{
    color: #1B52AC;
    font-weight: bold;
    font-size: 22px;
    position: relative;
    margin-bottom: 30px;
    font-family: 'Kosugi Maru', sans-serif;
}

.reccomended_title:before,.reccomended_title:after{
    content: "";
    background: url(/special/travel/cp_ski_win_2025/images/bg_border.png);
    height: 2px;
    width: 200px;
    position: absolute;
    top: 50%;
}

.reccomended_title:before{
    left: 160px;
}

.reccomended_title:after{
    right: 160px;
}

.sp_contents{
	position: relative;
}

.special_contents_block{
	position: absolute;
    width: 121px;
    height: 103px;
    background: url(/special/travel/cp_ski_win_2025/images/sp_hukidasi.png) no-repeat;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    right: 5px;
    top: 130px;
    font-size: 13px;
    font-weight: bold;
    color: #458BC9;
}

.font_orange{
    color: #F44049;
}

.rentacar_block{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.rentacar_block .fac_block{
	border: 1px solid #959595;
    background: #F3F3F3;
}

.rent_info{
    padding: 10px 20px 15px;
    flex: 1 0 auto;
    display: flex;
    flex-direction: column;
    flex: 1 0 auto;
}

.rentacar_txt1{
	font-size: 14px;
}

.rentacar_block .rentacar_txt1{
    text-align: right;
}

.rentacar_txt2{
    font-weight: bold;
    font-size: 18px;
    flex: 1 0 auto;
    margin-bottom: 10px;
    background: url(/special/travel/cp_ski_win_2025/images/border_rent.jpg) repeat-x bottom;
    padding-bottom: 10px;
}

.rent_special{
	display: flex;
    justify-content: space-between;
    align-items: center;
}

.sp_circle{
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #C70027;
    color: #ffffff;
    font-weight: bold;
    border-radius: 50%;
}

.sp_txt{
    font-weight: bold;
    width: calc(100% - 60px);
}

.another_style{
    padding: 30px 0 30px;
}

.pos_center{
    text-align: center;
}

.blue_jr{
    font-weight: bold;
    font-size: 22px;
    position: relative;
    margin-top: 20px;
    font-family: 'ヒラギノ角ゴ Pro W6','HiraKakuPro-W6';
    display: inline-block;
}

.blue_jr:before{
    content: url(/special/travel/cp_ski_win_2025/images/hukidashi01.png);
    position: absolute;
    left: 0;
    top: -46px;
}

.orange_jr{
	color: #FA6500;
    font-weight: bold;
    font-size: 25px;
    position: relative;
    display: inline-block;
    font-family: 'ヒラギノ角ゴ Pro W6','HiraKakuPro-W6';
}

.orange_jr:before{
    content: url(/special/travel/cp_ski_win_2025/images/hukidashi02.png);
    position: absolute;
    top: -45px;
    left: 0;
}

.bluefont{
    color: #238CCD;
}

.jr_img{
    background: #2BB3D2;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 15px 0;
    border-radius: 5px;
}

.jr_ver{
    width: 600px;
    margin: 50px auto 40px;
    font-size: 25px;
}

.jr_ver a{
    padding: 20px 0;
}

.caution{
    font-size: 14px;
    text-align: left;
}

.indent{
    padding-left: 1em;
    text-indent: -1em;
}

#stay_plan,#jr_plan,#rentacar{
    position: relative;
}

#stay_plan:after{
    position: absolute;
    content: url(/special/travel/cp_ski_win_2025/images/snow1.png);
    left: -150px;
    top: -10px;
}

#jr_plan:after{
    position: absolute;
    content: url(/special/travel/cp_ski_win_2025/images/snow2.png);
    right: -160px;
    top: 0px;
}

#rentacar:after{
    position: absolute;
    content: url(/special/travel/cp_ski_win_2025/images/snow3.png);
    left: -130px;
    top: 10px;
}

@media screen and (min-width: 248px) and (max-width: 768px){

.ori-sp-container{
	padding: 10px;
}

.cp_ski_2018{
	width: 100%;
}

.ski_navi {
    flex-wrap: wrap;
}

.ski_navi a{
    width: 49%;
    margin-bottom: 15px;
}

.overview_right,.pic_left,.contents_title {
    width: 100%;
}

.ski_content:before {
    width: 100%;
    overflow: hidden;
}

.jr_img {
    padding: 15px 15px;
    flex-wrap: wrap;
}

.jr_img  img{
    margin-bottom: 15px !important;
}

.jr_ver {
    width: 90%;
}

.fac_list {
    display: block;
}

.fac_block, .fac_list .fac_block:nth-of-type(3n-1) {
    margin: 0 auto 35px;
}

.main_visual_pc{
    background: none;
    height: auto;
}

.main_visual_pc img{
    display: block;
    max-width: 100%;
}

.cp_ski_2018{
    margin: 0 auto 0;
}

.ski_main_content .num_name {
    flex-wrap: wrap;
}

.ski_main_content .num_name .fac_name {
    font-size: 27px;
    width: 100%;
}

.num_name .fac_num {
    text-align: right;
    width: 100%;
}

.pic_left {
    margin-bottom: 15px;
}

.reccomended_title:before, .reccomended_title:after {
    width: 60px;
}

.reccomended_title:before {
    left: -5px;
}

.reccomended_title:after {
    right: -5px;
}

.contents_title {
    padding: 15px 30px 25px;
}

.blue_jr:before,.orange_jr:before {
    position: static;
    display: block;
}

.btn_ski a:after {
    right: 10px;
}

.jr_ver {
    font-size: 19px;
}

.ski_content {
    padding: 30px 15px;
}

#stay_plan:after,#rentacar:after,#jr_plan:after{
    display: none;
}

}

