@charset "UTF-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
html {
    overflow-x: hidden;
}

html.ja body.top {
    font-family: "Noto Sans CJK JP", "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, serif;
}

html body.top {
    font-weight: 300;
    color: #222;
    max-width: 100vw;
    overflow: hidden;
}

abbr,
address,
article,
aside,
audio,
b,
blockquote,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
p,
pre,
q,
samp,
section,
small,
span,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
ul,
var,
video {
    font-size: 100%;
    margin: 0;
    padding: 0;
    vertical-align: baseline;
    border: 0;
    outline: 0;
    background: transparent;
    font-weight: 300;
}

body {
    font-size: 100%;
    margin: 0;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
    vertical-align: baseline;
    border: 0;
    outline: 0;
    background: transparent;
    font-weight: 300;
}

button {
    padding: 0;
    cursor: pointer;
    border: none;
    background-color: transparent;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

img {
    display: inline-block;
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
    line-height: 1;
}

#hiThis {
    width: 100vw;
    height: 100vh;
    position: fixed;
    left: 0;
    top: 0;
    z-index: -999;
    visibility: hidden;
}

.winSizeTop {
    position: fixed;
    left: 0;
    top: 0;
}

.winSizeBottom {
    position: fixed;
    left: 0;
    bottom: 0;
}

.NotoSansCjkJp,
.NotoSansCjkJp * {
    font-family: "Noto Sans CJK JP", "Noto Sans", sans-serif;
    font-weight: 300;
}

.NotoSansCjkJp.fwR,
.NotoSansCjkJp.fwR * {
    font-weight: 500;
}

.NotoSansCjkJp.fwB,
.NotoSansCjkJp.fwB * {
    font-weight: bold;
}

/* ロゴ */

.main_logoArea {
    position: absolute;
    top: 0;
    left: 20px;
    padding: 0 20px;
}

@media screen and (max-width: 768px) {
    .main_logoArea {
        position: static;
        padding: 0;
    }
}

.main_logoArea .icnImg {
    display: block;
    text-align: left;
    padding: 30px 0 0;
    background-color: #fff;
}

@media screen and (min-width: 769px) {
    .main_logoArea .icnImg {
        margin-top: 5vh;
        font-size: 1.041666666666667vw;
        width: 15em;
    }
}

@media screen and (max-width: 768px) {
    .main_logoArea .icnImg {
        position: relative;
        padding: 5% 0 0 2.7%;
        padding: 6.7vw 0 0 2.7vw;
    }
}

.main_logoArea .icnImg img {
    width: 268px;
}

@media screen and (min-width: 769px) {
    .main_logoArea .icnImg img {
        padding-left: 5px;
    }
}

@media screen and (max-width: 768px) {
    .main_logoArea .icnImg img {
        width: 48%;
    }
}

.main_logoArea .NotoSansCjkJp.fwB {
    display: block;
    padding: 1em 0 1.5em;
    font-size: 20px;
    font-size: 1.041666666666667vw;
    line-height: 1;
    letter-spacing: .4em;
    text-align: left;
    background-color: #fff;
}

@media screen and (min-width: 769px) {
    .main_logoArea .NotoSansCjkJp.fwB {
        margin-bottom: 2vh;
        width: 15em;
    }
}

@media screen and (max-width: 768px) {
    .main_logoArea .NotoSansCjkJp.fwB {
        position: relative;
        font-size: 18px;
        font-size: 4.8vw;
        padding: 1em 0 1.4em 2.7%;
        padding: 1em 0 1.4em 2.7vw;
    }
}

.main_logoArea .NotoSansCjkJp.fwB span {
    color: #008396;
}

/* メインビジュアル */

.main-visual {
    position: relative;
    width: 100%;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    overflow: hidden;
    /* メインビジュアルのスライダー */
}

@media screen and (max-width: 768px) {
    .main-visual {
        position: relative;
        height: auto;
    }
}

.main-visual .main-visual-box {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
}

@media screen and (max-width: 768px) {
    .main-visual .main-visual-box {
        overflow: hidden;
    }
    .main-visual .main-visual-box .movie-box {
        width: 74.55%;
        left: 25.5%;
    }
}

.main-visual .main-visual-text {
    display: block;
    position: relative;
    margin: 0 auto;
    max-width: 1720px;
    width: 100%;
    height: 100%;
    padding: 0 20px;
    z-index: 2;
    pointer-events: none;
}

@media screen and (max-width: 768px) {
    .main-visual .main-visual-text {
        margin-top: 5vh;
        padding: 0 2.66%;
    }
}

.main-visual .main-visual-text .main-visual-head {
    position: relative;
    display: inline-block;
    margin-top: 200px;
    margin-bottom: 2vh;
    font-size: 52px;
    font-size: 2.71vw;
    line-height: 1;
    letter-spacing: .12em;
    text-align: left;
    vertical-align: middle;
    padding: .78em .25em .68em .25em;
    background-color: #fff;
}

@media screen and (max-width: 768px) {
    .main-visual .main-visual-text .main-visual-head {
        margin-top: 0;
        margin-bottom: 2vh;
        font-size: 30px;
        font-size: 8vw;
        padding: .78em .68em .68em 0;
    }
}

.main-visual .main-visual-text .ttlSub {
    display: block;
    position: relative;
    width: 36.37%;
    margin-bottom: 6vh;
}

@media screen and (max-width: 768px) {
    .main-visual .main-visual-text .ttlSub {
        position: relative;
        width: 54%;
        margin-bottom: 7vh;
    }
}

.main-visual .main-visual-text .scroll {
    position: absolute;
    bottom: 0;
    left: 12%;
    display: inline-block;
    height: calc(40vh - 8vw);
    color: #222;
    line-height: 1;
}

@media screen and (max-width: 768px) {
    .main-visual .main-visual-text .scroll {
        font-size: 3.2vw;
        top: 60%;
    }
    .resizeHi .main-visual .main-visual-text .scroll {
        font-size: 4vh;
        top: 50%;
    }
}

.main-visual .main-visual-text .scroll::before {
    position: absolute;
    left: .5em;
    top: 6em;
    display: block;
    width: 1px;
    content: "";
    cursor: default;
    pointer-events: none;
    background: #222;
    -webkit-animation: scroll cubic-bezier(0.23, 1, 0.32, 1) 2.5s infinite;
    animation: scroll cubic-bezier(0.23, 1, 0.32, 1) 2.5s infinite;
}

@media screen and (max-width: 768px) {
    .main-visual .main-visual-text .scroll::before {
        top: 6em;
    }
}

.main-visual .main-visual-text .scroll span {
    font-family: "Myriad Pro", "Myriad Web", Tahoma, Verdana, sans-serif;
    font-weight: 300;
    letter-spacing: .2em;
    position: relative;
    display: inline-block;
    color: #222;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}

.main-visual .main-visual-slider {
    position: absolute;
    z-index: 1;
    top: 0;
    height: 100%;
    width: 74.52%;
    left: 25.5%;
}

@media screen and (max-width: 768px) {
    .main-visual .main-visual-slider {
        width: 74.55%;
        left: 25.5%;
    }
}

.main-visual .main-visual-slider:before {
    position: absolute;
    z-index: 2;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    display: block;
    width: 100%;
    height: 100%;
    content: "";
}

.main-visual .main-visual-slider .main-visual-slider-list {
    position: relative;
    z-index: 1;
    overflow: hidden;
    width: 100%;
    height: 100%;
    opacity: 1;
}

.main-visual .controls-wrap {
    position: relative;
    width: 100%;
    margin: 0 auto;
}

.main-visual .bx-controls {
    padding: 10px 20px 10px 63px;
    position: absolute;
    left: 0;
    z-index: 5;
}

@media screen and (min-width: 769px) and (max-height: 1024px) {
    .main-visual .bx-controls {
        bottom: 1%;
    }
}

@media screen and (min-height: 769px) and (max-width: 1024px) {
    .main-visual .bx-controls {
        bottom: 1%;
    }
}

@media screen and (max-width: 768px) {
    .main-visual .bx-controls {
        bottom: 3%;
    }
}

.main-visual .bx-wrapper {
    height: 100%;
    margin-bottom: 0;
    border: 0;
    -webkit-box-shadow: 0 0 0;
    box-shadow: 0 0 0;
}

.main-visual .bx-viewport {
    height: 100% !important;
}

@media screen and (min-width: 769px) and (max-height: 1024px) {
    .main-visual .bx-viewport {
        height: 90% !important;
    }
}

@media screen and (min-height: 769px) and (max-width: 1024px) {
    .main-visual .bx-viewport {
        height: 90% !important;
    }
}

@media screen and (max-width: 768px) {
    .main-visual .bx-viewport {
        height: 90% !important;
    }
}

.main-visual .main-visual-slider-item {
    height: 100%;
}

.main-visual .main-visual-slider-item img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: 'object-fit: cover;';
}

.main-visual .bx-pager {
    bottom: 10%;
    width: 100%;
    height: 100%;
}

.main-visual .bx-pager:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
}

.main-visual .bx-pager .bx-pager-item {
    width: 17px;
    height: 17px;
    margin-left: 17px;
    float: left;
    display: block;
    text-align: center;
    background: url(/japan-travel-planner/tohoku-jre-ana/images/sld_pager.png) right top no-repeat;
}

.main-visual .bx-pager .bx-pager-item:first-child {
    margin: 0;
}

.main-visual .bx-pager .bx-pager-item a {
    position: relative;
    display: block;
    width: 17px;
    height: 17px;
    outline: none;
    color: #fff;
    font-size: 10px;
    text-indent: -9999px;
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 1;
}

.main-visual .bx-pager .bx-pager-item a:after {
    display: block;
    width: 17px;
    height: 17px;
    content: "";
    top: 0;
    left: 0;
    position: absolute;
    z-index: 2;
}

.main-visual .bx-pager .bx-pager-item a.active {
    filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
    opacity: 1;
    background: none;
    color: #13448f;
}

.main-visual .bx-pager .bx-pager-item a.active:after {
    background: url(/japan-travel-planner/tohoku-jre-ana/images/sld_pager.png) left top no-repeat;
    display: block;
    width: 17px;
    height: 17px;
    content: " ";
    top: 0;
    left: 0;
    position: absolute;
    z-index: 2;
}

.main-visual .bx-controls-auto {
    position: absolute;
    top: 0;
    left: 0;
}

.main-visual .bx-controls-auto:after {
    content: "";
    width: 1px;
    height: 17px;
    background: #13448f;
    position: absolute;
    left: 46px;
    top: 10px;
}

.main-visual .bx-controls-auto-item {
    text-align: left;
    font-size: 10px;
    font-size: 2px;
}

.main-visual .bx-start {
    width: 47px;
    height: 37px;
    display: block;
    color: #13448f;
    position: relative;
    text-indent: -9999px;
}

.main-visual .bx-start:after {
    content: "";
    background: url(/japan-travel-planner/tohoku-jre-ana/images/sld_start.png) center no-repeat;
    width: 10px;
    height: 17px;
    display: block;
    position: absolute;
    top: 10px;
    left: 19px;
}

.main-visual .bx-start.active {
    display: none;
}

.main-visual .bx-stop {
    width: 47px;
    height: 37px;
    display: block;
    color: #13448f;
    position: relative;
    text-indent: -9999px;
}

.main-visual .bx-stop:after {
    content: " ";
    background: url(/japan-travel-planner/tohoku-jre-ana/images/sld_stop.png) center no-repeat;
    width: 10px;
    height: 17px;
    display: block;
    position: absolute;
    top: 10px;
    left: 19px;
}

.main-visual .bx-stop.active {
    display: none;
}

.main-visual .bx-start::focus,
.main-visual .bx-stop::focus,
.main-visual .bx-pager .bx-pager-item a::focus {
    outline-color: transparent !important;
    -webkit-box-shadow: 0 0 0 2px #B2B2B2;
    box-shadow: 0 0 0 2px #B2B2B2;
}

/* イントロ */

#introArea {
    position: relative;
    margin-bottom: 182px;
}

#introArea:before {
    content: "";
    position: absolute;
    top: -120px;
    width: 1700px;
    height: calc(100% + 220px);
    background: #E1F3F6;
    z-index: -1;
}

/* added by tcid */
#introAreaTrain {
    position: relative;
    padding: 70px 0 0;
}
.res-contents-mt20{
    margin-top:20px;
}
    
/* added by tcid */

@media screen and (max-width: 768px) {
    #introArea:before {
        width: 100%;
        height: calc(100% + 150px);
    }
    /* added by tcid */
    #introAreaTrain:before {
        width: 100%;
        height: calc(100% + 150px);
    }
    /* added by tcid */
}

#introArea .introInner {
    position: relative;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 20px;
}
/* added by tcid */
#introAreaTrain .introInner {
    position: relative;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 20px;
}
/* added by tcid */

@media screen and (max-width: 1024px) {
    #introArea .introInner {
        margin-top: 50px;
    }
    /* added by tcid */
    #introAreaTrain .introInner {
        margin-top: 50px;
    }
    /* added by tcid */
}

#introArea .introTtl {
    float: right;
    width: 30.59%;
    color: #007337;
    font-size: 3.125rem;
    line-height: 1.25;
    margin: 0 0 3%;
}
/* added by tcid */
#introAreaTrain .introTtl {
    color: #007337;
    font-size: 3.125rem;
    line-height: 1.25;
    margin: 5% 0 3%;
}

@media screen and (max-width: 768px) {
    #introArea .introTtl {
        float: none;
        width: auto;
        font-size: 2rem;
        text-align: center;
    }
    /* added by tcid */
    #introAreaTrain .introTtl {
        float: none;
        width: auto;
        font-size: 2rem;
        text-align: center;
    }
}

#introArea .introTtl span {
    display: inline-block;
}

#introArea .introCol:after {
    content: "";
    display: block;
    clear: both;
}
/* added by tcid */
#introAreaTrain .introCol:after {
    content: "";
    display: block;
    clear: both;
    margin-top: 60px;
}
/* added by tcid */

@media screen and (max-width: 768px) {
    #introArea .introCol {
        margin-top: 30px;
    }
    /* added by tcid */
    #introAreaTrain .introCol {
        margin-top: 30px;
    }
    
}

#introArea .introMovie {
    float: left;
    width: 65.48%;
}

@media screen and (max-width: 768px) {
    #introArea .introMovie {
        float: none;
        width: auto;
    }
}

#introArea .introText {
    float: right;
    width: 30.59%;
    line-height: 1.6;
}
/* #introArea .introText>p {
    margin-top: 20px;
} */
/* added by tcid */
#introAreaTrain .introText {
    line-height: 1.6;
}

@media screen and (max-width: 768px) {
    #introArea .introText {
        float: none;
        width: auto;
        margin-top: 1em;
    }
}

#introArea .introAnchor {
    margin-top: 8%;
}

#introArea .introAnchorList {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

#introArea .introAnchorItem {
    width: 15%;
    text-align: center;
}

@media screen and (max-width: 768px) {
    #introArea .introAnchorItem {
        width: 32%;
    }
    #introArea .introAnchorItem:nth-child(n + 4) {
        margin-top: 2%;
    }
}

#introArea .introAnchorItem a {
    position: relative;
    display: block;
    padding: calc(50% - 1.75rem) 10px;
    color: #fff;
    font-size: 1.75rem;
    -webkit-transition: opacity .3s linear;
    -o-transition: opacity .3s linear;
    transition: opacity .3s linear;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

@media screen and (max-width: 1024px) {
    #introArea .introAnchorItem a {
        font-size: 1.25rem;
    }
}

@media screen and (max-width: 768px) {
    #introArea .introAnchorItem a {
        padding: calc(50% - 1.25rem) 10px;
        font-size: 1rem;
    }
}

#introArea .introAnchorItem a::after {
    content: "";
    position: relative;
    top: .5em;
    display: block;
    margin: 0 auto;
    width: .5em;
    height: .5em;
    border-left: solid 3px #fff;
    border-bottom: solid 3px #fff;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transition: top .3s linear;
    -o-transition: top .3s linear;
    transition: top .3s linear;
}

@media screen and (max-width: 768px) {
    #introArea .introAnchorItem a::after {
        width: 1em;
        height: 1em;
    }
}

#introArea .introAnchorItem a:hover,
#introArea .introAnchorItem a:focus {
    opacity: .8;
}

#introArea .introAnchorItem a:hover::after,
#introArea .introAnchorItem a:focus::after {
    top: 1em;
}

#introArea .introAnchorItem.aomori a {
    background-image: url(/japan-travel-planner/tohoku-jre-ana/images/anchor_aomori.jpg);
}

#introArea .introAnchorItem.akita a {
    background-image: url(/japan-travel-planner/tohoku-jre-ana/images/anchor_akita.jpg);
}

#introArea .introAnchorItem.iwate a {
    background-image: url(/japan-travel-planner/tohoku-jre-ana/images/anchor_iwate.jpg);
}

#introArea .introAnchorItem.miyagi a {
    background-image: url(/japan-travel-planner/tohoku-jre-ana/images/anchor_miyagi.jpg);
}

#introArea .introAnchorItem.yamagata a {
    background-image: url(/japan-travel-planner/tohoku-jre-ana/images/anchor_yamagata.jpg);
}

#introArea .introAnchorItem.fukushima a {
    background-image: url(/japan-travel-planner/tohoku-jre-ana/images/anchor_fukushima.jpg);
}

/* 動画 */

.movie-wrap {
    position: relative;
    z-index: 1;
    overflow: hidden;
    width: 100%;
    height: 100%;
    opacity: 1;
}

.movie-wrap .mov {
    position: relative;
    display: block;
    max-width: 1920px;
    min-height: 100%;
    height: auto !important;
}

.movie-wrap video.isPlay {
    display: block;
    line-height: 1;
    vertical-align: top;
    min-width: 100%;
}

#contents {
    position: relative;
}

#contents #mapArea {
    overflow: hidden;
    display: none;
    position: relative;
    top: 8vh;
    margin: 85px auto 0;
    opacity: 0;
}

@media screen and (min-width: 769px) {
    #contents #mapArea {
        min-height: 875px;
    }
}

@media screen and (max-width: 768px) {
    #contents #mapArea {
        margin-top: 71px;
    }
}

#contents #mapArea .mapTtl {
    margin-bottom: 20px;
    color: #007337;
    font-size: 3.125rem;
}

@media screen and (max-width: 768px) {
    #contents #mapArea .mapTtl {
        font-size: 2rem;
        text-align: center;
    }
}

#contents #mapArea .mapSubTtl {
    margin-bottom: 20px;
    font-size: 2rem;
    line-height: 1.3;
}

@media screen and (max-width: 768px) {
    #contents #mapArea .mapSubTtl {
        text-align: center;
        font-size: 1.5rem;
    }
}

#contents #mapArea .mapSubTtl:before,
#contents #mapArea .mapSubTtl:after {
    content: "～";
}

@media screen and (max-width: 768px) {
    #contents #mapArea .mapText {
        padding-top: 170%;
        pointer-events: none;
    }
}

#contents #mapArea .mapBlock {
    position: relative;
    font-size: 0;
    max-width: 1920px;
    width: 100%;
    padding-top: 280px;
    display: table;
    background: url("/japan-travel-planner/tohoku-jre-ana/images/map_bg_japan_04_pc_ja.jpg") no-repeat center bottom;
}

@media screen and (max-width: 768px) {
    #contents #mapArea .mapBlock {
        position: absolute;
        top: 22% !important;
        display: block;
        -webkit-transform: translateY(-18%);
        -ms-transform: translateY(-18%);
        transform: translateY(-18%);
        margin-bottom: -18%;
        padding-top: 170%;
        background-image: url("/japan-travel-planner/tohoku-jre-ana/images/map_bg_japan_04_sp_ja.jpg");
        background-size: cover;
        z-index: -1;
    }
}

@media screen and (min-width: 769px) {
    #contents #mapArea .mapBlock>div {
        position: relative;
        height: 875px;
        vertical-align: bottom;
        margin: 0 auto;
        background-repeat: no-repeat;
    }
}

#contents #mapArea .mapBlock>div>img {
    position: relative;
    vertical-align: bottom;
    width: inherit;
    height: 120%;
}

#contents #mapArea .mapEast {
    width: 832px;
}

@media screen and (max-width: 768px) {
    #contents #mapArea .mapEast {
        display: block;
        height: 100%;
        width: 100%;
        position: absolute;
        top: 0;
        left: 0;
    }
}

#contents #mapArea .mapEast .prefecture {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    font-size: 1rem;
}

@media screen and (max-width: 768px) {
    #contents #mapArea .mapEast .prefecture {
        font-size: 3.7vw;
    }
}

#contents #mapArea .mapEast .prefecture .tokyo .litexpoint {
    width: 60%;
    height: 100%;
    right: 0;
}

#contents #mapArea .mapEast .prefecture .aomori .litexpoint {
    width: 60%;
    height: 100%;
    right: 0;
}

#contents #mapArea .mapEast .prefecture .oodatenoshiro .litexpoint {
    width: 64%;
    height: 67%;
    left: 0;
}

#contents #mapArea .mapEast .prefecture .akita .litexpoint {
    width: 64%;
    height: 67%;
    left: 0;
}

#contents #mapArea .mapEast .prefecture .morioka .litexpoint {
    right: 0;
    width: 38%;
    height: 100%;
}

html[lang="en"] #contents #mapArea .mapEast .prefecture .morioka .litexpoint {
    right: -12px;
}

#contents #mapArea .mapEast .prefecture .miyagi .litexpoint {
    width: 61%;
    height: 100%;
    right: 0;
}

html[lang="en"] #contents #mapArea .mapEast .prefecture .miyagi .litexpoint {
    right: -7px;
}

#contents #mapArea .mapEast .prefecture .shonai .litexpoint {
    width: 48%;
    height: 90%;
    left: 0;
}

#contents #mapArea .mapEast .prefecture .shinsho .litexpoint {
    width: 48%;
    height: 90%;
    left: 0;
}

#contents #mapArea .mapEast .prefecture .fukushima .litexpoint {
    width: 36%;
    height: 71%;
    top: 29%;
    right: 0;
}

#contents #mapArea .mapEast>.prefecture li {
    display: inline-block;
    position: absolute;
    opacity: 0;
    z-index: 3;
}

#contents #mapArea .mapEast>.prefecture li .litexpoint {
    position: absolute;
    display: block;
    z-index: 250;
    top: 0;
}

#contents #mapArea .mapEast>.prefecture li .litexpoint .litex {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    color: #231815;
    font-size: 0.875rem;
    font-weight: bold;
    text-shadow: #fff 2px 0px, #fff -2px 0px, #fff 0px -2px, #fff 0px 2px, #fff 2px 2px, #fff -2px 2px, #fff 2px -2px, #fff -2px -2px, #fff 1px 2px, #fff -1px 2px, #fff 1px -2px, #fff -1px -2px, #fff 2px 1px, #fff -2px 1px, #fff 2px -1px, #fff -2px -1px;
}

@media screen and (max-width: 768px) {
    #contents #mapArea .mapEast>.prefecture li .litexpoint .litex {
        width: 96%;
        font-size: 90%;
        padding: 0px 2%;
    }
}

#contents #mapArea .mapEast>.prefecture li img {
    position: relative;
}

#contents #mapArea .mapEast>.prefecture li.akita,
#contents #mapArea .mapEast>.prefecture li.yamagata,
#contents #mapArea .mapEast>.prefecture li.miyagi {
    z-index: 4;
}

#contents #mapArea .mapEast>.prefecture .aomori {
    right: 50px;
    bottom: 716px;
    width: 50%;
}

@media screen and (max-width: 768px) {
    #contents #mapArea .mapEast>.prefecture .aomori {
        bottom: 59.5%;
        right: 19.56%;
    }
}

#contents #mapArea .mapEast>.prefecture .oodatenoshiro {
    bottom: 653px;
    right: 30px;
    width: 42%;
}

@media screen and (max-width: 768px) {
    #contents #mapArea .mapEast>.prefecture .oodatenoshiro {
        text-align: right;
        bottom: 53%;
        right: 31.26%;
    }
}

#contents #mapArea .mapEast>.prefecture .akita {
    right: 74px;
    bottom: 566px;
    width: 28.3%;
}

@media screen and (max-width: 768px) {
    #contents #mapArea .mapEast>.prefecture .akita {
        bottom: 44%;
        right: 27%;
    }
}

#contents #mapArea .mapEast>.prefecture .morioka {
    left: 390px;
    bottom: 575px;
    width: 47.7%;
}

html[lang="ko-kr"] #contents #mapArea .mapEast>.prefecture .morioka {
    left: 403px;
}

@media screen and (max-width: 768px) {
    #contents #mapArea .mapEast>.prefecture .morioka {
        left: auto;
        bottom: 45.3%;
        right: 17.5%;
    }
}

#contents #mapArea .mapEast>.prefecture .miyagi {
    right: 103px;
    bottom: 438px;
    width: 29.8%;
}

@media screen and (max-width: 768px) {
    #contents #mapArea .mapEast>.prefecture .miyagi {
        bottom: 32.5%;
        right: 26%;
    }
}

#contents #mapArea .mapEast>.prefecture .shonai {
    right: 56px;
    bottom: 511px;
    width: 38.4%;
}

@media screen and (max-width: 768px) {
    #contents #mapArea .mapEast>.prefecture .shonai {
        bottom: 37.5%;
        right: 31.26%;
        text-align: right;
        width: 57%;
    }
}

#contents #mapArea .mapEast>.prefecture .shinsho {
    right: -30px;
    bottom: 501px;
    width: 38.4%;
}

@media screen and (max-width: 768px) {
    #contents #mapArea .mapEast>.prefecture .shinsho {
        bottom: 38.25%;
        right: 11.26%;
    }
}

#contents #mapArea .mapEast>.prefecture .fukushima {
    right: 202px;
    bottom: 384px;
    width: 51%;
}

@media screen and (max-width: 768px) {
    #contents #mapArea .mapEast>.prefecture .fukushima {
        bottom: 26.5%;
        right: 38.5%;
        width: 60%;
    }
}

#contents #mapArea .mapEast>.prefecture .tokyo {
    right: 238px;
    bottom: 168px;
    width: 50%;
}

@media screen and (max-width: 768px) {
    #contents #mapArea .mapEast>.prefecture .tokyo {
        bottom: 6.5%;
        right: 53.56%;
    }
}

#contents #mapArea.animeOn {
    display: block;
    -webkit-animation: show .3s linear .4s forwards, up .3s linear .5s forwards;
    animation: show .3s linear .4s forwards, up .3s linear .5s forwards;
}

#contents #mapArea .txtBlock {
    letter-spacing: .05em;
    line-height: 1.6;
    position: absolute;
    top: 145px;
    top: calc(6.015625vw - 40px);
    left: 0;
    right: 0;
    width: 100%;
    max-width: 1280px;
    margin: auto;
    padding: 0 20px;
    z-index: 3;
}
#contents #mapArea .txtBlock {
    letter-spacing: .05em;
    line-height: 1.6;
    position: absolute;
    top: 145px;
    top: calc(6.015625vw - 40px);
    left: 0;
    right: 0;
    width: 100%;
    max-width: 1280px;
    margin: auto;
    padding: 0 20px;
    z-index: 3;
}

@media screen and (max-width: 768px) {
    #contents #mapArea .txtBlock {
        font-size: 0.875rem;
        position: static;
        left: auto;
        top: auto;
        padding: 3em 1em;
        pointer-events: none;
    }
}

#mapArea.animeOn .mapEast>.prefecture .aomori {
    -webkit-animation: show .25s linear 3s forwards;
    animation: show .25s linear 3s forwards;
}

#mapArea.animeOn .mapEast>.prefecture .oodatenoshiro {
    -webkit-animation: show .25s linear 3.25s forwards;
    animation: show .25s linear 3.25s forwards;
}

#mapArea.animeOn .mapEast>.prefecture .akita {
    -webkit-animation: show .25s linear 3.75s forwards;
    animation: show .25s linear 3.75s forwards;
}

#mapArea.animeOn .mapEast>.prefecture .morioka {
    -webkit-animation: show .25s linear 4s forwards;
    animation: show .25s linear 4s forwards;
}

#mapArea.animeOn .mapEast>.prefecture .miyagi {
    -webkit-animation: show .25s linear 4.25s forwards;
    animation: show .25s linear 4.25s forwards;
}

#mapArea.animeOn .mapEast>.prefecture .shonai {
    -webkit-animation: show .25s linear 4.5s forwards;
    animation: show .25s linear 4.5s forwards;
}

#mapArea.animeOn .mapEast>.prefecture .shinsho {
    -webkit-animation: show .25s linear 4.75s forwards;
    animation: show .25s linear 4.75s forwards;
}

#mapArea.animeOn .mapEast>.prefecture .fukushima {
    -webkit-animation: show .25s linear 5s forwards;
    animation: show .25s linear 5s forwards;
}

#mapArea.animeOn .mapEast>.prefecture .tokyo {
    -webkit-animation: show .25s linear 5.25s forwards;
    animation: show .25s linear 5.25s forwards;
}

#contents .prefectureSec {
    margin-bottom: 182px;
    padding-top: 46px;
}

@media screen and (max-width: 768px) {
    #contents .prefectureSec {
        margin-bottom: 16.26%;
        margin-bottom: 16.26vw;
    }
}

#contents .prefectureSec .ttlBlock {
    position: relative;
    margin-bottom: 60px;
}

@media screen and (max-width: 768px) {
    #contents .prefectureSec .ttlBlock {
        min-height: auto;
        margin-bottom: 2em;
        position: relative;
    }
}

#contents .prefectureSec .ttlBlock::after {
    content: "";
    display: block;
    width: 60.83333333333333%;
    height: 100%;
    position: absolute;
    top: 0;
    background-size: auto;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: -1;
}

@media screen and (max-width: 768px) {
    #contents .prefectureSec .ttlBlock::after {
        height: 0;
        padding-top: 42.25%;
        width: 77%;
    }
}

#contents .prefectureSec .ttlBlock .leftPic,
#contents .prefectureSec .ttlBlock .rightPic {
    position: relative;
    height: 100%;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 42px 0 53px;
}

@media screen and (max-width: 768px) {
    #contents .prefectureSec .ttlBlock .leftPic,
    #contents .prefectureSec .ttlBlock .rightPic {
        padding: 20px 0 0;
    }
}

#contents .prefectureSec .ttlBlock .leftPic h3,
#contents .prefectureSec .ttlBlock .rightPic h3 {
    position: relative;
    color: #007337;
    font-size: 3.125rem;
    margin-bottom: 17px;
}

@media screen and (max-width: 768px) {
    #contents .prefectureSec .ttlBlock .leftPic h3,
    #contents .prefectureSec .ttlBlock .rightPic h3 {
        margin-right: 20px;
        padding: 10px 20px;
        width: 53%;
        font-size: 2rem;
        background: #E1F3F6;
    }
}

#contents .prefectureSec .ttlBlock .leftPic h3 span:after,
#contents .prefectureSec .ttlBlock .rightPic h3 span:after {
    content: "";
    position: absolute;
    right: 0;
    top: 50px;
    display: block;
    width: 266px;
    height: 407px;
    background-repeat: no-repeat;
    background-size: contain;
}

@media screen and (max-width: 768px) {
    #contents .prefectureSec .ttlBlock .leftPic h3 span:after,
    #contents .prefectureSec .ttlBlock .rightPic h3 span:after {
        width: 46%;
        height: auto;
        padding-top: 80%;
    }
}

#contents .prefectureSec .ttlBlock .prefectureSecInner {
    width: 100%;
    max-width: 825px;
}

@media screen and (min-width: 769px) {
    #contents .prefectureSec .ttlBlock .prefectureSecInner {
        padding: 27px 50px;
        min-height: 385px;
        background: #E1F3F6;
    }
}

#contents .prefectureSec .ttlBlock .ttlSubTxt {
    position: relative;
    padding-right: 240px;
    line-height: 1.8;
}

@media screen and (max-width: 768px) {
    #contents .prefectureSec .ttlBlock .ttlSubTxt {
        pointer-events: none;
    }
}

#contents .prefectureSec .ttlBlock>.leftPic {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

#contents .prefectureSec .ttlBlock>.leftPic:before {
    content: "";
    display: none;
    position: absolute;
    right: 0;
    top: 0;
    width: 300px;
    height: 100%;
    background-color: #E1F3F6;
}

@media screen and (max-width: 768px) {
    #contents .prefectureSec .ttlBlock>.leftPic:before {
        width: 28%;
        width: 28vw;
    }
}

@media screen and (max-width: 768px) {
    #contents .prefectureSec .ttlBlock>.leftPic h3 {
        float: right;
    }
}

#contents .prefectureSec .ttlBlock>.leftPic h3:after {
    content: "";
    position: absolute;
    top: 50%;
    left: auto;
    width: 100vw;
    height: 1px;
    margin: -1px 0 0 10px;
    background: #222222;
    overflow: hidden;
}

#contents .prefectureSec .ttlBlock>.rightPic {
    right: 0;
    text-align: left;
}

#contents .prefectureSec .ttlBlock>.rightPic:before {
    content: "";
    display: none;
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #E1F3F6;
}

#contents .prefectureSec .ttlBlock>.rightPic:after {
    right: 78.9%;
}

@media screen and (max-width: 768px) {
    #contents .prefectureSec .ttlBlock>.rightPic h3 {
        float: left;
        text-align: left;
    }
}

#contents .prefectureSec .ttlBlock>.rightPic h3:before {
    content: "";
    position: absolute;
    top: 50%;
    left: -100vw;
    width: 100vw;
    height: 1px;
    margin: -1px 0 0 -10px;
    background: #222222;
}

@media screen and (max-width: 768px) {
    #contents .prefectureSec .ttlBlock>.rightPic h3:before {
        left: 0;
        width: 14%;
    }
}

@media screen and (max-width: 768px) {
    #contents .prefectureSec .ttlBlock>.rightPic h3 span:after {
        right: auto;
        left: 10%;
    }
}

@media screen and (max-width: 768px) {
    #contents .prefectureSec .ttlBlock>.rightPic .ttlSubTxt {
        padding-right: 0;
    }
}

#contents .prefectureSec .ttlBlock.picL:after {
    left: 0;
    background-position: left center;
}

#contents .prefectureSec .ttlBlock.picL .ttlSubTxt {
    padding-bottom: 5.625em;
}

@media screen and (max-width: 768px) {
    #contents .prefectureSec .ttlBlock.picL .ttlSubTxt {
        padding: 50% 2.67% 0;
        text-align: left;
    }
}

#contents .prefectureSec .ttlBlock.picR:after {
    right: 0;
    background-position: right center;
}

#contents .prefectureSec .ttlBlock.picR .ttlSubTxt {
    text-align: left;
    left: 0;
    padding-bottom: 7.375em;
}

@media screen and (max-width: 768px) {
    #contents .prefectureSec .ttlBlock.picR .ttlSubTxt {
        padding: 50% 2.67% 0;
        text-align: left;
    }
}

#contents .prefectureSec .areaTtl {
    font-size: 2.125rem;
    letter-spacing: 0.2;
}

@media screen and (max-width: 768px) {
    #contents .prefectureSec .areaTtl {
        font-size: 1.75rem;
        text-align: center;
    }
}

#contents .prefectureSec .areaTtl:first-letter {
    color: #007337;
}

#contents .prefectureSec#aomori .ttlBlock:after {
    background-image: url("/japan-travel-planner/tohoku-jre-ana/images/aomori_mv.jpg");
}

#contents .prefectureSec#aomori .ttlBlock h3 span:after {
    background-image: url(/japan-travel-planner/tohoku-jre-ana/images/map_img_aomori.png);
}

#contents .prefectureSec#akita .ttlBlock:after {
    background-image: url("/japan-travel-planner/tohoku-jre-ana/images/akita_mv.jpg");
}

#contents .prefectureSec#akita .ttlBlock h3 span:after {
    background-image: url(/japan-travel-planner/tohoku-jre-ana/images/map_img_akita.png);
}

#contents .prefectureSec#iwate .ttlBlock:after {
    background-image: url("/japan-travel-planner/tohoku-jre-ana/images/iwate_mv.jpg");
}

#contents .prefectureSec#iwate .ttlBlock h3 span:after {
    background-image: url(/japan-travel-planner/tohoku-jre-ana/images/map_img_iwate.png);
}

#contents .prefectureSec#miyagi .ttlBlock:after {
    background-image: url("/japan-travel-planner/tohoku-jre-ana/images/miyagi_mv.jpg");
}

#contents .prefectureSec#miyagi .ttlBlock h3 span:after {
    background-image: url(/japan-travel-planner/tohoku-jre-ana/images/map_img_miyagi.png);
}

#contents .prefectureSec#yamagata .ttlBlock:after {
    background-image: url("/japan-travel-planner/tohoku-jre-ana/images/yamagata_mv.jpg");
}

#contents .prefectureSec#yamagata .ttlBlock h3 span:after {
    background-image: url(/japan-travel-planner/tohoku-jre-ana/images/map_img_yamagata.png);
}

#contents .prefectureSec#fukushima .ttlBlock:after {
    background-image: url("/japan-travel-planner/tohoku-jre-ana/images/fukushima_mv.jpg");
}

#contents .prefectureSec#fukushima .ttlBlock h3 span:after {
    background-image: url(/japan-travel-planner/tohoku-jre-ana/images/map_img_fukushima.png);
}

#contents .prefectureSec .areaSlider .areaSliderTtl {
    width: 92%;
    max-width: 1280px;
    margin: 0 auto 1em;
    line-height: 1.3;
    letter-spacing: 0.05em;
}

#contents .prefectureSec .areaSlider li.areaSliderItem {
    float: left;
    padding: 0 22px;
}

@media screen and (max-width: 768px) {
    #contents .prefectureSec .areaSlider li.areaSliderItem {
        padding: 0 10px;
    }
}

#contents .prefectureSec .areaSlider .areaSliderBtn {
    display: block;
    width: calc( 12.5% - 10px);
    height: 120%;
    position: absolute;
    top: -10%;
    bottom: 0;
    z-index: 2;
}

#contents .prefectureSec .areaSlider .areaSliderBtn button {
    position: absolute;
    top: 50%;
    width: 44px;
    height: 44px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 5;
}

#contents .prefectureSec .areaSlider .areaSliderBtn button:after {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    border-right: 3px solid #333333;
    border-bottom: 3px solid #333333;
    position: absolute;
    top: 10px;
}

#contents .prefectureSec .areaSlider .areaSliderBtnText {
    position: absolute;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
    z-index: -10;
    width: 0;
    height: 0;
}

#contents .prefectureSec .areaSliderLeft {
    left: 0;
    background: -webkit-gradient(linear, left top, right top, from(white), color-stop(1%, white), color-stop(60%, white), to(rgba(255, 255, 255, 0)));
    background: -webkit-linear-gradient(left, white 0%, white 1%, white 60%, rgba(255, 255, 255, 0) 100%);
    background: -o-linear-gradient(left, white 0%, white 1%, white 60%, rgba(255, 255, 255, 0) 100%);
    background: linear-gradient(to right, white 0%, white 1%, white 60%, rgba(255, 255, 255, 0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#00ffffff', GradientType=1);
}

@media screen and (min-width: 769px) {
    #contents .prefectureSec .areaSliderLeft {
        width: calc(12.5% - 10px);
    }
}

@media screen and (max-width: 768px) {
    #contents .prefectureSec .areaSliderLeft {
        background: -webkit-gradient(linear, left top, right top, from(white), color-stop(1%, white), color-stop(50%, rgba(255, 255, 255, 0.85)), to(rgba(255, 255, 255, 0)));
        background: -webkit-linear-gradient(left, white 0%, white 1%, rgba(255, 255, 255, 0.85) 50%, rgba(255, 255, 255, 0) 100%);
        background: -o-linear-gradient(left, white 0%, white 1%, rgba(255, 255, 255, 0.85) 50%, rgba(255, 255, 255, 0) 100%);
        background: linear-gradient(to right, white 0%, white 1%, rgba(255, 255, 255, 0.85) 50%, rgba(255, 255, 255, 0) 100%);
    }
}

#contents .prefectureSec .areaSliderLeft button {
    right: 25%;
}

@media screen and (max-width: 768px) {
    #contents .prefectureSec .areaSliderLeft button {
        right: auto;
        left: 0;
    }
}

#contents .prefectureSec .areaSliderLeft button:after {
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
    left: 15px;
}

#contents .prefectureSec .areaSliderRight {
    right: 0;
    background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), color-stop(30%, white), color-stop(99%, white), to(white));
    background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, white 30%, white 99%, white 100%);
    background: -o-linear-gradient(left, rgba(255, 255, 255, 0) 0%, white 30%, white 99%, white 100%);
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, white 30%, white 99%, white 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff', GradientType=1);
}

@media screen and (min-width: 769px) {
    #contents .prefectureSec .areaSliderRight {
        width: calc(12.5% - 10px);
    }
}

@media screen and (max-width: 768px) {
    #contents .prefectureSec .areaSliderRight {
        background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), color-stop(50%, rgba(255, 255, 255, 0.85)), color-stop(99%, white), to(white));
        background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.85) 50%, white 99%, white 100%);
        background: -o-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.85) 50%, white 99%, white 100%);
        background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.85) 50%, white 99%, white 100%);
    }
}

#contents .prefectureSec .areaSliderRight button {
    left: 18%;
}

@media screen and (max-width: 768px) {
    #contents .prefectureSec .areaSliderRight button {
        left: auto;
        right: 0;
    }
}

#contents .prefectureSec .areaSliderRight button:after {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    right: 16px;
}

#contents .prefectureSec .captionImg a {
    display: block;
    position: relative;
    font-size: 100%;
    height: 100%;
    vertical-align: middle;
    background-color: #00242e;
    overflow: hidden;
}

#contents .prefectureSec .captionImg a .thumbImg img {
    width: 100%;
    -webkit-transition: all .2s linear 0s;
    -o-transition: all .2s linear 0s;
    transition: all .2s linear 0s;
    opacity: 1;
}

#contents .prefectureSec .captionImg a .thumbCap {
    position: absolute;
    width: 100%;
    color: #fff;
}

@media screen and (min-width: 768px) and (max-width: 1280px) {
    #contents .prefectureSec .captionImg a .thumbCap {
        font-size: 1.5vw;
    }
}

@media screen and (min-width: 769px) {
    #contents .prefectureSec .captionImg a .thumbCap {
        top: 50%;
        left: 50%;
        display: none;
        padding: 1em;
        /* font-size:24px; */
        font-size: 1.5rem;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        -webkit-transition: opacity .2s linear 0s;
        -o-transition: opacity .2s linear 0s;
        transition: opacity .2s linear 0s;
        opacity: 0;
        text-align: center;
    }
}

@media screen and (max-width: 768px) {
    #contents .prefectureSec .captionImg a .thumbCap {
        bottom: 0;
        left: 0;
        padding: 0.5em 20% 0.5em 1em;
        background: rgba(0, 0, 0, 0.5);
    }
    #contents .prefectureSec .captionImg a .thumbCap:after {
        content: '';
        display: block;
        width: 15%;
        max-width: 35px;
        height: 100%;
        background-image: url(/japan-travel-planner/tohoku-jre-ana/images/ico_right_arrow_WHT.svg);
        background-position: 0 50%;
        background-size: 100% auto;
        background-repeat: no-repeat;
        position: absolute;
        top: 0;
        right: 2%;
    }
}

#contents .prefectureSec .captionImg a .viewMore {
    position: absolute;
    bottom: 1em;
    right: 0;
    display: inline-block;
    /* font-size:16px; */
    font-size: 1rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .1em;
    color: #222;
    text-align: left;
    background-color: #fff;
    padding: .5em 2em .5em .5em;
    -webkit-transition: color .2s linear 0s, background-color .2s linear 0s;
    -o-transition: color .2s linear 0s, background-color .2s linear 0s;
    transition: color .2s linear 0s, background-color .2s linear 0s;
}

@media screen and (max-width: 1280px) {
    #contents .prefectureSec .captionImg a .viewMore {
        font-size: 1.25vw;
        font-size: calc(1.171875vw + 1px);
    }
}

@media screen and (max-width: 768px) {
    #contents .prefectureSec .captionImg a .viewMore {
        display: none;
    }
}

#contents .prefectureSec .captionImg a .viewMore::before {
    content: "";
    display: block;
    position: absolute;
    right: .6em;
    top: .8em;
    width: 1em;
    height: .3em;
    border-right: solid 1px #222;
    border-bottom: solid 1px #222;
    -webkit-transform: skewX(45deg);
    -ms-transform: skewX(45deg);
    transform: skewX(45deg);
    -webkit-transition: border-color .2s linear 0s, right .2s linear 0s;
    -o-transition: border-color .2s linear 0s, right .2s linear 0s;
    transition: border-color .2s linear 0s, right .2s linear 0s;
}

#contents .prefectureSec .captionImg a:hover .thumbImg img,
#contents .prefectureSec .captionImg a:focus .thumbImg img {
    opacity: .3;
    -webkit-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
}

@media screen and (min-width: 769px) {
    #contents .prefectureSec .captionImg a:hover .thumbCap,
    #contents .prefectureSec .captionImg a:focus .thumbCap {
        opacity: 1;
        display: block;
    }
    #contents .prefectureSec .captionImg a:hover .viewMore,
    #contents .prefectureSec .captionImg a:focus .viewMore {
        color: #fff;
        background-color: #008396;
    }
}

#contents .prefectureSec .captionImg a:hover::before,
#contents .prefectureSec .captionImg a:focus::before {
    border-color: #fff;
    right: .4em;
}

#contents .prefectureSec .train {
    max-width: 1280px;
    padding: 0 20px;
    margin: 50px auto 0;
}

@media screen and (max-width: 768px) {
    #contents .prefectureSec .train {
        padding: 0 10px;
    }
}

#contents .prefectureSec .train .trainInner {
    margin: 30px 0 0;
}

#contents .prefectureSec .train .trainInner:after {
    content: "";
    display: block;
    clear: both;
}

#contents .prefectureSec .train .columnHead {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    float: left;
    width: 39.19%;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: baseline;
    -webkit-align-items: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
    #contents .prefectureSec .train .columnHead {
        display: block;
    }
    #contents .prefectureSec .train .columnHead:after {
        content: "";
        display: block;
        clear: both;
    }
    #contents .prefectureSec .train .columnHead .modalBtn {
        float: right;
        margin-top: 20px;
    }
}

@media screen and (max-width: 768px) {
    #contents .prefectureSec .train .columnHead {
        float: none;
        display: block;
        width: 100%;
    }
}

#contents .prefectureSec .train .trainSubTtl {
    position: relative;
    font-size: 1.75rem;
    line-height: 1.46;
}

@media screen and (max-width: 768px) {
    #contents .prefectureSec .train .trainSubTtl {
        text-align: center;
    }
}

#contents .prefectureSec .train .trainSubTtl:after {
    content: "";
    position: absolute;
    bottom: -8px;
    left: 0;
    display: block;
    width: 60px;
    height: 2px;
    background: #222;
}

@media screen and (max-width: 768px) {
    #contents .prefectureSec .train .trainSubTtl:after {
        left: 50%;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%);
    }
}

#contents .prefectureSec .train .trainImg {
    float: right;
    width: 56.85%;
}

@media screen and (max-width: 768px) {
    #contents .prefectureSec .train .trainImg {
        float: none;
        width: 100%;
        margin-top: 40px;
    }
}

#contents .prefectureSec .train .trainText {
    float: left;
    width: 39.19%;
}

@media screen and (max-width: 768px) {
    #contents .prefectureSec .train .trainText {
        float: none;
        width: 100%;
        margin-top: 20px;
    }
}

#contents .prefectureSec .train .trainDetail {
    margin-top: 20px;
}

#contents .prefectureSec .train .trainDetailTtl {
    font-size: 20px;
    line-height: 1.3;
}

#contents .prefectureSec .train .trainDetailText {
    line-height: 1.8;
}

#contents .prefectureSec .train .trainDetailTtl+.trainDetailText {
    margin-top: 20px;
}

#contents .prefectureSec .train .trainDetail {
    position: relative;
}

#contents .prefectureSec .train .trainDetail.open .more {
    height: auto;
}

#contents .prefectureSec .train .trainDetail.open .more:after {
    display: none;
}

#contents .prefectureSec .train .trainDetail.open .moreBtn a:after {
    -webkit-transform: translate(-50%, 10px) rotate(135deg);
    -ms-transform: translate(-50%, 10px) rotate(135deg);
    transform: translate(-50%, 10px) rotate(135deg);
    margin-top: 0.2em;
}

#contents .prefectureSec .train .trainDetail.open .moreBtn a .more-text {
    display: none;
}

#contents .prefectureSec .train .trainDetail.open .moreBtn a .close-text {
    display: block;
}

#contents .prefectureSec .train .trainDetail.delete-more-btn .more {
    height: auto;
    margin-bottom: 0;
}

#contents .prefectureSec .train .trainDetail.delete-more-btn .more:after {
    display: none;
}

#contents .prefectureSec .train .trainDetail.delete-more-btn .moreBtn {
    display: none;
}

#contents .prefectureSec .train .more {
    position: relative;
    overflow: hidden;
    margin-bottom: 100px;
    height: 130px;
}

#contents .prefectureSec .train .more:after {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    content: "";
    height: 50px;
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 50%, white 100%, white 101%);
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), color-stop(50%, rgba(255, 255, 255, 0.8)), color-stop(100%, white), color-stop(101%, white));
    background: -o-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 50%, white 100%, white 101%);
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 50%, white 100%, white 101%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff', GradientType=0);
}

#contents .prefectureSec .train .moreBtn a {
    position: absolute;
    bottom: -35px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    margin: 0 auto;
    z-index: 2;
}

#contents .prefectureSec .train .moreBtn a:after {
    content: "";
    position: absolute;
    bottom: -20px;
    left: 50%;
    display: block;
    margin: 0 auto;
    width: 0.75em;
    height: 0.75em;
    border-left: solid 3px #333;
    border-bottom: solid 3px #333;
    -webkit-transform: translateX(-50%) rotate(-45deg);
    -ms-transform: translateX(-50%) rotate(-45deg);
    transform: translateX(-50%) rotate(-45deg);
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
    -webkit-transition: all .3s linear;
    -o-transition: all .3s linear;
    transition: all .3s linear;
}

#contents .prefectureSec .train .moreBtn a .more-text {
    display: block;
}

#contents .prefectureSec .train .moreBtn a .close-text {
    display: none;
}

.accordion {
    overflow: hidden;
}

.accordion .accTtl {
    position: relative;
    z-index: 2;
}

.accordion .accTtl a {
    display: block;
    padding: 8px 40px 7px 20px;
    border: 1px solid #222;
    background: #E1F3F6;
}

.accordion .accTtl a:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    display: block;
    margin: 0 auto;
    width: 0.75em;
    height: 0.75em;
    border-left: solid 3px #333;
    border-bottom: solid 3px #333;
    -webkit-transform: translateY(-50%) rotate(-45deg);
    -ms-transform: translateY(-50%) rotate(-45deg);
    transform: translateY(-50%) rotate(-45deg);
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
    -webkit-transition: all .3s linear;
    -o-transition: all .3s linear;
    transition: all .3s linear;
}

.accordion .accCon {
    float: left;
    width: 100%;
    clear: both;
    margin-top: -100%;
    z-index: 1;
    border: 1px solid #222;
    border-top: none;
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    z-index: 1;
}

.accordion .accCon .accConInner {
    opacity: 0;
    -webkit-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    transition: all 0.3s linear;
}

.accordion .accCon .accCaption {
    padding: 10px 0;
    font-size: 20px;
    text-align: center;
}

.accordion.open .accTtl a:after {
    -webkit-transform: translateY(-50%) rotate(135deg);
    -ms-transform: translateY(-50%) rotate(135deg);
    transform: translateY(-50%) rotate(135deg);
    margin-top: 0.2em;
}

.accordion.open .accCon {
    margin-top: 0;
}

.accordion.open .accConInner {
    opacity: 1;
}

.modalBtn a {
    position: relative;
    display: block;
    padding: 7px 40px 6px 10px;
    border: 2px solid #222;
    -webkit-transition: 0.6s;
    -o-transition: 0.6s;
    transition: 0.6s;
}

.modalBtn a:hover {
    color: #fff;
    background: #222;
}

.modalBtn a:hover:before,
.modalBtn a:hover:after {
    background: #fff;
}

.modalBtn a:before,
.modalBtn a:after {
    display: block;
    content: '';
    background: #333;
    position: absolute;
    width: 12px;
    height: 2px;
    top: 50%;
    right: 10px;
    -webkit-transition: 0.6s;
    -o-transition: 0.6s;
    transition: 0.6s;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.modalBtn a:before {
    width: 2px;
    height: 11px;
    top: 50%;
    right: 15px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

#modal {
    position: fixed;
    top: 0;
    left: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    opacity: 0;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    visibility: hidden;
    background: rgba(0, 0, 0, 0.6);
    z-index: 9999;
    will-change: opacity;
}

#modal.open {
    cursor: pointer;
    opacity: 1;
    visibility: visible;
}

#modal .modalBg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}

#modal .modalInner {
    overflow: hidden;
    position: relative;
    width: 92%;
    max-width: 705px;
    text-align: center;
    border-radius: 30px;
    background: #fff;
    z-index: 3;
}

#modal .closeBtn {
    position: absolute;
    top: 30px;
    right: 30px;
}

#modal .closeBtn a {
    position: relative;
    display: inline-block;
    width: 30px;
    height: 30px;
}

#modal .closeBtn a:before,
#modal .closeBtn a:after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 84%;
    height: 16%;
    margin: -8% 0 0 -42%;
    background: #333;
}

#modal .closeBtn a:before {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

#modal .closeBtn a:after {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

#modal .closeBtn .closeBtnText {
    position: absolute;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
    z-index: -10;
    width: 0;
    height: 0;
}

#modal .modalTtl {
    padding: 25px 64px 24px;
    color: #333333;
    font-size: 1.75rem;
    background: #E1F3F6;
}

#modal .modalCaption {
    margin: 20px 0;
    font-size: 1.5rem;
}

#recommendArea {
    padding: 100px 0;
    background-color: #E1F3F6;
}

@media screen and (max-width: 768px) {
    #recommendArea {
        padding: 41px 0;
    }
}

#recommendArea>div {
    max-width: 1280px;
    width: 100%;
    margin: 0 auto;
    padding: 0 20px;
}

@media screen and (max-width: 768px) {
    #recommendArea>div {
        padding: 0 2.66%;
        padding: 0 2.66vw;
    }
}

#recommendArea .secondDiv {
    padding-top: 57px;
    justify-content: space-between;
}

@media screen and (max-width: 768px) {
    #recommendArea .secondDiv {
        padding-top: 0;
        margin-top: 16px;
    }
}

#recommendArea h2 {
    letter-spacing: .05em;
    line-height: 1;
    color: #007337;
    font-size: 3.125rem;
    font-weight: bold;
}

@media screen and (max-width: 768px) {
    #recommendArea h2 {
        font-size: 2rem;
        margin-bottom: .9em;
        line-height: 1.3;
        text-align: center;
    }
}

#recommendArea a {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition: opacity .2s linear 0s;
    -o-transition: opacity .2s linear 0s;
    transition: opacity .2s linear 0s;
}

#recommendArea a img {
    width: 100%;
}

#recommendArea a:hover,
#recommendArea a:focus {
    opacity: .8;
}

#recommendArea .rcmBtn {
    margin: 0 auto;
    text-align: center;
    letter-spacing: .2em;
    line-height: 1;
}

#recommendArea .rcmBtn a,
#recommendArea .rcmBtn a::before {
    -webkit-transition: all .2s linear 0s;
    -o-transition: all .2s linear 0s;
    transition: all .2s linear 0s;
}

#recommendArea .rcmBtn a {
    min-width: 45%;
    padding: .8em 2em .9em;
    font-weight: 300;
    position: relative;
    display: inline-block;
}

#recommendArea .rcmBtn a::after {
    content: "";
    display: block;
    width: .5em;
    height: .5em;
    border-width: 1px;
    border-bottom-style: solid;
    border-right-style: solid;
    -webkit-transform: rotate(-45deg) translateY(-50%);
    -ms-transform: rotate(-45deg) translateY(-50%);
    transform: rotate(-45deg) translateY(-50%);
    position: absolute;
    right: 1em;
    top: 48%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    vertical-align: middle;
}

#recommendArea .rcmBtn.orangeBtn a {
    background-color: #d74100;
    color: #fff;
}

#recommendArea .rcmBtn.orangeBtn a:hover,
#recommendArea .rcmBtn.orangeBtn a:focus {
    opacity: .8;
}

#recommendArea .rcmBtn.greenBtn a {
    border: solid 1px #006978;
    color: #006978;
}

#recommendArea .rcmBtn.greenBtn a::after {
    border-color: #006978;
}

#recommendArea .rcmBtn.greenBtn a:hover,
#recommendArea .rcmBtn.greenBtn a:focus {
    background-color: #006978;
    color: #fff;
}

#recommendArea .rcmBtn.greenBtn a:hover:after,
#recommendArea .rcmBtn.greenBtn a:focus:after {
    border-color: #fff;
}

#recommendArea .rcmBtn::after {
    border-color: #fff;
}

#recommendArea .clm2Block,
#recommendArea .clm4Block {
    overflow: hidden;
    width: 100%;
}

#recommendArea .clm2Block.jCenter,
#recommendArea .clm4Block.jCenter{
    overflow: hidden;
    width: 100%;
    display: flex;
    justify-content: center !important;
}

#recommendArea .clm2Block::after,
#recommendArea .clm4Block::after {
    content: "";
    display: table;
    clear: both;
}

#recommendArea .clm4Block>li {
    max-width: 25%;
    float: left;
    padding-left: 30px;
}

@media screen and (max-width: 768px) {
    #recommendArea .clm4Block>li {
        max-width: 50%;
        float: left;
        padding-left: 5px;
        padding-right: 5px;
        margin-bottom: 8.45%;
        margin-bottom: 8vw;
    }
    #recommendArea .clm4Block>li:nth-child(2n-1) {
        padding-left: 0px;
    }
    #recommendArea .clm4Block>li:nth-child(2n) {
        padding-right: 0px;
    }
}

#recommendArea .clm4Block>dt {
    float: left;
    display: block;
}

#recommendArea .clm4Block>dd {
    float: right;
    display: block;
    max-width: 98%;
    /* font-size: 16px; */
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: .05em;
    padding: 10px 0 10px 0;
}

@media screen and (max-width: 768px) {
    #recommendArea .clm4Block>dd {
        font-size: 14px;
        font-size: 3.3vw;
        padding: .5em 0;
    }
}

#recommendArea .clm2Block>li {
    width: 590px;
    max-width: 47.58%;
}

@media screen and (max-width: 768px) {
    #recommendArea .clm2Block>li {
        float: none;
        width: auto;
        max-width: 100%;
    }
}

#recommendArea .clm2Block>li:nth-child(2n - 1) {
    float: left;
}

@media screen and (max-width: 768px) {
    #recommendArea .clm2Block>li:nth-child(2n - 1) {
        float: none;
    }
}

#recommendArea .clm2Block>li:nth-child(2n) {
    float: right;
}

@media screen and (max-width: 768px) {
    #recommendArea .clm2Block>li:nth-child(2n) {
        float: none;
        margin-top: 36px;
    }
}

#recommendArea .clm2Block dl {
    margin-top: 10px;
}

#recommendArea .clm2Block dl dt {
    font-size: 1.75rem;
}

@media screen and (max-width: 768px) {
    #recommendArea .clm2Block dl dt {
        font-size: 1rem;
    }
}

#recommendArea .clm2Block dl dd {
    font-size: 1.25rem;
    line-height: 1.5;
    letter-spacing: .05em;
}

@media screen and (max-width: 768px) {
    #recommendArea .clm2Block dl dd {
        font-size: 14px;
        font-size: 0.875rem;
        padding: .5em 0;
    }
}

#recommendArea dt h3 {
    line-height: 1;
    padding: 1em 0 .5em;
    /* font-size: 24px; */
    font-size: 1.5rem;
    letter-spacing: .05em;
}

@media screen and (max-width: 768px) {
    #recommendArea dt h3 {
        margin-bottom: .8em;
    }
}

@media screen and (max-width: 768px) {
    #recommendArea dl,
    #recommendArea dt,
    #recommendArea dd {
        height: auto;
    }
    #recommendArea .visibleWws .clm2Block>li,
    #recommendArea .countryVisible .clm2Block>li {
        float: none;
        width: 100%;
        max-width: 100%;
        margin-bottom: 8.45%;
        margin-bottom: 8vw;
    }
}

.followingAnchor {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 999;
    background-color: rgba(62, 81, 87, 0.8);
}

.followingAnchor>div {
    display: table;
    width: 100%;
}

.followingAnchor>div>p {
    display: table-cell;
    vertical-align: middle;
    color: #fff;
    /* font-size:20px; */
    font-size: 1.25rem;
    line-height: 1;
}

@media screen and (max-width: 768px) {
    .followingAnchor>div>p {
        font-size: 3.2vw;
    }
}

.followingAnchor>div>p:first-of-type {
    padding: .5em .5em .5em 1em;
    font-weight: 500;
    line-height: 1.3;
}

.followingAnchor>div>p:first-of-type b {
    font-weight: bold;
}

.followingAnchor .flwBtn {
    margin: 0 auto;
    text-align: center;
    letter-spacing: .2em;
    line-height: 1;
    width: 11em;
    background-color: #d74100;
    -webkit-transition: all .2s linear 0s;
    -o-transition: all .2s linear 0s;
    transition: all .2s linear 0s;
}

.followingAnchor .flwBtn a {
    padding: 1.1em 2em 1.2em;
    font-weight: 300;
    position: relative;
    display: block;
    color: #fff;
}

@media screen and (min-width: 769px) {
    .followingAnchor .flwBtn a:hover,
    .followingAnchor .flwBtn a:focus {
        background-color: #eb4f0c;
    }
}

.followingAnchor .flwBtn a::after {
    content: "";
    display: block;
    width: .5em;
    height: .5em;
    border-width: 1px;
    border-bottom-style: solid;
    border-right-style: solid;
    border-color: #fff;
    position: absolute;
    right: 1em;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    vertical-align: middle;
}

.followingAnchor .visibleAsw .flwBtn a:after {
    -webkit-transform: rotate(45deg) translateY(-50%);
    -ms-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
    top: 44%;
    -webkit-transition: top .2s linear 0s;
    -o-transition: top .2s linear 0s;
    transition: top .2s linear 0s;
}

@media screen and (min-width: 769px) {
    .followingAnchor .visibleAsw .flwBtn a:hover:after,
    .followingAnchor .visibleAsw .flwBtn a:focus:after {
        top: 46%;
    }
}

.followingAnchor .visibleWws .flwBtn a:after {
    -webkit-transform: rotate(45deg) translateY(-50%);
    -ms-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
    top: 42%;
    -webkit-transition: top .2s linear 0s;
    -o-transition: top .2s linear 0s;
    transition: top .2s linear 0s;
}

@media screen and (min-width: 769px) {
    .followingAnchor .visibleWws .flwBtn a:hover:after,
    .followingAnchor .visibleWws .flwBtn a:focus:after {
        -webkit-transform: rotate(45deg) translateY(-50%);
        -ms-transform: rotate(45deg) translateY(-50%);
        transform: rotate(45deg) translateY(-50%);
        top: 48%;
    }
}

.footer .pagetTop {
    display: none;
}

.TxtView {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
}

.resizeHi .main_logoArea .main-visual-head,
.resizeHi .main-visual-text .main-visual-head {
    font-size: 6vh;
    display: inline-block;
}

.resizeHi .main_logoArea .ttlSub img,
.resizeHi .main-visual-text .ttlSub img {
    height: 12.1vh;
    width: auto;
}

.resizeHi .main_logoArea .scroll,
.resizeHi .main-visual-text .scroll {
    bottom: calc(2vh + 2vw - 120px);
}

.resizeHi .main_logoArea .icnImg {
    padding-top: 2.83vh;
    font-size: 1.9vh;
}

.resizeHi .main_logoArea .icnImg img {
    height: 3.87vh;
    width: auto;
}

.resizeHi .main_logoArea .NotoSansCjkJp.fwB {
    font-size: 2vh;
}

.dispNoPc:not(.mov) {
    display: none !important;
}

@media screen and (max-width: 768px) {
    .dispNoPc:not(.mov) {
        display: block !important;
    }
}

.dispNoSp:not(.mov) {
    display: block !important;
}

@media screen and (max-width: 768px) {
    .dispNoSp:not(.mov) {
        display: none !important;
    }
}

.dispNoSpIn {
    display: inline !important;
}

@media screen and (max-width: 768px) {
    .dispNoSpIn {
        display: none !important;
    }
}

.dispNoPcIn {
    display: none !important;
}

@media screen and (max-width: 768px) {
    .dispNoPcIn {
        display: inline !important;
    }
}

/* アニメ用 */

@-webkit-keyframes scroll-text {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
    40%,
    50% {
        -webkit-transform: translateY(10px);
        transform: translateY(10px);
    }
    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@keyframes scroll-text {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
    40%,
    50% {
        -webkit-transform: translateY(10px);
        transform: translateY(10px);
    }
    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@-webkit-keyframes scroll {
    0% {
        top: 6em;
        height: 0;
        opacity: 1;
    }
    50% {
        top: 6em;
        height: 27vh;
    }
    90% {
        opacity: 1;
    }
    to {
        height: 27vh;
        opacity: 0;
    }
}

@keyframes scroll {
    0% {
        top: 6em;
        height: 0;
        opacity: 1;
    }
    50% {
        top: 6em;
        height: 27vh;
    }
    90% {
        opacity: 1;
    }
    to {
        height: 27vh;
        opacity: 0;
    }
}

@-webkit-keyframes scroll2 {
    0% {
        top: 6em;
        height: 0;
        opacity: 1;
    }
    50% {
        top: 6em;
        height: 18vh;
    }
    90% {
        opacity: 1;
    }
    to {
        height: 18vh;
        opacity: 0;
    }
}

@keyframes scroll2 {
    0% {
        top: 6em;
        height: 0;
        opacity: 1;
    }
    50% {
        top: 6em;
        height: 18vh;
    }
    90% {
        opacity: 1;
    }
    to {
        height: 18vh;
        opacity: 0;
    }
}

@-webkit-keyframes show {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes show {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@-webkit-keyframes up {
    0% {
        top: 8vh;
    }
    100% {
        top: 0;
    }
}

@keyframes up {
    0% {
        top: 8vh;
    }
    100% {
        top: 0;
    }
}

/* ロード完了まで隠す */

.loadingNow {
    display: none;
}

.hideAll>*:not(#hiThis) {
    visibility: hidden;
}

.hideAll #hiThis {
    display: none;
    visibility: visible;
    background: #173999;
    color: #fff;
    font-size: 1rem;
    z-index: 99999999;
}

.hideAll #hiThis .centerLoadTxt {
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.hideAll #hiThis .loadingNow {
    display: block;
    color: #ffffff;
    font-size: .5rem;
    margin: 5em auto;
    width: 1vw;
    height: 1vw;
    border-radius: 50%;
    position: relative;
    text-indent: -9999em;
    -webkit-animation: load4 1.3s infinite linear;
    animation: load4 1.3s infinite linear;
    -webkit-transform: translateZ(15%);
    -ms-transform: translateZ(15%);
    transform: translateZ(15%);
}

@-webkit-keyframes load4 {
    0%,
    100% {
        -webkit-box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
        box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
    }
    12.5% {
        -webkit-box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
        box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
    }
    25% {
        -webkit-box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
        box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
    }
    37.5% {
        -webkit-box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
        box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
    }
    50% {
        -webkit-box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
        box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
    }
    62.5% {
        -webkit-box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
        box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
    }
    75% {
        -webkit-box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
        box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
    }
    87.5% {
        -webkit-box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
        box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
    }
}

@keyframes load4 {
    0%,
    100% {
        -webkit-box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
        box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
    }
    12.5% {
        -webkit-box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
        box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
    }
    25% {
        -webkit-box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
        box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
    }
    37.5% {
        -webkit-box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
        box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
    }
    50% {
        -webkit-box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
        box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
    }
    62.5% {
        -webkit-box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
        box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
    }
    75% {
        -webkit-box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
        box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
    }
    87.5% {
        -webkit-box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
        box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
    }
}

/* 出し分け用 */

#recommendArea .js-hidden,
.followingAnchor .js-hidden {
    display: none;
}

/* ==========================================================
  北米対応
========================================================== */

/* mwbp対応 */

.main-visual-text .scroll .mwbp-u_animate-once,
.main-visual-text .scroll.mwbp-u_animate-once::before {
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
}

.main-visual-text .scroll.mwbp-u_animate-once::before {
    height: 27vh;
}

#contents #mapArea.animeOn li.mwbp-u_animate-none,
#mapArea.animeOn .mapEast>.prefecture li.mwbp-u_animate-none {
    -webkit-animation-name: none;
    animation-name: none;
    opacity: 1;
}

.mwbp-u_underline {
    text-decoration: underline;
}

.mwbp-u_fontweight_bold {
    font-weight: bold !important;
}

.prefectureSec .mwbp-u_open_in_a_new_window {
    background-color: #fff;
    padding: 5px;
    position: absolute;
    top: 0;
    right: 0;
}

#recommendArea .mwbp-u_open_in_a_new_window {
    width: auto;
    background-color: #fff;
    padding: 5px;
    position: absolute;
    top: 0;
    right: 0;
}

.mwbp-u_a_block {
    display: block;
    position: relative;
}

/* おトクな運賃のご紹介 */

.mwbp_u_imgdesbox {
    padding-top: 34%;
    position: relative;
}

.mwbp_u_imgdesbox .mwbp_u_imgdesbox_img {
    position: absolute;
    top: 0;
    left: 0;
}

/* 重なり順変更 */

.main-visual-text {
    z-index: auto;
}

.main-visual-text .main-visual-head,
.main-visual-text .ttlSub {
    z-index: 2;
}

/* コピーライト */

.copyright {
    text-align: right;
    font-size: 100%;
    line-height: 1.5;
}