@charset "UTF-8";
/* CSS Information
============================================
File: index.scss
Site: Okinawa Story
SCSS: site index
============================================= */
/* CSS Information
============================================
File: _f-setting.scss
Site: Okinawa Story
SCSS: foundation
Output: app.css
============================================= */
/* サイト共通 ADD管理
** TOPページ（ヘッダーとメインビジュアルの間隔調整）
========================================== */
.os-l-content {
    padding-top: 0;
    margin-bottom: 0;
}
@media (min-width: 64.0625em) {
    .os-l-content {
        padding-top: 2rem;
    }
}
@media (min-width: 87.5em) {
    .os-l-content {
        padding-top: 3rem;
    }
}

/* メインビジュアルカルーセル管理
** JS:Slick * pages/index.js
========================================== */
.p-front-carousel-main {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    line-height: 0;
    margin-bottom: 1.5rem;
}
.p-front-carousel-main__inner {
    visibility: hidden;
}
.p-front-carousel-main__inner.initialized {
    visibility: visible;
}
.p-front-carousel-main__cont {
    width: 100%;
    height: 100%;
}
.p-front-carousel-main__unit {
    position: relative;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.15);
    background: #f0f0f0;
}
.p-front-carousel-main__unit-link {
    display: block;
    width: 100%;
    height: 100%;
}
.p-front-carousel-main__unit-figure {
    position: relative;
    width: 100%;
    height: auto;
    display: block;
}
.p-front-carousel-main__unit-figure:before {
    display: block;
    content: "";
    padding-top: 100%;
}
.p-front-carousel-main__unit-img {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: "object-fit: cover;"; /*IE*/
}
.p-front-carousel-main__unit-spot {
    position: absolute;
    bottom: 1rem;
    right: 1rem;
    z-index: 3;
    display: block;
    width: auto;
    max-width: calc(100% - 2rem);
    font-size: 1rem;
    line-height: 1.4;
    color: #fff;
    padding: 5px 1rem;
    border-radius: 2px;
}
.p-front-carousel-main__unit-spot:after {
    font-family: "FontAwesome";
    content: "\f0da";
    margin-left: 6px;
}
.p-front-carousel-main__unit-spot--bg {
    background: rgba(0, 0, 0, 0.5);
}
.p-front-carousel-main .slick-prev {
    left: 1.5rem;
}
.p-front-carousel-main .slick-prev:before {
    content: "\f0d9";
    margin-left: -2px;
}
.p-front-carousel-main .slick-next {
    right: 1.5rem;
}
.p-front-carousel-main .slick-next:before {
    content: "\f0da";
    margin-right: -2px;
}
.p-front-carousel-main .slick-prev, .p-front-carousel-main .slick-next {
    width: 1.8rem;
    height: 1.8rem;
    z-index: 3;
    border-radius: 50%;
    background: #fff;
}
.p-front-carousel-main .slick-prev:before, .p-front-carousel-main .slick-next:before {
    font-family: "FontAwesome";
    font-size: 1.4rem;
    color: #004ea2;
    opacity: 1 !important;
}
.p-front-carousel-main .slick-dots {
    position: static;
    left: auto;
    bottom: auto;
    width: auto;
}
.p-front-carousel-main .slick-dots li button:before {
    color: #004ea2;
    font-size: 1rem;
}
.p-front-carousel-main .slick-dotted.slick-slider {
    margin-bottom: 0;
}
.p-front-carousel-main__dots {
    position: relative;
    width: 100%;
    max-width: 128rem;
    margin: 1.5rem auto 0;
}
@media (min-width: 25.875em) {
    .p-front-carousel-main .slick-prev, .p-front-carousel-main .slick-next {
        width: 2.2rem;
        height: 2.2rem;
    }
    .p-front-carousel-main .slick-prev:before, .p-front-carousel-main .slick-next:before {
        font-size: 1.6rem;
    }
}
@media (min-width: 30em) {
    .p-front-carousel-main__unit-figure:before {
        padding-top: 48%;
    }
}
@media (min-width: 48em) {
    .p-front-carousel-main__unit-spot {
        font-size: 1.4rem;
    }
    .p-front-carousel-main .slick-prev, .p-front-carousel-main .slick-next {
        width: 2.6rem;
        height: 2.6rem;
    }
    .p-front-carousel-main .slick-prev:before, .p-front-carousel-main .slick-next:before {
        font-size: 1.8rem;
    }
}
@media (min-width: 64.0625em) {
    .p-front-carousel-main {
        width: 100%;
        margin: 0 auto 3rem;
    }
    .p-front-carousel-main__unit-figure:before {
        padding-top: 39.063%;
    }
    .p-front-carousel-main .slick-dots li button:before {
        font-size: 1.5rem;
    }
    .p-front-carousel-main .slick-prev, .p-front-carousel-main .slick-next {
        width: 3rem;
        height: 3rem;
    }
    .p-front-carousel-main .slick-prev:before, .p-front-carousel-main .slick-next:before {
        font-size: 2.8rem;
    }
}
@media (min-width: 80em) {
    .p-front-carousel-main .slick-slide {
        width: 100%;
        max-width: 128rem;
        margin: 0 3rem;
    }
    .p-front-carousel-main__arrows {
        position: relative;
        max-width: 140rem;
        margin: 0 auto;
    }
    .p-front-carousel-main__arrows-inner {
        position: absolute;
        top: -25rem;
        left: 0;
        width: 100%;
    }
}

/* 共通セクション管理
** コンテンツの横幅、余白、共通タイトルを管理
========================================== */
.p-front__section {
    width: 100%;
}
.p-front__section--ipt-notice {
    padding: 0 1.5rem;
}
.p-front__section--info-notice {
    padding: 0 1.5rem;
}
.p-front__section--pickup {
    padding: 0 1.5rem;
    background-color: #fff;
}
.p-front__section--special-content {
    padding: 0 1rem;
    background-color: #fff; /*fafafa*/
}
.p-front__section--theme {
    padding: 0 1rem;
    background-color: #fafafa; /*f5f5f5*/
}
.p-front__section--map {
    background-color: #fafafa;
}
.p-front__section--situation {
    padding: 0 1.5rem;
    background-color: #fafafa; /*f5f5f5*/
}
.p-front__section--media-etc {
    padding: 0 1.5rem;
    background-color: #fafafa; /*f5f5f5*/
}
.p-front__section--media-sns {
    padding: 0 1.5rem;
    background-color: #fff;
}
.p-front__section--related {
    padding: 0 1rem;
    background-color: #fafafa; /*f5f5f5*/
}
.p-front__section--banner {
    padding: 0 1rem;
    background-color: #fafafa;
}
.p-front__inner {
    width: 100%;
    max-width: 128rem;
    margin: 0 auto;
    padding: 2rem 0;
}
.p-front__inner--ipt-notice {
    padding: 0 0 1.5rem;
}
.p-front__inner--info-notice {
    padding: 0 0 1.5rem;
}
.p-front__inner--pickup {
    padding: 3rem 0 0;
}
.p-front__inner--special-content {
    padding: 3rem 0;
}
.p-front__inner--map {
    padding: 3rem 0;
}
.p-front__column {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
}
.p-front__title {
    position: relative;
    color: #004ea2;
    text-align: center;
}
.p-front__title-main {
    font-size: 2.6rem;
    font-weight: 700 !important;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}
.p-front__title-main--spacing {
    letter-spacing: 0;
}
.p-front__title-main--descender-line {
    margin-bottom: 1.5rem;
}
.p-front__title-main--font-ja {
    font-size: 2rem;
    line-height: 1.2;
    font-weight: bold;
}
.p-front__title-sub {
    font-size: 1.4rem;
    font-weight: 400;
    display: block;
}
.p-front__title-inline-block {
    display: inline-block;
}
.p-front__title-inline-block-mx {
    margin: 0 0.2rem;
}
.p-front__head {
    position: relative;
    text-align: center;
    margin-bottom: 1rem;
}
.p-front__head--pickup {
    margin-bottom: 2rem;
}
.p-front__head--special-content {
    margin-bottom: 1.5rem;
}
.p-front__head--news {
    margin-bottom: 1.5rem;
}
.p-front__head--info-notice {
    margin-bottom: 1.5rem;
}
.p-front__head--blog {
    padding-top: 1rem;
    margin-bottom: 0;
}
.p-front__head--map {
    margin-bottom: 2rem;
}
.p-front__head--video {
    margin-bottom: 2rem;
}
.p-front__btn {
    width: auto;
    text-align: center;
}
.p-front__btn--head {
    display: none;
}
.p-front__btn--under {
    display: block;
}
.p-front__btn--info-notice {
    margin-top: 1rem;
}
.p-front__btn--under-calendar {
    margin-top: 2rem;
}
.p-front__btn--under-map {
    margin-top: 2rem;
}
.p-front__btn-link {
    position: relative;
    display: inline-block;
    width: 70%;
    padding: 1rem 2rem;
    text-align: center;
    font-size: 1.4rem;
    font-weight: bold;
    color: #fff !important;
    background-color: #006dba;
    border-radius: 4px;
}
.p-front__btn-link.u-icon-aft:after {
    margin-left: 1rem;
}
@media (min-width: 37.5em) {
    .p-front__section--special-content {
        padding: 0 1.5rem;
    }
}
@media (min-width: 48em) {
    .p-front__section--map {
        padding: 0 1.5rem;
    }
    .p-front__title-main {
        font-size: 3.2rem;
    }
    .p-front__title-main--font-ja {
        font-size: 2.2rem;
    }
    .p-front__title-main-small {
        font-size: 1.8rem;
    }
    .p-front__title-sub--font-en {
        font-size: 1.6rem;
    }
    .p-front__btn--under {
        display: none;
    }
    .p-front__btn--head {
        position: absolute;
        right: 0;
        bottom: 5px;
        display: block;
    }
    .p-front__btn--head-theme {
        right: 5px;
    }
    .p-front__btn--head-map {
        position: static;
        right: auto;
        bottom: auto;
        text-align: left;
        margin-top: 1rem;
    }
    .p-front__btn--info-notice {
        text-align: right;
    }
    .p-front__btn--under-news {
        text-align: right;
        margin-top: 1rem;
    }
    .p-front__btn--under-pickup {
        text-align: right;
        margin-top: 1rem;
    }
    .p-front__btn--under-special-content {
        text-align: right;
        margin-top: 1rem;
    }
    .p-front__btn--under-sns {
        text-align: right;
        margin-top: -4.5rem;
    }
    .p-front__btn--under-video {
        text-align: right;
    }
    .p-front__btn--under-calendar {
        text-align: right;
        margin-top: 1rem;
    }
    .p-front__btn--under-map {
        text-align: right;
    }
    .p-front__btn-link {
        width: auto;
        padding: 7px;
        font-size: 1.2rem;
    }
}
@media (min-width: 64.0625em) {
    .p-front__inner {
        padding: 4rem 0;
    }
    .p-front__inner--ipt-notice {
        padding: 0 0 3rem;
    }
    .p-front__inner--info-notice {
        padding: 0 0 3rem;
    }
    .p-front__inner--pickup {
        padding: 4rem 0 0;
    }
    .p-front__inner--special-content {
        padding: 4rem 0;
    }
    .p-front__inner--map {
        padding: 4rem 0;
    }
    .p-front__title-main {
        font-size: 4rem;
    }
    .p-front__title-main--descender-line {
        margin-bottom: 2rem;
    }
    .p-front__title-main--font-ja {
        font-size: 2.8rem;
    }
    .p-front__title-main-small {
        font-size: 2.2rem;
    }
    .p-front__head {
        margin: 0 auto 3rem;
    }
    .p-front__head--pickup {
        margin-bottom: 4rem;
    }
    .p-front__head--special-content {
        margin-bottom: 4rem;
    }
    .p-front__head--theme {
        margin-bottom: 4rem;
    }
    .p-front__head--blog {
        padding-top: 0;
        margin-bottom: 1rem;
    }
    .p-front__head--video {
        margin-bottom: 3rem;
    }
    .p-front__head--calendar {
        margin-bottom: 1.5rem;
    }
    .p-front__head--news {
        margin-bottom: 1.5rem;
    }
    .p-front__btn--head-theme {
        right: 1rem;
    }
    .p-front__btn--head-map {
        margin-top: 3rem;
    }
    .p-front__btn--under-pickup {
        margin-top: 3rem;
    }
    .p-front__btn--under-sns {
        text-align: right;
        margin-top: -5rem;
    }
}
@media (min-width: 80em) {
    .p-front__btn-link {
        padding: 1rem 2rem;
        font-size: 1.4rem;
    }
}

/* 重要なお知らせ管理
** JS:Slick * pages/index.js
========================================== */
.p-front-ipt-notice {
    position: relative;
    width: 100%;
    border: solid 3px #c8161d;
    background-color: #fff;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.15);
    padding: 1rem;
}
.p-front-ipt-notice__title {
    position: relative;
    font-size: 1.6rem;
    font-weight: bold;
    color: #c8161d;
    margin-bottom: 5px;
}
.p-front-ipt-notice__title:before {
    position: absolute;
    left: 0;
    top: 2px;
    width: 2rem;
    height: 2rem;
}
.p-front-ipt-notice__title-text {
    padding-left: 2.5rem;
}
.p-front-ipt-notice__list {
    width: 100%;
}
.p-front-ipt-notice__list-line {
    width: 100%;
}
.p-front-ipt-notice__list-link {
    display: block;
    width: 100%;
    color: #353535 !important;
    padding: 7px 0;
}
.p-front-ipt-notice__list-time {
    display: block;
    font-size: 1.2rem;
    margin-bottom: 5px;
    color: #353535 !important;
}
.p-front-ipt-notice__list-title {
    width: 100%;
    font-size: 1.4rem;
    font-weight: bold;
    color: #c8161d !important;
}
.p-front-ipt-notice__list-overflow {
    position: relative;
    display: block;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.p-front-ipt-notice__list-overflow:after {
    position: absolute;
    right: auto;
    font-family: "FontAwesome";
    content: "\f0da";
    margin-left: 1rem;
    margin-top: -1px;
    text-decoration: none;
    font-size: 1.6rem;
}
.p-front-ipt-notice__list.slick-slider {
    opacity: 0;
    transition: opacity 0.3s linear;
}
.p-front-ipt-notice__list.slick-slider.slick-initialized {
    opacity: 1;
}
.p-front-ipt-notice__btn {
    position: absolute;
    top: 7px;
    right: 1.5rem;
    z-index: 2;
    height: 4rem;
}
.p-front-ipt-notice__btn-trigger {
    display: flex;
    align-items: center;
    height: 100%;
    position: relative;
    padding-right: 2.8rem;
    color: #353535 !important;
}
.p-front-ipt-notice__btn-trigger:after {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    font-size: 2.6rem;
    color: #c8161d !important;
    font-family: "FontAwesome";
    content: "\f055";
}
.p-front-ipt-notice__btn-trigger.is--active:after {
    content: "\f056";
}
.p-front-ipt-notice .slick-slide {
    border: 0;
}
@media (min-width: 30em) {
    .p-front-ipt-notice__list-link {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .p-front-ipt-notice__list-time {
        width: 7rem;
        margin-bottom: 0;
    }
    .p-front-ipt-notice__list-title {
        width: calc(100% - 8rem);
    }
}
@media (min-width: 48em) {
    .p-front-ipt-notice {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .p-front-ipt-notice__title {
        width: 15rem;
        margin-bottom: 0;
    }
    .p-front-ipt-notice__list {
        width: calc(100% - 16rem);
    }
    .p-front-ipt-notice__btn {
        display: none;
    }
}
@media (min-width: 64.0625em) {
    .p-front-ipt-notice__list-time {
        width: 9rem;
        font-size: 1.4rem;
    }
    .p-front-ipt-notice__list-title {
        width: calc(100% - 10rem);
    }
    .p-front-ipt-notice__list-link:hover .p-front-ipt-notice__list-title {
        text-decoration: underline;
    }
}

/* お知らせ管理（2022改修の途中で取り止めになった）
** JS 無し
========================================== */
.p-front-info-notice {
    position: relative;
    width: 100%;
    border: solid 1px #ddd;
    background-color: #fff;
    padding: 1rem;
}
.p-front-info-notice__title {
    position: relative;
    font-size: 1.6rem;
    font-weight: bold;
    color: #004ea2;
    margin-bottom: 5px;
}
.p-front-info-notice__list {
    width: 100%;
}
.p-front-info-notice__list-line {
    width: 100%;
}
.p-front-info-notice__list-line:nth-child(n+2) {
    display: none;
}
.p-front-info-notice__list-link {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    color: #353535 !important;
    padding: 7px 0;
}
.p-front-info-notice__list-time {
    display: block;
    font-size: 1.2rem;
    margin-bottom: 5px;
    color: #353535 !important;
    margin-right: 1rem;
}
.p-front-info-notice__list-title {
    width: 100%;
    font-size: 1.4rem;
    font-weight: normal;
}
.p-front-info-notice__list-title--overflow {
    position: relative;
    display: block;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.p-front-info-notice__list-title--overflow:after {
    position: absolute;
    right: auto;
    font-family: "FontAwesome";
    content: "\f0da";
    margin-left: 1rem;
    margin-top: -1px;
    text-decoration: none;
    font-size: 1.6rem;
}
.p-front-info-notice__list-flag {
    display: flex;
    flex-wrap: nowrap;
    margin: 0 1rem 0.7rem 0;
}
.p-front-info-notice__list-flag-tag {
    font-size: 1rem;
    line-height: 1.2;
    white-space: nowrap;
    border-radius: 2px;
    background-color: #fff;
    padding: 3px 5px;
}
.p-front-info-notice__list-flag-tag:nth-last-of-type(n + 2) {
    margin-right: 5px;
}
.p-front-info-notice__list-flag-tag--border {
    border: solid 1px #c8161d;
    color: #c8161d !important;
}
.p-front-info-notice__list-flag-tag--bg {
    border: solid 1px #c8161d;
    background-color: #c8161d;
    color: #fff !important;
}
@media (min-width: 30em) {
    .p-front-info-notice__list-link {
        flex-wrap: nowrap;
    }
    .p-front-info-notice__list-time {
        width: 7rem;
        margin-bottom: 0;
    }
    .p-front-info-notice__list-flag {
        margin-bottom: 0;
    }
}
@media (min-width: 48em) {
    .p-front-info-notice {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
    }
    .p-front-info-notice__inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: calc(100% - 10rem);
    }
    .p-front-info-notice-btn {
        width: 12.5rem;
    }
    .p-front-info-notice__title {
        width: 15rem;
        text-align: center;
        margin-bottom: 0;
    }
    .p-front-info-notice__list {
        width: calc(100% - 16rem);
    }
    .p-front-info-notice__list-line:nth-child(n+2) {
        display: block;
    }
}
@media (min-width: 64.0625em) {
    .p-front-info-notice__list-time {
        width: 9rem;
        font-size: 1.4rem;
    }
    .p-front-info-notice__list-link:hover .p-front-info-notice__list-title {
        text-decoration: underline;
    }
    .p-front-info-notice__list-flag-tag {
        font-size: 1.2rem;
        line-height: 1.2;
        border-radius: 4px;
    }
}
@media (min-width: 80em) {
    .p-front-info-notice__inner {
        width: calc(100% - 15rem);
    }
}

/* 旬のおすすめ管理
========================================== */
.p-front-pickup {
    width: 100%;
    max-width: 126rem;
    margin: 0 auto;
}
.p-front-pickup__head-month {
    position: relative;
    display: inline-block;
    padding: 5px 1rem;
    text-align: center;
    font-size: 1.4rem;
    line-height: 1;
    font-weight: bold;
    letter-spacing: 2px;
    color: #fff !important;
    background-color: #22bcb8;
    border-radius: 2px;
    margin-top: 1rem;
}
.p-front-pickup__unit {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-bottom: 1.5rem;
}
.p-front-pickup__unit-wrap {
    width: 50%;
    margin-bottom: 1.5rem;
}
.p-front-pickup__unit-link {
    display: block;
    width: 100%;
    padding: 0 5px;
    color: #353535 !important;
}
.p-front-pickup__unit-gradation {
    display: block;
    width: 60%;
    padding: 2px;
    border-radius: 50%;
    background: linear-gradient(0deg, rgb(34, 188, 184) 0%, rgb(0, 109, 186) 80%, rgb(0, 78, 162) 100%);
    margin: 0 auto 1.5rem;
}
.p-front-pickup__unit-figure {
    position: relative;
    width: 100%;
    height: auto;
}
.p-front-pickup__unit-figure:before {
    display: block;
    content: "";
    padding-top: 100%;
}
.p-front-pickup__unit-img {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 50%;
    object-fit: cover;
    font-family: "object-fit: cover;"; /*IE*/
}
.p-front-pickup__unit-title {
    color: #006dba !important;
    font-size: 1.3rem;
    font-weight: 700;
    text-align: center;
}
.p-front-pickup__unit-pre {
    font-size: 1.2rem;
    margin-top: 1rem;
    display: block;
}
@media (min-width: 37.5em) {
    .p-front-pickup__unit {
        justify-content: space-between;
        margin-bottom: 3rem;
    }
    .p-front-pickup__unit-wrap {
        width: calc(25% - 1rem);
        margin-bottom: 0;
    }
    .p-front-pickup__unit-link {
        padding: 0;
    }
    .p-front-pickup__unit-gradation {
        width: 100%;
    }
}
@media (min-width: 48em) {
    .p-front-pickup__unit {
        margin-bottom: 0;
    }
    .p-front-pickup__unit-title {
        font-size: 1.4rem;
    }
    .p-front-pickup__unit-pre {
        font-size: 1.3rem;
    }
    .p-front-pickup__head-month {
        position: absolute;
        left: 1.5rem;
        bottom: 0;
        margin-top: 0;
        padding: 1rem 1.2rem;
        border-radius: 4px;
    }
}
@media (min-width: 64.0625em) {
    .p-front-pickup__head-month {
        left: 4rem;
        font-size: 1.8rem;
        font-weight: 700;
    }
    .p-front-pickup__unit-wrap {
        width: calc(25% - 4rem);
    }
    .p-front-pickup__unit-title {
        font-size: 1.6rem;
    }
    .p-front-pickup__unit-pre {
        font-size: 1.4rem;
    }
}

/* 特集管理
** JS:Slick pages/index.js
========================================== */
.p-front-special-content {
    width: 100%;
    max-width: 128rem;
    margin: 0 auto;
}
.p-front-special-content__inner {
    visibility: hidden;
}
.p-front-special-content__inner.initialized {
    visibility: visible;
}
.p-front-special-content__list {
    margin-bottom: 0 !important;
}
.p-front-special-content__list-unit {
    width: 100%;
    padding: 0 5px;
}
.p-front-special-content__list-link {
    display: block;
    width: 100%;
}
.p-front-special-content__list-caption {
    font-size: 1.1rem;
    line-height: 1.4;
    color: #353535 !important;
    margin-top: 0.5rem;
}
.p-front-special-content__list-figure {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.15);
    background: #f0f0f0;
}
.p-front-special-content__list-figure:before {
    display: block;
    content: "";
    padding-top: 66.588%;
}
.p-front-special-content__list-img {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: "object-fit: cover;"; /*IE*/
}
.p-front-special-content .slick-list {
    padding: 0 15% 0 !important;
}
.p-front-special-content .slick-dots {
    position: static;
    left: auto;
    bottom: auto;
    width: auto;
}
.p-front-special-content .slick-dots li button:before {
    color: #004ea2;
    font-size: 1rem;
}
.p-front-special-content__dots {
    position: relative;
    width: 100%;
    max-width: 128rem;
    margin: 1.5rem auto;
}
@media (min-width: 48em) {
    .p-front-special-content__list-unit {
        padding: 0 1rem;
    }
}
@media (min-width: 64.0625em) {
    .p-front-special-content .slick-list {
        padding: 0 !important;
    }
    .p-front-special-content .slick-dots li button:before {
        font-size: 1.5rem;
    }
}

/* 旅のテーマで探す管理(2022年 TOP改修 非表示指示)
========================================== */
/* エリアガイドマップ管理
========================================== */
.p-front-map {
    position: relative;
}
.p-front-map__object {
    padding: 0 1rem;
    margin-bottom: 2rem;
}
@media (min-width: 48em) {
    .p-front-map__object {
        padding: 0;
        margin-bottom: 0;
    }
}

/* 新着記事　管理
========================================== */
.p-front-news {
    width: 100%;
}
.p-front-news__storage {
    background-color: #fff;
    margin-bottom: 2rem;
}
.p-front-news__storage-content {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    padding: 2px;
}
.p-front-news__storage-unit {
    width: 100%;
    padding: 2px 2px;
    border-top: none;
    display: none;
}
.p-front-news__storage-unit:nth-child(-n+6) {
    display: block;
}
.p-front-news__storage-unit:nth-child(-n+5) {
    margin-bottom: 1rem;
}
.p-front-news__storage-unit:nth-child(-n+3) {
    width: 50%;
}
.p-front-news__storage-unit:nth-child(-n+1) {
    width: 100%;
}
.p-front-news__storage-link {
    position: relative;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    color: #353535 !important;
    padding: 0;
}
.p-front-news__storage-unit:nth-child(-n+3) .p-front-news__storage-link {
    display: block;
}
.p-front-news__storage-flag {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    display: flex;
    flex-wrap: nowrap;
    background: #c8161d;
    color: #fff !important;
}
.p-front-news__storage-flag-unit {
    font-size: 1rem;
    font-weight: bold;
    line-height: 1;
    padding: 0.5rem;
}
.p-front-news__storage-flag-unit--icon-new {
    background: #fff;
    border: solid 1px #c8161d;
    color: #c8161d !important;
}
.p-front-news__storage-flag-unit--icon-important {
    background: #c8161d;
    color: #fff !important;
}
.p-front-news__storage-obj {
    width: 37%;
    padding-right: 1rem;
}
.p-front-news__storage-unit:nth-child(-n+3) .p-front-news__storage-obj {
    width: 100%;
    padding-right: 0;
}
.p-front-news__storage-figure {
    position: relative;
    width: 100%;
    height: auto;
    margin-bottom: 0.5rem;
}
.p-front-news__storage-figure:before {
    display: block;
    content: "";
    padding-top: 66.37%;
}
.p-front-news__storage-img {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    font-family: "object-fit: cover;"; /*IE*/
}
.p-front-news__storage-box {
    width: 63%;
}
.p-front-news__storage-unit:nth-child(-n+3) .p-front-news__storage-box {
    width: 100%;
}
.p-front-news__storage-inner {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 3px;
}
.p-front-news__storage-time {
    font-size: 1.1rem;
    padding-right: 5px;
    margin-bottom: 2px;
}
.p-front-news__storage-tag {
    font-size: 1rem;
    line-height: 1.2;
    border-style: solid;
    border-width: 1px;
    border-radius: 2px;
    background: #fff;
    padding: 3px;
    margin-bottom: 2px;
}
.p-front-news__storage-tag--tourism {
    border-color: #004ea2;
    color: #004ea2 !important;
}
.p-front-news__storage-tag--local {
    border-color: #22bcb8;
    color: #22bcb8 !important;
}
.p-front-news__storage-tag--blog {
    border-color: #de7f11;
    color: #de7f11 !important;
}
.p-front-news__storage-tag--news {
    border-color: #d93175;
    color: #d93175 !important;
}
.p-front-news__storage-title {
    font-size: 1.2rem;
    line-height: 1.6;
    font-weight: normal;
}
.p-front-news__storage-overflow {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: clip;
    white-space: normal;
}
.p-front-news__storage-pinned {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    z-index: 3;
    display: block;
    content: "";
    width: 2.5rem;
    height: 2.5rem;
}
.p-front-news__storage-pinned--red {
    background: url("/res/image/common/icon_pin_red.svg") center/contain no-repeat transparent;
}
.p-front-news__storage-pinned--blue {
    background: url("/res/image/common/icon_pin_blue.svg") center/contain no-repeat transparent;
}
.p-front-news__storage-pinned--green {
    background: url("/res/image/common/icon_pin_green.svg") center/contain no-repeat transparent;
}
.p-front-news__storage-pinned--white {
    background: url("/res/image/common/icon_pin_white.svg") center/contain no-repeat transparent;
}
.p-front-news__storage-pinned--white-off {
    background: url("/res/image/common/icon_pin_white_off.svg") center/contain no-repeat transparent;
}
@media (min-width: 21.25em) {
    .p-front-news__storage-unit {
        padding: 4px;
    }
}
@media (min-width: 30em) {
    .p-front-news__storage-unit {
        padding: 6px;
        display: none;
    }
    .p-front-news__storage-unit:nth-child(-n+8) {
        display: block;
    }
    .p-front-news__storage-unit:nth-child(-n+7) {
        margin-bottom: 1rem;
    }
    .p-front-news__storage-unit:nth-child(-n+5) {
        width: 33.333333%;
    }
    .p-front-news__storage-unit:nth-child(-n+2) {
        width: 50%;
    }
    .p-front-news__storage-unit:nth-child(-n+5) .p-front-news__storage-link {
        display: block;
    }
    .p-front-news__storage-obj {
        width: 13rem;
    }
    .p-front-news__storage-unit:nth-child(-n+5) .p-front-news__storage-obj {
        width: 100%;
        padding-right: 0;
    }
    .p-front-news__storage-box {
        width: calc(100% - 13rem);
    }
    .p-front-news__storage-unit:nth-child(-n+5) .p-front-news__storage-box {
        width: 100%;
    }
}
@media (min-width: 37.5em) {
    .p-front-news__storage-obj {
        width: 15rem;
    }
    .p-front-news__storage-box {
        width: calc(100% - 15rem);
    }
    .p-front-news__storage-time {
        width: auto;
    }
    .p-front-news__storage-figure {
        margin-bottom: 1rem;
    }
}
@media (min-width: 48em) {
    .p-front-news__storage {
        margin-bottom: 0;
    }
    .p-front-news__storage-unit {
        display: none;
    }
    .p-front-news__storage-unit:nth-child(-n+8) {
        display: none;
    }
    .p-front-news__storage-unit:nth-child(-n+7) {
        margin-bottom: 0;
    }
    .p-front-news__storage-unit:nth-child(-n+7) {
        display: block;
    }
    .p-front-news__storage-unit:nth-child(-n+3) {
        margin-bottom: 1rem;
    }
    .p-front-news__storage-unit:nth-child(-n+7) {
        width: 25%;
    }
    .p-front-news__storage-unit:nth-child(-n+3) {
        width: 33.333333%;
    }
    .p-front-news__storage-unit:nth-child(-n+7) .p-front-news__storage-link {
        display: block;
    }
    .p-front-news__storage-unit:nth-child(-n+7) .p-front-news__storage-obj {
        width: 100%;
        padding-right: 0;
    }
    .p-front-news__storage-unit:nth-child(-n+7) .p-front-news__storage-box {
        width: 100%;
    }
    .p-front-news__storage-title {
        font-size: 1.4rem;
    }
}
@media (min-width: 64.0625em) {
    .p-front-news__storage-unit {
        display: none;
    }
    .p-front-news__storage-unit:nth-child(-n+8) {
        display: block;
    }
    .p-front-news__storage-unit:nth-child(-n+3) {
        margin-bottom: 1rem;
    }
    .p-front-news__storage-unit:nth-child(-n+8) {
        width: 20%;
    }
    .p-front-news__storage-unit:nth-child(-n+3) {
        width: 33.333333%;
    }
    .p-front-news__storage-unit:nth-child(-n+8) .p-front-news__storage-link {
        display: block;
    }
    .p-front-news__storage-unit:nth-child(-n+8) .p-front-news__storage-obj {
        width: 100%;
        padding-right: 0;
    }
    .p-front-news__storage-unit:nth-child(-n+8) .p-front-news__storage-box {
        width: 100%;
    }
    .p-front-news__storage-time {
        font-size: 1.2rem;
        padding-right: 1rem;
    }
    .p-front-news__storage-flag-unit {
        font-size: 1.2rem;
        padding: 1rem;
    }
    .p-front-news__storage-tag {
        font-size: 1.2rem;
        line-height: 1.2;
        border-radius: 4px;
        padding: 0.5rem;
    }
    .p-front-news__storage-pinned {
        width: 3rem;
        height: 3rem;
    }
}
@media (min-width: 80em) {
    .p-front-news__storage {
        padding: 1rem 1rem 0;
    }
    .p-front-news__storage-content {
        padding: 0;
    }
    .p-front-news__storage-unit {
        padding: 1rem;
    }
}

/* 関連状況（お知らせ）管理
========================================== */
.p-front-information {
    width: 100%;
}
.p-front-information__inner {
    background-color: #fff;
    padding: 0 1rem;
    margin-bottom: 3rem;
}
.p-front-information__unit {
    width: 100%;
    border-bottom: dashed 1px #ddd;
}
.p-front-information__unit:nth-child(n+5) {
    display: none;
}
.p-front-information__unit:nth-child(n+4) {
    border-bottom: none;
}
.p-front-information__unit-link {
    width: 100%;
    display: block;
    color: #353535 !important;
    padding: 1.5rem 0;
}
.p-front-information__unit-inner {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 5px;
}
.p-front-information__unit-time {
    font-size: 1.1rem;
    margin: 0 5px 2px 0;
}
.p-front-information__unit-flag {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 5px;
}
.p-front-information__unit-tag {
    font-size: 1rem;
    line-height: 1.2;
    border-radius: 2px;
    background-color: #fff;
    padding: 3px 5px;
}
.p-front-information__unit-tag:nth-last-of-type(n + 2) {
    margin-right: 5px;
}
.p-front-information__unit-tag--border {
    border: solid 1px #c8161d;
    color: #c8161d !important;
}
.p-front-information__unit-tag--bg {
    border: solid 1px #c8161d;
    background-color: #c8161d;
    color: #fff !important;
}
.p-front-information__unit-title {
    font-size: 1.2rem;
    line-height: 1.4;
    font-weight: normal;
}
@media (min-width: 48em) {
    .p-front-information {
        width: 39.0625%;
    }
    .p-front-information__inner {
        margin-bottom: 0;
    }
    .p-front-information__unit:nth-child(n+5) {
        display: block;
    }
    .p-front-information__unit:nth-child(n+4) {
        border-bottom: dashed 1px #ddd;
    }
    .p-front-information__unit:nth-child(n+8) {
        display: none;
    }
    .p-front-information__unit:nth-child(n+7) {
        border-bottom: none;
    }
    .p-front-information__unit-overflow {
        display: block;
        width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .p-front-information__unit-link {
        padding: 1.4rem 0;
    }
    .p-front-information__unit-title {
        font-size: 1.4rem;
    }
}
@media (min-width: 64.0625em) {
    .p-front-information__unit-time {
        font-size: 1.2rem;
        margin: 0 1rem 5px 0;
    }
    .p-front-information__unit-tag {
        font-size: 1.2rem;
        line-height: 1.2;
        border-radius: 4px;
    }
}
@media (min-width: 80em) {
    .p-front-information__inner {
        padding: 1.3rem 2rem;
    }
    .p-front-information__unit-link {
        padding: 1.5rem 0;
    }
}

/* メディア管理
========================================== */
.p-front-media:nth-last-child(n+2) {
    padding-bottom: 3rem;
    margin-bottom: 3rem;
}
@media (min-width: 64.0625em) {
    .p-front-media:nth-last-child(n+2) {
        padding-bottom: 6rem;
        margin-bottom: 6rem;
    }
}

/* SNS公式ソーシャルメディア管理
========================================== */
.p-front-media-sns {
    width: 100%;
    max-width: 128rem;
    margin: 0 auto;
}
.p-front-media-sns__content {
    width: 100%;
}
.p-front-media-sns__instagram {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-bottom: 1.5rem;
}
.p-front-media-sns__instagram-item {
    display: flex;
    flex-wrap: wrap;
    width: 50%;
}
.p-front-media-sns__instagram > .p-front-media-sns__instagram-item:last-child {
    display: none;
}
.p-front-media-sns__instagram > .p-front-media-sns__instagram-item:nth-child(3) {
    order: 4;
}
.p-front-media-sns__instagram > .p-front-media-sns__instagram-item:nth-child(4) {
    order: 3;
}
.p-front-media-sns__instagram-link {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
}
.p-front-media-sns__instagram-link:before {
    display: block;
    content: "";
    padding-top: 100%;
}
.p-front-media-sns__instagram-img {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    font-family: "object-fit: cover;"; /*IE*/
}
.p-front-media-sns__btn {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto 1.5rem;
}
.p-front-media-sns__btn-item {
    width: 25%;
    padding: 5px;
}
.p-front-media-sns__btn-link {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.p-front-media-sns__btn-symbol {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4.2rem;
    height: 4.2rem;
    margin-bottom: 5px;
    border-radius: 50%;
    font-style: normal;
    font-size: 2rem;
    color: #fff !important;
}
.p-front-media-sns__btn-symbol--instagram {
    background-color: #d93175;
}
.p-front-media-sns__btn-symbol--facebook {
    background-color: #315096;
}
.p-front-media-sns__btn-symbol--twitter {
    background-color: #55acee;
}
.p-front-media-sns__btn-symbol--x {
    background-color: #000;
}
.p-front-media-sns__btn-symbol--youtube {
    background-color: #cd201f;
}
.p-front-media-sns__btn-symbol-img-x {
    width: 1.6rem;
}
.p-front-media-sns__btn-text {
    width: 100%;
    margin: 0 7px;
    text-align: center;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.4;
}
.p-front-media-sns__btn-text--instagram {
    color: #d93175;
}
.p-front-media-sns__btn-text--facebook {
    color: #315096;
}
.p-front-media-sns__btn-text--twitter {
    color: #55acee;
}
.p-front-media-sns__btn-text--x {
    color: #000;
}
.p-front-media-sns__btn-text--youtube {
    color: #cd201f;
}
@media (min-width: 37.5em) {
    .p-front-media-sns__instagram > .p-front-media-sns__instagram-item {
        width: 25%;
    }
    .p-front-media-sns__instagram > .p-front-media-sns__instagram-item:nth-child(3) {
        order: 3;
    }
    .p-front-media-sns__instagram > .p-front-media-sns__instagram-item:nth-child(4) {
        order: 4;
    }
    .p-front-media-sns__btn {
        justify-content: center;
        margin-bottom: 2rem;
    }
    .p-front-media-sns__btn-item {
        width: auto;
    }
    .p-front-media-sns__btn-link {
        align-items: center;
    }
    .p-front-media-sns__btn-symbol {
        margin-bottom: 0;
    }
    .p-front-media-sns__btn-text {
        width: auto;
        font-size: 1.2rem;
    }
}
@media (min-width: 48em) {
    .p-front-media-sns__btn {
        margin-bottom: 0;
    }
}
@media (min-width: 64.0625em) {
    .p-front-media-sns__instagram > .p-front-media-sns__instagram-item {
        width: 20%;
    }
    .p-front-media-sns__instagram > .p-front-media-sns__instagram-item:last-child {
        display: flex;
        order: 5;
    }
    .p-front-media-sns__instagram {
        margin-bottom: 2.5rem;
    }
}

/* マハエの沖縄ダイヤリー管理(2022年 TOP改修 非表示指示)
========================================== */
/* ミス沖縄公式Youtube管理
========================================== */
.p-front-media-video {
    width: 100%;
    margin-bottom: 3rem;
}
.p-front-media-video__content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.p-front-media-video__content-main {
    align-self: flex-start;
    width: 100%;
    padding-bottom: 2rem;
    margin-bottom: 2rem;
    border-bottom: solid 1px #ddd;
}
.p-front-media-video__content-sub {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
}
.p-front-media-video__unit--column {
    width: calc(50% - 6px);
    margin-bottom: 1rem;
    display: none;
}
.p-front-media-video__unit--column:nth-child(-n+2) {
    display: block;
}
.p-front-media-video__unit-wrap {
    display: block;
    color: #353535 !important;
}
.p-front-media-video__unit-figure {
    position: relative;
    width: 100%;
    height: auto;
    display: block;
    margin-bottom: 1rem;
}
.p-front-media-video__unit-figure:before {
    display: block;
    content: "";
    padding-top: 56.325%;
}
.p-front-media-video__unit-obj {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: block;
}
.p-front-media-video__unit-obj--img-fit {
    object-fit: cover;
    font-family: "object-fit: cover;"; /*IE*/
}
.p-front-media-video__unit-title {
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: 1rem;
}
.p-front-media-video__unit-title--overflow {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: clip;
    white-space: normal;
}
.p-front-media-video__unit-disc {
    width: 100%;
    font-size: 1.2rem;
    line-height: 1.7;
}
.p-front-media-video__unit-disc--overflow {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: clip;
    white-space: normal;
}
.p-front-media-video__unit-disc br {
    display: none;
}
.p-front-media-video__btn {
    width: 100%;
}
@media (min-width: 48em) {
    .p-front-media-video {
        width: calc(60% - 1rem);
        padding-top: 1rem;
        padding-bottom: 0;
        margin-bottom: 0;
        border-bottom: none;
    }
    .p-front-media-video__content-main {
        width: 100%;
        padding-bottom: 2rem;
        margin-bottom: 2rem;
        border-bottom: solid 1px #ddd;
    }
    .p-front-media-video__content-sub {
        width: 100%;
    }
}
@media (min-width: 64.0625em) {
    .p-front-media-video {
        width: 71.484375%;
        padding-top: 2rem;
    }
    .p-front-media-video__content-main {
        width: calc(50% - 1rem);
        padding-bottom: 0;
        margin-bottom: 0;
        border-bottom: none;
    }
    .p-front-media-video__content-sub {
        width: calc(50% - 1rem);
    }
    .p-front-media-video__unit--column {
        display: none;
    }
    .p-front-media-video__unit--column:nth-child(-n+4) {
        display: block;
    }
    .p-front-media-video__unit-title--main {
        font-size: 1.4rem;
    }
    .p-front-media-video__unit-disc--overflow {
        -webkit-line-clamp: 3;
    }
}

/* 壁紙カレンダー管理
========================================== */
.p-front-media-calendar {
    align-self: flex-start;
    width: 100%;
    background: #fff;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.15);
    padding: 1.5rem;
}
.p-front-media-calendar__inner {
    width: 100%;
}
.p-front-media-calendar__link {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    color: #353535 !important;
}
.p-front-media-calendar__unit {
    padding: 0 1rem;
}
.p-front-media-calendar__unit-inner {
    position: relative;
    max-width: 12rem;
}
.p-front-media-calendar__disc {
    width: 100%;
    font-size: 1.2rem;
    line-height: 1.4;
    margin-top: 1.5rem;
    text-align: center;
}
.p-front-media-calendar__figure {
    display: block;
    width: 100%;
}
.p-front-media-calendar__figure-img {
    width: 100%;
}
.p-front-media-calendar__obj {
    width: 100%;
}
@media (min-width: 48em) {
    .p-front-media-calendar {
        width: calc(40% - 1rem);
        padding: 2rem;
    }
    .p-front-media-calendar__link {
        flex-wrap: wrap;
    }
    .p-front-media-calendar__unit {
        width: 100%;
        padding: 0;
    }
    .p-front-media-calendar__unit:first-child {
        margin-bottom: 1rem;
    }
    .p-front-media-calendar__unit-inner {
        max-width: 100%;
        margin: 0 auto;
    }
    .p-front-media-calendar__disc {
        font-size: 1.4rem;
    }
}
@media (min-width: 64.0625em) {
    .p-front-media-calendar {
        width: 25%;
    }
}

/* お役立ちアイテム(2022年 TOP改修 非表示指示)
========================================== */
/* 関連サイト・記事管理(2022年 TOP改修 非表示指示)
========================================== */
/* バナー管理
** JS:Slick * pages/index.js
========================================== */
.p-front-banner__section:nth-last-child(n+2) {
    padding-bottom: 1rem;
    margin-bottom: 1.5rem;
}
.p-front-banner__title {
    text-align: center;
    margin-bottom: 1rem;
    font-size: 1.4rem;
    font-weight: bold;
    color: #006dba;
}
.p-front-banner__list {
    width: 100%;
}
.p-front-banner__list-item {
    width: 100%;
    padding: 5px;
}
.p-front-banner__list-link {
    display: block;
    width: 100%;
    height: 100%;
}
.p-front-banner__list-text {
    display: none;
}
.p-front-banner__list-img {
    display: block;
}
.p-front-banner .slick-dots li button:before {
    color: #004ea2;
    font-size: 1rem;
}
@media (min-width: 48em) {
    .p-front-banner__list {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }
    .p-front-banner__list-item {
        width: 25%;
    }
}
@media (min-width: 64.0625em) {
    .p-front-banner__list-item {
        width: 20%;
    }
    .p-front-banner__section:nth-last-child(n+2) {
        margin-bottom: 3rem;
    }
}
@media (min-width: 80em) {
    .p-front-banner__list-item {
        padding: 1.1rem;
    }
}

/* エリアガイドマップモーダル管理
** JS:Modal * pages/index.js
========================================== */
.p-front-modal-area-guide__content {
    width: 98%;
    max-width: 48rem;
    margin: 0 auto;
}
.p-front-modal-area-guide__inner {
    padding: 2rem 1rem 1rem;
    background-color: #fff;
}
.p-front-modal-area-guide__head {
    margin-bottom: 1.5rem;
}
.p-front-modal-area-guide__title {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.2;
    color: #006dba;
    margin-bottom: 1rem;
}
.p-front-modal-area-guide__disc {
    text-align: left;
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
    border-bottom: dashed 1px #ddd;
    font-size: 1.2rem;
    line-height: 1.4;
}
.p-front-modal-area-guide__caption {
    text-align: left;
    margin-bottom: 1rem;
    font-size: 1.2rem;
    line-height: 1.4;
}
.p-front-modal-area-guide__column {
    width: 100%;
}
.p-front-modal-area-guide__object {
    width: 100%;
    margin-bottom: 1rem;
}
.p-front-modal-area-guide__box {
    width: 100%;
}
.p-front-modal-area-guide__gallery {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 1.5rem;
}
.p-front-modal-area-guide__gallery-figure {
    position: relative;
    display: flex;
    align-self: flex-start;
    width: calc(50% - 5px);
    height: auto;
}
.p-front-modal-area-guide__gallery-figure:before {
    display: block;
    content: "";
    padding-top: 64.21%;
}
.p-front-modal-area-guide__gallery-img {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    font-family: "object-fit: cover;"; /*IE*/
}
.p-front-modal-area-guide__list {
    display: flex;
    flex-wrap: wrap;
}
.p-front-modal-area-guide__list-item {
    width: 50%;
    border: solid 1px #fff;
    margin: -1px 0 0 -1px;
}
.p-front-modal-area-guide__list-link {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 1rem;
    background-color: #006dba;
    color: #fff !important;
    font-size: 1.2rem;
    font-weight: bold;
}
.p-front-modal-area-guide__list-link:after {
    position: absolute;
    right: 1rem;
}
.p-front-modal-area-guide__btn {
    display: flex;
    justify-content: flex-end;
    margin: 1rem 0;
}
.p-front-modal-area-guide__btn-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    color: #fff !important;
}
.p-front-modal-area-guide__btn-link:before {
    font-size: 2.6rem;
}
@media (min-width: 23.4375em) {
    .p-front-modal-area-guide__title {
        font-size: 2rem;
    }
    .p-front-modal-area-guide__disc {
        font-size: 1.4rem;
        line-height: 1.5;
    }
    .p-front-modal-area-guide__list-item {
        width: 33.3333%;
    }
}
@media (min-width: 60.625em) {
    .p-front-modal-area-guide__content {
        max-width: 128rem;
    }
    .p-front-modal-area-guide__inner {
        padding: 2rem;
    }
    .p-front-modal-area-guide__head {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
    }
    .p-front-modal-area-guide__title {
        text-align: left;
        margin: 0 1rem 5px 0;
    }
    .p-front-modal-area-guide__lead {
        margin-bottom: 5px;
    }
    .p-front-modal-area-guide__column {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
    }
    .p-front-modal-area-guide__object {
        width: 40%;
        order: 2;
    }
    .p-front-modal-area-guide__box {
        width: 60%;
        order: 1;
    }
    .p-front-modal-area-guide__list-link {
        font-size: 1.4rem;
    }
}
@media (min-width: 64.0625em) {
    .p-front-modal-area-guide__title {
        font-size: 2.6rem;
    }
    .p-front-modal-area-guide__object {
        width: 40%;
    }
    .p-front-modal-area-guide__box {
        width: 60%;
    }
}

/* 沖縄の新型コロナ感染症情報サイト誘導バナー
** メインビジュアル上設置
========================================== */
.p-front-covid-visual {
    position: absolute;
    z-index: 2;
    right: 4rem;
    bottom: 4.5rem;
    width: 31.25%;
    max-width: 16rem;
    display: none;
}
.p-front-covid-visual__wrap {
    display: block;
    width: 100%;
    background-color: #006dba;
    border-radius: 50%;
}
.p-front-covid-visual__link {
    display: block;
    width: 100%;
}
.p-front-covid-visual__figure {
    display: block;
    width: 100%;
}
@media (min-width: 48em) {
    .p-front-covid-visual {
        bottom: 10rem;
        display: block;
    }
}
@media (min-width: 80em) {
    .p-front-covid-visual {
        right: calc(50% - 52rem);
        transform: translateX(50%);
    }
}

/* タブ・コンテナ
** JS:Tab * pages/index.js
========================================== */
.p-front-areaguide {
    width: 100%;
}
.p-front-areaguide__tab {
    display: flex;
    align-items: stretch;
    flex-grow: 1;
    width: 100%;
    max-width: 55.5rem;
}
.p-front-areaguide__tab-btn {
    width: 100%;
    text-align: center;
    border-radius: 4px 4px 0 0;
    border: solid 1px #f0f0f0;
    border-bottom: none !important;
    background-color: #fff;
    color: #353535;
    font-size: 1rem;
    line-height: 1.4;
    font-weight: bold;
    cursor: pointer;
}
.p-front-areaguide__tab-btn:nth-last-child(n+2) {
    margin-right: 2px;
}
.p-front-areaguide__tab-btn.is--active {
    color: #fff;
    border-color: #006dba;
    background-color: #006dba;
}
.p-front-areaguide__tab-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    width: 100%;
    height: 100%;
    padding: 5px;
}
.p-front-areaguide__storage {
    border-top: solid 2px #006dba;
}
.p-front-areaguide__storage-wrap {
    display: none;
    padding-top: 1.5rem;
}
.p-front-areaguide__storage-wrap.is--show {
    display: block;
}
@media (min-width: 20em) {
    .p-front-areaguide__tab-btn {
        font-size: 1.2rem;
    }
}
@media (min-width: 23.4375em) {
    .p-front-areaguide__tab-inner {
        padding: 1rem 5px;
    }
}
@media (min-width: 30em) {
    .p-front-areaguide__tab-inner {
        padding: 1.4rem 0;
    }
    .p-front-areaguide__tab-inline {
        width: auto;
    }
}
@media (min-width: 37.5em) {
    .p-front-areaguide__tab-inner {
        padding: 1.1rem 0;
    }
}
@media (min-width: 64.0625em) {
    .p-front-areaguide__tab-btn {
        font-size: 1.5rem;
    }
}
@media (min-width: 80em) {
    .p-front-areaguide__tab-btn {
        font-size: 1.5rem;
    }
    .p-front-areaguide__tab-btn:nth-last-child(n+2) {
        margin-right: 7.5px;
    }
}
/*# sourceMappingURL=index.css.map */