@charset "utf-8";

/*
 * CSS for SmartPhone
 * @date     2017.03.21
 * @author   Sungjoon Park
 */
/* ------------------------------------------

------------------------------------------ */
.pr_absolute::before {
    z-index: 3;
}

#keyVisual {
    margin-bottom: 12px;
}

#keyVisual img {
    width: 100%;
    display: block;
}

#keyVisual h1 {
    display: flex;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
    color: #ffffff;
    text-indent: inherit;
    text-align: center;
    line-height: 1.4;
    align-items: center;
    justify-content: center;
}

#keyVisual h1 span {
    display: block;
    font-weight: normal;
    line-height: 1.3;
}

#keyVisual h1 .page-title {
    font-size: -webkit-calc(46vw / 750 * 100);
    font-size: calc(46vw / 750 * 100);
}

#keyVisual h1 .sub-title {
    font-size: 70%;
}

.sp {
    display: block;
}

.pc {
    display: none !important;
}

#coupon_header {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.4;
    margin: 20px 12px 15px 12px;
    text-align: center;
}

#coupon_header .coupon_desc {
    font-size: 65%;
}

#coupon_header .coupon_term {
    display: block;
    /*font-size: 100%;*/
    font-size: 11.5px;
    line-height: 1.3;
    margin-top: 15px;
}

#coupon_header .coupon_ext {
    display: block;
    font-size: 90%;
    line-height: 1.4;
    font-weight: normal;
    text-align: left;
}

#coupon_header .coupon_permission {
    display: block;
    font-size: 100%;
    line-height: 1.3;
    margin-top: 1.5em;
}

.page_term {
    /*font-size: 12px;*/
    font-size: 11.5px;
    line-height: 1.4;
    margin: auto 4% 15px;
    text-align: center;
}

a.corona_measures {
    display: flex;
    position: relative;
    width: 100%;
    height: -webkit-calc(110vw / 750 * 100);
    height: calc(110vw / 750 * 100);
    background: #888;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    font-size: -webkit-calc(28vw / 750 * 100);
    font-size: calc(28vw / 750 * 100);
    text-decoration: none !important;
    text-align: center;
}

a.corona_measures small {
    font-size: 80%;
}

/* ----- nav -----*/
#pageTab {
    margin: 12px 0 0 0;
}

#pageTab ul {
    width: 96%;
    margin: 0px 2% 12px 2%;
    z-index: 99;
}

#pageTab ul.tab5 li {
    width: 20%;
    margin: 0;
    background: #fff;
}

#pageTab ul li a {
    background: #dedede;
    height: auto;
    padding: 15px 0;
}

#pageTab ul li a:hover {
    opacity: 0.75;
}

/* ----- contents -----*/
#contents {
    padding: 0;
    background: #fff;
}

.page_cpn {
    margin-bottom: 30px;
}

.page_cpn .cpn_box {
    margin: 12px;
}

.page_cpn .cpn_box img {
    display: block;
    width: 100%;
}

.page_cpn .cpn_box a:hover img {
    opacity: 0.8;
}

#contentsArea .page_cpn .cpn_box span {
    display: block;
    font-size: 13px;
    margin-top: 10px;
}

.page_box_sty1 {
    margin-bottom: 15px;
}

.page_h2 {
    background: #7bb33e;
    color: #fff;
    text-align: center;
    padding: 6px 0;
    margin: 0 10px 12px 10px;
    font-size: 20px;
}

.page_box1 {
    margin: 0 10px 12px 10px;
}

.box1img img {
    display: block;
    width: 100%
}

.page_box1 h3 {
    font-size: 14px;
    margin: 10px 0 8px;
}

.txtfont13 {
    font-size: 14px;
    line-height: 1.4;
}

.page_box_sty2 .page_box1 {
    width: 30.8%;
    margin: 0 0 10px 2%;
    float: left;
}

.page_box_sty2 .box1img {
    position: relative;
}

.page_box_sty2 .box1img:before {
    position: absolute;
    width: 25px;
    height: 25px;
    background: url(https://img.travel.rakuten.co.jp/movement/hokkaido/202103/images/magnify.jpg) 0 0 no-repeat;
    bottom: 0;
    right: 0;
    content: "";
}

.cpn_box_info .ss-center .cp__acordion {
    clear: both;
}

.cpn_box_info .cp__acordion .cp__trigger:hover {
    background-color: #bababa;
    color: #ffffff;
}

.cpn_box_info .cp__acordion .cp__trigger {
    font-size: 13px;
    display: block;
    position: relative;
    padding: 10px;
    cursor: pointer;
}

.cpn_box_info .cp__acordion .cp__trigger::after {
    display: inline-block;
    content: " ";
    position: absolute;
    top: 50%;
    right: 10px;
    width: 10px;
    height: 7px;
    margin-top: -3.5px;
    background-repeat: no-repeat;
}

.cpn_box_info .cp__acordion li .cp__trigger {
    background: #e1e1e1;
}

.cpn_box_info .cp__liststyle-dot > * {
    text-indent: 0 !important;
    margin-bottom: 8px;
    font-size: 12px;
    line-height: 1.4;
}

.cpn_box_info .cp__acordion ul.submenu {
    padding: 10px 0;
    background-color: #f0f0f0;
    line-height: 1.4;
}

.cpn_box_info .cp__acordion .cp__trigger::after {
    background-image: url(https://img.travel.rakuten.co.jp/movement/hokkaido/202103/images/icon%2B_2.png) !important;
    background-size: 22px 22px;
    width: 22px;
    height: 22px;
    margin-top: -11px;
    right: 6px;
}

.cpn_box_info .cp__acordion .cp__trigger.active-submenu::after {
    background-image: url(https://img.travel.rakuten.co.jp/movement/hokkaido/202103/images/icon-_2.png) !important;
    background-size: 22px 22px;
    width: 22px;
    height: 22px;
    margin-top: -11px;
    right: 6px;
}

/* ----- page_box1 -----*/
.page_box1 .ss-center .cp__acordion {
    clear: both;
}

.page_box1 .cp__acordion .cp__trigger:hover {
    background-color: #bababa;
    color: #ffffff;
}

.page_box1 .cp__acordion .cp__trigger {
    font-size: 13px;
    display: block;
    position: relative;
    padding: 10px;
    cursor: pointer;
}

.page_box1 .cp__acordion .cp__trigger::after {
    display: inline-block;
    content: " ";
    position: absolute;
    top: 50%;
    right: 10px;
    width: 10px;
    height: 7px;
    margin-top: -3.5px;
    background-repeat: no-repeat;
}

.page_box1 .cp__acordion li .cp__trigger {
    background: #e1e1e1;
}

.page_box1 .cp__liststyle-dot > * {
    margin-left: 1em;
    text-indent: -1em;
    margin-bottom: 8px;
    font-size: 12px;
    line-height: 1.4;
}

.page_box1 .cp__acordion ul.submenu {
    background-color: #f0f0f0;
    padding: 8px 10px 10px 10px;
    line-height: 1.4;
}

.page_box1 .cp__acordion .cp__trigger::after {
    background-image: url(https://img.travel.rakuten.co.jp/movement/hokkaido/202103/images/icon+_2.png) !important;
    background-size: 22px 22px;
    width: 22px;
    height: 22px;
    margin-top: -11px;
    right: 6px;
}

.page_box1 .cp__acordion .cp__trigger.active-submenu::after {
    background-image: url(https://img.travel.rakuten.co.jp/movement/hokkaido/202103/images/icon-_2.png) !important;
    background-size: 22px 22px;
    width: 22px;
    height: 22px;
    margin-top: -11px;
    right: 6px;
}

.holder {
    margin-top: 10px;
}

.cp_right {
    display: none;
}

.fixBnr2 {
    position: fixed;
    display: block;
    right: 0px;
    bottom: 0px;
    z-index: 9;
}

#contents .pagetop_btn {
    width: 50px;
    z-index: 999;
}

.pagetop_btn li {
    margin-bottom: 1px;
    background: #fff;
}

.pagetop_btn li a {
    background: #7bb33e;
    width: 50px;
    display: block;
    text-align: center;
    padding: 6px 0;
    font-size: 13px;
}

#contentsArea .pagetop_btn li a:hover {
    text-decoration: none;
    opacity: 0.8;
}

/* ----- Access -----*/
.accessBox {
    border: none;
}

.page_footer {
    background: #f7f7f7;
    padding: 10px;
    border-top: 1px solid #c2c2c2;
    border-bottom: 1px solid #c2c2c2;
    margin: 0 10px 12px 10px;
}

.page_footer ul li {
    margin-bottom: 6px;
}

.page_footer a {
    color: #777;
    font-size: 13px;
    line-height: 1.6;
    text-decoration: none;
}

.page_footer a:hover {
    text-decoration: underline;
}

.page_footer p {
    margin: auto;
}

.page_footer p span {
    margin-right: 12px;
    display: inline-block;
}

#search-box h1 {
    display: none;
}

/*oy*/
.jdsSwiper {
    padding: 0 40px !important;
}

.swiper-wrapper {
    padding-bottom: 30px;
}

.jdsSwiper .page_box1 {
    margin: 0 0px 12px 0px;
}

.swiper-button-next {
    font-size: 12px;
    background: none !important;
}

.jdsColorBoxHtml_main .box1img {
    display: none;
}

.jdsColorBoxHtml_main .txtfont13 {
    display: none;
}

#cboxContent .jdsColorBoxHtml_main .box1img {
    display: block;
}

#cboxContent .jdsColorBoxHtml_main .txtfont13 {
    display: block;
}

#colorbox {
    height: 100% !important;
    position: fixed !important;
    top: 20px !important;
    overflow: visible !important;
}

#cboxContent {
    float: none !important;
    height: 100% !important;
    max-width: 96% !important;
    margin: auto !important;
}

#cboxWrapper {
    height: auto !important;
    overflow: visible !important;
}

#cboxMiddleLeft {
    height: 100% !important;
}

#cboxOverlay {
    background-color: rgba(0, 0, 0, 0.5) !important;
    height: 100% !important;
}

#cboxLoadedContent {
    background: #fff !important;
    border: 1px solid #333 !important;
    padding: 12px 15px;
    box-sizing: border-box;
    height: auto !important;
    width: auto !important;
}

#cboxClose {
    background: url(https://img.travel.rakuten.co.jp/movement/hokkaido/202103/images/close.jpg) top right no-repeat !important;
    background-position-x: center;
    background-position-y: top;
    width: 25px !important;
    height: 25px !important;
}

#cboxTitle {
    font-size: 0;
}

button#cboxPrevious {
    background: url(https://img.travel.rakuten.co.jp/movement/hokkaido/202103/images/arrow_left.png) top right no-repeat !important;
    width: 32px !important;
    left: -20px !important;
    height: 32px;
}

button#cboxNext {
    background: url(https://img.travel.rakuten.co.jp/movement/hokkaido/202103/images/arrow_right.png) top right no-repeat !important;
    z-index: 999;
    width: 32px !important;
    right: -20px !important;
    height: 32px;
}

.swiper-button-prev {
    width: 32px !important;
    height: 32px !important;
    content: "" !important;
    background: url(https://img.travel.rakuten.co.jp/movement/hokkaido/202103/images/arrow_left.png) 0 0 no-repeat !important;
    font-size: 0;
    top: 35% !important;
    z-index: 999;
}

.swiper-button-next {
    width: 32px !important;
    height: 32px !important;
    content: "" !important;
    background: url(https://img.travel.rakuten.co.jp/movement/hokkaido/202103/images/arrow_right.png) 0 0 no-repeat !important;
    font-size: 0;
    top: 35% !important;
    z-index: 999
}

.page_foot_box .swiper-button-prev {
    left: 0px;
}

.page_foot_box .swiper-button-next {
    right: 0px;
}

.page_foot_box .swiper-container {
    width: 96% !important;
    margin: auto;
    padding: 0 2% !important;
}

.chara_box {
    margin-bottom: 4px;
}

.chara_box .char {
    overflow: hidden;
}

#contentsArea .page_cpn .cpn_box .chara_box .char span {
    padding: 2px 4px;
    box-sizing: border-box;
    border-radius: 3px;
    letter-spacing: 1px;
    color: #fff;
    margin-right: 5px;
    margin-bottom: 5px;
    float: left;
    margin-top: 0px;
    font-size: 12px;
}

#contentsArea .page_cpn .cpn_box .chara_box .char .red {
    background-color: #d00505;
}

#contentsArea .page_cpn .cpn_box .chara_box .char .blue1 {
    background-color: #53b8c8;
}

#contentsArea .page_cpn .cpn_box .chara_box .char .blue2 {
    background-color: #fff;
    border: 1px solid #53b8c8;
    color: #53b8c8;
}

#contentsArea .page_cpn .cpn_box .chara_box .char .ana {
    background-color: #fff;
    border: 1px solid #180d7f;
    color: #180d7f;
}

#contentsArea .page_cpn .cpn_box .chara_box .char .jal {
    background-color: #fff;
    border: 1px solid #cb0000;
    color: #cb0000;
}

#contentsArea .cpn_box .btn {
    margin: 12px 15px;
}

#contentsArea .cpn_box .btn .main {
    border: 2px solid #7bb33e;
    border-radius: 5px;
    background-color: #fff;
    color: #7bb33e;
    text-align: center;
    display: block;
    margin: 0px auto;
    font-weight: bold;
    padding: 10px 0;
    position: relative;
    font-size: 16px;
}

#contentsArea .cpn_box .btn .main:after {
    position: absolute;
    content: '';
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAMCAYAAABfnvydAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpDNkQ4N0ZGMzJGQzRFNzExODg5RkM1RTg2NEE3ODZENyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDNzczMUIzN0M1QjcxMUU3ODhGNEZFQzVFMjgxMEUyOSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDNzczMUIzNkM1QjcxMUU3ODhGNEZFQzVFMjgxMEUyOSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjNCMjI2MTI1MUFDNUU3MTE5RkIzOUM4RTk0QkM0M0U5IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkM2RDg3RkYzMkZDNEU3MTE4ODlGQzVFODY0QTc4NkQ3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+xa2QmQAAAM5JREFUeNpc0L8LAWEcx/HnZLiBQcmk/AVKdu4fMCr5D1hJEqV0GSwkshoNYmCVTPwZwmAxUSTnvO96Tg9Pvfo+d9/P8+NOqy/SdyGEjgoGZmbzEMrwYQ0LTRQbS0P/DxQwQQAt51kNabZtC15EmXeQxw0NjDju6QacQShGMZGToTZW34AMRShDZPHCzid+RxghOb/g7FdWJyg9GNijiq13SafZRwpHlLjg1P1MmklqVzZPKGPm7ewcMUYcB9mcs/qt/qggrqjJpqXe+iPAAHnLRIHtZQkmAAAAAElFTkSuQmCC) 0 0 no-repeat;
    height: 12px;
    width: 8px;
    right: 12px;
    top: 50%;
    margin-top: -6px;
    display: block;
}

#contentsArea .cpn_box .btn .main:hover {
    opacity: 0.8;
}

.tableholder {
    margin: 0 10px;
}

.tableholder table {
    background-color: #fff;
    border: 1px solid #b4b4b4;
    font-size: 13px;
    line-height: 1.4;
    position: relative;
}

.tableholder table tr:first-child {
    color: #fff;
}

.tableholder table tr:first-child td {
    text-align: center !important;
    background-color: #1ba81b !important;
}

.tableholder table td {
    display: block;
    padding: 5px;
}

#contents .tableholder table td a {
    color: #0059B2;
}

.tableholder table tr td:first-child {
    background-color: #e1e1e1;
    font-weight: bold;
}

#contents .gototop_btn {
    margin-top: 10px;
    background: none;
}

#contents .gototop_btn a {
    display: block;
    height: 30px;
    background: rgba(0, 0, 0, 0.8);
    border-radius: 4px 4px 0 0;
    color: #FFF;
    position: relative;
}

#contents .gototop_btn a::before {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    margin-top: -3px;
    margin-left: -7px;
    border-top: 4px solid #FFF;
    border-right: 4px solid #FFF;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    content: "";
}

#contents .gototop_btn a span {
    display: none;
}

.page_foot_box {
    width: 94%;
    margin: auto;
}

.page_foot_box .swiper-slide {
    width: 180px !important;
    font-size: 13px;
}

/* ----- 201908 -----*/
#keyVisual h1 {
    z-index: 99;
    text-shadow: 0px 2px 2px #000;
}

#contentsArea .route a {
    color: #bc0000 !imnportant;
}

#contents .pagetop_btn li a {
    color: #fff;
}

#contents .pagetop_btn li a:hover {
    color: #fff;
}

#contentsArea #contents .route-a {
    color: #0059B2;
}

#search-box {
    border: 1px solid #444;
}

.column1 .page_box1 .txtfont13 {
    height: auto !important;
}

.additionalArea {
    width: 86%;
    margin: 0 7% 20px;
}

.additionalArea img {
    max-width: 100%;
    height: auto;
}

.additionalArea .txt_link {
    display: block;
    margin-top: .5em;
    text-align: center;
    font-size: 13px;
}

#newetiquette {
    width: 90%;
    text-align: center;
    margin: 30px auto;
    background: #eee;
    padding: 15px 0;
}

#newetiquette a {
    color: #0059B2 !important;
}

#pageInquiry .inquiryTable {
    width: 92%;
    margin: 40px auto 20px;
    font-size: 14px;
}

#pageInquiry tr,
#pageInquiry th,
#pageInquiry td {
    display: block;
}

#pageInquiry th,
#pageInquiry td {
    border: solid 1px #aaa;
    padding: 1em;
}

#pageInquiry th {
    background-color: #efefef;
}

#pageInquiry td {
    border-top: none;
    border-bottom: none;
}

#pageInquiry tr:last-child td {
    border-bottom: solid 1px #aaa;
}

#pageInquiry .inquiryTable a {
    color: #0059B2;
}

.heyo {
    position: relative;
    padding-left: 2em !important;
}

.heyo::before {
    position: absolute;
    content: url(https://img.travel.rakuten.co.jp/movement/miyazaki/202010/images/icon_combi.png);
    left: 7px;
    top: 3px;
    display: block;
}

.disclaimer {
    margin: 20px auto;
    font-size: 12px;
    text-align: center;
}

/**********210315**********/

#contentsArea .route1 {
    margin-bottom: 20px;
}

a.btn_virus {
    position: relative;
    color: #fff !important;
    font-size: calc(30vw / 750 * 100);
    text-decoration: none !important;
    text-align: center;
    width: 100%;
    height: calc(160vw / 750 * 100);
    background: #90B6F9;
    display: block;
    display: flex;
    align-items: center;
    justify-content: center;
}

a.btn_virus:hover {
    opacity: 0.7;
}

a.btn_virus span:before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f35d";
    position: absolute;
    font-size: calc(30vw / 750 * 100);
    right: calc(-45vw / 750 * 100);
    top: 10px;
}

a.btn_virus span:after {
    content: "※外部サイトへ遷移します";
    font-family: "Font Awesome 5 Free";
    font-weight: normal;
    position: absolute;
    font-size: calc(20vw / 750 * 100);
    top: calc(19vw / 750 * 100);
    right: calc(179vw / 750 * 100);
    line-height: 90px;
}

a.btn_virus span {
    position: relative;
    display: inline !important;
    padding-bottom: 14px;
}

.page_h2,
a.corona_measures,
#contents .pagetop_btn li a {
    background: #1f9de5;
}

#contents .gototop_btn a {
    background: rgba(0, 0, 0, 0.8) !important;
}

#coupon_header .coupon_ext {
    margin: 20px auto;
    text-align: center;
    font-size: 10px;
}