/*===================================
    COMMON(Covering legacy code)
===================================*/
:root{
    --main-bg-color: #262626;
    --selected-color: #ff6151;
    --nissan-font-color: #af9eb6;
}
.headerwrapper {
    background-color: #ffffff;
}
body {
    background-color: var(--main-bg-color);
}
.menu3wrapper {
    background-color: #ffffff;
}
.heading .slogo {
    width: 112.5px;
}
a {
    text-decoration: none;
}
/*===================================
    Main
===================================*/
section {
    width: 100%;
    display: flex;
    position: relative;
}
.move-top-button {
    display: none;
    position: fixed;
    bottom: 17px;
    right: 16px;
    width: 54px;
    height: 54px;
    z-index: 1;
}
.move-top-button img {
    width: 100%;
    height: 100%;
}

/*===================================
    1. Top section
===================================*/
.top-section-one .container {
    width: 100vw;
    height: 77.8vw;
    background-image: url(https://japankuru.com/gld-kanri/data/themes/japankuru/assets/special_feature/img/featuredNissan/top-image-sp.png);
    background-size: cover;
    background-position: center;
    display: flex;
    justify-content: center;
    z-index: 1;
}
.top-section-one .container .top-title-sp {
    width: 311px;
    height: 111px;
    top: 28.6vw;
    z-index: 1;
    position: absolute;
}
.tc .top-section-one .container .top-title-sp {
    width: 287px;
    height: 112px;
}
.top-section-one .container .red-moon-sp {
    width: 80px;
    height: 80px;
    right: 40px;
    top: 16.9vw;
    position: absolute;
}
.top-section-one .container .nissan-logo-sp {
    width: 57px;
    height: 52px;
    position: absolute;
    left: 10px;
    top: 18px;
}
.top-section-two {
    height: 53.6vw;
    background-image: url(https://japankuru.com/gld-kanri/data/themes/japankuru/assets/special_feature/img/featuredNissan/top-sub-image-sp.png);
    background-size: 100% 100%;
}
.top-section-two .container {
    background-color: transparent;
    width: 968px;
    display: flex;
    justify-content: center;
}
.top-section-two .top-nissan-car-image {
    position: absolute;
    top: 0px;
    right: 22px;
    width: 85px;
    height: 40px;
}
.top-section-two .top-sub-article {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100vw;
}
.top-sub-article .top-sub-title {
    width: 305px;
    height: 20px;
    margin-top: 48px;
}
.top-sub-article h3 {
    margin-top: 16px;
    width: calc(100% - 32px);
    color: var(--nissan-font-color);
    font-size: 14px;
    font-weight: 300;
    font-stretch: normal;
    font-style: normal;
    line-height: normal;
    letter-spacing: normal;
    text-align: center;
}
/*===================================
    2. Map, Itinerary section
===================================*/
.map-itinerary .container {
    width: 100%;
    background-color: var(--main-bg-color);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.map-itinerary .container .map-area-title {
    width: 44.7vw;
    margin-left: 16px;
}
.map-itinerary .container .map-area-title img {
    height: 48px;
}
.en .map-itinerary .container .map-area-title img {

}
.map-itinerary .container .map-area-title img.active {
    display: block;
}
.map-itinerary .container .map-comment img {
    width: 119px;
    height: 57px;
    position: absolute;
    right: 7px;
    top: 54px;
}
.map-itinerary .container .japanmap {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 67.5vw;
    margin-top: 60px;
    margin-bottom: 60px;
}
.map-itinerary .container .japanmap .map-area-article {
    margin-right: 56px;
}
.map-itinerary .container .article-video {
    width: 82.8vw;
    height: 46.575vw;
    margin-top: 37px;
    margin-bottom: 43px;
}
.map-itinerary .container .article-video iframe {
    width: 100%;
    height: 100%;
}
.map-itinerary .container .article-video a {
    display: none;
    width: 100%;
    height: 100%;
}
.map-itinerary .container .article-video a img {
    width: 100%;
    height: 100%;
}
/* Map Css */
.map-itinerary .container .japanmap svg#mapofjapan path:first-child {
    fill: var(--selected-color);
}
.map-itinerary .container .japanmap svg#mapofjapan {
    width: 80.56vw;
    height: 62.5vw;
    right: 20px;
    top: 110px;
    position: absolute;
}
.map-itinerary .container .map-itinerary-information {
    position: relative;
}
.map-itinerary .container .map-itinerary-information img {
    width: 91.1vw;
    height: 93.3vw;
    position: relative;
    margin-left: 16px;
}
.map-itinerary .container .map-itinerary-information a {
    display: none;
    position: relative;
    text-decoration: none;
    width: 100px;
    height: 33px;
    border-radius: 4px;
    background-color: #403643;
    font-size: 18px;
    font-weight: 500;
    font-size: 12px;
    font-weight: 300;
    font-stretch: normal;
    font-style: normal;
    line-height: normal;
    letter-spacing: 0.5px;
    color: #ffffff;
    align-items: center;
    justify-content: center;
    float: right;
    font-family: sans-serif;
    margin-right: 16px;
}
.map-itinerary .container .map-itinerary-information .detail-hokkaido {
    display: flex;
}
/*===================================
    3. Link section
===================================*/
.link-section {
    border-top: dashed 1px rgba(123, 104, 129, 0.5);
}
.link-section .container {
    width: 100%;
    display: flex;
    justify-content: center;
    background-color: var(--main-bg-color);
    margin-top: 20px;
    margin-bottom: 80px;
}
.link-section .container a {
    width: calc(100% - 32px);
    height: 52px;
    border-radius: 4px;
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);
    background-color: var(--selected-color);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 20px;
    font-stretch: normal;
    font-weight: 500;
    font-style: normal;
    line-height: normal;
    letter-spacing: normal;
    text-align: center;
}
.tc .link-section .container a {
    font-weight: 600;
}
.moving-link-section {
    position: fixed;
    bottom: 0;
    z-index: 2;
    display: none;
}
.moving-link-section .container {
    width: 100%;
    display: flex;
    justify-content: center;
    background-color: var(--main-bg-color);
}
.moving-link-section .container a {
    width: 100vw;
    height: 52px;
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);
    background-color: var(--selected-color);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 20px;
    font-weight: 500;
    font-stretch: normal;
    font-style: normal;
    line-height: normal;
    letter-spacing: normal;
    text-align: center;
}
.tc .moving-link-section .container a {
    font-weight: 600;
}
/*===================================
    4. Explanation Articles
===================================*/
.explain-articles-section .container {
    width: 100%;

    background-color: var(--main-bg-color);
}
.explain-articles-section .container .explain-navigations {
    display: flex;
}
.explain-articles-section .container .explain-navigations__title {
    background-color: var(--main-bg-color);
    overflow-x: hidden;
}
.explain-articles-section .container .explain-navigations__title img {
    width: 302px;
    height: 144px;
    margin-left: 16px;
}
.tc .explain-articles-section .container .explain-navigations__title img {
    width: 302px;
    height: 111px;
}
.explain-articles-section .container .explain-navigations .explain-navigations__link {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--main-bg-color);
    margin-top: 20px;
}
.explain-articles-section .container .explain-navigations .explain-navigations__link .link-container {
    width: 100%;
    height: 35vw;
    margin: 0px 16px;
    border-top: dashed 1px rgba(123, 104, 129, 0.5);
    border-bottom: dashed 1px rgba(123, 104, 129, 0.5);
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.explain-articles-section .container .explain-navigations .explain-navigations__link .link-container .link-accomodation,.link-plane {
    border-right: dashed 1px rgba(123, 104, 129, 0.5);
}
.explain-articles-section .container .explain-navigations .explain-navigations__link .link-container > div {
    flex: 1;
    height: 106px;
}
.explain-articles-section .container .explain-navigations .explain-navigations__link .link-image {
    width: 48px;
    height: 48px;
    margin: 10px auto;
    background-color: var(--main-bg-color);
}
.explain-articles-section .container .explain-navigations .explain-navigations__link .link-image svg:hover path {
    fill: var(--selected-color);
}
.explain-articles-section .container .explain-navigations .explain-navigations__link .link-title {
    font-size: 12px;
    font-weight: bold;
    font-stretch: normal;
    font-style: normal;
    line-height: normal;
    letter-spacing: normal;
    text-align: center;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.explain-articles-section .explain-articles__article {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background-color: var(--main-bg-color);
    margin: 0 16px;
    margin-bottom: 40px;
}
.explain-articles-section .explain-articles__article > div {
    width: 100%;
    margin-top: 20px;
}
.explain-articles-section .explain-articles__article > div a {
    display: flex;
    height: 17.8vw;
    text-decoration: none;
}
.explain-articles-section .explain-articles__article div .article-image {
    width: 29.7vw;
    height: 17.8vw;
    margin-bottom: 21px;
    position: relative;
    overflow: hidden;
}

.explain-articles-section .explain-articles__article div .article-image img {
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.explain-articles-section .explain-articles__article div .article-title {
    flex: 1;
    font-size: 14px;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.43;
    letter-spacing: normal;
    color: #ffffff;
    margin-left: 8px;
}
/*===================================
    5. Share
===================================*/
.share-section {
    background-color: #000000;
}
.share-section .container {
    width: 100%;
    background-color: #000000;
}
.share-section .share-link {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 20px 0px;
}
.share-section .share-link a {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.share-section .share-link a:not(:first-child) {
    margin-left: 40px;
}
.share-section .share-link a {
    margin-left: 40px;
}
.share-section .share-link a .facebook-share-image {
    width: 9px;
    height: 19px;
}
.share-section .share-link a .twitter-share-image {
    width: 23px;
    height: 16px;
}
.share-section .share-link a .copy-url-image {
    width: 21px;
    height: 21px;
}
.share-section .share-link a {
    margin-left: 0px;
}
.tooltip {
    position: relative;
    display: inline-block;
}
.tooltip .tooltiptext {
    visibility: hidden;
    width: 140px;
    background-color: #555;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 5px;
    position: absolute;
    z-index: 1;
    bottom: 150%;
    left: 50%;
    margin-left: -75px;
    opacity: 0;
    transition: opacity 0.3s;
}
.tooltip .tooltiptext::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: #555 transparent transparent transparent;
}
.tooltip:hover .tooltiptext {
    visibility: visible;
    opacity: 1;
}
/*===================================
    6. Footer
===================================*/
.footerwrapper {
    margin-top: 0px;
    border-top: 0px;
}