@charset "UTF-8";
/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */html {
    font-family:sans-serif;
    -ms-text-size-adjust:100%;
    -webkit-text-size-adjust:100%
}
body {
    margin:0
}
article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary {
    display:block
}
audio,canvas,progress,video {
    display:inline-block
}
audio:not([controls]) {
    display:none;
    height:0
}
progress {
    vertical-align:baseline
}
template,[hidden] {
    display:none
}
a {
    text-decoration:none;
    color:#0d0d0d;
    background-color:transparent;
    -webkit-text-decoration-skip:objects
}
a:active,a:hover {
    outline-width:0
}
abbr[title] {
    border-bottom:none;
    text-decoration:underline;
    -webkit-text-decoration:underline dotted;
    text-decoration:underline dotted
}
b,strong {
    font-weight:700
}
b,strong {
    font-weight:bolder
}
dfn {
    font-style:italic
}
h1 {
    font-size:2em;
    margin:.67em 0
}
mark {
    background-color:#ff0;
    color:#000
}
small {
    font-size:80%
}
sub,sup {
    font-size:75%;
    line-height:0;
    position:relative;
    vertical-align:baseline
}
sub {
    bottom:-.25em
}
sup {
    top:-.5em
}
a img,img {
    border-style:none
}
svg:not(:root) {
    overflow:hidden
}
code,kbd,pre,samp {
    font-family:monospace,monospace;
    font-size:1em
}
hr {
    -webkit-box-sizing:content-box;
    box-sizing:content-box;
    height:0;
    overflow:visible
}
button,input,select,textarea {
    font:inherit;
    margin:0
}
optgroup {
    font-weight:700
}
button,input {
    overflow:visible
}
button,select {
    text-transform:none
}
button,html [type=button],[type=reset],[type=submit] {
    -webkit-appearance:button
}
button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner {
    border-style:none;
    padding:0
}
button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring {
    outline:1px dotted ButtonText
}
fieldset {
    border:1px solid #c0c0c0;
    margin:0 2px;
    padding:.35em .625em .75em
}
legend {
    -webkit-box-sizing:border-box;
    box-sizing:border-box;
    color:inherit;
    display:table;
    max-width:100%;
    padding:0;
    white-space:normal
}
textarea {
    overflow:auto
}
[type=checkbox],[type=radio] {
    -webkit-box-sizing:border-box;
    box-sizing:border-box;
    padding:0
}
[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button {
    height:auto
}
[type=search] {
    -webkit-appearance:textfield;
    outline-offset:-2px
}
[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration {
    -webkit-appearance:none
}
::-webkit-input-placeholder {
    color:inherit;
    opacity:.54
}
::-webkit-file-upload-button {
    -webkit-appearance:button;
    font:inherit
}
figure,sub,sup {
    position:relative
}
script {
    display:none!important
}
button[disabled],html input[disabled] {
    cursor:default
}
table {
    border-collapse:collapse;
    border-spacing:0
}
a,abbr,address,blockquote,body,caption,cite,code,del,dfn,div,dl,dt,em,fieldset,form,h1,h2,h3,h4,h5,h6,html,iframe,img,ins,label,legend,li,object,ol,p,pre,q,small,span,strong,sub,sup,table,tbody,td,tfoot,th,thead,tr,ul {
    border:0;
    margin:0;
    padding:0
}
* {
    -webkit-box-sizing:border-box;
    box-sizing:border-box
}
html,html a {
    -webkit-font-smoothing:antialiased
}
li {
    list-style:none
}
*,:before,:after {
    -webkit-box-sizing:border-box;
    box-sizing:border-box
}
html {
    font-size:14px;
    font-family:Zen Kaku Gothic New,sans-serif;
    font-weight:500;
    line-height:1.6;
    letter-spacing:.1em;
    color:#0d0d0d;
    background-color:#e1f4e9;
    position:relative;
    word-break:break-word;
    overflow-wrap:break-word;
    text-align:left
}
h1,h2,h3,h4,h5,h6,p,hr,pre {
    margin-top:0;
    margin-bottom:0
}
blockquote {
    margin:0
}
ol,ul {
    margin-top:0;
    margin-bottom:0;
    padding-left:0
}
li {
    list-style-type:none
}
dl {
    margin-top:0;
    margin-bottom:0
}
dd {
    margin-left:0
}
figure {
    margin:0
}
address,em,cite,dfn,var,i {
    font-style:inherit
}
img,iframe,embed,object,video,audio,svg,canvas {
    vertical-align:bottom
}
img,iframe,video,input,select,textarea {
    max-width:100%;
    height:auto
}
svg {
    fill:currentcolor
}
table {
    border-spacing:0;
    border-collapse:collapse
}
td,th {
    padding:0
}
th {
    text-align:inherit
}
input,button,select,textarea {
    padding:0;
    font:inherit;
    color:inherit;
    background-color:transparent;
    border:0
}
select {
    -moz-appearance:none;
    -webkit-appearance:none;
    border-radius:0
}
::-ms-expand {
    display:none
}
fieldset {
    min-width:0;
    margin:0;
    padding:0;
    border:0
}
[hidden][hidden] {
    display:none!important
}
.header {
    position:fixed;
    right:0;
    left:0;
    z-index:4
}
.header__inner {
    background-color:#fff;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
    border-radius:30px;
    -webkit-box-shadow:0px 3px 10px rgba(111,111,111,.1),inset 0px 1px 5px rgba(110,110,110,.1),inset 0px -3px 15px rgba(110,110,110,.2);
    box-shadow:0 3px 10px #6f6f6f1a,inset 0 1px 5px #6e6e6e1a,inset 0 -3px 15px #6e6e6e33
}
.header__companyIconLink,.header__info {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex
}
.header__busRoute {
    color:#333;
    font-weight:700
}
.header__busRouteText {
    position:relative
}
.header__busRouteText:before {
    content:"";
    display:inline-block;
    background-size:cover;
    background-image:url(../images/icon_bus.svg);
    position:absolute;
    -webkit-transform:translateX(-100%) translateY(-50%);
    transform:translate(-100%) translateY(-50%);
    top:50%;
    left:-6px;
    width:19px;
    height:17px
}
.header__flight {
    color:#fff;
    font-weight:700;
    background-color:#9b308c;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    border-radius:0 30px 30px 0
}
.header__flightText {
    position:relative;
    text-align:center
}
.header__flightText:before {
    content:"";
    display:inline-block;
    background-size:cover;
    background-image:url(../images/icon_airplane.svg);
    position:absolute;
    -webkit-transform:translateX(-100%) translateY(-50%);
    transform:translate(-100%) translateY(-50%);
    top:50%;
    width:24px;
    height:16px
}
.kv {
    font-size:16px;
    background-repeat:no-repeat;
    position:relative;
    font-family:Zen Kaku Gothic New,sans-serif!important
}
.kv:before {
    content:"";
    position:absolute;
    display:inline-block;
    background-repeat:no-repeat;
    background-size:100% auto;
    z-index:-1;
    width:100%;
    font-family:Zen Kaku Gothic New,sans-serif!important
}
.swiperWrap {
    position:relative
}
.swiperWrap:before {
    content:"";
    display:inline-block;
    background-image:url(../images/image_bus_stop.svg);
    position:absolute;
    background-size:cover;
    z-index:2
}
.swiper-wrapper {
    position:relative
}
.kv__title {
    position:absolute;
    top:0;
    left:0;
    z-index:2
}
.kv__headImage {
    -webkit-user-select:none;
    -ms-user-select:none;
    user-select:none;
    user-drag:none;
    -webkit-user-drag:none;
    -moz-user-select:none
}
.kv__description {
    color:#11449a;
    background-color:#fffc;
    font-weight:700;
    text-align:center;
    line-height:1.3;
    letter-spacing:.01em
}
.swiper-slide {
    -webkit-user-select:none;
    -moz-user-select:none;
    -ms-user-select:none;
    user-select:none
}
.swiper-slide img {
    width:100%
}
.kv__busStop {
    display:-webkit-box;
    display:-ms-flexbox;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    -webkit-box-align:center;
    -ms-flex-align:center;
    line-height:1;
    letter-spacing:.01em;
    position:absolute;
    font-weight:700;
    color:#007291;
    z-index:3;
    display:flex;
    align-items:center;
    justify-content:center
}
.kv__lead {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:end;
    -ms-flex-pack:end;
    justify-content:flex-end
}
.kv__leadText {
    color:#007291
}
.eastern {
    background-color:#b0e2f5;
    position:relative
}
.eastern:before {
    content:"";
    display:inline-block;
    background-size:cover;
    background-image:url(../images/background_water.svg);
    position:absolute;
    top:0;
    width:100%;
    height:90px;
    -webkit-transform:translateY(-100%);
    transform:translateY(-100%)
}
.eastern__title {
    color:#fff;
    font-weight:900;
    letter-spacing:.5em
}
.eastern__kv {
    position:relative
}
.eastern__kvImageWrap {
    position:absolute;
    bottom:0;
    right:0;
    left:0;
    margin-inline:auto
}
.eastern__icon {
    display:block;
    text-align:center
}
.eastern__hokkaido {
    text-align:center;
    color:#007291;
    font-weight:500;
    line-height:1.5
}
.eastern__spotTitle {
    color:#007291;
    font-weight:500;
    text-align:center
}
.eastern__spotTitleSub {
    display:block
}
.accordion:not(:first-child) {
    margin-top:10px
}
.accordion__head {
    background-color:#fff;
    border-radius:20px;
    position:relative;
    cursor:pointer;
    -webkit-box-shadow:inset 0px -3px 15px rgba(110,110,110,.2);
    box-shadow:inset 0 -3px 15px #6e6e6e33
}
.accordion__head:before {
    content:"";
    position:absolute;
    border-radius:20px 0 0 20px;
    width:16px;
    height:100%
}
.accordion__head.--pirika:before {
    background-color:#0b5dd6
}
.accordion__head.--kushiroShiretoko:before {
    background-color:#f97d00
}
.accordion__head.--shiretokoKushiro:before {
    background-color:#f7b500
}
.accordion__head.--shiretokoAirport:before {
    background-color:#0284fe
}
.accordion__headTrigger {
    width:100%;
    text-align:left;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    cursor:pointer;
    position:relative
}
.accordion__headTrigger[aria-expanded=true] .accordion__headIcon:after {
    opacity:0;
    -webkit-transform:translateX(-50%) translateY(-50%) rotate(0deg);
    transform:translate(-50%) translateY(-50%) rotate(0)
}
.accordion__headImageWrap {
    width:50px
}
.accordion__headImage {
    border-radius:4px
}
.accordion__headCopy {
    font-weight:500
}
.accordion__headTitle {
    font-weight:700
}
.accordion__headTitle .--note {
    color:#9b308c;
    letter-spacing:.05em;
    font-weight:700
}
.accordion__headIcon {
    position:absolute;
    top:50%;
    right:30px
}
.accordion__headIcon:before,.accordion__headIcon:after {
    content:"";
    display:block;
    background-color:#5dc1cf;
    position:absolute;
    top:50%;
    left:50%;
    -webkit-transform:translateX(-50%) translateY(-50%);
    transform:translate(-50%) translateY(-50%);
    -webkit-transition:all .5s;
    transition:all .5s;
    border-radius:20%;
    width:16px;
    height:2px
}
.accordion__headIcon:after {
    -webkit-transform:translateX(-50%) translateY(-50%) rotate(90deg);
    transform:translate(-50%) translateY(-50%) rotate(90deg)
}
.accordionContent {
    background-color:#fff;
    border-radius:20px;
    margin-top:4px;
    -webkit-box-shadow:inset 0px -3px 15px rgba(110,110,110,.2);
    box-shadow:inset 0 -3px 15px #6e6e6e33;
    -webkit-transition-duration:1s;
    transition-duration:1s
}
.accordionContent.--close {
    height:0;
    overflow:hidden
}
.accordionContent__map {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex
}
.accordionContent__mapImage {
    border-radius:8px
}
.accordionContent__mapHead {
    color:#9b308c;
    font-weight:700;
    letter-spacing:.05em
}
.accordionContent__mapTitle {
    font-weight:700;
    font-size:24px
}
.accordionContent__title {
    font-weight:700
}
.accordionContent__tagWrap {
    margin-top:10px
}
.accordionContent__tag {
    color:#fff;
    background-color:#5dc1cf;
    display:inline-block;
    border-radius:3px;
    letter-spacing:.03em;
    font-size:12px;
    padding:4px 20px
}
.accordionDetail {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    letter-spacing:.05em;
    font-weight:700
}
.accordionDetail.--marginNone {
    margin:0
}
.accordionDetail__term {
    width:22%;
    border-bottom:1px solid #DDD;
    padding-top:10px;
    padding-bottom:10px;
    line-height:1.2
}
.accordionDetail__data {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:start;
    -ms-flex-align:start;
    align-items:flex-start;
    width:78%;
    border-bottom:1px solid #DDD;
    padding-top:10px;
    padding-bottom:10px;
    line-height:1.5
}
.accordionDetail__data:before {
    content:":";
    margin-right:3px;
    top:0
}
.accordion__attention {
    padding-top:10px;
    padding-bottom:10px;
    font-weight:700
}
.accordion__description {
    line-height:1.5;
    letter-spacing:.05em
}
.accordion__cardList {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    -webkit-box-pack:start;
    -ms-flex-pack:start;
    justify-content:flex-start
}
.accordion__cardItem {
    border-bottom:1px solid #DDD;
    padding-bottom:24px
}
.accordion__cardImage {
    border-radius:8px
}
.accordion__cardTitle {
    font-size:20px;
    text-align:center;
    margin-top:8px
}
.accordion__cardDescription {
    line-height:1.5;
    margin-top:8px;
    letter-spacing:0
}
.accordion__buttonWrap {
    text-align:center;
    margin-inline:auto
}
.accordion__bannerContent {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center
}
.accordion__more {
    margin-top:60px;
    text-align:center
}
.accordion__moreTitle {
    font-weight:700;
    letter-spacing:.01em;
    line-height:1.5
}
.accordion__bannerList {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    gap:20px;
    margin-top:30px
}
.accordion__bannerText {
    margin-bottom:10px;
    line-height:1.5;
    text-align:left;
    letter-spacing:0
}
.accordion__bannerImage {
    width:100%
}
.accordion__busRouteBack {
    width:100%;
    display:inline-block;
    margin-inline:auto;
    padding-bottom:4px;
    letter-spacing:0;
    font-weight:700
}
.accordion__busRouteBackText {
    display:-webkit-inline-box;
    display:-ms-inline-flexbox;
    display:inline-flex;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    font-size:14px;
    letter-spacing:.02em;
    border-bottom:3px solid #5DC1CF;
    padding-bottom:5px
}
.accordion__busRouteBackText:before {
    content:"";
    display:inline-block;
    background-size:cover;
    background-image:url(../images/icon_bus.svg);
    background-size:contain;
    width:20px;
    height:18px;
    margin-right:10px
}
.climate {
    position:relative
}
.climate:before {
    content:"";
    display:inline-block;
    background-size:cover;
    background-image:url(../images/background_climate.svg);
    position:absolute;
    top:0;
    width:100%;
    height:90px;
    -webkit-transform:translateY(-100%);
    transform:translateY(-100%)
}
.climate__title {
    color:#007291;
    font-weight:500;
    text-align:center;
    letter-spacing:.03em
}
.climate__content {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex
}
.climate__description {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    gap:30px
}
.climate__temperature {
    margin-top:10px;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex
}
.climate__temperature:last-child {
    margin-bottom:30px
}
.climate__temperatureTerm {
    letter-spacing:.03em;
    line-height:1.2;
    width:18%;
    font-size:15px
}
.climate__temperatureData {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    width:82%
}
.climate__temperatureData:before {
    content:":";
    display:inline-block;
    right:0;
    margin:0 3px 0 5px
}
.climate__link {
    color:#007291;
    position:relative;
    margin-top:30px;
    padding-right:10px;
    display:inline-block;
    line-height:1;
    text-decoration:underline
}
.climate__link:after {
    content:"";
    display:inline-block;
    background-size:cover;
    background-image:url(../images/icon_link.svg);
    position:absolute;
    -webkit-transform:translateX(100%) translateY(-50%);
    transform:translate(100%) translateY(-50%);
    right:0;
    width:13px;
    height:13px
}
.bannerContent {
    background-color:#b0e2f5;
    position:relative
}
.bannerContent:before {
    content:"";
    display:inline-block;
    background-size:cover;
    background-image:url(../images/background_water.svg);
    position:absolute;
    top:0;
    width:100%;
    height:90px;
    -webkit-transform:translateY(-100%);
    transform:translateY(-100%)
}
.bannerContent__inner {
    padding-top:60px
}
.bannerContent__title {
    color:#007291;
    text-align:center;
    font-weight:500
}
.bannerContent__imageList {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap
}
.bannerContent__text {
    color:#333;
    font-weight:500;
    text-align:center;
    line-height:1.5
}
.footer {
    background-color:#9b308c
}
.footer__inner {
    padding-top:50px;
    padding-bottom:30px
}
.footer__list {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    gap:30px
}
.footer__image {
    width:32px;
    height:32px
}
.footer__itemLink {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center
}
.footer__copyright {
    color:#fff;
    margin-top:35px;
    text-align:center;
    font-size:12px
}
.flightInfo {
    position:relative;
    background-color:#5dc1cf
}
.flightInfo:before {
    content:"";
    display:inline-block;
    background-size:cover;
    background-image:url(../images/background_flight.svg);
    position:absolute;
    top:0;
    width:100%;
    height:90px;
    -webkit-transform:translateY(-100%);
    transform:translateY(-100%)
}
.flightInfo__icon {
    text-align:center;
    display:block
}
.flightInfo__head {
    color:#fff;
    margin-top:20px;
    text-align:center;
    font-weight:700
}
.flightInfo__schedule {
    color:#fff;
    margin-top:10px;
    text-align:center
}
.flightInfo__areaHead {
    color:#fff;
    text-align:center
}
.flightInfo__contentWrap {
    /* display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center */
}
.flightInfo__content:not(:first-child) {
    margin-top:20px
}
.flightInfoBox {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    position:relative
}
.flightInfoBox.--MM121:before {
    content:"MM121"
}
.flightInfoBox.--MM125:before {
    content:"MM125"
}
.flightInfoBox:before {
    -webkit-writing-mode:vertical-rl;
    -ms-writing-mode:tb-rl;
    writing-mode:vertical-rl;
    font-size:14px;
    font-weight:700;
    color:#fff;
    position:absolute;
    z-index:3;
    background-color:#9b308c;
    width:40px;
    height:100%;
    padding-right:4px;
    padding-left:4px;
    border-radius:10px 0 0 10px;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center
}
.flightInfoBox__main {
    background-color:#fff;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
		justify-content: center;
		flex: 1;
    -webkit-box-shadow:inset 0px -3px 7px rgba(110,110,110,.2);
    box-shadow:inset 0 -3px 7px #6e6e6e33
}
.flightInfoBox__area {
    font-weight:700;
    text-align:center;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center
}
.flightInfoBox__areaPrefecture {
    font-family:Zen Kaku Gothic New,sans-serif;
    font-weight:700;
    font-size:16px;
    line-height:1;
    max-width:107px;
    letter-spacing:.02em;
    white-space:nowrap
}
.flightInfoBox__areaTime {
    line-height:1;
    margin-top:5px
}
.flightInfoBox__travelTime {
    position:relative;
    text-align:center;
    font-size:16px;
    letter-spacing:.02em
}
.flightInfoBox__travelTime:before {
    content:"";
    display:inline-block;
    background-size:cover;
    background-image:url(../images/icon_airplane_flight.svg);
    position:absolute;
    right:0px;
    left:0px;
    top:0px;
    width:102px;
    height:18px
}
.flightInfoBox__destination {
    text-align:center;
    font-weight:700;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center
}
.flightInfoBox__destinationPlace {
    line-height:1;
    white-space:nowrap
}
.flightInfoBox__destinationTime {
    line-height:1;
    margin-top:5px;
    white-space:nowrap
}
.flightInfoBox__price {
    background-color:#fff;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:end;
    -ms-flex-align:end;
    align-items:flex-end;
    -webkit-box-pack:end;
    -ms-flex-pack:end;
    justify-content:flex-end;
    -webkit-box-shadow:inset 0px -3px 7px rgba(110,110,110,.2);
    box-shadow:inset 0 -3px 7px #6e6e6e33
}
.js-flightSearchItemLink[data-sale="1"] .flightInfoBox__price {
    position:relative;
    color:#d14e97
}
.js-flightSearchItemLink[data-sale="1"] .flightInfoBox__price:before {
    content:"SALE";
    color:#ffe900;
    background-color:#d14e97;
    border-radius:50%;
    text-align:center;
    font-weight:700;
    letter-spacing:0;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    font-size:10px
}
.js-flightSearchItemLink[data-sale="1"] .flightInfoBox__price:after {
    content:"\203b";
    display:block;
    position:absolute;
    font-size:10px
}
.flightInfoBox__priceNumber {
    line-height:1;
    letter-spacing:.06em;
    font-weight:700
}
.flightInfoBox__priceFrom {
    letter-spacing:.06em;
    margin-top:10px;
    -ms-flex-item-align:start;
    align-self:flex-start
}
.flightInfoBox__priceYen {
    letter-spacing:.06em
}
.flightInfoBox__search {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    color:#fff;
    background-color:#9b308c;
    white-space:nowrap
}
.flightInfoBox__period {
    color:#fff
}
.flightInfo__attention {
    font-size:12px
}
.flightInfo__attentionItem {
    color:#fff
}
.flightInfo__attentionItem:before {
    content:"*"
}
.flightInfo__attentionBig {
    /* margin-top:40px */
    margin-top:20px
}
.flightInfo__attentionBig__title {
    color:#fff
}
.flightInfo__attentionBigItem {
    color:#fff;
    text-indent:-1em;
    padding-left:1em
}
.flightInfo__attentionBigItem:before {
    content:"*";
    padding:0;
    margin:0
}
.flightInfo__detail {
    color:#fff
}
.flightInfo__detailLink {
    color:#fff;
    border-bottom:1px solid #FFF
}
.flightInfo__detailLink:hover {
    border-bottom:none
}
.pageTopButton {
    position:fixed;
    border-radius:50%;
    color:#fff;
    background-color:#9b308c;
    opacity:0;
    -webkit-transition:.5s;
    transition:.5s;
    pointer-events:none;
    -webkit-user-select:none;
    -moz-user-select:none;
    -ms-user-select:none;
    user-select:none;
    -webkit-filter:drop-shadow(0px 10px 10px rgba(0,0,0,.2));
    filter:drop-shadow(0px 10px 10px rgba(0,0,0,.2));
    z-index:3
}
.pageTopButton:before {
    position:absolute;
    content:"";
    display:inline-block;
    background-size:cover;
    background-image:url(../images/icon_bear.svg);
    width:84px;
    height:74px;
    top:-56px;
    right:15px
}
.pageTopButton.--visible {
    opacity:1;
    cursor:pointer;
    pointer-events:auto;
    -webkit-user-select:auto;
    -moz-user-select:auto;
    -ms-user-select:auto;
    user-select:auto
}
.pageTopButton__text {
    position:absolute;
    top:33%;
    right:0;
    left:0;
    text-align:center
}
.pageTopButton__text:before {
    content:"";
    position:absolute;
    right:0;
    left:-6px;
    top:-10px;
    -webkit-transform:rotate(45deg);
    transform:rotate(45deg);
    width:2px;
    height:9px;
    background-color:#fff;
    margin-inline:auto
}
.pageTopButton__text:after {
    content:"";
    position:absolute;
    left:0;
    right:-6px;
    top:-10px;
    -webkit-transform:rotate(-45deg);
    transform:rotate(-45deg);
    width:2px;
    height:9px;
    background-color:#fff;
    margin-inline:auto
}
@media screen and (min-width: 881px) {
    .header {
        max-width:1380px;
        padding-inline:60px;
        margin-inline:auto
    }
    .header__inner {
        padding-left:50px
    }
    .header__busRoute {
        padding:18px 30px
    }
    .header__busRoute:hover {
        color:#9b308c
    }
    .header__busRoute:hover .header__busRouteText:before {
        background-image:url(../images/icon_bus_purple.svg)
    }
    .header__busRouteText {
        font-size:16px
    }
    .header__flight {
        padding-right:38px;
        padding-left:72px
    }
    .header__flight:hover {
        opacity:.7
    }
    .header__flightText:before {
        left:-10px
    }
    .header__flightText {
        font-size:15px
    }
    .kv:before {
        width:1697px;
        height:1021px;
        top:31%;
        left:50%;
        -webkit-transform:translateX(-68%);
        transform:translate(-68%);
        background-image:url(../images/background_hokkaido.svg)
    }
    .kv__inner {
        max-width:1348px;
        padding-inline:60px;
        margin-inline:auto;
        margin-top:17px
    }
    .swiperWrap {
        padding-top:80px
    }
    .swiperWrap:before {
        width:72px;
        height:223px;
        right:30px;
        bottom:-16px
    }
    .swiper.swiper-initialized {
        padding-top:11px;
        padding-left:19px
    }
    .kv__headImage {
        max-width:343px
    }
    .kv__description {
        font-size:15px;
        padding:7px 23px;
        margin-top:4px;
        border-radius:28px
    }
    .kv__busStop {
        font-size:14px;
        right:33px;
        bottom:70px;
        width:64px;
        height:52px
    }
    .kv__lead {
        padding:79px 145px 143px 15px
    }
    .kv__leadText {
        font-size:18px;
        line-height:2.2
    }
    .kv__leadText:not(:first-child) {
        margin-top:30px
    }
    .eastern__inner {
        max-width:1210px;
        padding-inline:60px;
        margin-inline:auto;
        padding-top:60px;
        padding-bottom:220px
    }
    .eastern__title {
        text-align:center;
        font-size:56px
    }
    .eastern__kv {
        padding-bottom:34%
    }
    .eastern__mapContent {
        max-width:930px;
        margin-inline:auto
    }
    .eastern__icon {
        margin-top:90px
    }
    .eastern__hokkaido {
        font-size:36px;
        margin-top:30px
    }
    .eastern__mainMap {
        margin-top:40px
    }
    .eastern__spot {
        max-width:900px;
        margin-inline:auto;
        margin-top:80px
    }
    .eastern__spotTitleSub {
        font-size:20px
    }
    .eastern__spotTitleMain {
        font-size:36px
    }
    .accordionWrap {
        margin-top:40px
    }
    .accordion__headTrigger {
        padding:10px 0 10px 36px
    }
    .accordion__headText {
        margin-left:20px
    }
    .accordion__headCopy {
        font-size:14px
    }
    .accordion__headTitle {
        display:-webkit-box;
        display:-ms-flexbox;
        display:flex;
        -webkit-box-align:center;
        -ms-flex-align:center;
        align-items:center;
        font-size:26px
    }
    .accordion__headTitle .--note {
        font-size:14px
    }
    .accordionContent.--close {
        padding:0 55px
    }
    .accordionContent {
        padding:50px 55px 60px
    }
    .accordionContent__smallInner {
        padding-right:40px;
        padding-left:40px
    }
    .accordionContent__map {
        gap:30px
    }
    .accordionContent__mapImageWrap {
        min-width:325px
    }
    .accordionContent__mapHead {
        font-size:14px;
        margin-bottom:8px
    }
    .accordionContent__title {
        font-size:24px
    }
    .accordionDetail {
        margin-top:10px
    }
    .accordion__description {
        margin-top:30px
    }
    .accordion__cardList {
        gap:40px 70px;
        margin-top:20px
    }
    .accordion__cardItem {
        width:calc(50% - 35px)
    }
    .accordion__component {
        margin-top:40px
    }
    .accordion__bannerContent {
        gap:22.5px
    }
    .accordion__banner {
        width:344px
    }
    .accordion__moreTitle {
        font-size:20px
    }
    .accordion__bannerItem {
        width:33.3333333333%
    }
    .accordion__bannerText {
        font-size:14px
    }
    .accordion__bannerItemLink:hover {
        opacity:.7
    }
    .accordion__busRouteBack {
        margin-top:33px
    }
    .accordion__busRouteBack:hover {
        opacity:.7
    }
    .climate__inner {
        max-width:1172px;
        padding-inline:60px;
        margin-inline:auto;
        padding-top:60px;
        padding-bottom:220px
    }
    .climate__title {
        font-size:36px
    }
    .climate__content {
        margin-top:40px;
        gap:52px
    }
    .climate__image {
        min-width:500px
    }
    .climate__description {
        font-size:16px
    }
    .climate__link:after {
        top:50%
    }
    .climate__link:hover {
        text-decoration:none
    }
    .bannerContent__inner {
        max-width:1022px;
        padding-inline:60px;
        margin-inline:auto;
        padding-bottom:90px
    }
    .bannerContent__heading {
        margin-bottom:40px
    }
    .bannerContent__title {
        line-height:1.4;
        font-size:36px
    }
    .bannerContent__imageList {
        gap:48px 30px;
        max-width:768px;
        padding-inline:60px;
        margin-inline:auto
    }
    .bannerContent__imageItem {
        max-width:300px
    }
    .bannerContent__imageItem:hover {
        opacity:.8
    }
    .bannerContent__text {
        font-size:20px;
        letter-spacing:.3px;
        margin-top:13px
    }
    .footer__itemLink:hover {
        opacity:.8
    }
    .flightInfo__inner {
        padding-top:20px;
        padding-bottom:170px;
        max-width:945px;
        padding-inline:60px;
        margin-inline:auto
    }
    .flightInfo__head {
        font-size:30px
    }
    .flightInfo__schedule {
        font-size:18px
    }
    .flightInfo__areaHead {
        font-size:24px;
        margin-top:60px
    }
    .flightInfo__contentWrap {
        margin-top:20px
    }
    .flightInfo__content {
        /* max-width:825px */
    }
    .flightInfoBox {
        padding-left:40px;
        -webkit-transition:all .5s;
        transition:all .5s
    }
    .flightInfoBox:hover {
        opacity:.7
    }
    .flightInfoBox:before {
        -webkit-transform:translateX(-100%);
        transform:translate(-100%);
				font-size:18px;
    }
    .flightInfoBox__main {
        min-height:80px;
        /* max-width:405px; */
        min-width:405px;
        padding-right:34px;
        padding-left:20px;
        border-right:1px solid #9B308C;
        gap:20px;
        -webkit-box-align:center;
        -ms-flex-align:center;
        align-items:center;
        /* -webkit-box-pack:justify;
        -ms-flex-pack:justify; */
        /* justify-content:space-between */
    }
    .flightInfoBox__areaTime {
        font-size:24px
    }
    .flightInfoBox__travelTime {
        min-width:112px;
        padding-top:25px;
        line-height:1
    }
    .flightInfoBox__destinationPlace {
        font-size:16px;
        letter-spacing:.01em
    }
    .flightInfoBox__destinationTime {
        font-size:24px
    }
    .flightInfoBox__price {
        -webkit-box-align:center;
        -ms-flex-align:center;
        align-items:center;
        -webkit-box-pack:justify;
        -ms-flex-pack:justify;
        justify-content:space-between;
        min-width:268px;
        padding:0 16px
    }
    .js-flightSearchItemLink[data-sale="1"] .flightInfoBox__price:before {
        width:30px;
        height:30px;
        position:absolute;
        left:12px;
        top:35%
    }
    .js-flightSearchItemLink[data-sale="1"] .flightInfoBox__price:after {
        right:13px;
        top:20px
    }
    .flightInfoBox__priceNumber {
        font-size:46px
    }
    .flightInfoBox__search {
        font-size:16px;
        padding-right:25px;
        padding-left:25px;
        border-radius:0 10px 10px 0
    }
    .flightInfoBox__period {
        margin-top:4px
    }
    .flightInfo__attention {
        /* margin-top:60px */
        margin-top:20px;
    }
    .pageTopButton {
        width:110px;
        height:110px;
        bottom:60px;
        right:32px
    }
    .pageTopButton:hover {
        -webkit-filter:drop-shadow(0px 0px 0px rgba(0,0,0,.2));
        filter:drop-shadow(0px 0px 0px rgba(0,0,0,.2))
    }
}
@media screen and (min-width: 881px) and (max-width: 1000px) {
    .accordionContent__tag {
        margin-top:10px
    }
}
@media screen and (min-width: 881px) and (max-width: 1200px) {
    .climate__temperature {
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
        -ms-flex-direction:column;
        flex-direction:column
    }
    .climate__temperatureTerm,.climate__temperatureData {
        width:100%
    }
    .climate__link {
        display:inline
    }
}
@media screen and (min-width: 881px) and (max-width: 1380px) {
    .kv:before {
        width:100%
    }
    .kv__lead {
        padding-right:15px
    }
}
@media screen and (min-width: 881px) and (max-width: 893px) {
    .climate__link:after {
        top:87%!important
    }
}
@media screen and (min-width: 881px) and (max-width: 950px) {
    .flightInfoBox__main {
        min-width:0;
        padding-right:15px;
        padding-left:15px;
        /* max-width:380px; */
        /* min-width:380px; */
        /* -webkit-box-pack:justify;
        -ms-flex-pack:justify;
        justify-content:space-between; */
        -webkit-box-align:center;
        -ms-flex-align:center;
        align-items:center
    }
    .flightInfoBox__price {
        width:32%
    }
}
@media screen and (min-width: 894px) and (max-width: 1035px) {
    .climate__link:after {
        top:80%
    }
}
@media screen and (max-width: 1366px) {
    .eastern:before {
        background-position:center
    }
    .climate:before {
        background-position:center
    }
    .bannerContent:before {
        background-position:center
    }
    .flightInfo:before {
        background-position:center
    }
}
@media screen and (max-width: 880px) {
    .header {
        padding-inline:15px
    }
    .header__inner {
        padding-left:20px
    }
    .header__companyIconLink {
        width:93px
    }
    .header__busRoute {
        padding:13px 16px 13px 26px
    }
    .header__busRouteText {
        line-height:1.2;
        font-size:12px
    }
    .header__flight {
        padding-right:11px;
        padding-left:41px
    }
    .header__flightText:before {
        left:-5px
    }
    .header__flightText {
        font-size:12px;
        line-height:1.2
    }
    .kv:before {
        height:100%;
        left:0px;
        top:calc(106vw + 92px);
        background-image:url(../images/background_hokkaido_sp.svg);
        background-position:bottom 413px left;
        background-size:100% 100%
    }
    .kv__inner {
        margin-top:12px
    }
    .swiperWrap {
        padding-top:80px
    }
    .swiperWrap:before {
        background-size:100% 100%;
        width:17%;
        height:calc(46% - 80px);
        right:15px;
        bottom:-2.5%
    }
    .swiper.swiper-initialized {
        padding-top:34px
    }
    .kv__title {
        width:100%;
        left:19px
    }
    .kv__headImage {
        display:inline-block;
        width:70%
    }
    .kv__description {
        font-size:3.2vw;
        padding-top:2%;
        padding-bottom:2%;
        margin-top:1px;
        border-radius:37px;
        width:65%
    }
    .swiper-slide {
        padding-inline:15px
    }
    .kv__busStop {
        font-size:3.2vw;
        width:17%;
        height:calc(46% - 80px);
        right:15px;
        bottom:-2.4%
    }
    .kv__lead {
        padding:100% 15px 180px
    }
    .kv__leadText {
        font-size:15px;
        line-height:2.1
    }
    .kv__leadText:not(:first-child) {
        margin-top:25px
    }
    .eastern__inner {
        padding-inline:15px;
        padding-top:30px;
        padding-bottom:150px
    }
    .eastern__title {
        line-height:1.4;
        text-align:left;
        font-size:32px;
        position:relative;
        z-index:2
    }
    .eastern__kv {
        padding-bottom:97%
    }
    .eastern__icon {
        margin-top:137px
    }
    .eastern__hokkaido {
        font-size:24px;
        margin-top:20px
    }
    .eastern__mainMap {
        margin-top:30px;
        text-align:center
    }
    .eastern__spot {
        margin-top:60px
    }
    .eastern__spotTitleSub {
        font-size:16px
    }
    .eastern__spotTitleMain {
        font-size:24px
    }
    .accordionWrap {
        margin-top:30px
    }
    .accordion__head {
        border-radius:10px 20px 20px 10px
    }
    .accordion__head:before {
        width:10px
    }
    .accordion__headTrigger {
        padding:10px 60px 10px 20px
    }
    .accordion__headImageWrap {
        font-size:12px;
        min-width:50px;
        max-width:50px
    }
    .accordion__headText {
        margin-left:10px
    }
    .accordion__headCopy {
        font-size:12px
    }
    .accordion__headTitle {
        font-size:18px
    }
    .accordion__headTitle .--note {
        display:block;
        font-size:12px
    }
    .accordion__headIcon:before,.accordion__headIcon:after {
        height:3px
    }
    .accordionContent.--close {
        padding:0 13px
    }
    .accordionContent {
        padding:13px 13px 60px
    }
    .accordionContent__map {
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
        -ms-flex-direction:column;
        flex-direction:column
    }
    .accordionContent__mapImageWrap {
        text-align:center
    }
    .accordionContent__mapHead {
        font-size:14px;
        margin-top:12px;
        margin-bottom:-12px
    }
    .accordionContent__mapTitle {
        margin-top:12px
    }
    .accordionDetail {
        margin-top:6px
    }
    .accordionDetail__term {
        white-space:nowrap;
        width:27%
    }
    .accordionDetail__data {
        width:73%
    }
    .accordion__description {
        margin-top:10px
    }
    .accordion__cardList {
        gap:24px 0;
        margin-top:30px
    }
    .accordion__cardItem {
        width:100%
    }
    .accordion__cardImageWrap {
        text-align:center
    }
    .accordion__component {
        margin-top:30px
    }
    .accordion__bannerContent {
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
        -ms-flex-direction:column;
        flex-direction:column;
        -webkit-box-pack:center;
        -ms-flex-pack:center;
        justify-content:center;
        gap:22.5px
    }
    .accordion__banner {
        width:100%
    }
    .accordion__moreTitle {
        font-size:20px
    }
    .accordion__bannerList {
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
        -ms-flex-direction:column;
        flex-direction:column
    }
    .accordion__bannerText {
        font-size:14px
    }
    .accordion__busRouteBack {
        margin-top:20px
    }
    .accordion__busRouteBackText {
        font-size:18px
    }
    .accordion__busRouteBackText:before {
        width:25px;
        height:22px
    }
    .climate__inner {
        padding-inline:15px;
        padding-top:30px;
        padding-bottom:180px
    }
    .climate__title {
        font-size:24px
    }
    .climate__content {
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
        -ms-flex-direction:column;
        flex-direction:column;
        margin-top:30px;
        gap:30px
    }
    .climate__imageWrap {
        display:block;
        text-align:center
    }
    .climate__description {
        font-size:14px
    }
    .climate__temperatureTerm {
        width:100px;
        min-width:80px
    }
    .climate__link:after {
        bottom:-12%
    }
    .climate__link {
        display:inline
    }
    .bannerContent__inner {
        padding-inline:38px;
        padding-bottom:120px
    }
    .bannerContent__heading {
        margin-bottom:30px
    }
    .bannerContent__title {
        line-height:1.5;
        letter-spacing:normal;
        font-size:24px
    }
    .bannerContent__imageList {
        -webkit-box-align:center;
        -ms-flex-align:center;
        align-items:center;
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
        -ms-flex-direction:column;
        flex-direction:column;
        gap:20px 0
    }
    .bannerContent__text {
        font-size:15px;
        letter-spacing:.3px;
        margin-top:13px;
        line-height:1.2
    }
    .footer__inner {
        padding-bottom:170px
    }
    .flightInfo__inner {
        padding-inline:15px;
        padding-bottom:180px
    }
    .flightInfo__head {
        font-size:28px
    }
    .flightInfo__schedule {
        font-size:16px
    }
    .flightInfo__areaHead {
        font-size:20px;
        margin-top:30px
    }
    .flightInfo__contentWrap {
        margin-top:10px
    }
    .flightInfo__content {
        width:100%
    }
    .flightInfoBox {
        -ms-flex-wrap:wrap;
        flex-wrap:wrap
    }
    .flightInfoBox__main {
        -webkit-box-pack:center;
        -ms-flex-pack:center;
        width:100%;
        padding:10px 22px 10px 63px;
        /* border-radius:10px 10px 0 0; */
        border-radius:10px 0 0 10px;
        /* border-bottom:1px solid #9B308C; */
        justify-content:center;
        /* gap:15px */
    }
    .flightInfoBox__areaTime {
        font-size:20px
    }
    .flightInfoBox__travelTime {
        padding-top:18px;
        font-size:14px;
        display:-webkit-box;
        display:-ms-flexbox;
        display:flex;
        -webkit-box-align:end;
        -ms-flex-align:end;
        align-items:flex-end;
        -webkit-box-pack:center;
        -ms-flex-pack:center;
        justify-content:center;
        letter-spacing:.03em;
        line-height:1
    }
    .flightInfoBox__travelTime:before {
        top:0px;
        left:-10px
    }
    .flightInfoBox__destinationPlace {
        font-size:16px;
        letter-spacing:.03em
    }
    .flightInfoBox__destinationTime {
        font-size:20px
    }
    .flightInfoBox__price {
        width:70%;
        padding:0 10px 9px 63px;
        border-radius:0 0 0 10px
    }
    .js-flightSearchItemLink[data-sale="1"] .flightInfoBox__price:before {
        min-width:30px;
        min-height:30px;
        position:relative;
        top:2px;
        margin-right:6px
    }
    .js-flightSearchItemLink[data-sale="1"] .flightInfoBox__price:after {
        right:5px;
        top:10px
    }
    .flightInfoBox__priceNumber {
        font-size:38px;
        white-space:nowrap
    }
    .flightInfoBox__priceFrom,.flightInfoBox__priceYen {
        white-space:nowrap
    }
    .flightInfoBox__search {
        max-width:30%;
        min-height:60px;
        padding-right:13px;
        padding-left:13px;
        -webkit-box-pack:center;
        -ms-flex-pack:center;
        justify-content:center;
        /* border-radius:0 0 10px */
				border-radius:0 10px 10px 0;
    }
    .flightInfoBox__period {
        margin-top:6px
    }
    .flightInfo__attention {
        /* margin-top:40px */
        margin-top:20px;
    }
    .pageTopButton {
        width:85px;
        height:85px;
        bottom:15px;
        right:15px
    }
    .pageTopButton:before {
        top:-44px;
        right:14px;
        width:calc(84px - 20%);
        height:calc(74px - 20%)
    }
    .pageTopButton__text {
        top:34%;
        line-height:1.3
    }
}
@media screen and (max-width: 880px) and (max-width: 880px) {
    .flightInfoBox__travelTime:before {
        max-width:70px;
        background-position:40% 50%
    }
}
@media screen and (max-width: 435px) {
    .header__companyIconLink {
        width:65px
    }
    .flightInfoBox:before {
        width:30px;
        -webkit-box-align:center;
        -ms-flex-align:center;
        align-items:center
    }
    .flightInfoBox__main {
			flex: none;
			padding:10px 0 10px 30px;
			border-radius: 10px 10px 0 0;
			padding:10px 10px 10px 40px
    }
    .flightInfoBox__price {
        padding:0 4px 9px 0
    }
    .flightInfoBox__priceNumber {
        font-size:38px
    }
		.flightInfoBox__search {
			margin-left: auto;
			max-width: 100%;
			width: calc(100% - 30px);
			border-left: 1px solid #fff;
			border-radius: 0 0 10px 0;
	}

}
@media screen and (max-width: 375px) {
    .flightInfoBox__priceNumber {
        font-size:38px
    }
    .flightInfoBox__priceFrom {
        font-size:12px;
        margin-right:5px;
        margin-top:5px
    }
    .flightInfoBox__priceYen {
        font-size:12px;
        margin-right:5px
    }
}