@charset "utf-8";

/*============
 0 common setting
 1 breadcrumb
 2 main content
  2-1 小樽
  2-2 支笏湖
  2-3 羊蹄山
  2-4 札幌近郊
 3 link
 4 top button
============*/


/*--
 0 common setting
--*/
html,body{overflow-x:hidden; box-sizing: border-box;}
*{box-sizing: border-box;}
html {
font-size: 62.5%;
line-height: 1.15; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
-webkit-tap-highlight-color: transparent; /* 3*/
}
/*dl,dt,dd,ul,li,ol,li {
margin:0;
padding:0;
text-decoration:none;
}*/

.mb0 {margin-bottom: 0 !important;}
.mb10 {margin-bottom: 1rem !important;}
.mb20 {margin-bottom: 2rem !important;}
.mb40 {margin-bottom: 4rem !important;}
.mt10 {margin-top: 1rem !important;}
.align-c {text-align: center;}
.att{color: #c33;}
.cap{font-size: 13px;}
ul.notes li{
text-indent: -1.5rem;
padding-left: 1.5rem;
}
/*.link-ar a:after{
font-family: 'Font Awesome 5 Free';
font-weight: 900;
content: '\f105';
font-size: 1.2rem;
padding-left: 0.5rem;
}
.link-ar-b a:after{
font-family: 'Font Awesome 5 Free';
font-weight: 900;
content: '\f078';
font-size: 1.2rem;
padding-left: 0.5rem;
}*/

@media screen and (max-width:736px) {
/*PCのみ適用*/
.pc_only{
display: none;
}
}/*@media screen and (max-width:736px)*/

@media screen and (min-width:737px) {
/*spのみ適用*/
.sp_only{
display: none;
}
}/*@media screen and (min-width:737px)*/



/*--
 1 breadcrumb
--*/
#breadcrumb{
display: none;
}

@media screen and (min-width:737px) {
#breadcrumb {
display: block;
width: 1000px;
margin: 10px auto 15px;
}
}/*@media screen and (min-width:737px) */



/*--
 2 main content
--*/
/*メイン画像*/
#title_lead{
background: url("../img/oneday_main.webp") no-repeat left top;
/*background: url("../img/oneday_main.jpg") no-repeat left top;*/
background-size: cover;
padding-bottom: 1px;
position: relative;
height: 250px;
}
.fullsize{
margin-left: -25%;
margin-right: -2.1%;
padding-left: 25%;
padding-right: 2.1%;
}
#title_lead h1{
font-size: 5.0rem;
font-family: 'Noto Serif JP', serif;
color: #fff;
padding: 2rem 0 0 1.5rem;
text-shadow: 2px 2px 3px #333;
}
#title_lead h1::before{
content: "PREMIUM HOKKAIDO";
font-size: 1.2rem;
font-family: 'Noto Serif JP', serif;
color: #fff;
display: block;
}
#title_lead h1::after{
content: "VICINITY NAVIGATION OF SAPPORO";
font-size: 1.2rem;
font-family: 'Noto Serif JP', serif;
color: #fff;
display: block;
}
#title_lead p{
display: none;
}

@media screen and (max-width:350px) {
/*メイン画像*/
#title_lead h1{
font-size: 4.0rem;
padding: 2rem 0 0 2rem;
}
}/*@media screen and (max-width:350px) */

@media screen and (min-width:737px) and ( max-width:1000px){
/*メイン画像*/
#title_lead{
padding-top: 1px;
padding-bottom: 1px;
position: relative;
height: 300px;
}
#title_lead h1{
padding: 3rem 0 0 3rem;
}
}/*@media screen and (min-width:737px) and ( max-width:1000px)*/

@media screen and (min-width:1001px) {
/*メイン画像*/
#title_lead{
background: url("../img/oneday_main.webp") no-repeat center -350px;
/*background: url("../img/oneday_main.jpg") no-repeat center -350px;*/
padding-top: 1px;
padding-bottom: 1px;
position: relative;
height: 435px;
}
.fullsize{
margin-left:-200%;
margin-right: -200%;
padding-left:200%;
padding-right: 200%;
position: relative;
}
#title_lead h1{
font-size: 6.0rem;
padding: 5rem 0 0 3rem;
}
#title_lead h1::before{
font-size: 2.0rem;
}
#title_lead h1::after{
font-size: 2.0rem;
}
#title_lead div.lead{
width: 1000px;
margin: 0 auto;
}
#title_lead p{
display: block;
position: absolute;
font-size: 3rem;
font-family: 'Noto Serif CJK', serif;
font-weight: 500;
color: #fff;
bottom: 1rem;
left: 50%;
text-shadow: 2px -2px 5px #333;
}
}/*@media screen and (min-width:1001px) */


/*コンテンツ背景*/
div#containbox{
background: url("../img/bg_Contents_Wrap.jpg") repeat-x top;
width: 100%;
padding-top: 2rem;
}

/*コンテンツ枠*/
div#container{
width: 100%;
position: relative;
font-family:'メイリオ', 'Meiryo', 'Helvetica', 'ヒラギノ角ゴシック ProN', 'Arial', 'ＭＳ Ｐゴシック',sans-serif;
font-size: 1.5rem;
line-height: 1.6;
font-feature-settings: "palt";
word-wrap: break-word;
overflow-wrap: break-word;
box-sizing: border-box;
}

/*インナーリンク*/
#inner-menu ul{
display: flex;
flex-wrap: wrap;
margin: 0 1rem;
justify-content: flex-start;
}
#inner-menu ul li{
width: calc((100% - 10px)/2);
margin-right: 10px;
margin-bottom: 0.5rem;
}
#inner-menu ul li:nth-child(even){
margin-right: 0;
}
#inner-menu ul li img{
width: 100%;
}
#inner-menu ul li img:hover{
opacity: 0.7;
}



@media screen and (min-width:737px) {
/*インナーリンク*/
#inner-menu ul li{
width: calc((100% - 60px)/4);
margin-right: 20px;
}
#inner-menu ul li:nth-child(even){
margin-right: 20px;
}
#inner-menu ul li:last-child{
margin-right: 0;
}
}/*@media screen and (min-width:737px)*/

@media screen and (min-width:1001px){
/*コンテンツ枠*/
div#container{
width: 1000px;
margin: 0 auto;
}
#inner-menu ul{
flex-wrap: nowrap;
}
#inner-menu ul li img{
width: auto;
}
}/*@media screen and (min-width:1001px)*/


/*おすすめツアー*/
h2.recommend{
font-size: 1.8rem;
font-family: 'Noto Serif JP', serif;
color: #fff;
margin: 2rem 1rem 1rem;
line-height: 1.3;
background-color: #198307;
border-radius: 5px;
padding: 0.5rem 1rem;
text-align: left;
}
#recommend-tour{
background: url("../img/bg_travel_link.jpg") no-repeat left -15px;
margin-bottom: 4rem;
}
#recommend-tour div{
padding: 0 1rem;
width: 100%;
margin-bottom: 2rem;
}
#recommend-tour div.tour-lead{
padding-top: 165px;
}
#recommend-tour div.tour{
background-color: #e9f3f7;
padding: 1rem;
margin: 0 0 1rem;
width: auto;
}
#recommend-tour div ul{
display: flex;
margin-top: 0.5rem;
}
#recommend-tour div.tour img{
margin-right: 1rem;
}
#recommend-tour p.tour-txt{
margin-bottom: 2rem;
}
#recommend-tour p.tour-txt strong{
font-family: 'Noto Serif CJK', serif;
font-size: 1.8rem;
line-height: 1.5;
color: #209b0b;
}
#recommend-tour div.tour h3{
margin-bottom: 0.5rem;
color: #209b0b;
}

@media screen and (min-width:737px) {
/*おすすめツアー*/
h2.recommend{
font-size: 2.3rem;
}
#recommend-tour{
background: url("../img/bg_travel_link.jpg") no-repeat left top;
background-size: contain;
padding: 0;
border: 1px solid #5e5e5e;
border-radius: 5px;
}
#recommend-tour div{
margin-bottom: 3rem;
}
#recommend-tour div.tour-lead{
width: 100%;
padding: 110px 10px 0 10px;
margin-bottom: 1rem;
}
#recommend-tour p.tour-txt{
background-color: rgba(255,255,255,0.7);
padding: 1rem;
margin-bottom: 1rem;
}
#recommend-tour p.tour-txt strong{
font-size: 2rem;
line-height: 2.2;
}
#recommend-tour div.tour-box{
display: flex;
flex-direction: row;
flex-wrap: wrap;
margin-bottom: 0;
width: 100%;
}
#recommend-tour div.tour{
width: calc((100% - 30px)/2);
margin: 0 3rem 1rem 0;
background-color: #f4f9fb;
box-shadow: 1px 1px 2px #aaa;
}
#recommend-tour div.tour img{
margin-right: 2rem;
}
#recommend-tour div:nth-of-type(even){
margin-right: 0;
}
}/*@media screen and (min-width:737px)*/

@media screen and (min-width:737px) and ( max-width:1000px){
/*おすすめツアー*/
#recommend-tour{
width: calc(100% - 2rem);
margin: 0 1rem 4rem 1rem;
}
#recommend-tour div.tour{
width: calc((100% - 15px)/2);
margin: 0 1.5rem 1rem 0;
}
#recommend-tour div:nth-of-type(even){
margin-right: 0;
}
}/*@media screen and (min-width:737px) and ( max-width:1000px)*/

@media screen and (min-width:1001px) {
/*おすすめツアー*/
h2.recommend{
margin: 2rem 0 1rem;
}
#recommend-tour{
width: 100%;
margin-bottom:4rem;
}
#recommend-tour div.tour-lead{
width: 100%;
padding: 35px 10px 0 330px;
margin-bottom: 1rem;
}
}/*@media screen and (min-width:1001px)*/


/*エリア　共通*/
section.area{
/*padding: 0 1rem;*/
margin-bottom: 4rem;
}
h2.area-title{
font-size: 3.0rem;
font-family: 'Noto Serif JP', serif;
color: #fff;
}
div.area-inner{
padding: 0 1rem;
}
ul.area-lead{
margin-bottom: 2rem;
}

@media screen and (min-width:737px) {
/*エリア　共通*/
section.area{
border: 1px solid #5e5e5e;
border-radius: 5px;
/*padding: 0;*/
margin: 0 1rem 4rem 1rem;
}
h2.area-title{
font-size: 3.8rem;
}
div.area-inner{
padding: 1rem;
}
}/*@media screen and (min-width:737px)*/

@media screen and (min-width:1001px) {
/*エリア　共通*/
section.area{
margin: 0 0 4rem 0;
}
}/*@media screen and (min-width:1001px)*/


/*--
 2-1 小樽
--*/
div.otaru-ttlbox{
background: url("../img/bg_otaru.jpg") no-repeat 20% top;
background-size: cover;
padding: 1rem;
}
section#otaru div.lead{
margin-top: 1rem;
}
div.otaru-ttlbox div.lead-inner{
padding: 1.5rem;
color: #fff;
background-color: rgba(0,0,0,0.5);
display: inline-block;
}
div.otaru-ttlbox div.map{
text-align: center;
margin-top: 1rem;
}
section#otaru h2.area-title{
/*padding: 0.5rem 1rem;*/
}
section#otaru h2.area-title::before{
content: "北のノスタルジーに浸る";
font-size: 1.6rem;
font-family: 'Noto Serif JP', serif;
color: #fff;
line-height: 1.5;
display: block;
}

/*小樽　エリア*/
div.otaru-area-items h3{
width: 100%;
font-size: 2.5rem;
font-family: 'Noto Serif JP', serif;
border-bottom: 3px solid #ccc;
margin-bottom: 1.5rem;
}
div.otaru-area-items h3#area1::after{
content: "KITA NO WALL GAI";
font-size: 1.1rem;
display: block;
padding-bottom: 0.1rem;
}
div.otaru-area-items h3#area2::after{
content: "OTARU UNGA";
font-size: 1.1rem;
display: block;
padding-bottom: 0.1rem;
}
div.otaru-area-items h3#area3::after{
content: "SAKAIMACHI DORI";
font-size: 1.1rem;
display: block;
padding-bottom: 0.1rem;
}

div.otaru-area-items{
/*display: flex;
flex-wrap: wrap;*/
background-color: #fff;
margin-bottom: 2rem;
padding: 1rem;
border: 1px solid #ccc;
align-items: flex-start;
}
div.otaru-area-items h4{
color: #666;
font-size: 1.6rem;
line-height: 1.3;
margin-bottom: 0.8rem;
border-bottom: 1px dotted #aaa;
}
div.otaru-area-items div{
margin-bottom: 2rem;
}
div.otaru-area-items div:last-child{
margin-bottom: 0;
}
div.otaru-area-items div.item-main ul{
width: 100%;
}
div.otaru-area-items div.item-sub ul{
display: flex;
justify-content: space-between;
width: 100%;
}
div.otaru-area-items div.item-sub li.txt{
margin:0 1rem 0 0;
font-weight: normal;
width: calc(100% - 128px);
}
div.item-sub li.pic{
width:128px; 
}
div.otaru-area-items li.txt{
font-size: 1.5rem;
margin-bottom: 0.5rem;
color: #262525;
}
div.otaru-area-items li.pic{
margin-bottom: 0.5rem;
text-align: center;
}
div.otaru-area-items li.pic img{
width: auto;
}
div.otaru-area-items li.cap{
font-size: 1.2rem;
color: #666;
}


/*小樽　モア*/
h3.otaru-more-title{
font-family: 'Noto Serif JP', serif;
font-size: 2.0rem;
background-color: #006299;
color: #fff;
margin: 2rem 0 1rem 1rem;
padding: 0.5rem 1rem 0.5rem 6.5rem;
border-top: 3px double #fff;
border-bottom: 3px double #fff;
position: relative;
}
h3.otaru-more-title::before{
content: "MORE";
font-size: 1.3rem;
display: inline-block;
padding: 0 1rem;
background-color: #fff;
border: 2px solid #006299;
position: absolute;
top: 1rem;
left: -1rem;
border-radius: 0.5rem;
color: #006299;
}
h3.otaru-more-title::after{
content: "「小樽からもう少し」のエリアへ。 小樽のノスタルジーを満喫したら、札幌へ帰る前に少し寄り道を。";
font-size: 1.3rem;
display: inline-block;
padding-left: 1rem;
}
div.area-more ul{
margin-bottom: 2rem;
padding-left: 1rem;
border-left: 3px solid #006299;
}
div.area-more ul:last-child{
border-bottom: 0;
}
div.area-more ul span{
color: #006299;
}
div.area-more h4{
color: #006299;
font-size: 2.0;
line-height: 2.0;
}
div.area-more img{
width: auto;
}

@media screen and (min-width:737px) {
/*小樽*/
section#otaru{
background: url("../img/bg_otaru.jpg") no-repeat left top;
padding: 0;
}
div.otaru-ttlbox{
background: none;
display: flex;
justify-content: space-between;
align-items: flex-end;
}
div.otaru-ttlbox div.lead{
flex: 1;
}
div.otaru-ttlbox div.map{
width: 280px;
padding: 1.5rem 1.5rem 0 1.5rem;
font-size: 0;
margin-top: 0;
}

/*小樽　エリア*/
div.otaru-area{
display: flex;
flex-wrap: nowrap;
}
div.otaru-area div.otaru-area-items{
width: calc((100% - 20px)/3);
margin-right: 1rem;
}
div.otaru-area div.otaru-area-items:nth-child(3){
margin-right: 0;
}

/*小樽　モア*/
h3.area-more-title::after{
margin-left: 3rem;
}
div.area-more{
display: flex;
flex-wrap: nowrap;
}
div.area-more ul{
width: calc((100% - 4.5rem)/4);
margin-right: 1.5rem;
padding-left: 1rem;
margin-bottom: 0;
}
div.area-more ul:nth-child(4){
margin-right: 0;
}
div.area-more img{
width: auto;
}
}/*@media screen and (min-width:737px)*/

@media screen and (min-width:737px) and ( max-width:1000px){
/*小樽　エリア*/
div.otaru-area-items li.pic img{
width: 100%;
}

/*小樽　モア*/
div.area-more img{
width: 100%;
}
}/*@media screen and (min-width:737px) and ( max-width:1000px)*/

@media screen and (min-width:1001px) {
/*小樽　モア*/
div.area-more img{
width: auto;
}
}/*@media screen and (min-width:1001px)*/

/*小樽　ホテル*/
h3.otaru-hotel-title{
font-family: 'Noto Serif JP', serif;
font-size: 2.0rem;
background-color: #ba3500;
color: #fff;
margin: 2rem 0 1rem 1rem;
padding: 0.5rem 1rem 0.5rem 6.5rem;
border-top: 3px double #fff;
border-bottom: 3px double #fff;
position: relative;
}
h3.otaru-hotel-title::before{
content: "HOTEL";
font-size: 1.3rem;
display: inline-block;
padding: 0 1rem;
background-color: #fff;
border: 2px solid #ba3500;
position: absolute;
top: 1rem;
left: -1rem;
border-radius: 0.5rem;
color: #ba3500;
}
h3.otaru-hotel-title::after{
content: "ちょっと気分を変えて小樽に泊まる";
font-size: 1.3rem;
display: inline-block;
padding-left: 1rem;
}
div.area-hotel ul{
margin-bottom: 2rem;
padding-left: 1rem;
border-left: 3px solid #ba3500;
}
div.area-hotel ul:last-child{
border-bottom: none;
}
div.area-hotel h4{
color: #ba3500;
font-size: 2.0;
line-height: 2.0;
}
div.area-hotel img{
width: auto;
}
p.link-btn a{
background-color: #6c0303;
padding: 0.3rem 0.8rem;
display: inline-block;
/*border-radius: 5rem;*/
margin-top: 0.3rem;
color:#fff; 
font-size: 1.3rem;
border: 3px double #fff;
}
p.link-btn a::after{
content:"";
display: inline-block;
-webkit-mask: url("../fontawesome/f105.svg") no-repeat center center / contain;
mask-image: url("../fontawesome/f105.svg");
mask-repeat: no-repeat;
mask-position: center center;
mask-size: contain;
width: 1.2rem;
height:	1.2rem;
margin-left: 0.8rem;
background-color: #fff;
}
p.link-btn a:hover{
background-color: #a76060;
}

@media screen and (min-width:737px) {
section#otaru h2.area-title::before{
font-size: 1.8rem;
}

/*小樽　ホテル*/
div.area-hotel ul{
margin-bottom: 0;
}
h3.area-hotel-title::after{
margin-left: 3rem;
}
div.area-hotel{
display: flex;
flex-wrap: nowrap;
}
div.area-hotel ul{
width: calc((100% - 4.5rem)/4);
margin-right: 1.5rem;
padding-left: 1rem;
}
div.area-hotel ul:nth-child(4){
margin-right: 0;
}
div.area-hotel img{
width: auto;
}
}/*@media screen and (min-width:737px)*/

@media screen and (min-width:737px) and ( max-width:1000px){
/*小樽　ホテル*/
div.area-hotel img{
width: 100%;
}
}/*@media screen and (min-width:737px) and ( max-width:1000px)*/

@media screen and (min-width:1001px) {
/*小樽　ホテル*/
div.area-hotel img{
width: auto;
}
}/*@media screen and (min-width:1001px)*/




/*--
 2-2 支笏湖
--*/
section#shikotsuko{
background: url("../img/bg_shikotsuko.jpg") no-repeat left -12.5rem;
padding: 0;
}
section#shikotsuko div.lead{
padding: 1.5rem;
color: #fff;
background-color: rgba(71,141,192,0.5);
display: inline-block;
margin: 2rem 1rem 1rem 1rem;
}
section#shikotsuko h2.area-title::before{
content: "湖畔に迫る原生林、透明な湖面に映る風景。";
font-size: 1.6rem;
font-family: 'Noto Serif JP', serif;
color: #fff;
line-height: 1.5;
display: block;
}
section#shikotsuko h3.spot-subtitle{
font-size: 3.2rem;
font-family: 'Noto Serif JP', serif;
margin: 2.5rem 0 1rem 0;
color: #215597;
border-bottom: 2px solid #215597;
line-height: 1;
}
section#shikotsuko h3.spot-subtitle::after{
content: "- Lake Shikotsu -";
font-size: 2rem;
padding-left: 1.5rem;
}
div.model-course{
background: url("../img/bg_course_sp.jpg") repeat-x top left;
background-size: contain;
border: 1px solid #fff;
font-size: 0;
}
div.model-course h3{
font-family: 'Noto Serif JP', serif;
font-size: 1.8rem;
color: #9e5f29;
margin: 1rem 0 0.5rem 1rem;
}
div.model-course.shikotsuko h3::after{
content: "札幌市内出発・支笏湖を巡るモデルコース";
font-size: 1.3rem;
font-family:'メイリオ', 'Meiryo', 'Helvetica', 'ヒラギノ角ゴシック ProN', 'Arial', 'ＭＳ Ｐゴシック',sans-serif;
padding-left: 0;
color: #333;
line-height: 1.0;
display: block;
}
div.model-course p.sp_only{
text-align: center;
}
div.model-course p.sp_only img{
width: 100%;
}

@media screen and (min-width:737px) {
/*支笏湖*/
section#shikotsuko{
background: url("../img/bg_shikotsuko.jpg") no-repeat left -7.5rem;
}
section#shikotsuko div.lead{
margin: 12rem 0 0 1rem;
}
section#shikotsuko h2.area-title::before{
font-size: 1.8rem;
}
div.model-course{
background: url("../img/bg_course.jpg"); 
position: relative;
}
div.model-course h3{
margin: 1rem 0 0 1rem;
}
div.model-course.shikotsuko h3::after{
padding-left: 1rem;
line-height: 2.0;
display: inline-block;
}
ul.course-shikotsuko{
display: flex;
flex-wrap: nowrap;
}
ul.course-shikotsuko li:hover img{
opacity: 0;
}
ul.course-shikotsuko li.active img{
opacity: 0;
}
ul.course-shikotsuko li:hover:nth-child(1) img,
ul.course-shikotsuko li:hover:nth-child(7) img{
opacity: 1;
}

ul.course-shikotsuko li:nth-child(2){
background-image: url("../img/shikotsuko02_on.jpg");
}
ul.course-shikotsuko li:nth-child(3){
background-image: url("../img/shikotsuko03_on.jpg");
}
ul.course-shikotsuko li:nth-child(4){
background-image: url("../img/shikotsuko04_on.jpg");
}
ul.course-shikotsuko li:nth-child(5){
background-image: url("../img/shikotsuko05_on.jpg");
}
ul.course-shikotsuko li:nth-child(6){
background-image: url("../img/shikotsuko06_on.jpg");
}
}/*@media screen and (min-width:737px)*/

@media screen and (min-width:737px) and ( max-width:1000px){
/*支笏湖*/
ul.course-shikotsuko img{
width: 100%;
}
ul.course-shikotsuko li{
background-size:cover;
}
}/*@media screen and (min-width:737px) and ( max-width:1000px)*/

@media screen and (min-width:487px) {
/*div.model-course p.sp_only img{
width: 100%;
}*/
}/*@media screen and (min-width:487px)*/


/*MAP*/
section.area{
counter-reset: marker;
}
div#mapshikotsuko{
text-align: center;
}
div#mapshikotsuko img{
width: auto;
}
dl.hl-item{
margin-bottom: 1rem;
}
dl.hl-item dt{
background-color: #fff;
border: 1px solid #a0612c;
padding: 0.2rem 0.2rem 0.2rem 0.5rem;
margin-bottom: 0.5rem;
font-weight: bold;
}
dl.hl-item dt.active{
background-color: #a0612c;
color: #fff;
}
dl.hl-item dt:hover{
background-color: #a0612c;
color: #fff;
}
dl.hl-item dd{
display: flex;
font-size: 0;
}
dl.hl-item dd p{
margin: 0 0.8rem 1rem;
background-color: rgba(255,255,255,0.6);
font-size: 1.5rem;
}
dl.hl-item dd p span{
color: #0488cc;
}
dl.hl-item img{
height: 100%;
/*margin-bottom: 1rem;*/
}
/*div.sec-item3 dl.hl-item img{
width:100%;
}
*/
/*スポット アルファベット*/
dt .order::before {
content: counter(marker/*, upper-alpha*/);
counter-increment: marker;
font-size: 1.3rem;
background-color: #a0612c;
color: #fff;
padding: 0 0.5rem;
border-radius: 50%;
margin-right: 0.5rem;
border: 1px solid #a0612c;
}
dt.active .order::before {
background-color: #fff;
color: #a0612c;
}
dt:hover .order::before {
background-color: #fff;
color: #a0612c;
}


@media screen and (min-width:737px) {
/*支笏湖 モデルコース*/
div.area-highlights{
display: flex;
flex-wrap: wrap;
}
div.area-highlights div.sec-map.shikotsuko{
width: 335px;
margin-right: 2rem;
}
div.area-highlights div.sec-spot{
flex: 1;
}

/*マップ ナンバーボタン*/
ul.spot-btn li a{
width: 2rem;
height: 2rem;
background-color: #a0612c;
font-size: 1.3rem;
font-weight: bold;
padding: 0.4rem 0.5rem;
border-radius: 50%;
line-height: 1.0;
text-align: center;
display: block;
}
ul.spot-btn li a.active{
background-color: #fff;
border: 1px solid #a0612c;
}
ul.spot-btn li:hover a{
background-color: #fff;
border: 1px solid #a0612c;
}
ul.spot-btn li a:link{
color: #fff;
}
ul.spot-btn li a.active:link{
color: #a0612c;
}
ul.spot-btn li:hover a:link{
color: #a0612c;
}

div#mapshikotsuko{
position: relative;
}
div#mapshikotsuko ul.spot-btn li.s1{
position: absolute;
top:20%;
left:32%;
}
div#mapshikotsuko ul.spot-btn li.s2{
position: absolute;
top:83%;
left:20%;
}
div#mapshikotsuko ul.spot-btn li.s3{
position: absolute;
top:72%;
left:5.5%;
}
div#mapshikotsuko ul.spot-btn li.s4{
position: absolute;
top:65%;
left:2%;
}
div#mapshikotsuko ul.spot-btn li.s5{
position: absolute;
top:18%;
left:16%;
}

/*マップ スポット名*/
ul.spot-txt li a{
color: #a0612c;
background-color: #fff;
border: 1px solid #a0612c;
font-size: 1.1rem;
padding: 0.4rem 0.6rem;
line-height: 1.0;
text-align: center;
display: block;
}
ul.spot-txt li a.active{
background-color: #a0612c;
color: #fff;
}
ul.spot-txt li:hover a{
background-color: #a0612c;
color: #fff;
}
ul.spot-txt li a:link{
color: #a0612c;
}
ul.spot-txt li a.active:link{
color: #fff;
}
ul.spot-txt li:hover a:link{
color: #fff;
}

div#mapshikotsuko ul.spot-txt li.st1{
position: absolute;
top:15%;
left:36.5%;
}
div#mapshikotsuko ul.spot-txt li.st2{
position: absolute;
top:88%;
left:25.2%;
}
div#mapshikotsuko ul.spot-txt li.st3{
position: absolute;
top:68%;
left:12%;
}
div#mapshikotsuko ul.spot-txt li.st4{
position: absolute;
top:59%;
left:1.5%;
}
div#mapshikotsuko ul.spot-txt li.st5{
position: absolute;
top:12.5%;
left:3%;
}
}/*@media screen and (min-width:737px)*/


/*寄り道スポット*/
h3.area-detour-title{
font-family: 'Noto Serif JP', serif;
font-size: 2.2rem;
background-color: #fff;
color: #ae4a4c;
margin: 2rem 0;
padding: 0 1rem 0 6rem;
border-top: 3px double #ae4a4c;
border-bottom: 3px double #ae4a4c;
position: relative;
}
h3.area-detour-title::before{
content:"";
display: inline-block;
-webkit-mask: url("../fontawesome/f3c5.svg") no-repeat center center / contain;
mask-image: url("../fontawesome/f3c5.svg");
mask-repeat: no-repeat;
mask-position: center center;
mask-size: contain;
width: 4.8rem;
height: 4.8rem;
position: absolute;
top: -0.8rem;
left: 1rem;
background-color: #ae4a4c;
}
div.area-detour ul{
display: flex;
flex-wrap: nowrap;
padding-bottom: 1rem;
margin-bottom: 1rem;
border-bottom: 1px dotted #ccc;
}
div.area-detour ul:last-child{
border-bottom: none;
}
div.area-detour ul li:first-child{
margin-right: 1rem;
}
div.area-detour ul span{
font-size: 1.2rem;
}

@media screen and (min-width:737px) {
/*寄り道スポット*/
h3.area-detour-title::after{
margin-left: 3rem;
display: inline;
}
div.area-detour{
display: flex;
}
div.area-detour ul{
width: calc((100% - 2rem)/3);
padding-right: 1rem;
margin-right: 1rem;
border-right: 2px dotted #ccc;
padding-bottom: 0;
margin-bottom: 0;
border-bottom: none;
}
div.area-detour ul:last-of-type{
margin-right: 0;
border-right: none;
}
}/*@media screen and (min-width:737px)*/




/*--
 2-3 羊蹄山
--*/
section#yoteizan{
background: url("../img/bg_yoteizan.jpg") no-repeat left -4rem;
padding: 0;
}
section#yoteizan div.lead{
padding: 1.5rem;
color: #fff;
background-color: rgba(44,139,146,0.5);
display: inline-block;
margin: 2rem 1rem 1rem 1rem;
}
section#yoteizan h2.area-title::before{
content: "蝦夷富士として親しまれる、北海道を代表する名山。";
font-size: 1.6rem;
font-family: 'Noto Serif JP', serif;
color: #fff;
line-height: 1.5;
display: block;
}
section#yoteizan h3.spot-subtitle{
font-size: 3.2rem;
font-family: 'Noto Serif JP', serif;
margin: 2.5rem 0 1rem 0;
color: #3b7f23;
border-bottom: 2px solid #3b7f23;
line-height: 1;
}
section#yoteizan h3.spot-subtitle::after{
content: "- Mt. Yotei -";
font-size: 2rem;
padding-left: 1.5rem;
}
div.model-course.yoteizan h3::after{
content: "札幌市内出発・羊蹄山の威容を堪能するモデルコース";
font-size: 1.3rem;
font-family:'メイリオ', 'Meiryo', 'Helvetica', 'ヒラギノ角ゴシック ProN', 'Arial', 'ＭＳ Ｐゴシック',sans-serif;
padding-left: 0;
color: #333;
line-height: 1.0;
display: block;
}

@media screen and (min-width:737px) {
/*羊蹄山*/
section#yoteizan{
background: url("../img/bg_yoteizan.jpg") no-repeat left -2.5rem;
}
section#yoteizan div.lead{
margin: 12rem 0 0 1rem;
}
section#yoteizan h2.area-title::before{
font-size: 1.8rem;
}
div.model-course.yoteizan h3::after{
padding-left: 1rem;
line-height: 2.0;
display: inline-block;
}
ul.course-yoteizan{
display: flex;
flex-wrap: nowrap;
}
ul.course-yoteizan li:hover img{
opacity: 0;
}
ul.course-yoteizan li.active img{
opacity: 0;
}
ul.course-yoteizan li:hover:nth-child(1) img,
ul.course-yoteizan li:hover:nth-child(7) img{
opacity: 1;
}

ul.course-yoteizan li:nth-child(2){
background-image: url("../img/yoteizan02_on.jpg");
}
ul.course-yoteizan li:nth-child(3){
background-image: url("../img/yoteizan03_on.jpg");
}
ul.course-yoteizan li:nth-child(4){
background-image: url("../img/yoteizan04_on.jpg");
}
ul.course-yoteizan li:nth-child(5){
background-image: url("../img/yoteizan05_on.jpg");
}
ul.course-yoteizan li:nth-child(6){
background-image: url("../img/yoteizan06_on.jpg");
}
}/*@media screen and (min-width:737px)*/

@media screen and (min-width:737px) and ( max-width:1000px){
/*羊蹄山*/
ul.course-yoteizan img{
width: 100%;
}
ul.course-yoteizan li{
background-size:cover;
}
}/*@media screen and (min-width:737px) and ( max-width:1000px)*/


/*羊蹄山 MAP*/
div#mapyoteizan{
text-align: center;
}
div#mapyoteizan img{
width: 100%;
}

@media screen and (min-width:737px) {
/*羊蹄山 モデルコース*/
div#mapyoteizan img{
width: auto;
}
div.area-highlights div.sec-map.yoteizan{
width: 626px;
margin-right: 2rem;
}
div.area-highlights div.sec-item3{
width: calc((100% - 4rem)/3);
margin-right: 2rem;
}
div.area-highlights div.sec-item3:nth-child(3){
margin-right: 0
}

/*マップ ナンバーボタン*/
div#mapyoteizan{
position: relative;
}
div#mapyoteizan ul.spot-btn li.s1{
position: absolute;
top:70%;
left:23.5%;
}
div#mapyoteizan ul.spot-btn li.s2{
position: absolute;
top:62.5%;
left:14%;
}
div#mapyoteizan ul.spot-btn li.s3{
position: absolute;
top:44%;
left:2.5%;
}
div#mapyoteizan ul.spot-btn li.s4{
position: absolute;
top:55%;
left:33%;
}
div#mapyoteizan ul.spot-btn li.s5{
position: absolute;
top:29%;
left:68.2%;
}

/*マップ スポット名*/
div#mapyoteizan ul.spot-txt li.st1{
position: absolute;
top:75.7%;
left:10%;
}
div#mapyoteizan ul.spot-txt li.st2{
position: absolute;
top:56.7%;
left:7%;
}
div#mapyoteizan ul.spot-txt li.st3{
position: absolute;
top:38%;
left:1.2%;
}
div#mapyoteizan ul.spot-txt li.st4{
position: absolute;
top:55%;
left:37%;
}
div#mapyoteizan ul.spot-txt li.st5{
position: absolute;
top:34%;
left:69%;
}
}/*@media screen and (min-width:737px)*/

@media screen and (min-width:737px) and ( max-width:950px){
/*羊蹄山MAP*/
div.area-highlights.yoteizan{
display: block;
}
div.area-highlights div.sec-map.yoteizan{
margin: 0 auto;
}
}/*@media screen and (min-width:737px) and ( max-width:950px)*/

@media screen and (min-width:737px) and ( max-width:1000px){
/*羊蹄山　モデルコース*/
div.area-highlights.yoteizan dl.hl-item{
width: 100%;
}
div.area-highlights div.sec-item3{
width: 100%;
margin-right: 0;
}
}/*@media screen and (min-width:737px) and ( max-width:1000px)*/


/*道の駅*/
h3.area-station-title{
font-family: 'Noto Serif JP', serif;
font-size: 2.2rem;
background-color: #fff;
color: #2f3291;
margin: 2rem 0;
padding: 0 1rem 0 5rem;
border-top: 3px double #2f3291;
border-bottom: 3px double #2f3291;
position: relative;
}
h3.area-station-title::before{
content: url("../img/station.jpg");
/*vertical-align: middle;
font-size: 4.8rem;
line-height: 1;
color: #2f3291;*/
position: absolute;
top: 0.3rem;
left: 1rem;

}
div.area-station ul{
display: flex;
flex-wrap: nowrap;
padding-bottom: 1rem;
margin-bottom: 1rem;
border-bottom: 1px dotted #ccc;
}
div.area-station ul:last-child{
border-bottom: none;
}
div.area-station ul li:first-child{
margin-right: 1rem;
}
div.area-station ul span{
/*color: #4f83d1;*/
color: #777bc9;
}

@media screen and (min-width:737px) {
/*道の駅*/
h3.area-station-title::after{
margin-left: 3rem;
display: inline;
}
div.area-station{
display: flex;
}
div.area-station ul{
width: calc((100% - 2rem)/3);
padding-right: 1rem;
margin-right: 1rem;
border-right: 2px dotted #ccc;
padding-bottom: 0;
margin-bottom: 0;
border-bottom: none;
}
div.area-station ul:last-of-type{
margin-right: 0;
border-right: none;
}
}/*@media screen and (min-width:737px)*/



/*--
 2-4 札幌近郊
--*/
section#sapporo{
background: url("../img/bg_sapporo.jpg") no-repeat left -19rem;
padding: 0;
}
section#sapporo div.lead{
padding: 1.5rem;
color: #fff;
background-color: rgba(64,92,38,0.50);
display: inline-block;
margin: 2rem 1rem 1rem 1rem;
}

/*丸山動物園*/
div.maruyamazoo h3{
font-family: 'Noto Serif JP', serif;
background-color: #bc0000;
color: #fff;
font-size: 2.8rem;
position: relative;
line-height: 1.2;
padding: 4rem 1rem 0.5rem;
}
div.maruyamazoo h3 span{
background-color: #bc0000;
color: #fff;
font-size: 1.5rem;
line-height: 1.0;
}
div.maruyamazoo h3::before{
content: "CHECK!!";
font-size: 1.5rem;
color: #bc0000;
line-height: 2.0;
display: block;
background-color: #fff;
border: 1px solid #bc0000;
position: absolute;
transform: rotate(352deg);
border-radius: 0.5rem;
padding: 0 0.5rem;
left: 0;
top: 0
}
div.maruyamazoo-box{
border: 1px solid #ccc;
border-top: none;
padding: 1rem;
margin-bottom: 3rem;
}
div.maruyamazoo-txt{
margin-bottom: 2rem;
}
div.maruyamazoo-box p.txt{
margin: 1rem 0 2rem 0;
}
div.maruyamazoo-box p.img{
text-align: center;
font-size: 0;
}
div.maruyamazoo h4.event{
color: #2c88c9;
font-size: 1.8rem;
margin: 0 10rem 1rem 0;
padding: 0.25em 0;
line-height: 1.5;
}
div.maruyamazoo h4.event::before{
content: "MARUYAMA ZOO SPECIAL EVENT";
font-size: 1.2rem;
color: #2c88c9;
line-height: 1.0;
display: block;
}
div.maruyamazoo h4.event::after{
content: "";
display: block;
height: 4px;
background: -webkit-linear-gradient(to right, rgb(129, 194, 239), transparent);
background: linear-gradient(to right, rgb(129, 194, 239), transparent);
}
div.maruyamazoo dt{
position: relative;
padding-left: 2rem;
font-weight: bold;
}
div.maruyamazoo dt::before{
content:"";
display: inline-block;
-webkit-mask: url("../fontawesome/f192.svg") no-repeat center center / contain;
mask-image: url("../fontawesome/f192.svg");
mask-repeat: no-repeat;
mask-position: center center;
mask-size: contain;
width: 1.2rem;
height:	1.2rem;
position: absolute;
top: 0.5rem;
left: 0;
background-color: #2c88c9;
}
div.maruyamazoo dd{
padding-left: 2rem;
margin-bottom: 0.4rem;
}
ul.maruyamazoo-map{
margin-top: 2rem;
border-left: 3px solid #a0612c;
padding-left: 1rem;
}
ul.maruyamazoo-map h4.map{
color: #a0612c;
font-size: 1.8rem;
margin-bottom: 1rem;
}
ul.maruyamazoo-map h4.map::after{
content: "SAPPORO MARUYAMA ZOO";
display: block;
font-size: 1.2rem;
color: #a0612c;
line-height: 1.0;
}


/*スポット*/
ul.spot-item{
background-color: #fff;
margin-bottom: 2rem;
padding: 1rem;
border: 1px solid #a0612c;
}
ul.spot-item h4{
color: #a0612c;
font-size: 1.8rem;
border-bottom: 3px solid #a0612c;
margin-bottom: 1rem;
}


@media screen and (min-width:737px) {
/*札幌近郊*/
section#sapporo{
background: url("../img/bg_sapporo.jpg") no-repeat left -4.5rem;
padding: 0;
}
section#sapporo div.lead{
margin: 12rem 0 0 1rem;
}

/*丸山動物園*/
div.maruyamazoo h3{
padding: 0 0 0.5rem 10rem;
}
div.maruyamazoo h3::before{
transform: rotate(349deg);
}
div.maruyamazoo-box{
display: flex;
flex-wrap: wrap;
align-items: flex-end;
}
div.maruyamazoo-txt{
width: calc(100% - 357px);
padding-right: 2rem;
margin-bottom: 0;
}
div.maruyamazoo-box p.txt{
margin: 1rem 0 2rem 0;
}
div.maruyamazoo-box p.img{
margin-right: 2rem;
width: 337px;
}
ul.maruyamazoo-map{
display: flex;
align-items: flex-end;
}
ul.maruyamazoo-map li:first-child{
margin-right: 5rem;
}
ul.maruyamazoo-map h4.map{
margin-bottom: 0;
}
ul.maruyamazoo-map h4.map::after{
display: inline-block;
margin-left: 1rem;
}


/*スポット*/
div.sapporo-spot{
display: flex;
flex-wrap: wrap;
}
div.sapporo-spot ul{
width: calc((100% - 20px)/3);
margin-right: 1rem;
}
div.sapporo-spot ul:nth-child(3),
div.sapporo-spot ul:nth-child(6),
div.sapporo-spot ul:nth-child(9){
margin-right: 0;
}
div.sapporo-spot ul:nth-child(7),
div.sapporo-spot ul:nth-child(8),
div.sapporo-spot ul:nth-child(9){
margin-bottom: 0;
}

}/*@media screen and (min-width:737px)*/

@media screen and (min-width:737px) and ( max-width:1000px){
/*丸山動物園*/
div.maruyamazoo-box{
align-items: center;
}
}/*@media screen and (min-width:737px) and ( max-width:1000px)*/





/*--
 3 link
--*/
/*リンク*/
section#link{
padding: 0 1rem;
margin-bottom: 4rem;
}
section#link ul li{
text-align: center;
font-size: 0;
margin-bottom: 1.5rem;
}
section#link ul li img{
width: auto;
}
section#link a:hover{
opacity: 0.7;
}

@media screen and (min-width:737px) {
/*リンク*/
section#link{
padding: 0;
}
section#link ul{
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
}
section#link ul li{
width: calc((100% - 20px) /3);
text-align: center;
margin-right: 1rem;
margin-bottom: 0;
}
section#link ul li:nth-child(3){
margin-right: 0;
}
section#link ul li img{
width: 100%;
}
}/*@media screen and (min-width:737px)*/

@media screen and (max-width:330px){
/*リンク*/
section#link ul li img{
width: 100%;
}
}/*@media screen and (max-width:330px)*/

@media screen and (min-width:737px) and ( max-width:1000px){
/*リンク*/
section#link{
padding: 0 1rem;
}
}/*@media screen and (min-width:737px) and ( max-width:1000px)*/



/*--
 4 top button
--*/
/*pagetop*/
#pagetop {
	position: fixed;
	bottom: 1em;
	right: 1em;
	z-index:50;
	width:4em;
	height:4em;
	border-radius:50%;
	overflow:hidden;
	text-align: center;
}
#pagetop a {
	position: relative;
	display:block;
	width:100%;
	height:100%;
	padding:0;
	background-image: none;
	background-color:rgba(119,119,119,0.4);
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}
#pagetop a:before{
	content: "▲";
	display: block;
	position: absolute;
	color: #FFF;
	font-size: 2em;
    text-indent: 0;
	left: 50%;
	top: 50%;
	transform: translateY(-50%) translateX(-50%);
}
#pagetop a:hover {
	text-decoration: none;
	background-color: #a5a5a5;
}

