@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Inter:wght@400;500;600;700&family=Zen+Kaku+Gothic+Antique:wght@400;500;700&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap');

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
dialog,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    vertical-align: baseline;
    border: 0;
    outline: 0;
}
header,
footer,
article,
section,
aside,
hgroup,
nav,
menu,
figure,
figcaption,
time {
    display: block;
}
li {
    list-style: none;
}
ol li {
    list-style: decimal;
}
img {
    max-width: 100%;
    height: auto;
    font-size: 0;
    line-height: 0;
    vertical-align: top;
    border: 0;
}
table {
    border-spacing: 0;
    border-collapse: collapse;
}
caption,
th {
    text-align: left;
}
hr {
    display: block;
    height: 1px;
    margin: 1em 0;
    padding: 0;

    border: 0;
    border-top: 1px solid #ccc;
}
input,
select {
    vertical-align: middle;
}
input,
textarea {
    margin: 0;
    padding: 0;
}
::selection {
    background: #0181C0;
    color: #fff;
}
/*----------------------------------------
	Common
----------------------------------------*/
html {
    width: 100%;
    font-size: 62.5%;
}
@media only screen and (min-width: 1920px) {
    html {
        font-size: 62.5%;
    }
}
@media screen and (min-width:768px) and ( max-width:1280px) {
    html {
        font-size: calc(40% + 0.25vw)
    }
}
@media only screen and (max-width: 767px) {
    html {
        font-size: 62.5%;
    }
}
@media only screen and (max-width: 375px) {
    html {
        font-size: 58%;
    }
}
body {
    font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", YuGothic, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "Droid Sans", sans-serif;
    font-size: 1.6rem;
    font-weight: 400;
    position:relative;
    z-index: 0;
    line-height: 1.75;
    color: #121212;
    -webkit-font-variant-ligatures: none;
    font-variant-ligatures: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
    overflow-x: hidden;
    height: 100%;
    position: relative;
    word-wrap: break-word;
}
a {
    color: #0181C0;
    outline: none;
    text-decoration: underline;
}
a:hover {
    color: #0181C0;
    text-decoration: none;
}
a[href^="tel:"] {
	cursor: default;
}
.show-mobile-inline,
.show-mobile {
    display: none;
}
.hide-mobile {
    display: block;
}
.hide-mobile-inline {
	display: inline-block;
}
.br-mobile {
    display: none !important;
}
.inner {
    width: 90%;
    /* max-width: 120rem; */
    margin-left: auto;
    margin-right: auto;
}
.full-width {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}
.f-bold {
    font-weight: bold;
}
.mt-1 {
    margin-top: 1rem;
}
.mb-1 {
    margin-bottom: 1rem;
}
.mb-2 {
    margin-bottom: 2rem;
}
.mb-4 {
    margin-bottom: 4rem;
}
.t-blue {
    color: #0181C0;
}
.t-red {
    color: #E34371;
}
@media only screen and (min-width: 769px) {
    a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
    }
}
@media only screen and (max-width: 767px) {
    body {
        font-size: 1.5rem;
    }
	.show-mobile {
		display: block;
	}
	.show-mobile-inline {
		display: inline-block;
	}
	.hide-mobile {
		display: none;
	}
	.hide-mobile-inline {
		display: none;
	}
    .br-mobile {
        display: block !important;
    }
    main {
        /* overflow-x: hidden; */
    }
}

/*----------------------------------------
	Animation
----------------------------------------*/
.animate.delay1 {
    transition-delay: .1s;
}
.animate.delay2 {
    transition-delay: .2s;
}
.animate.delay3 {
    transition-delay: .3s;
}
.animate.delay4 {
    transition-delay: .4s;
}
.animate.delay5 {
    transition-delay: .5s;
}
.animate.delay6 {
    transition-delay: .6s;
}
.animate.delay7 {
    transition-delay: .7s;
}
.animate.delay8 {
    transition-delay: .8s;
}
.animate.delay9 {
    transition-delay: .9s;
}
.animate.delay10 {
    transition-delay: 1s;
}
.fadeIn {
    transition: opacity 1s .1s;
    opacity: 0;
}
.fadeIn.inview {
    opacity: 1;
}
.fadeUpIn {
    transition-property: opacity, transform;
    transition-duration: 1s;
    transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
    transform: translate3d(0, 30px, 0);
    opacity: 0;
}
.fadeUpIn.inview {
    transform: translate3d(0, 0, 0);
    opacity: 1;
}
.blurIn {
    animation-name: blurInAnime;
    animation-fill-mode: forwards;
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 0;
}
@keyframes blurInAnime {
    0% {
        filter:blur(15px);
        transform:scale(1.02);
        opacity:0
    }
    100% {
        filter:blur(0);
        transform:scale(1);
        opacity:1
    }
}
.scaleUpLeft.animate {
    transform: scale(1);
    transform-origin: left center
}
.scaleUpLeft.animate.inview  {
    animation-name: scaleUpLeftAnime;
    animation-duration: 2s;
    animation-fill-mode: forwards;
    animation-timing-function: ease-out;
}
@keyframes scaleUpLeftAnime {
    from {
        transform: scale(.5);
    }
    to {
        transform: scale(1);
    }
}
.flipLeftTop {
    transform: translate(-20px,10px) rotate(-15deg);
    opacity: 0;
}
.flipLeftTop.animate.inview {
    animation-name: flipLeftTopAnime;
    animation-duration: .6s;
    animation-fill-mode:forwards;
}

@keyframes flipLeftTopAnime {
    from {
        transform: translate(-20px,10px) rotate(-15deg);
        opacity: 0;
    }
    to {
        transform: translate(0,0) rotate(0deg);
        opacity: 1;
    }
}
.balloonBouncy.animate.inview {
    animation-name: balloonBouncy;
    animation-duration: 1s;
    animation-fill-mode: both;
    transform-origin: left;
}
@keyframes balloonBouncy {
    0% {
        transform: scale3d(1, 1, 1);
    }
    30% {
        transform: scale3d(1.2, 0.9, 1);
    }
    40% {
        transform: scale3d(0.8, 1.3, 1);
    }
    50% {
        transform: scale3d(1.2, 0.9, 1);
    }
    65% {
        transform: scale3d(0.9, 1.1, 1);
    }
    75% {
        transform: scale3d(1.1, 0.9, 1);
    }
    100% {
        transform: scale3d(1, 1, 1);
    }
}

/*----------------------------------------
	Components
----------------------------------------*/
/* Google Mapリンクボタン */
.c-gmap-link-btn {
    line-height: 1;
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 1.2rem;
    color: #2e2e2e;
    padding: 0.5rem 1rem;
    width: fit-content;
    border: 1px solid #2e2e2e;
    border-radius: 1.8rem;
    text-decoration: none;
    background: #fff;
    background-size: 1rem auto;
    margin-left: 1.5rem;
    transition: all .3s;
}
.c-gmap-link-btn:hover {
    color: #fff;
    background: #2e2e2e;
    background-size: 1rem auto;

}
/* 入力フォーム */
.c-input {
    font-family: "Noto Sans CJK JP", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", YuGothic, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "Droid Sans", sans-serif;
    width: 100%;
    padding: 1.6rem;
    transition: all .3s ease;
    font-size: 1.5rem;
    border: 1px solid #CCC;
    border-radius: 4px;
    outline: none;
    background-color: #ebebeb;
    appearance: none;
}
.c-input-date {
    width: 200px;
    padding: 1.6rem;
    transition: all .3s ease;
    font-size: 1.5rem;
    border: 1px solid #CCC;
    border-radius: 4px;
    outline: none;
    background-color: #ebebeb;
    appearance: none;
}
.c-select-time {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    text-indent: 4px;
    border-radius: 4px;
    background: #EEE no-repeat;
    vertical-align: middle;
    border: 1px solid #CCC;
    font-size: 15px;
    width: 100px;
    padding: 1.6rem;
    margin-left: 1rem;
}
.c-textarea {
    font-family: "Noto Sans CJK JP", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", YuGothic, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "Droid Sans", sans-serif;
    font-size: 1.5rem;
    box-sizing: border-box;
    width: 100%;
    height: 360px;
    padding: 1.6rem;
    transition: all .3s ease;
    border: 1px solid #CCC;
    border-radius: 4px;
    outline: none;
    background-color: #ebebeb;
    appearance: none;
}
.c-select {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    text-indent: 4px;
    border-radius: 4px;
    background: #EEE no-repeat;
    vertical-align: middle;
    border: 1px solid #CCC;
    font-size: 15px;
    width: 300px;
    padding: 1.6rem;
}
/* インラインリンク */
.c-link {
    color: #0181C0;
    text-decoration: none;
    font-weight: 600;
    position: relative;
    display: inline-block;
    width: fit-content;
    height: fit-content;
    line-height: 1.4;
    padding: 10px 0;
    z-index: 1;
    cursor: pointer;
    transition: .3s linear;
}
.c-link:hover {
    color: #0181C0;
    opacity: .6;
}
.c-link::before {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 1px;
    width: 36px;
    height: 36px;
    background: url(../img/common/icon_link_allow_b.svg) no-repeat center;
    background-size: 8px auto;
}
.c-link:after {
    display: block;
    content: "";
    transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    border: 1px solid #0181C0;
    border-radius: 50%;
    margin: auto;
    z-index: -1;
}
.c-link span {
    position: relative;
    display: block;
    overflow: hidden;
    padding-right: 48px;
}
/* .c-link:hover:before {
    animation: arrow-rotate .4s ease-out;
} */
.c-link.black {
    color: #2e2e2e;
    letter-spacing: .02em;
}
.c-link.black::before {
    background: url(../img/common/icon_link_allow.svg) no-repeat center;
    background-size: 8px auto;
}
.c-link.black:after {
    border: 1px solid #2e2e2e;
}

@keyframes arrow-rotate {
    0% {
        opacity: 1;
        background-position: 50% center;
    }
    40% {
        opacity: .2;
        background-position: 180% center;
    }
    41% {
        opacity: 0;
        background-position: 180% center;
    }
    59% {
        opacity: 0;
        background-position: -180% center;
    }
    60% {
        opacity: .2;
        background-position: -180% center;
    }
    100% {
        opacity: 1;
        background-position: 50% center;
    }
}

/* ボタン */
.c-button {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #0181C0;
    color: #fff;
    font-weight: 700;
    width: 100%;
    padding: 1.7rem 4rem 2.3rem 4rem;
    line-height: 1;
    text-decoration: none;
    border: none;
    border-radius: 10rem;
    cursor: pointer;
    width: fit-content;
    min-width: 24rem;
    transition: all .3s cubic-bezier(.175, .885, .32, 1.275);
}
.c-button img {
    display: inline-block;
    height: 13px;
}
.c-button:hover {
    opacity: .75;
    color: #fff;
    text-decoration: none;
}
.c-button.white {
    border: 1px solid #2e2e2e;
    color: #2e2e2e;
    background-color: #fff;
}
.c-button.white:hover {
    opacity: 1;
    color: #fff;
    background-color: #0181C0;
    border-color: #0181C0;
}

.c-button[type=submit] {
    padding: 2.2rem 0 2.2rem 0;
}
.c-button.out-link::after {
    background: url(../img/common/icon_link_out_w.svg) no-repeat 50% center;
    background-size: 1.6rem auto;
}
.c-button.favorite {
    background-color: #BDC2C8;
}
.c-button.favorite::after {
    content: '';
    display: inline-block;
    width: 2rem;
    height: 2rem;
    background: url(../img/common/icon_heart_w.svg) no-repeat 50% center;
    background-size: contain;
    margin-left: 1rem;
}
.c-required {
    font-size: 1.4rem;
    color: #E74400;
}
.c-input-unit {
    margin: 0 2rem 0 .4rem;
}
/* パンクズ */
.c-bread-crumb {
    font-size: 1.1rem;
    color: #696969;
}
.c-bread-crumb ul {
    display: flex;
    justify-content: end;
    padding: 2rem 0;
    line-height: 1;
    overflow-x: auto;
    white-space: nowrap;
}
.c-bread-crumb ul li {
    position: relative;
    flex: 0 0 auto;
    list-style: none;
}
.c-bread-crumb ul li:not(:first-child):before {
    position: absolute;
    top: 50%;
    display: block;
    content: '／';
    transform: translate(-50%, -50%);
}
.c-bread-crumb ul li a {
    color: #0181C0;
    padding-right: 1.4rem;
    text-decoration: none;
}
.c-bread-crumb ul li:not(:first-child) a {
    padding-left: 1.4rem;
}
.c-bread-crumb ul li span {
    padding-left: 1.4rem;
}
/* 吹き出し */
.c-fukidashi {
    position: relative;
    margin-bottom: 3rem;
}
.c-fukidashi::after {
    content: "";
    position: absolute;
    top: calc(100% - 1px);
    left: 30px;
    transform: skew(-45deg);
    height: 11px;
    width: 11px;
    border-right: 1px solid #000;
    background-color: #fff;

}
.c-fukidashi p {
    width: fit-content;
    border: 1px solid #000;
    border-radius: 10rem;
    font-size: 1.3rem;
    font-weight: 600;
    line-height: 1.5;
    padding: 1rem 2.2rem 1.2rem 2.2rem;
}
.c-fukidashi.white {}
.c-fukidashi.white::after {
    border-right: 1px solid #fff;
    background-color: #2e2e2e;
}
.c-fukidashi.white p {
    border: 1px solid #fff;
    color: #fff;
}
/* モーダル背景 */
.c-modal-overlay {
    z-index: 100;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .55);
}
/* 日付 */
.date {
    font-family: 'Inter', sans-serif;
    letter-spacing: .04rem;
    line-height: 1;
}
.new {
    display: flex;
    align-items: center;
}
.new::after {
    content: '';
    display: inline-block;
    width: 1rem;
    height: 1rem;
    background-color: #f65936;
    border-radius: 50%;
    margin-left: 0.8rem;
    animation: dot-pulse 1.5s infinite linear;
}
@keyframes dot-pulse {
    0% {
        opacity: 1;
    }
    50% {
        opacity: .1;
    }
    100% {
        opacity: 1;
    }
}
/* 数字 */
.number {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
}
/* youtube popup */
.c-popup {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, .7);
    width: 100%;
    height: 100vh;
    opacity: 0;
    transition: opacity .4s ease-in;
    z-index: 1000;
}
.c-popup.show-modal {
    opacity: 1;
    display: block;
}
.c-popup.text {
    overflow-y: scroll;
    height: 100%;
    padding: 2rem;
}

.c-popup__inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 86%;
    max-width: 640px;
}
.c-popup__inner::before {
    content: "";
    display: block;
    padding-top: 56.25%;
}
.c-popup__inner iframe {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
}
.c-popup__inner--uliza::before {
    content: none;
}
.c-popup__inner-close {
    position: absolute;
    width: 25px;
    height: 20px;
    top: -25px;
    right: 0;
    background-color: transparent;
    border: none;
    cursor: pointer;
}
.c-popup__inner-close span {
    display: inline-block;
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #fff;
    border-radius: 2px;
}
.c-popup__inner-close span:first-of-type {
    top: 0;
    transform: translateY(10px) rotate(-45deg);
}
.c-popup__inner-close span:nth-of-type(2) {
    top: 10px;
    transform: translateY(0) rotate(45deg);
}
/* お気に入りボタン */
.c-favorite-btn {
    width: 3.4rem;
    height: 3.4rem;
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: .8rem .8rem .6rem .8rem;
    border-radius: 10rem;
    background: #fff;
    border: none;
    outline: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
}
.c-favorite-btn img {
    width: 100%;
    height: auto;
    transition: .1s linear;
}
.c-favorite-btn:hover img {
    transform: scale(1.2);
}
.c-favorite-btn .tipbox {
    position: absolute;
    top: 44px;
    right: 0;
    z-index: 1;
    width: 130px;
    padding: 8px 8px 7px 8px;
    background-color: rgba(0,0,0, .7);
    color: #fff;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    opacity: 0;
    transition: .1s linear;
}
.c-favorite-btn:hover .tipbox {
    opacity: 1;
    transition-delay: .5s;
}
.c-favorite-btn.trash_button img {
    animation-name: heartBlast;
    animation-duration: .4s;
}
@keyframes heartBlast {
    0% {
    transform: scale(0.3);
    }
    35% {
    transform: scale(1.8);
    }
    70% {
        transform: scale(.6);
        }
    100% {
    transform: scale(1.0);
    }
}
/* お気に入りアイコン */
.c-favorite-icon {
    display: flex;
    align-items: center;
    position: relative;
    height: 2rem;
}
.c-favorite-icon img {
    width: 2rem;
    height: auto;
    transition: .4s;
}
.c-favorite-icon .number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-width: 20px;
    height: 20px;
    text-align: center;
    position: absolute;
    top: -1rem;
    left: 1.4rem;
    padding: 0 0.3rem 0 0.3rem;
    font-size: 1rem;
    line-height: 1;
    border-radius: 3rem;
    background-color: #fff;
    color: #0181C0;
}
/* スクロールヒント */
.c-scroll-hint {
    display: none;
}
.c-scroll-hint img {
    width: 4rem;
    height: auto;
    margin-bottom: 1.5rem;
}
.c-scroll-hint p {
    line-height: 1.65;
}
/* 検索ボックス */
.p-search-form {
    width: 100%;
    max-width: 40rem;
    display: flex;
    align-items: center;
    background: #fff;
    border: 1px solid #CCC;
    padding: 0 2rem 0 0;
}
.p-search-form__input {
    height: 5rem;
    background: #fff;
    border: none;
}
.p-search-form__submit {
    width: 2.2rem;
    margin: 0;
    padding: 0;
    border-radius: none;
    background: none;
    border: none;
    outline: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
}
@media only screen and (max-width: 767px) {
    .c-scroll-hint {
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        background: rgba(0, 0, 0,.7);
        color: #fff;
        line-height: 1.5;
        text-align: center;
        padding: 4rem 3rem 1rem 3rem;
        border-radius: 1rem;
    }
    .c-scroll-hint.inview {
        animation-name: blinkAnime;
        animation-duration: 4s;
        animation-fill-mode: forwards;
        animation-delay: 1s;
        animation-timing-function: linear;
    }
}
@keyframes blinkAnime {
    0% {
        opacity:1;
    }
    20% {
        opacity:0;
    }
    40% {
        opacity:1;
    }
    80% {
        opacity:1;
    }
    99% {
        opacity:0;
    }
    100% {
        opacity:0;
        z-index: -1;
    }
}

@media only screen and (max-width: 767px) {
    /* Google Mapリンクボタン */
    .c-gmap-link-btn {
        display: block;
        margin: 1rem 0 0 0;
    }
    .c-input-unit {
        margin: 0 1rem 0 0.2rem;
    }
    .c-button {
        font-size: 1.6rem;
        padding: 1.6rem 3rem 2rem 3rem;
    }
    .c-bread-crumb {
        display: none;
    }
    .c-bread-crumb ul {
        justify-content: start;
        padding: 1rem 0;
    }
    .c-bread-crumb ul li {
        font-size: 1rem;
    }
    /* 吹き出し */
    .c-fukidashi p {
        font-size: 1.1rem;
    }
    /* お気に入りボタン */
    .c-favorite-btn {
        width: 3.2rem;
        height: 3.2rem;
        top: 0.8rem;
        right: 0.8rem;
        padding: 0.7rem 0.7rem .5rem 0.7rem;
    }
    .c-favorite-btn:hover img {
        transform: scale(1);
    }
    .c-favorite-btn .tipbox {
        display: none;
    }
    /* お気に入りアイコン */
    .c-favorite-icon .number {
        font-size: 1.1rem;
    }
}

/*----------------------------------------
	Layout
----------------------------------------*/
.l-main {
    /* min-width: 100rem; */
    position: relative;
    z-index: 0;
    /* margin-top: 120px; */
}
.l-header {
    /* position: absolute;
    top: 0; */
    position: relative;
    z-index: 2;
    width: 100vw;
    display: flex;
    align-items: center;
    transition: all .3s ease;
}
/* .is_popup-show:not(.menu-open) .l-header,
.when_scroll:not(.menu-open) .l-header {
    transform: translateY(-120%);
    opacity: 0;
} */

@media only screen and (max-width: 767px) {
    .l-main {
        min-width: initial;
        /* margin-top: 70px; */
    }
}

/*----------------------------------------
	Loading
----------------------------------------*/
.p-loading {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100000;
    background: #fff;
}

/*----------------------------------------
	Header
----------------------------------------*/
header::before,
header::after {
    content: '';
    display: block;
    width: 1rem;
    height: 1rem;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    bottom: -1rem;
}
header::before {
    left: 8px;
    background-image: url(../img/common/bg_corner_lt.svg);
    background-position: left top;
}
header::after {
    right: 8px;
    background-image: url(../img/common/bg_corner_rt.svg);
    background-position: right top;
}
.p-header {
    width: 100%;
    height: 12rem;
    margin: 0 auto;
    padding: 0 3rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: #0181C0;
    color: #fff;
    position: relative;
}
/* ヘッダー：左 */
.p-header__left {
    display: flex;
    flex-direction: column;
    width: 25%;
}
/* 言語選択 */
.p-language {
    display: flex;
    align-items: center;
    font-family: initial;
    font-size: 1.3rem;
    margin-bottom: 1.2rem;
}
.p-language-select > span {
    font-family: 'Inter', sans-serif;
}
.p-language-select {
    position: relative;
    width: fit-content;
    border: solid 1px rgba(255, 255, 255, 0.5);
    line-height: 1;
    padding: 0.7rem 1.2rem 0.9rem 1.2rem;
    cursor: pointer;
    background-color: #0181C0;
    margin-right: 1rem;
}
.p-language-select ul {
    display: none;
    position: absolute;
    width: 18rem;
    top: 2.9rem;
    left: -1px;
    background-color: #0181C0;
    color: #fff;
    border: solid 1px rgba(255, 255, 255, 0.5);
    z-index: 100;
    padding: 0;
}
.p-language-select:hover ul {
    display: block;
}
.p-language-select ul li {
    display: block;
    padding: 0 0 0 0;
    float: none;
    border-bottom: dotted 1px rgba(255, 255, 255, 0.5);
    border-right: none;
    line-height: 90%;
}
.p-language-select ul li:last-of-type {
    border-bottom: none;
}
.p-language-select ul li a {
    display: block;
    padding: 1.2rem;
    font-size: 13px;
    color: #fff;
    background: #0181C0;
    text-decoration: none;
}
.p-language-select ul li a:hover {
    color: #0181C0;
    background: #fff;
}
.p-language__powered {
    display: flex;
    align-items: center;
    font-size: 1rem;
    font-weight: 600;
}
.p-language__powered img {
    height: 1.4rem;
    margin: 0 2px 0 4px;
}
/* 天気 */
.p-weather {
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 1.4rem;
    letter-spacing: .01em;
    line-height: 1;
    display: flex;
    align-items: center;
    margin-top: .5rem;
}
.p-weather .label {
    font-weight: 600;
    position: relative;
    font-size: 1.2rem;
    letter-spacing: .06rem;
    margin-right: 1.2rem;
    margin-top: -5px;
}
.p-weather .label::after{
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    border-bottom: 1px solid #fff;
    position: absolute;
    left: 0;
    bottom: -8px;
}
.p-weather .number {
    font-size: 2.2rem;
    letter-spacing: .02em;
}
.p-weather .unit {
    font-size: 1rem;
    margin: 0.3rem 0 0 0.3rem;
}
.p-weather img {
    width: 1.8rem;
    height: auto;
    margin-left: 1rem;
}
/* ヘッダー：ロゴ */
.p-header .logo {
    width: 35%;
    /* max-width: 46rem; */
    position: absolute;
    top: 3rem;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
}
.p-header .logo a {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    color: #fff;
    text-align: center;
    text-decoration: none;
}
.p-header .logo a span {
    display: block;
    font-size: 1.5rem;
    line-height: 1;
    letter-spacing: .32rem;
    margin-bottom: 2rem;
}
.p-header .logo a img {
    display: block;
    width: 100%;
}
/* ヘッダー：右 */
.p-header__right {
    width: 25%;
    display: flex;
    align-items: start;
    justify-content: end;
    font-size: 1.3rem;
    letter-spacing: .04em;
    font-weight: 500;
}
.p-header-navi {
    height: 50px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin-right: 3.8rem;
    cursor: pointer;
}
.p-header-navi figure {
    width: 20px;
    height: 20px;
    margin-bottom: 0;
}
.p-header-navi.menu {
    margin-right: 0;
}
.p-header-navi img {
    width: auto;
    height: 20px;
}
.p-header-navi p {
    margin-top: 1.4rem;
    line-height: 1;
}
/* メニューボタン */
.p-menu-open-icon {
    position: relative;
    width: 20px;
    height: 20px;
}
.p-menu-open-icon span {
    display: block;
    width: 20px;
    height: 2px;
    background-color: #fff;
    position: absolute;
    left: calc(50% - 10px);
    transition: all .3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.p-menu-open-icon span.l1 {
    top: 3px;
}
.p-menu-open-icon span.l2 {
    top: 9px;
}
.p-menu-open-icon span.l3 {
    top: 15px;
}
.p-header-navi.menu p {
    line-height: 1;
    margin-top: 1.4rem;
}
/* ヘッダー検索 */
.p-header-search {
    width: 100vw;
    height: 16rem;
    overflow: scroll;
    background-color: #0181C0;
    color: #fff;
    position: fixed;
    top: -30rem;
    right: 0;
    z-index: 1001;
    overflow-x: hidden;
    overflow-y: scroll;
    transition: .5s cubic-bezier(0.215, 0.61, 0.355, 1);
    padding: 12rem 3rem 7rem 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.search-open .p-header-search {
    top: 0;
}
.p-header-search .p-search-form {
    border: none;
}
/* ヘッダーメニュー */
.p-header-menu {
    width: 100vw;
    position: fixed;
    top: 0;
    /* right: -100vw; */
    right: 0;
    visibility: hidden;
    z-index: 1001;
    opacity: 0;
    display: flex;
    transition: .5s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.menu-open .p-header-menu {
    /* right: 0; */
    opacity: 1;
    visibility: visible;
}
.p-header-menu__visual {
    flex: 1;
}
.p-header-menu__visual picture {
    display: block;
    width: 100%;
    height: 100vh;
    overflow: hidden;
}
.p-header-menu__visual picture img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.p-header-menu__content {
    width: fit-content;
    max-width: 60rem;
    height: 100vh;
    overflow: scroll;
    background-color: #0181C0;
    color: #fff;
    overflow-x: hidden;
    overflow-y: scroll;
    padding: 5rem 8rem 0 8rem;
}
/* ヘッダー：閉じるボタン */
.p-header-close {
    position: absolute;
    right: calc( 3.125% + 0.3rem );
    top: 4.2rem;
    width: 40px;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.p-header-close .button {
    position: relative;
    width: 20px;
    height: 20px;
}
.p-header-close span {
    display: block;
    width: 20px;
    height: 2px;
    background-color: #fff;
    position: absolute;
    top: 10px;
    left: 0;
}
.p-header-close span.l1 {
    transform: rotate(45deg);
}
.p-header-close span.l2 {
    transform: rotate(135deg);
}
.p-header-close p {
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1;
    margin-top: 1.3rem;
}
.p-header-menu a {
    transition: opacity .3s linear;
}
.p-header-menu a:hover {
    opacity: .7 !important;
}
.p-header-menu nav {
    display: flex;
    flex-wrap: wrap;
    margin-top: 6rem;
}
.p-header-menu nav .favorite {
    font-weight: 700;
    width: 100%;
    padding-bottom: 4rem;
    margin-bottom: 4rem;
    border-bottom: 1px solid #ddd;
    display: none;
}
.p-header-menu nav .favorite a {
    display: flex;
    align-items: center;
    color: #fff;
    text-decoration: none;
}
.p-header-menu nav .favorite .c-favorite-icon {
    margin-right: 1.4rem;
}
.p-header-menu .search {
    width: 100%;
    margin-bottom: 6rem;
}
.p-header-menu .search .p-search-form {
    border: none;
    max-width: inherit;
}
.p-header-menu nav .main-menu {
    width: 50%;
    font-size: 1.6rem;
    font-weight: 600;
    letter-spacing: .02rem;
}
.p-header-menu nav .sub-menu {
    width: 100%;
    padding-top: 4rem;
    margin-top: 2rem;
    font-size: 1.3rem;
    font-weight: 500;
    position: relative;
    border-top: 1px solid #ddd;
}
.p-header-menu nav li {
    margin-bottom: 2rem;
}
.p-header-menu nav li a {
    color: #fff;
    text-decoration: none;
    display: inline-block;
    letter-spacing: .02rem;
}
.p-header-menu-aside {
    margin-top: 4rem;
}
.p-header-menu nav .sub-menu li {
    margin-bottom: 1rem;
}
.p-header-menu .p-copyright {
    margin-top: 2rem;
}
@media only screen and (max-width: 1100px) {
    .p-header .p-language__powered {
        display: none;
    }

}
@media only screen and (max-width: 1000px) {
    .p-header {
        height: 12rem;
    }
    .p-weather {
        display: none;
    }
    .p-header__left {
        display: none;
    }
    .p-header__right {
        width: 100%;
        justify-content: space-between;
        align-items: center;
        padding-top: 0;
    }
    .p-header-navi {
        margin: 0;
    }
    .p-header-navi.search {
        display: none;
    }
}

@media only screen and (max-width: 767px) {
    header::before,
    header::after {
        display: none;
    }
    .p-header {
        width: 100%;
        height: 7rem;
        padding: 0 2.4rem;
        align-items: center;
        position: relative;
    }
    /* 言語選択 */
    .p-language-select {
        display: none;
    }
    /* ロゴ */
    .p-header .logo {
        top: 1.6rem;
        width: 54%;
    }
    .p-header .logo a {
        width: 100%;
        text-align: initial;
    }
    .p-header .logo a span {
        font-size: 1.2rem;
        letter-spacing: .1rem;
        margin-bottom: 1rem;
    }
    .p-header-navi p {
        display: none;
    }
    .p-header-navi.search {
        display: none;
    }
    .p-header-navi.favorite {
        margin-top: 1rem;
    }
    .p-header-navi.menu p {
        display: none;
    }
    /* ヘッダーメニュー */
    .p-header-menu__visual {
        opacity: 0 !important;
    }
    .p-header-menu__content {
        width: 100vw;
        max-width: initial;
        padding: 2.6rem 4rem 3rem 4rem;
    }
    /* .p-language__powered, */
    .p-language-select {
        display: flex !important;
    }
    .p-header-close {
        right: 2rem;
        top: 2.5rem;
        width: 30px;
    }
    .p-header-close p {
        display: none;
    }
    .p-header-menu .search {
        margin-bottom: 4rem;
    }
    .p-header-menu nav {
        flex-direction: column;
        margin-top: 4rem;
    }
    .p-header-menu nav li {
        margin-bottom: 1.5rem;
    }
    .p-header-menu nav .main-menu {
        width: 100%;
        font-size: 1.8rem;
    }
    .p-header-menu-aside {
        margin-top: 6rem;
    }
}


/*----------------------------------------
	Float Navi
----------------------------------------*/
.p-float-navi {
    position: fixed;
    top: 3rem;
    right: calc(3.125% - 0.3rem);
    z-index: 2;
    display: flex;
    justify-content: end;
    align-items: center;
    transition: all .3s ease;
    transform: translateY(-6rem);
    opacity: 0;
}
.p-float-navi .item {
    background-color: #0181C0;
    width: 5.2rem;
    height: 5.2rem;
    border-radius: 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all .3s ease;
}
.p-float-navi .item:hover {
    opacity: .8;
}
.p-float-navi .item img {
    height: auto;
    width: 2rem;
}
.p-float-navi .item:not(:last-of-type) {
    margin-right: 1.6rem;
}
.is_scrolled .p-float-navi {
    transform: translateY(0);
    opacity: 1;
}
.search-open .p-float-navi, 
.menu-open .p-float-navi,
.is_popup-show .p-float-navi {
    transform: translateY(-6rem) !important;
    opacity: 0 !important;
}
@media only screen and (max-width: 767px) {
    .p-float-navi {
        top: initial;
        bottom: 14rem;
        right: 2rem;
        transform: translateY(6rem);
    }
    .search-open .p-float-navi,
    .menu-open .p-float-navi,
    .is_popup-show .p-float-navi {
        transform: translateY(6rem) !important;
    }
    .is_visited .p-float-navi {
        bottom: 2rem;
    }
}

/*----------------------------------------
	Footer
----------------------------------------*/
footer {
    background-color: #0181C0;
    color: #fff;
    margin-top: 14rem;
}
.p-footer .inner {
    position: relative;
}
/* フッター：バナー */
.p-footer-banner {
    background: #1090CF;
    padding: 6rem 0;
}
.p-footer-content {
    display: flex;
    justify-content: space-between;
    padding: 6rem 0;
}
.p-footer-content a {
    color: #fff;
    text-decoration: none;
    transition: all .3s;
}
.p-footer-content a:hover {
    opacity: .5;
}
/* フッター：ロゴ */
.p-footer-content .logo {
    width: 38rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.p-footer-content .logo span {
    display: block;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .2em;
    margin-bottom: 2rem;
}
/* フッター：メニュー */
.p-footer-menu {
    width: calc( 100% - 32rem );
    display: flex;
    justify-content: end;
}
.p-footer-menu .main-menu {
    margin-right: 8%;
    font-size: 1.5rem;
    font-weight: 500;
}
.p-footer-menu .main-menu li {
    margin-bottom: 1rem;
}
.p-footer-menu .sub-menu {
    font-size: 1.2rem;
}
.p-footer-menu .sub-menu li {
    margin-bottom: 1rem;
}
.p-footer-aside {
    display: flex;
    justify-content: space-between;
    padding: 0 0 4rem 0;
}
/* コピーライト */
.p-copyright {
    font-size: 1rem;
    font-family: 'Inter', sans-serif;
    letter-spacing: .04em;
}
/* SNSアイコンリスト */
.p-sns-list {
    display: flex;
}
.p-sns-list li {
    width: 2rem;
    margin-right: 2.4rem;
    margin-bottom: 0 !important;
}
.p-sns-list li:last-of-type {
    margin-right: 0;
}
.p-sns-list li a {
    transition: .2s;
}
.p-sns-list li a:hover {
    opacity: .5;
}

@media only screen and (max-width: 840px) {
    .p-footer-content {
        flex-direction: column;
    }
    .p-footer-content .logo {
        margin-bottom: 6rem;
    }
    .p-footer-menu {
        width: 100%;
        display: flex;
        justify-content: start;
    }
}
@media only screen and (max-width: 767px) {
    .p-footer-content {
        flex-direction: column;
        padding: 6rem 0 5rem 0;
    }
    .p-footer-content .logo {
        width: 70%;
        margin: 0 auto 7rem auto;
    }
    .p-footer-content .logo span {
        font-size: 1.2rem;
    }
    .p-footer-menu {
        width: 100%;
        justify-content: initial;
        /* flex-direction: column; */
        flex-wrap: wrap;
    }
    .p-footer-menu .main-menu {
        width: 50%;
        margin-right: 0;
        flex-direction: column;
    }
    .p-footer-menu .sub-menu {
        width: 100%;
        display: flex;
        flex-direction: column;
        margin-top: 3rem;
        padding-top: 4rem;
        border-top: 1px solid #ddd;
    }
    .p-footer-aside {
        flex-direction: column-reverse;
        padding-bottom: 2rem;
    }
    .p-sns-list {
        justify-content: center;
        margin-bottom: 2rem;
    }
    .p-copyright {
        text-align: center;
    }
}


/*----------------------------------------
	共通パーツ
----------------------------------------*/
body:before,
body:after {
    content: "";
    background: #0181C0;
    position: fixed;
    display: block;
    z-index: 2;
    width: 8px;
    height: 100vh;
    top: 0;
}
body:before{
    right: 0;
}
body:after {
    left: 0;
}
/* Swiper */
.swiper.swiper-initialized.swiper-horizontal {
    cursor: grab;
}
/* お気に入り案内ポップアップ */
.p-favorite-guide-popup {
    width: 100vw;
    max-width: 420px;
    position: fixed;
    right: 0;
    bottom: 0;
    z-index: 1002;
    background: rgba(0,0,0,.8);
    color: #fff;
    padding: 2rem 3rem 2.4rem 3rem;
    font-size: 1.3rem;
    opacity: 1;
    transition: all .3s linear;
}
.when_scroll .p-favorite-guide-popup {
    opacity: 0;
}

.p-favorite-guide-popup h3 {
    font-size: 1.6rem;
    margin-bottom: 0.6rem;
}
.p-favorite-guide-popup h3 img {
    width: 2rem;
    height: auto;
    vertical-align: middle;
    margin: 0 0.5rem 0 0.3rem;
}
.p-favorite-guide-popup p {
    margin-bottom: 1rem;
}
.p-favorite-guide-popup .c-button {
    font-size: 1.2rem;
    padding: 0.6rem 1.6rem 0.7rem 1.6rem;
    min-width: initial;
}
.p-favorite-guide-popup.is-hide {
    display: none;
}

/* GDPRポップアップ */
.p-gdpr-popup {
    width: 100vw;
    position: fixed;
    right: 0;
    bottom: 0;
    z-index: 1002;
    background: rgba(0,0,0,.8);
    color: #fff;
    padding: 2rem 6rem 2rem 4rem;
    font-size: 1.3rem;
}
.p-gdpr-popup .p-gdpr-popup__close {
    display: block;
    width: 2.4rem;
    height: 2.4rem;
    background: url(../img/common/btn_gdpr_close.svg) no-repeat center;
    background-size: contain;
    position: absolute;
    right: 1.6rem;
    top: 2rem;
    cursor: pointer;
}
.p-gdpr-popup.is-hide {
    display: none;
}
/* セクション見出し */
.p-section-heading {
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-bottom: 2.8rem;
}
.p-section-heading span {
    display: block;
    line-height: 1;
}
.p-section-heading .en {
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 5rem;
    letter-spacing: -0.01em;
    margin-bottom: 1rem;
    /* text-transform: uppercase; */
}
.p-section-heading .jp {
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: .05rem;
    width: fit-content;
    position: relative;
    padding-bottom: 1.2rem;
    margin-left: 2.2rem;
}
.p-section-heading .jp::after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    border-bottom: 1px solid #000;
    width: 100%;
}
/* ギャラリー */
.p-charm-gallery {
    overflow: hidden;
}
.p-charm-gallery .swiper.swiper-initialized.swiper-horizontal {
    cursor: inherit;
}
.p-charm-gallery .swiper-wrapper {
    transition-timing-function: linear;
}
.p-charm-gallery .swiper-wrapper .swiper-slide {
    background-size: cover;
    background-position: center;
    height: 60rem;
}
/* ページ送り */
.wp-pagenavi {
    display: flex;
    justify-content: center;
    margin: 4rem 0 10rem 0;
}
.wp-pagenavi a:not(.nextpostslink),
.wp-pagenavi span:not(.extend) {
    font-family: 'Inter', sans-serif;
    line-height: 1;
    text-decoration: none;
    border: none;
    padding: 0;
    height: 5rem;
    width: 3rem;
    border-bottom: 1px solid #fff !important;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 1rem;
    transition: .2s linear;
}
.wp-pagenavi a.nextpostslink,
.wp-pagenavi span.extend {
    border: none;
}
.wp-pagenavi a:hover,
.wp-pagenavi span.current {
    border: none;
    border-bottom: 1px solid #0181C0 !important;
    color: #0181C0;
}

@media only screen and (max-width: 767px) {
    body:before, body:after {
        display: none;
    }
    /* GDPRポップアップ */
    .p-gdpr-popup {
        padding: 2rem 5rem 2rem 2rem;
        font-size: 1.1rem;
    }
    /* セクション見出し */
    .p-section-heading {
        flex-direction: column;
        align-items: baseline;
        margin-bottom: 4rem;
    }
    .p-section-heading .en {
        font-size: 3.2rem;
    }
    .p-section-heading span.jp {
        margin-left: 0;
        font-size: 1.2rem;
    }
    /* ギャラリー */
    .p-charm-gallery .swiper-wrapper .swiper-slide {
        height: 30rem;
    }
}

/*----------------------------------------
	トップページ
----------------------------------------*/
.page-top {
    background-color: #0181C0;
}
.page-top .inner {
    max-width: none;
}
.page-top .l-main {
    background-color: #fff;
    margin-top: 8vw;
}
.page-top footer {
    margin-top: 0;
}
/* ヘッダー */
.page-top .p-header .logo {
    position: absolute;
    left: 50%;
    top: 3.6rem;
    z-index: 10;
    transform: translate(-50%, 0);
    width: 46%;
    max-width: 70rem;
}
.page-top .p-header .logo a span {
    margin-bottom: 3.2rem;
    font-size: 1.8rem;
    letter-spacing: .4rem;
}
.page-top .p-header .logo a img {
    width: 100%;
    max-width: initial
}
/* VISUAL */
.p-top-visual {
    position: relative;
    background-color: #0181C0;
    padding-bottom: 6rem;
    z-index: 3;
}
.p-top-visual .swiper {
    position: relative;
}
.p-top-visual .swiper figure {
    margin-bottom: 0;
    position: relative;
    height: 0;
    padding-top: 100%;
    border-radius: 3rem;
    overflow: hidden;
}
.p-top-visual .swiper figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    transform: scale(1);
    transition: 1s;
}
.p-top-visual .swiper figure:hover img {
    transform: scale(1.1);
}
.p-top-visual-slide-content {
    position: absolute;
    bottom: 2%;
    left: 0;
    bottom: 0;
    display: block;
    width: 100%;
    height: auto;
    color: #fff;
    transition: all .6s;
    padding: 15% 6% 6% 6%;
    border-radius: 0 0 3rem 3rem;
    background: linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.9));
}
.p-top-visual-slide-content .heading {
    line-height: 1;
    margin-bottom: 2rem;
}
.p-top-visual-slide-content .heading .post-type {
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: .1rem;
}
.p-top-visual-slide-content .heading .number {
    font-size: 1.6rem;
    letter-spacing: .1rem;
    margin-left: .6rem;
}
.p-top-visual-slide-content .title {
    font-size: 4rem;
    line-height: 1.5;
}
.p-top-visual .swiper-slide-prev,
.p-top-visual .swiper-slide-next,
.p-top-visual .swiper-slide-duplicate-prev,
.p-top-visual .swiper-slide-duplicate-next {
    transform: scale(0.7);
    transition: all .6s;
}
.p-top-visual .swiper-slide-prev .p-top-visual-slide-content,
.p-top-visual .swiper-slide-next .p-top-visual-slide-content,
.p-top-visual .swiper-slide-duplicate-prev .p-top-visual-slide-content,
.p-top-visual .swiper-slide-duplicate-next .p-top-visual-slide-content {
    opacity: 0;
}
.p-top-visual .swiper-button-next,
.p-top-visual .swiper-rtl .swiper-button-next,
.p-top-visual .swiper-button-prev,
.p-top-visual .swiper-rtl .swiper-button-prev {
    width: 4.4rem;
    height: 4.4rem;
    font-size: 0;
    top: initial;
    bottom: 0;
    transition: .3s linear;
}
.p-top-visual .swiper-button-next:hover,
.p-top-visual .swiper-rtl .swiper-button-next:hover,
.p-top-visual .swiper-button-prev:hover,
.p-top-visual .swiper-rtl .swiper-button-prev:hover {
    opacity: .6;
}
.p-top-visual .swiper-button-next,
.p-top-visual .swiper-rtl .swiper-button-next {
    right: 40%;
    background: url(../img/common/circle_arrow_left_w.svg) no-repeat center;
    background-size: 99% auto;
}
.p-top-visual .swiper-button-prev,
.p-top-visual .swiper-rtl .swiper-button-prev {
    left: 40%;
    background: url(../img/common/circle_arrow_right_w.svg) no-repeat center;
    background-size: 99% auto;
}
.p-top-visual .swiper-button-prev:after,
.p-top-visual .swiper-button-next:after {
    font-size: 0;
}
.p-top-visual .swiper-pagination-fraction {
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 1.4rem;
    letter-spacing: .3em;
    color: #fff;
    margin-top: 3rem;
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
/* 大事なお知らせ */
.p-top-visual__information {
    position: fixed;
    right: 3rem;
    bottom: 8rem;
    z-index: 1;
    background-color: rgba(0,0,0,.8);
    color: #fff;
    border-radius: 0.6rem;
    display: flex;
    flex-direction: column;
    padding: 1.8rem 2.2rem 2.4rem 2.2rem;
    max-width: 500px;
}
.is_visited .p-top-visual__information {
    bottom: 3rem;
}
.p-top-visual__information .meta {
    width: 100%;
    display: flex;
    align-items: center;
    line-height: 1;
    margin-bottom: 1rem;
}
.p-top-visual__information .meta .date {
    margin-top: 0.3rem;
    margin-right: 1.4rem;
    font-size: 1.3rem;
    color: #f65936;
}
.p-top-visual__information .meta .category  span {
    display: flex;
    font-size: 1.1rem;
    line-height: 1;
    padding: 0.5rem 1.4rem 0.6rem 1.4rem;
    border-radius: 3rem;
    border: 1px solid #C1C1C1;
}
.p-top-visual__information a {
    font-size: 1.3rem;
    color: #fff;
    max-width: 400px;
    line-height: 1.5;
    text-decoration: underline;
    -webkit-line-clamp: 1;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-decoration: none;
}
/* トップ：南大隅の魅力 */
.p-top-about .p-description-content p {
    margin-bottom: 4rem;
}
.p-description-content__navi {
    display: flex;
}
.p-description-content__navi a:first-of-type {
    margin-right: 4rem;
}
/* トップ：特集 */
.p-top-article {
    padding: 10rem 0 8rem 0;
}
.p-top-article .inner {
    display: flex;
    justify-content: space-between;
}
.p-top-article__body {
    flex: 1;
}
.p-top-section-heading {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}
.p-top-section-heading .c-link {
    color: #2e2e2e;
    letter-spacing: .02em;
}
.p-top-section-heading .c-link::before,
.p-top-section-heading .c-link::after {
    /* width: 32px;
    height: 32px; */
}
.p-top-section-heading .c-link::before {
    background: url(../img/common/icon_link_allow.svg) no-repeat center;
    background-size: 1rem auto;
}
.p-top-section-heading .c-link:after {
    border: 1px solid #2e2e2e;
}
.p-top-article-aside {
    width: 24%;
    max-width: 300px;
    margin-left: 6%;
}
.p-top-article-aside .p-section-heading {
    margin-bottom: 2rem;
}
.p-top-article-tags {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
}
.p-top-article-tags li {
    margin: 0 1rem 1rem 0;
}
.p-top-article-tags li a {
    display: block;
    border: 1px solid #ddd;
    background-color: #fff;
    color: #333;
    line-height: 1;
    font-size: 1.2rem;
    font-weight: 600;
    padding: 0.8rem 1rem 1rem 1rem;
    border-radius: 3rem;
    text-decoration: none;
    transition: .2s;
}
.p-top-article-tags li a:hover {
    border-color: #2e2e2e;
    background-color: #2e2e2e;
    color: #fff;
}
/* トップ：最南端到達証明書 */
.p-top-certificate {
    margin-top: 5rem;
    padding: 3rem 2rem 3rem 2rem;
    background-color: #F4F4F4;
}
.p-top-certificate h2 {
    font-size: 1.8rem;
    letter-spacing: .04rem;
    line-height: 1.4;
    text-align: center;
    margin: 0 auto 2rem auto;
}
.p-top-certificate > figure {
    text-align: center;
    margin-bottom: 2rem;
}
.p-top-certificate > p {
    font-size: 1.2rem;
    margin-bottom: 1.6rem;
}
.p-top-certificate .c-link {
    display: block;
    margin: 0 auto;
}
/* トップ：南大隅の人 */
.p-top-people {
    padding: 9rem 0 10rem 0;
    position: relative;
}
.p-top-people::before,
.p-top-people::after {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}
.p-top-people::before {
    z-index: 0;
    background-color: rgba(0,0,0,.8);
}
.p-top-people::after {
    z-index: -1;
    background: url(../img/top/bg_people_section.jpg) no-repeat center;
    background-size: cover;
}
.p-top-people .inner {
    position: relative;
}
.p-top-people .p-section-heading {
    color: #fff;
}
.p-top-people .p-section-heading .jp::after {
    border-bottom: 1px solid #fff;
}
.p-top-spot .p-spot-list,
.p-top-people .p-people-list {
    flex-wrap: initial;
    justify-content: initial;
}
.p-top-spot .p-spot-list .item.swiper-slide,
.p-top-people .p-people-list .item.swiper-slide {
    margin-bottom: 0;
    /* width: initial; */
    flex-shrink: inherit;
}
/* トップ：スポット */
.p-top-spot {
    padding: 9rem 0 11rem 0;
}
/* トップ：動画一覧 */
.p-section-movie {
    padding: 9rem 0 0 0;
    background-color: #2e2e2e;
}
.p-section-movie .p-section-heading {
    color: #fff;
}
.p-section-movie .p-section-heading .jp::after {
    border-bottom: 1px solid #fff;
}
.p-top-people .c-link,
.p-section-movie .c-link {
    color: #fff;
}
.p-top-people .c-link::before,
.p-section-movie .c-link::before {
    background: url(../img/common/icon_link_allow_w.svg) no-repeat center;
    background-size: 1rem auto;
}
.p-top-people .c-link:after,
.p-section-movie .c-link:after {
    border: 1px solid #fff;
    background: none;
}
.p-section-movie .p-gallery .content h2 a {
    color: #fff;
    text-decoration: none;
    flex: 1;
}
.p-section-movie .p-post-tags .area::before {
    background: url(../img/common/icon_pin_g.svg) no-repeat center;
    background-size: contain;
}
/* トップ：お知らせ */
.p-top-information {
    margin: 10rem auto;
}
.p-top-information .inner {
    display: flex;
    justify-content: space-between;
}
.p-top-information__heading {
    width: 34%;
    min-width: fit-content;
    margin-right: 6rem;
}
.page-top .p-top-information__heading .p-section-heading {
    flex-direction: column;
    align-items: baseline;
}
.page-top .p-top-information__heading .p-section-heading span {
    margin-left: 0 !important;
}
.page-top .p-top-information__heading .p-section-heading .en {
    margin-bottom: 2rem;
}
.page-top .p-top-information__heading .p-section-heading .jp {
    margin-left: 0;
}
.p-top-information .p-information-list {
    flex: 1;
}
.p-top-information-list {
    width: 50%;
}
/* トップ：SNS埋め込み */
.p-top-sns {
    padding: 14rem 0;
    background-color: #F4F4F4;
}
.p-top-sns .inner {
    display: flex;
    justify-content: center;
}
.p-top-sns-list {
    display: flex;
    justify-content: space-between;
    width: 80rem;
}
.p-top-sns-list .item {
    width: 42%;
    max-width: 400px;
    background-color: #fff;
    padding: 4rem 0 0 0;
}
.p-top-sns-list .item h2 {
    font-family: 'Inter', sans-serif;
    position: relative;
    font-weight: 700;
    text-align: center;
    font-size: 3rem;
    z-index: 1;
    margin: -6.6rem auto 5px auto;
}
.p-top-sns-list__content {
    max-height: 60rem;
    overflow: scroll;
}
/* TOP：スマホ用MOREボタン */
.p-top-more-button {
    display: none;
}
@media only screen and (max-width: 999px) {
    .page-top .p-spot-list .item:nth-of-type(4n),
    .page-top .p-people-list .item:nth-child(4n) {
        display: none;
    }

}
@media only screen and (max-width: 767px) {
    /* トップ：見出し */
    .page-top .p-section-heading {
        flex-wrap: wrap;
        flex-direction: row;
        align-items: center;
        margin-bottom: 2rem;
    }
    .page-top .p-section-heading span.jp {
        font-size: 1.3rem;
        margin-left: 1.5rem;
        margin-top: 0;
        margin-bottom: .5rem;
    }
    /* トップ：ヘッダー */
    .page-top .p-header {
        justify-content: flex-end;
    }
    .page-top .p-header .logo {
        top: 2.8rem;
        width: 80%;
    }
    .page-top .p-header .logo a {
        width: 94%;
    }
    .page-top .p-header .logo a span {
        display: inline-block;
        text-align: center;
        font-size: 1.4rem;
        letter-spacing: .2em;
        margin-bottom: 2.2rem;
    }
    /* ビジュアルスライド */
    .page-top .l-main {
        margin-top: 17vw;
    }
    .p-top-visual {
        padding: 0 2.2rem 3.2rem 2.2rem;
    }
    .p-top-visual .swiper figure {
        padding-top: 120%;
    }
    .p-top-visual-slide-content {
        border-radius: 0 0 2rem 2rem;
    }
    .p-top-visual-slide-content .heading .post-type {
        font-size: 1.4rem;
    }
    .p-top-visual-slide-content .heading .number {
        font-size: 1.6rem;
    }
    .p-top-visual-slide-content .title {
        font-size: 2.4rem;
    }
    .p-top-visual .swiper figure {
        border-radius: 2rem;
    }
    .p-top-visual .swiper-button-prev,
    .p-top-visual .swiper-rtl .swiper-button-prev,
    .p-top-visual .swiper-button-next,
    .p-top-visual .swiper-rtl .swiper-button-next {
        top: initial;
        bottom: 0;
        width: 4rem;
        height: 4rem;
    }
    .p-top-visual .swiper-button-prev,
    .p-top-visual .swiper-rtl .swiper-button-prev {
        left: 26%;
    }
    .p-top-visual .swiper-button-next,
    .p-top-visual .swiper-rtl .swiper-button-next {
        right: 26%;
    }
    .p-top-visual .swiper-pagination-fraction {
        margin-top: 2rem;
        font-size: 1.2rem;
    }
    /* トップ：大事なお知らせ */
    .p-top-visual__information {
        width: 90%;
        right: 5%;
        bottom: 12rem;
        margin: 3rem 0 0 0;
        padding: 1.8rem 2rem 2.4rem 2.6rem;
        border-radius: 1rem;
    }
    .is_visited .p-top-visual__information {
        bottom: 2rem;
    }
    .p-top-visual__information .meta .date {
        font-size: 1.3rem;
    }
    .p-top-visual__information .meta .category span {
        font-size: 1rem;
    }
    .p-top-visual__information a {
        font-size: 1.3rem;
    }
    /* トップ：概要 */
    .p-top-about .p-description-content p {
        margin-bottom: 2rem;
    }
    .p-description-content__navi a:first-of-type {
        margin-right: 3rem;
    }
    /* トップ：特集 */
    .p-top-article .inner {
        flex-direction: column;
    }
    .p-top-article__body {
        width: 100%;
        margin-bottom: 6rem;
    }
    .p-top-article-aside {
        width: 100%;
        max-width: initial;
        margin-left: 0;
    }
    .p-top-article-aside .p-section-heading {
        margin-bottom: 1.8rem;
    }
    /* トップ：お知らせ */
    .p-top-information {
        margin: 8rem auto;
    }
    .p-top-information .inner {
        flex-direction: column;
    }
    .p-top-information__heading {
        width: 100%;
        min-width: initial;
        margin-right: 0;
    }
    .page-top .p-top-information__heading .p-section-heading {
        margin-bottom: 5rem;
    }
    .page-top .p-top-information__heading .p-section-heading .en {
        margin-bottom: 1.6rem;
    }
    .p-top-information .p-information-list {
        flex: initial;
    }
    /* トップ：SNS */
    .p-top-sns {
        padding: 8rem 0;
    }
    .p-top-sns-list {
        flex-direction: column;
        width: 84%;
    }
    .p-top-sns-list .item {
        width: 100%;
        max-width: initial;
    }
    .p-top-sns-list .item:first-of-type {
        margin-bottom: 8rem;
    }
    /* トップページ見出し */
    .p-top-section-heading .c-link {
        display: none;
    }
    /* TOP：スマホ用MOREボタン */
    .p-top-more-button {
        margin-top: 4rem;
        display: flex;
        justify-content: center;
    }
    /* トップ：南大隅で会いたい人 */
    .p-top-people {
        padding: 9rem 0 9rem 0;
    }
    .p-top-spot .p-spot-list.swiper-wrapper,
    .p-top-people .p-people-list.swiper-wrapper {
        padding-bottom: 4rem;
    }
    .p-top-spot .swiper,
    .p-top-people .swiper {
        width: 100vw;
        position: relative;
        left: 50%;
        right: 50%;
        margin-left: -50vw;
        margin-right: -50vw;
        padding: 0 7%;
    }
    .p-top-spot .p-spot-list .item.swiper-slide,
    .p-top-people .p-people-list .item.swiper-slide {
        flex-shrink: 0;
    }
    .p-top-people .swiper-scrollbar {
        background: rgba(255, 255, 255, 0.2);
    }
    .p-top-people .swiper-scrollbar-drag {
        background: rgba(255, 255, 255, 0.6);
    }
    .p-top-spot .swiper-horizontal > .swiper-scrollbar,
    .p-top-spot .swiper-scrollbar.swiper-scrollbar-horizontal,
    .p-top-people .swiper-horizontal > .swiper-scrollbar,
    .p-top-people .swiper-scrollbar.swiper-scrollbar-horizontal {
        left: 5%;
        width: 90%;
    }
    .page-top .p-spot-list .item:nth-of-type(4n),
    .page-top .p-people-list .item:nth-child(4n) {
        display: block;
    }
    .page-top .p-people-list .item .content h2 {
        font-size: 1.6rem;
    }
    /* トップ：スポット */
    .p-top-spot {
        padding: 8rem 0;
    }
}

/*----------------------------------------
	サブページ共通
----------------------------------------*/
.p-page-heading {
    padding: 4rem 0 10rem 0;
    display: flex;
    justify-content: space-between;
}
.p-page-heading__title h1 {
    display: flex;
    flex-direction: column;
    line-height: 1;
}
.p-page-heading__title h1 .en {
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 5.4rem;
    margin-bottom: 2rem;
    /* text-transform: uppercase; */
}
.p-page-heading__title h1 .jp {
    font-size: 1.8rem;
    letter-spacing: .05rem;
}
.p-page-heading__summary {
    max-width: 500px;
    padding: 6rem 0 0 0;
    font-size: 1.5rem;
    line-height: 2;
}
/* 記事タグ */
.p-post-tags {
    font-size: 1.3rem;
    display: flex;
    flex-wrap: wrap;
}
.p-post-tags .area {
    display: flex;
    align-items: center;
}
.p-post-tags .area::before {
    content: '';
    display: inline-block;
    width: 1.2rem;
    height: 1.2rem;
    margin-top: .2rem;
    margin-right: 0.3rem;
    background: url(../img/common/icon_pin_g.svg) no-repeat center;
    background-size: contain;
}
.p-post-tags .tags {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.p-post-tags .tags li {
    margin-bottom: 0.8rem;
    margin-right: 1.6rem;
}
.p-post-tags .tags li span,
.p-post-tags .tags li a {
    display: block;
    color: #696969;
    text-decoration: none;
    line-height: 1;
    transition: .2s linear;
}
.p-post-tags .tags li a:hover {
    color: #2e2e2e;
}
/* 記事絞り込みフォーム */
.p-list-search {
    display: flex;
    justify-content: space-between;
    align-items: end;
    margin: 0 0 4rem 0;
}
.p-list-search__result {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1;
    display: flex;
    align-items: center;
}
.p-list-search__result .label {
    margin-right: 1rem;
}
.p-list-search__result .number {
    font-size: 4rem;
    margin-right: 0.5rem;
}
.p-list-search__param {
    display: flex;
}
.p-list-search__param select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    outline: none;
    position: relative;
    font-weight: 700;
    color: #2e2e2e;
    background: #fff url(../img/common/bg_select.svg) no-repeat right 0.5rem center;
    background-size: 1rem auto;
    height: 5rem;
    vertical-align: middle;
    border: 0;
    border-bottom: 1px solid #252525;
    width: 170px;
    padding: 0 2rem 0 1rem;
    margin-right: 2rem;
    font-size: 1.5rem;
    letter-spacing: .02em;
}
.p-list-search__param select:last-of-type {
    margin-right: 0;
}
/* 記事下お気に入りボタン */
.p-post-favorite-button {
    position: relative;
    margin: 8rem auto 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}
.p-post-favorite-button .c-favorite-btn {
    position: relative;
    top: initial;
    right: initial;
    width: fit-content;
    min-width: 28rem;
    height: auto;
    padding: 2rem 4rem 2.2rem 4rem;
    font-size: 1.6rem;
    font-weight: 700;
    text-decoration: none;
    border: 1px solid #ccc;
    color: #2e2e2e;
    border-radius: 10rem;
    transition: all .3s cubic-bezier(.175, .885, .32, 1.275);
}
.p-post-favorite-button .c-favorite-btn > img {
    width: 2rem;
    margin-left: .8rem;
}
.p-post-favorite-button .c-favorite-btn:hover {
    border-color: #0181C0;
    color: #0181C0;
}
/* 該当記事なしメッセージ */
.p-empty-entry {
    margin: 4rem 0;
}
.p-empty-entry h2 {
    font-size: 2.4rem;
}
.p-empty-entry__search p {
    margin-top: 1rem;
}
.p-empty-entry__search .p-search-form {
    margin-top: 4rem;
}

@media only screen and (max-width: 767px) {
    .p-page-heading {
        padding: 4rem 0 8rem 0;
        flex-direction: column;
    }
    .p-page-heading__title h1 .en {
        font-size: 4.8rem;
        margin-bottom: 1.4rem;
    }
    .p-page-heading__title h1 .jp {
        font-size: 1.6rem;
        margin-left: 0;
    }
    .p-page-heading__summary {
        font-size: 1.3rem;
        padding-top: 4rem;
    }
    .p-post-tags .tags li span,
    .p-post-tags .tags li a {
        font-size: 1.2rem;
    }
    /* 記事絞り込みフォーム */
    .p-list-search {
        flex-direction: column;
        justify-content: inherit;
        align-items: inherit;
        margin: 0 0 4rem 0;
    }
    .p-list-search__param {
        display: flex;
        justify-content: space-between;
    }
    .p-list-search__param select {
        width: 48%;
        min-width: initial;
        padding: 0 1.5rem 0 0;
        font-size: 1.3rem;
    }
    .p-list-search__result {
        font-size: 1.5rem;
        margin-bottom: 1.8rem;
    }
    .p-list-search__result .number {
        font-size: 3.2rem;
    }
    /* 該当記事なしメッセージ */
    .p-empty-entry h2 {
        font-size: 1.8rem;
    }
}


/*----------------------------------------
	お知らせ（一覧）
----------------------------------------*/
.p-information-wrap {
    display: flex;
    justify-content: space-between;
}
.p-information-sidebar {
    width: 24%;
}
.p-information-sidebar .item {
    margin-bottom: 6rem;
}
.p-information-sidebar .item h3 {
    display: flex;
    align-items: center;
    font-size: 1.6rem;
    line-height: 1;
    margin-bottom: 2.4rem;
}
.p-information-sidebar .item h3::before {
    content: '';
    display: block;
    height: .5rem;
    width: 2rem;
    background-color: #0181C0;
    margin-right: 1rem;
}
.p-information-sidebar .item ul {
    font-size: 1.4rem;
}
.p-information-sidebar .item ul li {
    margin-bottom: .6rem;
}
.p-information-sidebar .item ul li a {
    color: #2e2e2e;
    text-decoration: none;
}
.p-information-sidebar .item ul li a .count {
    color: #696969;
    margin-left: .5rem;
}
.p-information-wrap .p-information-list {
    width: 68%;
}
.p-information-list {
    border-top: 1px solid #ddd;
}
.p-information-list li {
    border-bottom: 1px solid #ddd;
    padding: 3rem 0;
    display: flex;
    flex-direction: column;
    align-items: baseline;
}
.p-information-list li .meta {
    display: flex;
    align-items: baseline;
    margin-bottom: 1.6rem;
}
.p-information-list li .meta .date {
    font-size: 1.3rem;
    font-weight: 500;
    color: #8d8d8d;
    margin-right: 1.6rem;
}
.p-information-list li .meta .category span {
    font-size: 1.2rem;
    line-height: 1;
    padding: 0.2rem 1rem 0.4rem 1rem;
    border-radius: 2rem;
    border: 1px solid #C1C1C1;
}
.p-information-list li a {
    font-size: 1.8rem;
    display: block;
    width: 100%;
    background-size: 1.2rem auto;
    text-decoration: none;
    color: #2e2e2e;
    font-weight: 700;
}
@media only screen and (max-width: 767px) {
    .p-information-wrap {
        justify-content: inherit;
        flex-direction: column-reverse;
    }
    .p-information-sidebar {
        width: 100%;
        margin-top: 6rem;
    }
    .p-information-wrap .p-information-list {
        width: 100%;
    }
    .p-information-list li {
        padding: 2.5rem 0.5rem 3rem 0.5rem;
    }
    .p-information-list li .meta .date {
        font-size: 1.2rem;
    }
    .p-information-list li .meta .category span {
        font-size: 1.1rem;
    }
}


/*----------------------------------------
	お知らせ（詳細）
----------------------------------------*/
.p-information {
    max-width: 900px;
    margin: 4rem auto 10rem auto;
}
.p-information__heading {
    margin-bottom: 6rem;
}
.p-information__heading .type {
    letter-spacing: .1rem;
    font-weight: 700;
    margin-bottom: 3.2rem;
    color: #0181C0;
}
.p-information__heading h1 {
    font-size: 5rem;
    line-height: 1.5;
    margin-bottom: 1.6rem;
}
.p-information__heading .meta {
    display: flex;
    align-items: baseline;
    margin-left: .5rem;
}
.p-information__heading .meta .date {
    font-size: 1.3rem;
    color: #666;
    margin-right: 2rem;
}
.p-information__heading .meta .category span {
    font-size: 1.2rem;
    line-height: 1;
    padding: 0.3rem 1.4rem 0.5rem 1.4rem;
    border-radius: 3rem;
    border: 1px solid #C1C1C1;
}
/* 記事本文 */
/* カラム */
.p-post-body .wp-block-columns {
    margin-bottom: 2rem;
}
/* 見出し */
.p-post-body h1,
.p-post-body h2,
.p-post-body h3,
.p-post-body h4,
.p-post-body h5 {
    line-height: 1.5;
}
.p-post-body h1 {
    font-size: 5rem;
    font-weight: bold;
    margin-bottom: 2rem;
}
.p-post-body h2 {
    font-size: 3.2rem;
    font-weight: bold;
    margin-bottom: 3.2rem;
}
.p-post-body h3 {
    font-size: 2.6rem;
    font-weight: bold;
    margin-bottom: 2.6rem;
}
.p-post-body h4 {
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 1.8rem;
}

/* キャプション共通 */
figcaption {
    font-size: 1.3rem;
    color: #696969;
    text-align: center;
}
/* 段落 */
.p-post-body p {
    margin-bottom: 5rem;
    line-height: 2;
}
/* 画像 */
.p-post-body .wp-block-image.size-large {
    margin-top: 6rem;
    margin-bottom: 6rem;
}
.p-post-body .wp-block-image img {
    width: 100%;
}
.p-post-body .wp-block-image figcaption {
    margin-top: .8rem;
    text-align: left;
    color: #323232;
}

/* 引用 */
.p-post-body .wp-block-quote {
    margin-bottom: 2rem;
}
.p-post-body .wp-block-quote p {
    margin-bottom: 0;
    padding: 0 0 0 1.6rem;
    border-left: 4px solid #ababab;
    font-size: 1.4rem;
}
.p-post-body .wp-block-quote cite {
    font-size: 1.3rem;
    color: #696969;
}
/* ギャラリー */
.p-post-body figure.wp-block-gallery.has-nested-images {
    align-items: normal;
    margin-bottom: 2rem;
}
.p-post-body .wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
    background: none;
    bottom: initial;
    left: initial;
    margin-bottom: inherit;
    max-height: initial;
    overflow: inherit;
    padding: initial;
    position: relative;
    width: 100%;
    box-sizing: border-box;
    font-size: 1.2rem;
    color: #696969;
}
.p-post-body .wp-container-9 {
    gap: 4rem;
}
.p-post-body .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image) {
    /* width: 30%; */
}
.p-post-body .wp-container-13,
.p-post-body .wp-container-11 {
    gap: 4rem;
}
.p-post-body .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2),
.p-post-body .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2)~figure.wp-block-image:not(#individual-image) {
    width: 44%;
}
.p-post-body .wp-block-gallery.has-nested-images figcaption {
    font-size: 1.3rem;
    color: #696969;
}

/* メディアとテキスト */
.wp-block-media-text .wp-block-media-text__content {
    padding-right: 0 !important;
}
.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
    padding-left: 0 !important;
    padding-right: 8% !important;
}

/* 表 */
.p-post-body .wp-block-table {
}
.p-post-body .wp-block-table table {
    border-top: 1px solid #683023;
    border-left: 1px solid #683023;
}
.p-post-body .wp-block-table table tr {
    border-bottom: 1px solid #683023;

}
.p-post-body .wp-block-table table tr td {
    border-right: 1px solid #683023;
    padding: 0.3rem 0.8rem 0.5rem 0.8rem;
}
.p-post-body .wp-block-table figcaption {
    margin-top: 0.4rem;
}
/* リスト */
.p-post-body ol,
.p-post-body ul {
    margin-left: 2rem;
    margin-bottom: 2rem;
}
.p-post-body ol li,
.p-post-body ul li {
    list-style: inherit;
}
.p-post-body ol {
    margin-left: 2rem;
}
/* 区切り */
.p-post-body .wp-block-separator {
    border-top: 1px solid #666;
    border-bottom: none;
    margin: 4rem 0;
}
/* 詩（罫線付き補足） */
.p-post-body .wp-block-verse {
    font-size: 1.3rem;
    padding: 1rem 1.6rem;
    border: 1px solid #B8B8B8;
    margin-bottom: 2rem;
}

/* 添付ファイル */
.p-post-body .wp-block-file .wp-block-file__button {
    background-color: #E74400;
    border-radius: 4rem;
    color: #fff;
    font-size: 1.3rem;
    font-weight: 500;
    padding: 0.4rem 1rem 0.6rem 1rem;
}

/* 動画 */
.p-post-body .wp-block-embed {
    width: fit-content;
    margin: 0 0 2rem;
}
.p-post-body .wp-block-embed figcaption {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 1.3rem;
    text-align: center;
}

/* ボタン */
.p-post-body .wp-container-1 {
}
.p-post-body .wp-block-buttons>.wp-block-button {
}
.p-post-body .wp-block-button__link {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    background: #E74400;
    border: 3px solid rgba(255, 255, 255, .8);
    border-radius: 4rem;
    line-height: 1;
    text-decoration: none;
    padding: 1.4rem 2.4rem 1.6rem 2.4rem;
    letter-spacing: .14rem;
    font-weight: 500;
    min-width: 17rem;
    max-width: fit-content;
    position: relative;
    z-index: 0;
    overflow: hidden;
    transition: all .5s cubic-bezier(0.43, 0.05, 0.17, 1);
}

/* Google Map埋め込み */
.gmap-wrap {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 75%;
}

.gmap-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media only screen and (max-width: 767px) {
    .p-information {
        margin: 6rem auto;
    }
    .p-information__heading h1 {
        font-size: 3rem;
    }
    .p-information__heading .meta .date {
        font-size: 1.3rem;
    }
    .p-information__heading .meta .category span {
        font-size: 1rem;
        padding: 0.3rem 1.4rem 0.5rem 1.4rem;
    }
    /* 記事本文 */
    .p-post-body h1 {
        font-size: 3rem;
    }
    .p-post-body h2 {
        font-size: 2.4rem;
    }
    .p-post-body h3 {
        font-size: 1.8rem;
    }
    .p-post-body h4 {
        font-size: 1.5rem;
    }
    .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
        padding: 0;
        margin: 2rem 0 4rem 0;
    }




}


/*----------------------------------------
	南大隅で会いたい人（一覧）
----------------------------------------*/
.p-people-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
.p-people-list .item {
    position: relative;
    width: 23%;
    margin-bottom: 3%;
    margin-right: 2.6%;
}
.p-people-list .item.item:nth-child(4n) {
    margin-right: 0;
}
.p-people-list .item::after {
    content: '';
    display: block;
    width: 100%;
    height: 40%;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1;
}
.p-people-list .item figure {
    border-radius: 1.8rem;
    overflow: hidden;
    margin: 0;
    position: relative;
    height: 0;
    padding-top: 160%;
}
.p-people-list .item figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    transform: scale(1.01);
    transition: 1s;
}
.p-people-list .item:hover figure img {
    transform: scale(1.1);
}
.p-people-list .item .content {
    width: 100%;
    color: #fff;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 2;
    padding: 7%;
    transition: .4s;
    opacity: 0;
    background: linear-gradient(rgba(0,0,0,0),rgba(0,0,0,1));
    border-radius: 1rem;
}
.p-people-list .item:hover .content {
    opacity: 1;
}
.p-people-list .item .content .number {
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 0.8rem;
}
.p-people-list .item .content .number .t-small {
    font-size: 2rem;
}
.p-people-list .item .content h2 {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.5;
}
@media only screen and (max-width: 999px) {
    .p-people-list .item {
        width: 31.3%;
        margin-bottom: 8%;
    }
    .p-people-list .item:nth-child(4n) {
        margin-right: 3%;
    }
    .p-people-list .item:nth-child(3n) {
        margin-right: 0;
    }
}
@media only screen and (max-width: 767px) {
    .p-people-list {
        justify-content: space-between;
    }
    .p-people-list .item {
        width: 47.5%;
        margin-bottom: 8%;
        margin-right: inherit;
    }
    .p-people-list .item .content {
        opacity: 1;
    }
    .p-people-list .item .content h2 {
        font-size: 1.4rem;
    }
    .p-people-list .item .content .number .t-small {
        font-size: 1.5rem;
    }
    .p-people-list .item .content .number {
        font-size: 1.7rem;
    }
}

/*----------------------------------------
	南大隅で会いたい人（詳細）
----------------------------------------*/
.page-people-detail footer {
    margin-top: 0;
}
.page-people-detail .p-top-people {
    margin-top: 10rem;
}
.p-people-detail {
    max-width: 1100px;
    margin-top: 6rem;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: baseline;
}
.p-people-detail__content {
    width: 45%;
    margin-right: 7%;
}
.p-people-detail__photo {
    width: 45%;
    margin-top: 0.6rem;
    position: sticky;
    top: 4rem;
    overflow: hidden;
    border-radius: 1.8rem;
}
.p-people-detail__photo > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.p-people-detail-heading {
    margin-bottom: 2rem;
}
.p-people-detail-heading h3 {
    color: #0181C0;
    display: flex;
    align-items: baseline;
    font-size: 2rem;
    margin-bottom: 2rem;
}
.p-people-detail-heading h3 .number {
    line-height: 1;
    margin-left: 1rem;
}
.p-people-detail-heading h3 .number .t-small {
    font-size: 2rem;
}
.p-people-detail-heading h1 {
    font-size: 4.2rem;
    line-height: 1.4;
    margin-bottom: 4rem;
}
.p-people-detail-heading .name {
    font-size: 2.8rem;
    line-height: 1;
    font-weight: 700;
    margin-bottom: 2.6rem;
}
.p-people-detail-heading .name .t-small {
    font-size: 2rem;
    margin-left: .5rem;
}
.p-people-detail-body .profile {

}
.p-people-detail-body .profile dl {
    display: flex;
    font-size: 1.4rem;
    line-height: 1.4;
    margin-bottom: 1rem;
}
.p-people-detail-body .profile dl dt {
    font-weight: 700;
    min-width: fit-content;
}
.p-people-detail-body .profile dl dd {
    
}

.p-people-detail-body .sns {
    margin-top: 2.6rem;
    display: flex;
}
.p-people-detail-body .sns a {
    width: 3rem;
    margin-right: 1.5rem;
}
.p-people-detail-body .introduction {
    margin-top: 4rem;
}
.p-people-detail-body .my-favoite {
    margin-top: 4.6rem;
}
.p-people-detail-body .my-favoite dt {
    font-size: 1.8rem;
    line-height: 1;
    font-weight: 700;
    color: #0181C0;
    position: relative;
    padding-bottom: 1.8rem;
    margin-bottom: 1.6rem;
}
.p-people-detail-body .my-favoite dt::before,
.p-people-detail-body .my-favoite dt::after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
}
.p-people-detail-body .my-favoite dt::before {
    width: 4rem;
    border-bottom: 1px solid #0181C0;
    z-index: 1;
}
.p-people-detail-body .my-favoite dt::after {
    border-bottom: 1px dotted #0181C0;
}
.p-people-detail-body .my-favoite dd {
    
}
.p-people-detail-body .my-favoite dd p {
    
}
.p-people-detail-body .my-favoite dd ul li {
    position: relative;
}
.p-people-detail-body .my-favoite dd ul li::before {
    content: '・';
    display: inline-block;
}
/* 前後の記事ナビ */
.p-people-pager-link {
    display: flex;
    justify-content: space-between;
    margin-top: 8rem;
    padding: 4rem 0 0 0;
    border-top: 1px solid #ddd;
}
.p-people-pager-link .item {
    width: 40%;
}
.p-people-pager-link .item a {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: #2e2e2e;
}
.p-people-pager-link .item figure {
    width: 10rem;
    border-radius: 1rem;
    overflow: hidden;
    margin: 0;
}
.p-people-pager-link .item figure img {
    transform: scale(1.01);
    transition: 1s;
}
.p-people-pager-link .item:hover figure img {
    transform: scale(1.1);
}
.p-people-pager-link .item h3 {
    flex: 1;
    display: flex;
    flex-direction: column;
    margin: 0 0 0 1.4rem;
    font-size: 1.6rem;
    line-height: 1.65;
    transition: .4s;
}
.p-people-pager-link .item:hover h3 {
    opacity: .6;
}
.p-people-pager-link .item h3 .label {
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    margin-bottom: 1rem;
}
.p-people-pager-link .item.prev h3 .label {
    background: url(../img/people/allow_prev.svg) no-repeat left center;
    background-size: 1rem auto;
    padding-left: 1.8rem;
}
.p-people-pager-link .item.next h3 .label {
    background: url(../img/people/allow_next.svg) no-repeat right center;
    background-size: 1rem auto;
    padding-right: 1.8rem;
}
.p-people-pager-link .item.next a {
    flex-direction: row-reverse;
}
.p-people-pager-link .item.next h3 {
    flex: 1;
    margin: 0 1.4rem 0 0;
    align-items: end;
}

@media only screen and (max-width: 767px) {
    .p-people-detail {
        margin-top: 1rem;
        flex-direction: column-reverse;
    }
    .p-people-detail__content {
        width: 100%;
        margin-right: initial;
    }
    .p-people-detail__photo {
        width: 100%;
        margin-bottom: 4rem;
        position: relative;
        top: initial;
    }
    .p-people-detail-heading h3 {
        font-size: 1.6rem;
    }
    .p-people-detail-heading h3 .number {
        font-size: 2rem;
    }
    .p-people-detail-heading h1 {
        font-size: 3rem;
    }
    .p-people-detail-heading .name {
        font-size: 2.2rem;
        margin-bottom: 2rem;
    }
    .p-people-detail-heading .name .t-small {
        font-size: 1.5rem;
    }
    /* 前後の記事ナビ */
    .p-people-pager-link {
        flex-direction: column;
        margin-top: 8rem;
    }
    .p-people-pager-link .item {
        width: 100%;
    }
    .p-people-pager-link .item.prev {
        margin-bottom: 3rem;
    }

}

/*----------------------------------------
	特集（一覧）
----------------------------------------*/
.p-article-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
}
.p-article-list .item {
    position: relative;
}
.p-article-list.column-2 .item {
    width: 48%;
    margin-right: 4%;
    margin-bottom: 6%;
}
.p-article-list.column-2 .item:nth-child(2n) {
    margin-right: 0;
}
.p-article-list.column-3 .item {
    width: 32%;
    margin-right: 2%;
    margin-bottom: 6%;
}
.p-article-list.column-3 .item:nth-child(3n) {
    margin-right: 0;
}
.p-article-list .item figure {
    overflow: hidden;
    border-radius: 1rem;
    margin-bottom: 0;
    z-index: 1;
}
.p-article-list .item figure a {
    display: block;
    position: relative;
    height: 0;
    padding-top: 100%;
}
.p-article-list .item figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    transform: scale(1);
    transition: 1s;
}
.p-article-list .item:hover figure img {
    transform: scale(1.1);
}
.p-article-list .item .content {
    padding: 0 0 0 0.2rem;
}
.p-article-list .item .content h2 a {
    display: block;
    font-size: 2.2rem;
    line-height: 1.5;
    text-decoration: none;
    color: #2e2e2e;
    margin-top: 1.8rem;
    margin-bottom: 1.8rem;
}
.p-article-list .item .content h2 a:hover {
    opacity: .7;
}
.p-article-list .item .content .meta .date {
    color: #696969;
    font-size: 1.3rem;
    margin: .4rem 0 0 .3rem;
}
@media only screen and (max-width: 767px) {
    .p-article-list {
        justify-content: initial;
        flex-direction: column;
    }
    .p-article-list.column-2 .item ,
    .p-article-list.column-3 .item {
        width: 100%;
        margin-right: 0;
        margin-bottom: 6rem;
    }
    .p-article-list .item .content h2 a {
        font-size: 1.8rem;
    }
}

/*----------------------------------------
	特集（詳細）
----------------------------------------*/
.p-article-detail {
    margin-bottom: 8rem;
}
.p-article-detail-head {
    margin-top: 4rem;
    margin-bottom: 6rem;
}
.p-article-detail-head__content {
    width: 75%;
    max-width: 900px;
    padding: 0 5%;
    margin-bottom: 8rem;
}
.p-article-detail-head__content h3 {
    color: #0181C0;
    display: flex;
    align-items: baseline;
    font-size: 1.8rem;
    letter-spacing: .1rem;
    margin-bottom: 2rem;
    text-indent: 0.6rem;
}
.p-article-detail-head__content h3 .number {
    font-size: 2rem;
    line-height: 1;
    margin-left: 1rem;
}
.p-article-detail-head__content h1 {
    font-size: 5.6rem;
    line-height: 1.4;
    margin-bottom: 4rem;
}
.p-article-detail-head__content .introduction {
    line-height: 2;
}
.p-article-detail-head__content .meta {
    display: flex;
    flex-direction: column;
    margin-top: 4rem;
}
.p-article-detail-head__content .meta .date {
    display: flex;
    align-items: center;
    color: #696969;
    font-size: 1.3rem;
    font-weight: 400;
    margin: 0.5rem 0 0 0;
}
.p-article-detail-head__content .p-post-tags {
    display: none;
}
.p-article-detail-head__image {
    margin: 8rem 0;
    overflow: hidden;
    border-radius: 3rem;
}
.p-article-detail-head__image img {
    width: 100%;
}
.p-article-detail-body {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
    font-size: 1.8rem;
}
.p-article-detail-body .p-post-body p {
    line-height: 2.2;
}

/* 特集目次 */
.p-article-detail-body__index {
    width: 24%;
    position: sticky;
    top: 10rem;
    padding-bottom: 14rem;
}
.p-article-detail-body__index dt {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
    margin-top: 1rem;
    margin-bottom: 2.4rem;
    display: flex;
    align-items: center;
}
.p-article-detail-body__index dt::before {
    content: '';
    display: block;
    height: 8px;
    width: 8px;
    margin-right: 1rem;
    background: #0181C0;
    border-radius: 3rem;
}
.p-article-detail-body__index dd {
    border-top: 1px solid #ccc;
}
.p-article-detail-body__index dd:last-of-type {
    border-bottom: 1px solid #ccc;
}
.p-article-detail-body__index dd a {
    display: flex;
    text-decoration: none;
    color: #313131;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.5;
    padding: 2rem 0 2.2rem 0;
    transition: .2s;
}
.p-article-detail-body__index dd a:hover {
    color: #0181C0;
}

/* 特集本文 */
.p-article-detail-body__content {
    width: 70%;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}
.p-article-detail-body__content #toc_container {
    display: none;
}
.p-article-detail-footer {
    width: 100%;
    border-top: 1px solid #ccc;
    padding: 2rem 0;
    margin-top: 6rem;
    display: flex;
    align-items: baseline;
}
.p-article-detail-footer .p-post-tags {
    flex: 1;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
}
/* SNSシェア */
.p-sns-share {
    min-width: 2.4rem;
    display: flex;
    justify-content: end;
    align-items: center;
}
.p-sns-share span {
    display: block;
    font-weight: 700;
    font-size: 1.5rem;
    margin-right: 2rem;
}
.p-sns-share a {
    display: block;
    width: 2.4rem;
    margin-right: 1.6rem;
}
.p-sns-share a:last-of-type {
    margin-right: 0;
}

/* 特集プロフィール */
.p-author-information {
    padding-bottom: 3.2rem;
    border-bottom: 1px solid #666;
    margin-top: 8rem;
}
.p-post-body .p-author-information h3 {
    font-size: 1.8rem;
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    margin-bottom: 2.4rem;
    padding-top: 1.8rem;
    border-top: 1px solid #666;
}
.p-author-information__inner {
    display: flex;
    gap: 0 2.4rem;
}
.p-author-information__photo {
    width: 16rem;
}
.p-author-information__text {
    flex: 1;
    font-size: 1.3rem;
}
.p-post-body h4.p-author-information__name {
    font-size: 1.8rem;
    margin-bottom: .8rem;
}

/* ゲストプロフィール */
.p-guest-information {
    margin-top: 4.8rem;
    padding-top: 2.4rem;
    border-top: 1px solid #666;
}
.p-guest-information__inner {
    display: flex;
    gap: 0 2.4rem;
}
.p-guest-information__photo {
    width: 16rem;
}
.p-guest-information__text {
    flex: 1;
    font-size: 1.3rem;
}
.p-post-body h4.p-guest-information__name {
    font-size: 1.8rem;
    margin-bottom: .8rem;
}

@media only screen and (max-width: 767px) {
    .p-article-detail-head {
        margin-bottom: 3rem;
    }
    .p-article-detail-head__content {
        width: 100%;
        padding: 0;
        margin-bottom: 4rem;
    }
    .p-article-detail-head__content h3 {
        font-size: 1.6rem;
    }
    .p-article-detail-head__content h3 .number {
        font-size: 1.6rem;
    }
    .p-article-detail-head__content h1 {
        font-size: 3rem;
    }
    .p-article-detail-head__content .introduction {
        font-size: 1.3rem;
    }
    .p-article-detail-head__image {
        width: 100vw;
        position: relative;
        left: 50%;
        right: 50%;
        margin-left: -50vw;
        margin-right: -50vw;
        border-radius: 0;
    }
    .p-article-detail-body {
        flex-direction: column;
        justify-content: initial;
        font-size: 1.6rem;
    }
    .p-article-detail-body__index {
        width: 100%;
        margin-bottom: 6rem;
        position: relative;
        top: initial;
        padding-bottom: 0;
    }
    .p-article-detail-body__content {
        width: 100%;
    }
    .p-article-detail-footer {
        flex-direction: column-reverse;
    }
    .p-article-detail-footer .p-post-tags {
        margin-top: 3rem;
        flex: initial;
    }
    /* 特集プロフィール */
    .p-author-information__inner {
        gap: 0 1.8rem;
    }
    .p-author-information__photo {
        width: 10rem;
    }
    .p-author-information__text {
        font-size: 1.2rem;
        line-height: 1.65;
    }
    /* ゲストプロフィール */
    .p-guest-information__inner {
        gap: 0 1.8rem;
    }
    .p-guest-information__photo {
        width: 10rem;
    }
    .p-guest-information__text {
        font-size: 1.2rem;
        line-height: 1.65;
    }
}

/*----------------------------------------
	スポット・体験（一覧）
----------------------------------------*/
.p-spot-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
}
.p-spot-list .item {
    width: 23%;
    margin-right: 2.6%;
    margin-bottom: 6%;
    position: relative;
}
.p-spot-list .item:nth-of-type(4n) {
    margin-right: 0;
}
.p-spot-list .item figure {
    border-radius: 1rem;
    overflow: hidden;
    margin-bottom: 1.8rem;
}
.p-spot-list .item figure a {
    display: block;
    position: relative;
    height: 0;
    padding-top: 100%;
}
.p-spot-list .item figure a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    transform: scale(1);
    transition-duration: 2s;
}
.p-spot-list .item:hover figure a img {
    transform: scale(1.1);
}
.p-spot-list .item .content h2 a {
    display: block;
    font-size: 2rem;
    line-height: 1.4;
    font-weight: 700;
    text-decoration: none;
    color: #323232;
    margin-bottom: 1.8rem;
    transition: .2s;
}
.p-spot-list .item .content h2 a:hover {
    opacity: .6;
}
.p-spot-list .item .summary {
    font-size: 1.4rem;
    color: #696969;
    line-height: 1.65;
    margin-bottom: 1.2rem;
}
.p-spot-list .p-post-tags li:not(.area):not(:nth-of-type(2)) {
    display: none;
}
@media only screen and (max-width: 999px) {
    .p-spot-list .item {
        width: 31.6%;
    }
    .p-spot-list .item:nth-of-type(4n) {
        margin-right: 2.6%;
    }
    .p-spot-list .item:nth-of-type(3n) {
        margin-right: 0;
    }
}
@media only screen and (max-width: 767px) {
    .p-spot-list {
        justify-content: space-between;
    }
    .p-spot-list .item {
        width: 47.5%;
        margin-right: 0;
        margin-bottom: 4rem;
    }
    .p-spot-list .item:nth-of-type(4n) {
        margin-right: 0;
    }
    .p-spot-list .item .content h2 a {
        font-size: 1.8rem;
    }
    .p-spot-list .item .summary {
        font-size: 1.2rem;
    }
    .p-spot-list .item .content {
        margin-top: 1.2rem;
    }

}

/*----------------------------------------
	スポット・体験（詳細）
----------------------------------------*/
.page-spot footer {
    margin-top: 0;
}
.p-spot-detail {
    margin-top: 4rem;
    margin-bottom: 14rem;
}
.p-spot-detail-visual {
    height: 50rem;
    overflow: hidden;
    margin-bottom: 8rem;
}
.p-spot-detail-visual picture {
    display: block;
    height: 100%;
    width: 100%;
    overflow: hidden;
    border-radius: 1.8rem;
}
.p-spot-detail-visual picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.p-spot-detail-heading {
    margin-bottom: 8rem;
    padding: 0 5%;
}
.p-spot-detail-heading h3 {
    font-size: 1.8rem;
    letter-spacing: .1rem;
    line-height: 1;
    color: #0181C0;
    margin-bottom: 2rem;
    text-indent: 4px;
}
.p-spot-detail-heading h1 {
    font-size: 5.4rem;
    line-height: 1.4;
    margin-bottom: 1.8rem;
}
.p-spot-detail-body {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}
.p-spot-detail .p-post-tags {
    font-size: 1.4rem;
}
/* スポット：ギャラリー */
.p-spot-gallery {
    margin-top: 8rem;
    margin-bottom: 4rem;
    position: relative;
}
.p-spot-gallery .swiper {
    position: relative; 
}
.p-spot-gallery .swiper:before {
    content: "";
    display: block;
}
.p-spot-gallery .swiper.swiper-main:before {
    padding-top: 66.66%;
}
.p-spot-gallery .swiper.swiper-thumb:before {
    padding-top: 13%;
}
.p-spot-gallery .swiper-wrapper {
    position: absolute; 
    top: 0;
    left: 0;
}
.p-spot-gallery .swiper-slide {
    height: auto;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.p-spot-gallery .swiper-thumb {
    margin-top: 1.2rem;
}
.p-spot-gallery .swiper-thumb .swiper-slide-thumb-active {
    opacity: .5;
    transition: .4s;
}
.p-spot-gallery__functions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
    width: 22rem;
    height: 5rem;
    margin-top: 2rem;
}
.p-spot-gallery .swiper-button-prev:after,
.p-spot-gallery .swiper-button-next:after {
    font-size: 0;
}
.p-spot-gallery .swiper-button-next, 
.p-spot-gallery .swiper-rtl .swiper-button-next,
.p-spot-gallery .swiper-button-prev,
.p-spot-gallery .swiper-rtl .swiper-button-prev {
    width: 4rem;
    height: 4rem;
    font-size: 0;
    top: initial;
    bottom: initial;
    right: initial;
    left: initial;
    position: relative;
    margin: 0;
    transition: .3s;
}
.p-spot-gallery .swiper-button-next:hover, 
.p-spot-gallery .swiper-rtl .swiper-button-next:hover,
.p-spot-gallery .swiper-button-prev:hover,
.p-spot-gallery .swiper-rtl .swiper-button-prev:hover {
    opacity: .6;
}
.p-spot-gallery .swiper-button-next,
.p-spot-gallery .swiper-rtl .swiper-button-next {
    background: url(../img/common/circle_arrow_right_b.svg) no-repeat center;
    background-size: contain;
}
.p-spot-gallery .swiper-button-prev,
.p-spot-gallery .swiper-rtl .swiper-button-prev {
    background: url(../img/common/circle_arrow_left_b.svg) no-repeat center;
    background-size: contain;
}
.p-spot-gallery .swiper-pagination-fraction {
    font-family: 'Inter', sans-serif;
    font-size: 1.4rem;
    font-weight: 600;
    letter-spacing: .7rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
}
.p-spot-gallery .swiper-horizontal > .swiper-scrollbar,
.p-spot-gallery .swiper-scrollbar.swiper-scrollbar-horizontal {
    display: none;
}

/* スポット：基本情報 */
.p-spot-data {
    background-color: #F0F2F4;
    padding: 3rem 3rem 3.6rem 3rem;
    margin: -2rem 0 8rem 0;
}
.p-spot-data dt {
    font-weight: 700;
    margin-bottom: 0.8rem;
}
.p-spot-data dd p {
    font-size: 1.3rem;
    line-height: 1.85!important;
    margin: 0;
}

.p-spot-information {
    background-color: #F0F2F4;
    position: relative;
    margin-top: 10rem;
    margin-bottom: 4rem;
}
.p-spot-information h3 {
    width: fit-content;
    transform: translate(2rem, -1.5rem);
    background: #2e2e2e;
    color: #fff;
    font-size: 1.5rem;
    letter-spacing: .06em;
    line-height: 1;
    padding: 0.8rem 2rem 1rem 2rem;
    margin-bottom: 0;
    border-radius: 1.8rem;
}
.p-spot-information dl {
    display: flex;
    flex-wrap: wrap;
    padding: 2rem 5rem 4rem 5rem;
    font-size: 1.5rem;
}
.p-spot-information dl dt {
    width: 15rem;
    padding: 1rem 2rem 1rem 0;
    font-weight: 700;
}
.p-spot-information dl dd {
    width: calc(100% - 15rem);
    padding: 1.4rem 0;
    line-height: 1.5;
}
/* 関連記事 */
.p-related-posts {
    margin-top: 12rem;
}
.p-related-posts .p-section-heading {
    margin-bottom: 3rem;
}
.swiperThumbnail .swiper-slide-thumb-active {
    border: 3px solid #007aff;
}
.p-related-posts .p-spot-list .item {
    margin-bottom: 0;
}
/* 見どころ */
.p-spot-charm-wrap {

}
.p-spot-charm {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 90%;
    max-width: 109rem;
    margin: 10rem auto;
}
.p-spot-charm.reverse {
    flex-direction: row-reverse;
}
.p-spot-charm__content {
    width: 36%;
}
.p-spot-charm__content .heading {
    color: #0181C0;
}
.p-spot-charm__content .heading h3 {
    display: inline-block;
    position: relative;
    width: fit-content;
    font-size: 1.6rem;
    margin-bottom: 1.4rem;
}
.p-spot-charm__content .heading h3::after {
    content: '';
    display: inline-block;
    position: absolute;
    left: 0;
    bottom: -2px;
    height: 1px;
    width: 100%;
    border-bottom: 1px solid #0181C0;
}
.p-spot-charm__content .heading h3 .number {
    margin-left: .5rem;
    font-size: 1.8rem;
    font-weight: 600;;
}
.p-spot-charm__content .heading h2 {
    font-size: 3.2rem;
    margin-bottom: 2rem;
}
.p-spot-charm__content .body p {
    text-align: justify;
}
.p-spot-charm__image {
    width: 58%;
}
/* 遊歩道ガイドマップ */
.p-spot-map {
    margin-top: 14rem;
    margin-bottom: 8rem;
}
.p-spot-map-inner {
    width: 90%;
    max-width: 109rem;
    margin-left: auto;
    margin-right: auto;
}
.p-spot-map h2 {
    position: relative;
    line-height: 1;
    margin: 2rem auto 4rem auto;
    width: 80%;
    text-align: center;
}
.p-spot-map h2::after {
    position: absolute;
    top: 50%;
    z-index: -1;
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    border-bottom: 1px dotted #000;
}
.p-spot-map h2 span {
    position: relative;
    font-size: 3.2rem;
    letter-spacing: .03em;
    background-color: #fff;
    padding: 0 3rem;
}
.p-spot-map__intro {
    text-align: center;
}
/* スポットコース */
.p-spot-map-course {
    margin-top: 5rem;
    position: relative;
    width: 100%;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
    position: relative;
    cursor: grab;
}
.p-spot-map-course__inner {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    border-radius: 1.8rem;
    overflow: hidden;
}
.p-spot-map-course .p-spot-map-course__map {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.p-spot-map-course .p-spot-map-course__map img {
    display: block;
    height: 100%;
    width: auto;
    max-width: initial;
    border-radius: 1rem;
}
.p-spot-map-course__pins {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.p-spot-map-course__pins .item {
    position: absolute;
    display: block;
    width: 3.6rem;
    height: 4rem;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
}
.p-spot-map-course__pins .pin-1 {
    background-image: url(../img/map/pin_1.svg);
}
.p-spot-map-course__pins .pin-2 {
    background-image: url(../img/map/pin_2.svg);
}
.p-spot-map-course__pins .pin-3 {
    background-image: url(../img/map/pin_3.svg);
}
.p-spot-map-course__pins .pin-4 {
    background-image: url(../img/map/pin_4.svg);
}
.p-spot-map-course__pins .pin-5 {
    background-image: url(../img/map/pin_5.svg);
}
.p-spot-map-course__pins .pin-6 {
    background-image: url(../img/map/pin_6.svg);
}
.p-spot-map-course__pins .pin-7 {
    background-image: url(../img/map/pin_7.svg);
}
.p-spot-map-course__pins .pin-8 {
    background-image: url(../img/map/pin_8.svg);
}
.p-spot-map-course__pins .pin-9 {
    background-image: url(../img/map/pin_9.svg);
}
.p-spot-map-course__pins .pin-10 {
    background-image: url(../img/map/pin_10.svg);
}
.p-spot-map-course__pins .pin-11 {
    background-image: url(../img/map/pin_11.svg);
}
.p-spot-map-course__pins .pin-12 {
    background-image: url(../img/map/pin_12.svg);
}
.p-spot-map-course__pins .pin-13 {
    background-image: url(../img/map/pin_13.svg);
}
.p-spot-map-course__pins .pin-14 {
    background-image: url(../img/map/pin_14.svg);
}
.p-spot-map-course__pins .pin-15 {
    background-image: url(../img/map/pin_15.svg);
}
.p-spot-map-course__pins .pin-16 {
    background-image: url(../img/map/pin_16.svg);
}
.p-spot-map-course__pins .pin-17 {
    background-image: url(../img/map/pin_17.svg);
}
.p-spot-map-course__pins .pin-18 {
    background-image: url(../img/map/pin_18.svg);
}
.p-spot-map-course__pins .pin-19 {
    background-image: url(../img/map/pin_19.svg);
}
.p-spot-map-course__pins .pin-20 {
    background-image: url(../img/map/pin_20.svg);
}
/* コース内ツールチップ */
.tip-box {
    display: none;
    position: fixed;
    z-index: 10000;
    top: 50%;
    left: 50%;
    width: 90vw;
    max-width: 45rem;
    transform: translate(-50%, -50%);
    padding: 3.5rem 3rem;
    background-color: #fff;
    cursor: initial;
}
.tip-box figure {
    margin-bottom: 1.8rem;
}
.tip-box figure img {
    border-radius: 0.8rem;
}
.tip-box__content {
    margin-top: 1.2rem;
}
.tip-box__content h3 {
    font-size: 2rem;
    margin-bottom: 1.2rem;
    display: flex;
    align-items: center;
}
.tip-box__content h3 img {
    width: 2.8rem;
    margin-right: 0.8rem;
}
.tip-box__content p {
    line-height: 1.5;
    font-size: 1.4rem;
    margin-bottom: 0;
}
.tip-box__content nav {
    margin-top: 1rem;
    font-size: 1.4rem;
}
.tip-box__content nav a {
    text-decoration: none;
    color: #1a73e8;
}
.tip-box__content nav a:hover {
    text-decoration: underline;
}
.tip-box-close {
    content: '';
    cursor: pointer;
    display: block;
    background: url(../img/common/btn_close_b.svg) no-repeat center;
    background-size: contain;
    width: 3.2rem;
    height: 3.2rem;
    position: absolute;
    right: -1.4rem;
    top: -1.4rem;
    opacity: .7;
    transition: .2s linear;
}
.tip-box-close:hover {
    opacity: 1;
}
/* スポットコース：佐多岬 */
.sata .p-spot-map-course__inner {
    width: 109rem;
    height: 70rem;
}
.sata .p-spot-map-course__pins .pin-1 {
    top: 5rem;
    right: 8rem;
}
.sata .p-spot-map-course__pins .pin-2 {
    top: 7rem;
    right: 33.5rem;
}
.sata .p-spot-map-course__pins .pin-3 {
    top: 1rem;
    right: 33rem;
}
.sata .p-spot-map-course__pins .pin-4 {
    top: 5rem;
    right: 58.5rem;
}
.sata .p-spot-map-course__pins .pin-5 {
    top: 4rem;
    right: 63.6rem;
}
.sata .p-spot-map-course__pins .pin-6 {
    top: 9rem;
    left: 37rem;
}
.sata .p-spot-map-course__pins .pin-7 {
    top: 13rem;
    left: 28rem;
}
.sata .p-spot-map-course__pins .pin-8 {
    top: 5.4rem;
    left: 20rem;
}
.sata .p-spot-map-course__pins .pin-9 {
    top: 14rem;
    left: 19.5rem;
}
.sata .p-spot-map-course__pins .pin-10 {
    top: 22rem;
    left: 15rem;
}
.sata .p-spot-map-course__pins .pin-11 {
    bottom: 25.6rem;
    left: 22rem;
}
.sata .p-spot-map-course__pins .pin-12 {
    bottom: 27.6rem;
    left: 15.6rem;
}
.sata .p-spot-map-course__pins .pin-13 {
    bottom: 18.6rem;
    left: 12.6rem;
}
.sata .p-spot-map-course__pins .pin-14 {
    bottom: 15.5rem;
    left: 7.4rem;
}
.sata .p-spot-map-course__pins .pin-15 {
    bottom: 11rem;
    left: 14.6rem;
}
.sata .p-spot-map-course__pins .pin-16 {
    bottom: 6.5rem;
    left: 22rem;
}
.sata .p-spot-map-course__pins .pin-17 {
    bottom: 8.5rem;
    left: 18rem;
}
.sata .p-spot-map-course__pins .pin-18 {
    bottom: 20rem;
    left: 26.6rem;
}
.sata .p-spot-map-course__pins .pin-19 {
    bottom: 19.6rem;
    left: 36.6rem;
}
.sata .p-spot-map-course__pins .pin-20 {
    bottom: 4.6rem;
    left: 36.6rem;
}

/* スポットコース：雄川の滝 */
.ogawa .p-spot-map-course__inner {
    width: 145rem;
    height: 50rem;
}
.ogawa .p-spot-map-course__pins .pin-1 {
    top: 27rem;
    left: 6rem;
}
.ogawa .p-spot-map-course__pins .pin-2 {
    top: 30rem;
    left: 10rem;
}
.ogawa .p-spot-map-course__pins .pin-3 {
    top: 32rem;
    left: 14rem;
}
.ogawa .p-spot-map-course__pins .pin-4 {
    top: 21rem;
    left: 40.8rem;
}
.ogawa .p-spot-map-course__pins .pin-5 {
    top: 20rem;
    left: 61rem;
}
.ogawa .p-spot-map-course__pins .pin-6 {
    top: 21.7rem;
    left: 69.5rem;
}
.ogawa .p-spot-map-course__pins .pin-7 {
    top: 16rem;
    left: 74rem;
}
.ogawa .p-spot-map-course__pins .pin-8 {
    top: 10.4rem;
    left: 84rem;
}
.ogawa .p-spot-map-course__pins .pin-9 {
    bottom: 27rem;
    right: 45rem;
}
.ogawa .p-spot-map-course__pins .pin-10 {
    bottom: 20rem;
    right: 40rem;
}
.ogawa .p-spot-map-course__pins .pin-11 {
    bottom: 16.7rem;
    right: 31rem;
}
.ogawa .p-spot-map-course__pins .pin-12 {
    bottom: 15.5rem;
    right: 23rem;
}
.ogawa .p-spot-map-course__pins .pin-13 {
    bottom: 13rem;
    right: 16rem;
}
.ogawa .p-spot-map-course__pins .pin-14 {
    bottom: 9rem;
    right: 12rem;
}

/* スポットガイド */
.p-spot-map-guide {
    margin-top: 4rem;
}
.p-spot-map-guide .tab {
    display: flex;
    margin: 0;
}
.p-spot-map-guide .tab li {
    position: relative;
    background: #fff;
    border-left: 1px solid #2e2e2e;
    border-right: 1px solid #2e2e2e;
    border-top: 1px solid #2e2e2e;
    padding: 2rem 4rem;
    margin-bottom: 0.6rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 1rem 1rem 0 0;
    cursor: pointer;
}
.p-spot-map-guide .tab li:first-of-type {
    margin-right: 2rem;
}
.p-spot-map-guide .tab li.current {
    margin-bottom: -1px;
}
.p-spot-map-guide .tab li::before {
    content: '';
    display: block;
    height: 6px;
    width: 5rem;
    background: #000;
    margin-right: 1.4rem;
}
.p-spot-map-guide .tab li.long::before {
    background: #CC1111;
}
.p-spot-map-guide .tab li.short::before {
    background: #f89401;
}
.p-spot-map-guide .tab li span {
    font-weight: 700;
}
.p-spot-map-guide .content {
    border: 1px solid #2e2e2e;
    padding: 4rem 4rem 3.2rem;
    margin-left: 0;
    margin-bottom: 0;
}
.p-spot-map-guide .content li {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}
.p-spot-map-guide .content li:not(:first-of-type) {
    display: none;
}
.p-spot-map-guide__left {
    width: 100%;
}
.p-spot-map-guide__left .spec {
    margin-bottom: 3rem;
}
.p-spot-map-guide__left .spec dl {
    display: flex;
    align-items: baseline;
}
.p-spot-map-guide__left .spec dl dt {
    font-weight: 700;
}
.p-spot-map-guide__left .spec dl dd {
    
}
.p-spot-map-guide__right {
    width: 100%;
    margin-top: 5rem;
}
.p-spot-map-guide-slide {
    padding-bottom: 1rem;
}
.p-spot-map-guide__right .swiper-pagination {
    font-family: 'Inter', sans-serif;
    font-size: 1.4rem;
    letter-spacing: .2rem;
    font-weight: 600;
    position: relative;
    bottom: 0;
}
.p-spot-map-guide-slide .swiper-slide {
    cursor: grab;
    position: relative;
}
.p-spot-map-guide-slide .swiper-slide:not(:last-of-type)::before {
    content: '';
    display: block;
    width: 2.4rem;
    height: 3.4rem;
    position: absolute;
    right: -3.6rem;
    top: 9.5rem;
    background: url(../img/spot/course_allow.svg) no-repeat center;
    background-size: contain;
}
.p-spot-map-guide-slide .swiper-slide figure {
    margin-bottom: 1.8rem;
    border-radius: 1rem;
    overflow: hidden;
}
.p-spot-map-guide-slide__content {
    margin-top: 1.2rem;
}
.p-spot-map-guide-slide__content h3 {
    font-size: 1.8rem;
    margin-bottom: 1.2rem;
    display: flex;
    align-items: flex-start;
}
.p-spot-map-guide-slide__content h3 img {
    width: 2.8rem;
    margin-right: .8rem;
    margin-top: .3rem;
    display: none;
}
.p-spot-map-guide-slide__content p {
    line-height: 1.65;
    font-size: 1.5rem;
}
/* 注意事項 */
.p-spot-notes {
    background-color: #2e2e2e;
    color: #fff;
    max-width: 70rem;
    padding: 4rem 4rem 4rem 4rem;
    margin: 8rem auto;
    border-radius: 1rem;
}
.p-spot-notes h3 {
    font-size: 2.4rem;
    margin-bottom: 3.4rem;
    display: flex;
    justify-content: center;
    align-items: center;
}
.p-spot-notes h3::before {
    content: '';
    display: inline-block;
    width: 2.6rem;
    height: 2.6rem;
    margin-top: 0.4rem;
    margin-right: 1rem;
    background: url(../img/spot/icon_note.svg) no-repeat center;
    background-size: contain;
}
.p-spot-notes ul {
    margin-left: 0;
    margin-bottom: 0;
}
.p-spot-notes ul li {
    line-height: 1.5;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: baseline;
}
.p-spot-notes ul li:last-of-type {
    margin-bottom: 0;
}
.p-spot-notes ul li span {
    flex: 1;
}
.p-spot-notes ul li::before {
    content: '';
    display: inline-block;
    width: 1.6rem;
    height: 1.6rem;
    margin-right: 1rem;
    background: url(../img/spot/icon_checked.svg) no-repeat center;
    background-size: contain;
}
/* 観光スポットマップ */
.p-guide-google-map {
    position: relative;
    margin-top: 12rem;
}
.p-guide-google-map__navi {
    position: absolute;
    top: 2rem;
    left: 2rem;
    z-index: 1;
    display: flex;
    align-items: center;
}
.p-guide-google-map__navi li {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 9.6rem;
    height: 9.6rem;
    padding: .5rem 0;
    margin-right: 1rem;
    text-align: center;
    color: #0181C0;
    font-weight: 700;
    font-size: 1.2rem;
    line-height: 1.3;
    background-color: #fff;
    border-radius: 1rem;
    transition: .2s linear;
}
.p-guide-google-map__navi li:last-of-type {
    margin-right: 0;
}
.p-guide-google-map__navi li.current,
.p-guide-google-map__navi li:hover {
    color: #fff;
    background-color: #0181C0;
}
.p-guide-google-map__navi li span {
    letter-spacing: -.04rem;
}
.p-guide-google-map__navi li picture {
    display: block;
    width: 4rem;
    height: 4rem;
}
.p-guide-google-map__navi li picture {
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    margin-bottom: 0.5rem
}
.p-guide-google-map__navi li.nature-scenery picture {
    background-image: url(../img/common/icon_nature-scenery_b.svg);
}
.p-guide-google-map__navi li.activity picture {
    background-image: url(../img/common/icon_activity_b.svg);
}
.p-guide-google-map__navi li.stay-souvenir picture {
    background-image: url(../img/common/icon_stay_b.svg);
}
.p-guide-google-map__navi li.history-remains picture {
    background-image: url(../img/common/icon_history-remains_b.svg);
}
.p-guide-google-map__navi li.rest-supply picture {
    background-image: url(../img/common/icon_rest-supply_b.svg);
}
.p-guide-google-map__navi li.nature-scenery.current picture,
.p-guide-google-map__navi li.nature-scenery:hover picture {
    background-image: url(../img/common/icon_nature-scenery_w.svg);
}
.p-guide-google-map__navi li.activity.current picture,
.p-guide-google-map__navi li.activity:hover picture {
    background-image: url(../img/common/icon_activity_w.svg);
}
.p-guide-google-map__navi li.stay-souvenir.current picture,
.p-guide-google-map__navi li.stay-souvenir:hover picture {
    background-image: url(../img/common/icon_stay_w.svg);
}
.p-guide-google-map__navi li.history-remains.current picture,
.p-guide-google-map__navi li.history-remains:hover picture {
    background-image: url(../img/common/icon_history-remains_w.svg);
}
.p-guide-google-map__navi li.rest-supply.current picture,
.p-guide-google-map__navi li.rest-supply:hover picture {
    background-image: url(../img/common/icon_rest-supply_w.svg);
}
.p-guide-google-map #map {
    height: 70rem;
}
/* Google Mapポップアップ */
.p-gmap-popup {
    padding: 0 0 2rem 0;
    position: relative;
}
.p-gmap-popup figure {
    margin-bottom: 1rem;
    position: relative;
    height: 18rem;
    margin-bottom: 1.8rem;
}
.p-gmap-popup figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.p-gmap-popup .content {
    padding: 0 0.2rem;
}
.p-gmap-popup .content h3 {
    font-size: 1.8rem;
}
.p-gmap-popup .content p {
    margin-top: .8rem;
    font-size: 1.4rem;
}
.p-gmap-popup .content nav {
    margin-top: 1rem;
    display: flex;
    flex-direction: column;
}
.p-gmap-popup .content a {
    text-decoration: none;
    color: #1a73e8;
    margin-top: 1rem;
}
.p-gmap-popup .content a:hover {
    text-decoration: underline;
}
.p-guide-google-map .gm-style .gm-style-iw-c {
    overflow: visible !important;
    width: 300px;
    padding: 20px;
}
.p-guide-google-map .gm-style-iw.gm-style-iw-c button {}
.p-guide-google-map .gm-style-iw.gm-style-iw-c button::after {
    content: '';
    cursor: pointer;
    display: block;
    background: url(../img/common/btn_close_b.svg) no-repeat center;
    background-size: contain;
    width: 30px;
    height: 30px;
    position: absolute;
    right: -7px;
    top: -7px;
}
.poi-info-window .full-width {
    width: initial;
    position: initial;
    left: initial;
    right: initial;
    margin-left: initial;
    margin-right: initial;
}
@media only screen and (max-width: 1130px) {
    .p-spot-detail-heading {
        padding: 0;
        max-width: 900px;
        margin-left: auto;
        margin-right: auto;
    }
}
@media only screen and (max-width: 900px) {
    /* 関連記事 */
    .p-related-posts .p-spot-list .item:nth-of-type(4n) {
        display: none;
    }
}
@media only screen and (max-width: 767px) {
    .p-spot-detail {
        margin-top: 4rem;
    }
    .p-spot-detail-heading {
        padding: 0;
        margin-bottom: 5rem
    }
    .p-spot-detail-heading h3 {
        font-size: 1.6rem;
        margin-bottom: 1.2rem;
    }
    .p-spot-detail-heading h1 {
        font-size: 3.2rem;
        margin-bottom: 2rem;
    }
    .p-spot-detail .p-post-tags {
        font-size: 1.3rem;
    }
    /* ビジュアル */
    .p-spot-detail-visual {
        height: 40rem;
        width: 100vw;
        position: relative;
        left: 50%;
        right: 50%;
        margin-left: -50vw;
        margin-right: -50vw;
    }
    .p-spot-detail-visual picture {
        border-radius: 0;
    }
    /* スポット：ギャラリー */
    .p-spot-gallery {
        margin-top: 4rem;
    }
    /* 見どころ */
    .p-spot-charm {
        flex-direction: column;
        margin: 8rem auto;
    }
    .p-spot-charm.reverse {
        flex-direction: column;
    }
    .p-spot-charm__content {
        width: 100%;
    }
    .p-spot-charm__content .heading h3 {
        font-size: 1.5rem;
        margin-bottom: 1.4rem;
    }
    .p-spot-charm__content .heading h2 {
        font-size: 2.4rem;
    }
    .p-spot-charm__image {
        width: 100%;
        margin-top: 2rem;
    }
    /* 遊歩道ガイドマップ */
    .p-spot-map {
        margin-top: 8rem;
        margin-bottom: 8rem;
    }
    .p-spot-map-inner {
        width: 88%;
    }
    .p-spot-map h2 {
        width: 100%;
        margin: 0 auto 3rem auto;
    }
    .p-spot-map h2 span {
        font-size: 2rem;
    }
    .p-spot-map__intro {
        text-align: left;
    }
    /* スポットガイド */
    .p-spot-map-guide .tab li {
        width: fit-content;
        padding: 1.6rem 1.2rem;
    }
    .p-spot-map-guide .tab li::before {
        width: 3rem;
        margin-right: 1rem;
    }
    .p-spot-map-guide .tab li span {
        font-size: 1.3rem;
    }
    .p-spot-map-guide .tab li:first-of-type {
        margin-right: 1rem;
    }
    .p-spot-map-guide .content {
        padding: 2rem 2rem 2.2rem;
    }
    .p-spot-map-guide .content li {
        flex-direction: column;
        justify-content: initial;
    }
    .p-spot-map-guide__right {
        margin-top: 3rem;
    }
    .p-spot-map-guide-slide__content h3 {
        font-size: 1.8rem;
    }
    .p-spot-map-guide-slide__content h3 img {
        width: 2.2rem;
        margin-right: 0.8rem;
    }
    .p-spot-map-guide-slide__content p {
        font-size: 1.3rem;
    }
    /* スポット：基本情報 */
    .p-spot-data {
        padding: 2rem 2rem 2.6rem 2rem;
    }
    .p-spot-information {
        margin-top: 10rem;
    }
    .p-spot-information h3 {
        font-size: 1.3rem;
        letter-spacing: .06em;
        padding: 0.7rem 2rem 0.8rem 2rem;
        transform: translate(1.6rem, -1.2rem);
    }
    .p-spot-information dl {
        padding: 0 2rem 2rem 2rem;
        font-size: 1.3rem;
    }
    .p-spot-information dl dt {
        width: 11rem;
        padding-top: 1.4rem;
        padding-bottom: 1.4rem;
    }
    .p-spot-information dl dd {
        width: calc(100% - 11rem);
        padding-top: 1.4rem;
        padding-bottom: 1.4rem;
    }
    /* 注意事項 */
    .p-spot-notes {
        width: 100%;
        padding: 3rem 2rem 2rem 2rem;
        margin: 6rem auto;
    }
    .p-spot-notes h3 {
        font-size: 2rem;
        margin-bottom: 3rem;
    }
    .p-spot-notes ul {
        font-size: 1.4rem;
    }
    /* 関連記事 */
    .p-related-posts .p-section-heading {
        flex-direction: column;
        align-items: baseline;
        margin-bottom: 4rem;
    }
    .p-related-posts .p-spot-list .item {
        margin-bottom: 3rem;
    }
    .p-related-posts .p-spot-list .item:nth-of-type(4n) {
        display: block;
    }
    /* 観光スポットマップ */
    .p-gmap-popup .content h3 {
        font-size: 1.5rem;
    }
    .p-gmap-popup .content p {
        margin-top: 0.5rem;
        font-size: 1.3rem;
    }
    .p-guide-google-map__navi {
        top: initial;
        bottom: 2rem;
        left: 1rem;
    }
    .p-guide-google-map__navi li {
        width: 7rem;
        height: 7rem;
        margin-right: 0.6rem;
        font-size: 1rem;
    }
    .p-guide-google-map__navi li:last-of-type {
        width: 8rem;
    }
    .p-guide-google-map__navi li picture {
        width: 3rem;
        height: 3rem;
    }
}


/*----------------------------------------
	交通アクセス情報
----------------------------------------*/
.page-access {}
.p-access {}
.p-access-navi {
    display: flex;
    justify-content: center;
}
.p-access-navi a {
    display: flex;
    background-color: #EAEAEA;
    text-decoration: none;
    font-size: 1.8rem;
    line-height: 1.4;
    font-weight: 700;
    padding: 2.7rem 3rem 3rem 3rem;
    border-radius: .6rem;
    margin-right: 2rem;
    transition: .3s;
}
.p-access-navi a:last-of-type {
    margin-right: 0;
}
.p-access-navi a:hover {
    opacity: .75;
}
.p-access-navi a span {
    display: block;
    padding-right: 3rem;
    background: url(../img/common/icon_quick-link.svg) no-repeat right center;
    background-size: 2rem auto;
}
.p-access-content {
    margin-top: 12rem;
    max-width: 1000px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;

}
.p-access-content > h2 {
    font-size: 3.2rem;
    line-height: 1.4;
    padding-bottom: 2rem;
    margin-bottom: 5rem;
    position: relative;
}
.p-access-content > h2::before,
.p-access-content > h2::after {
    content: '';
    display: block;
    height: 0.5rem;
    position: absolute;
    bottom: 0;
}
.p-access-content > h2::before {
    z-index: 1;
    width: 5rem;
    background-color: #0181C0;
}
.p-access-content > h2::after {
    z-index: 0;
    width: 100%;
    background-color: #E2DFDF;
}
.p-access-content__body h3 {
    font-size: 2.6rem;
    line-height: 1.4;
    margin-top: 12rem;
    margin-bottom: 5rem;
    padding-left: 2rem;
    border-left: 6px solid #0181C0;
}
/* 南大隅へのアクセス */
.p-access-outline {
    margin-bottom: 10rem;
}
/* 遠方からのアクセス */
.p-access-faraway {
    border: .5rem solid #E2DFDF;
    padding: 3rem 3rem .5rem 3rem;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 6rem;
}
.p-access-faraway .item {
    width: 45%;
}
.p-access-faraway table {
    font-weight: 700;
}
.p-access-faraway table tr td {
    padding: 0 1rem 3rem 0;
}
.p-access-faraway table tr td.label {
    padding-right: 2rem;
}
.c-time-required {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #3C3C3C;
    color: #fff;
    line-height: 1;
    width: fit-content;
    padding: .7rem 1rem .9rem 1rem;
    /* border-radius: .5rem; */
    font-size: 1.4rem;
    font-weight: 700;
}
/* 県内のアクセス */
.p-access-flow {
    margin-bottom: 6rem;
}
.p-access-flow h4 {
    font-size: 2rem;
    line-height: 1.4;
    margin-bottom: 1.2rem;
}
.p-access-flow-list {
    /* border: 0.5rem solid #E2DFDF; */
    padding: 3rem 0;
}
.p-access-flow-list ul {
    display: flex;
    align-items: center;
}
.p-access-flow-list ul:not(:last-of-type) {
    margin-bottom: 4rem;
}
.p-access-flow-list ul li {
    width: 100%;
    display: flex;
    align-items: center;
    flex-direction: column;
    line-height: 1.4;
    text-align: center;
}
.p-access-flow-list ul li.point {
    display: flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-width: 14rem;
    min-height: 8rem;
    font-size: 1.5rem;
    font-weight: 700;
    border: 2px solid #2e2e2e;
}
.p-access-flow-list ul li.t-small {
    font-size: 1.4rem;
}
.p-access-flow-list ul li.transport {
    position: relative;
    font-weight: 500;
}
.p-access-flow-list ul li.transport::after {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    border-bottom: 1px solid #2e2e2e;
    position: absolute;
    top: 50%;
}
.p-access-flow-list ul li.transport span {
    position: relative;
    z-index: 1;
}
.p-access-flow-list ul li.transport span:first-of-type,
.p-access-flow-list ul li.transport span:last-of-type {
    font-size: 1.3rem;
    height: 2.4rem;
    padding-top: 0;
    padding-bottom: 0;
    background-color: #fff;
}
.p-access-flow-list ul li.transport span:last-of-type {
    margin-top: .8rem;
}
.p-access-flow-list ul li.transport span:first-of-type {
    margin-bottom: .8rem;
}
.p-access-related-links {
    display: flex;
    justify-content: end;
    margin-top: .3rem;
}
.p-access-local nav a,
.p-access-related-links a {
    display: block;
    width: fit-content;
    padding-right: 2rem;
    background: url(../img/common/icon_link_outer_b.svg) no-repeat right center;
    background-size: 1.3rem auto;
    font-size: 1.5rem;
}
.p-access-related-links a {
    margin-left: 4rem;
}
/* 交通情報問い合わせ先 */
.p-access-contacts .p-spot-information {
    margin-bottom: 0;
}
.p-access-contacts .p-spot-information dl dt {
    width: 24%;
}
.p-access-contacts .p-spot-information dl dd {
    width: 76%;
}
.p-access-contacts .p-access-contacts__attention {
    margin-top: .3rem;
    font-size: 1.2rem;
}
/* 主要観光スポットへのアクセス */
.p-access-spot:not(:last-of-type) {
    margin-bottom: 6rem;
}
.p-access-spot h4 {
    font-size: 2.2rem;
    line-height: 1.4;
    margin-bottom: 2rem;
    display: flex;
}
.p-access-spot h4 .c-time-required {
    margin-left: 2rem;
}
.p-access-spot__gmap {
    width: 100%;
    position: relative;
    padding-top: 45%;
}
.p-access-spot__gmap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.p-access-spot__gmap-link {
    display: flex;
    justify-content: end;
    margin-top: .3rem;

}
.p-access-spot__gmap-link a {
    display: block;
    width: fit-content;
    padding-right: 2rem;
    background: url(../img/common/icon_link_outer_b.svg) no-repeat right center;
    background-size: 1.3rem auto;
    font-size: 1.5rem;
}

/* 二次交通 */
.p-access-local {
    display: flex;
}
.p-access-local .item {
    width: 45%;
}
.p-access-local .item figure {
    margin-bottom: 1rem;
}
.p-access-local .item h4 {
    font-size: 2.2rem;
    margin-bottom: 1rem;
}
.p-access-local .item p {
    line-height: 1.65;
}
.p-access-local .item nav {
    margin-top: 1.5rem;
}
@media only screen and (max-width: 767px) {
    .c-time-required {
        font-size: 1.2rem;
    }
    .p-access-navi {
        flex-direction: column;
    }
    .p-access-navi a {
        font-size: 1.6rem;
        padding: 1.8rem 2.4rem 2.2rem 2.4rem;
        margin-right: 0;
        margin-bottom: 1.4rem;
    }
    .p-access-navi a span {
        width: 100%;
        padding-right: 2.4rem;
        background-size: auto 1.7rem;
    }
    .p-access-content {
        margin-top: 8rem;
    }
    .p-access-content > h2 {
        font-size: 2.2rem;
        margin-bottom: 3rem;
    }
    /* 遠方からのアクセス */
    .p-access-faraway {
        flex-direction: column;
        padding: 2rem 2rem 0 2rem;
        margin-bottom: 4rem;
    }
    .p-access-faraway .item {
        width: 100%;
    }
    .p-access-faraway table tr td.label {
        font-size: 1.4rem;
        padding-right: 2rem;
    }
    /* 県内のアクセス */
    .p-access-flow {
        margin-bottom: 8rem;
    }
    .p-access-flow h4 {
        font-size: 1.8rem;
    }
    .p-access-flow-list ul {
        flex-direction: column;
    }
    .p-access-flow-list ul:not(:last-of-type) {
        margin-bottom: 8rem;
    }
    .p-access-flow-list ul li.point {
        width: 100%;
        min-height: initial;
        padding: 1.4rem 0 1.6rem 0;
        border: 3px solid #2e2e2e;
    }
    .p-access-flow-list ul li.point br {
        display: none;
    }
    .p-access-flow-list ul li.transport {
        padding: 1.4rem 0;
    }
    .p-access-flow-list ul li.transport::after {
        width: 1px;
        height: 100%;
        border-bottom: none;
        border-left: 1px solid #2e2e2e;
        top: 0;
        left: 50%;
    }
    .p-access-flow-list ul li.transport span:first-of-type,
    .p-access-flow-list ul li.transport span:last-of-type {
        height: auto;
    }
    .p-access-related-links {
        flex-direction: column;
    }
    .p-access-related-links a {
        font-size: 1.3rem;
        margin-right: 0;
        margin-left: 0;
        margin-bottom: .5rem;
    }
    .p-access-contacts .p-spot-information dl dt {
        width: 100%;
        padding-bottom: 0;
    }
    .p-access-contacts .p-spot-information dl dd {
        width: 100%;
        padding-top: 0.5rem;
    }
    .p-access-contacts .p-access-contacts__attention {
        margin-top: 0.5rem;
        font-size: 1rem;
    }
    .p-access-spot h4 {
        font-size: 1.8rem;
        margin-bottom: 1rem;
    }
    .p-access-spot__gmap {
        padding-top: 140%;
    }
    .p-access-spot__gmap-link a {
        font-size: 1.3rem;
    }
    /* ２次交通情報 */
    .p-access-local {
        flex-direction: column;
    }
    .p-access-local .item {
        width: 100%;
    }
}


/*----------------------------------------
	動画（一覧）
----------------------------------------*/
.p-gallery {
    display: flex;
    flex-wrap: wrap;
}
.p-gallery .item {
    position: relative;
}
.p-gallery.is-movie .item {
    width: 30.6%;
    margin-right: 4%;
    margin-bottom: 8%;
}
.p-gallery.is-movie .item:nth-of-type(3n) {
    margin-right: 0;
}
.p-gallery.is-short .item {
    position: relative;
    width: 22%;
    margin-right: 4%;
    margin-bottom: 8%;
}
.p-gallery.is-short .item:nth-of-type(4n) {
    margin-right: 0;
}
.p-gallery figure {
    overflow: hidden;
    border-radius: 1rem;
    margin-bottom: 1.8rem;
}
.p-gallery figure a {
    display: block;
    position: relative;
    cursor: pointer;
    height: 0;
    padding-top: 66.66%;
    transition: .3s linear;
}
.p-gallery figure a:hover {
    opacity: .6;
}
.p-gallery.is-short figure a {
    padding-top: 186.6%;
}
.p-gallery .item figure a::before {
    content: '';
    display: block;
    width: 6rem;
    height: 6rem;
    background: url(../img/common/icon_play.svg) no-repeat center;
    background-size: contain;
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.p-gallery .item figure a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
}
.p-gallery .content h2 {
    font-size: 2rem;
    line-height: 1.4;
    margin-bottom: 1.8rem;
    cursor: pointer;
}
.p-gallery .content h2 a {
    color: #000;
    text-decoration: none;
}
.p-gallery .content h2.new a {
    flex: 1;
}
@media only screen and (max-width: 767px) {
    .p-gallery {
        justify-content: space-between;
    }
    .p-gallery.is-short .item {
        width: 47%;
        margin-right: inherit;
        margin-bottom: 6rem;
    }
    .p-gallery.is-movie .item {
        width: 100%;
        margin-right: 0;
        margin-bottom: 6rem;
    }
    .p-gallery .content h2 {
        font-size: 1.8rem;
    }
}


/*----------------------------------------
	最南端到達証明書フォーム
----------------------------------------*/
.page-certificate {
}
.page-certificate .p-page-heading__summary {
    font-weight: 500;
    padding: 0;
}
.page-certificate .p-page-heading__title h1 .jp {
    font-size: 4rem;
    color: #000;
    line-height: 1.4;
}
.p-certificate-form__intro.inner,
.p-certificate-form__photo.inner {
    max-width: 80rem;
    margin-bottom: 8rem;
}
.p-certificate-form__intro p {
    margin-bottom: 1.6rem;
}
.p-certificate-form__photo {
    display: flex;
    justify-content: space-between;
}
.p-certificate-form__photo figure {
    width: 48%;
}
.p-certificate-form__photo figcaption {
    margin-top: .4rem;
}
.p-form {
    width: 100%;
    max-width: 80rem;
    margin: 0 auto;
}
.p-form .p-form__head {
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: .1rem;
    line-height: 1;
    padding: 2rem 0 2.4rem 0;
    text-align: center;
    color: #fff;
    background-color: #0181C0;
    border: 1px solid #0181C0;
    border-radius: 10px 10px 0 0 / 10px 10px 0 0;
}
.p-form dl {
    padding: 3rem 0;
    border-left: 1px solid #C4C4C4;
    border-right: 1px solid #C4C4C4;
    border-bottom: 1px dotted #C4C4C4;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.p-form dl dt {
    width: 30%;
    padding: 0 5%;
    font-weight: 700;
    line-height: 1.4;
}
.p-form dl dd {
    width: 70%;
    padding: 0 5%;
}
.p-form .require {
    font-size: 1.3rem;
    color: #FF4C00;
    margin-left: 0.6rem;
}
.p-form p {
    line-height: 1.7;
}
.p-form .wpcf7-checkbox {
    display: flex;
    flex-direction: column;
}
.p-form span.wpcf7-list-item {
    display: inline-block;
    margin: 0 1.6rem 0 0;
}
.p-form span.wpcf7-list-item-label {
    margin-left: 0.6rem;
}
.p-form__time-select {
    display: flex;
    align-items: center;
}
.p-form__time-select p {
    display: flex;
}
.p-form__time-select:not(:last-of-type) {
    margin-bottom: 2rem;
}
.p-form__time-select .label {
    width: fit-content;
    margin-right: 2rem;
}
.p-form__graduate-input {
    display: flex;
    align-items: center;
}
.p-form__graduate-input .graduate-year .c-input {
    width: 12rem;
}
.p-form__graduate-input .graduate-month .c-input {
    width: 6rem;
}
.p-form__graduate-input .label {
    margin: 0 2rem 0 .6rem;
}
.p-form-attention {
    font-size: 1.3rem;
    font-weight: normal;
    padding: 8px 0 0 0;
}
.p-form__privacy {
    text-align: center;
    padding: 3rem 5%;
    border-left: 1px solid #C4C4C4;
    border-right: 1px solid #C4C4C4;
}
.p-form__privacy > p {
    margin-bottom: 2rem;
    font-size: 1.4rem;
}
.p-form__privacy span.wpcf7-list-item-label {
    font-weight: 700;
}
.p-form__button {
    text-align: center;
    padding: 3rem 0 6rem 0;
    border-left: 1px solid #C4C4C4;
    border-right: 1px solid #C4C4C4;
    border-bottom: 1px solid #C4C4C4;
    border-radius: 0 0 10px 10px / 0 0 10px 10px;
}
.p-form .c-button {
    min-width: 26rem;
    max-width: none;
    margin: 0 auto;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    appearance: button;
    border: none;
    box-sizing: border-box;
    cursor: pointer;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    border-color: initial;
}
.wpcf7 form .wpcf7-response-output {
    width: 90%;
    margin: 20px auto;
    color: #398f14;
    font-weight: 700;
    text-decoration: none;
    font-size: 16px;
    text-align: center;
    line-height: 1.4;
    padding: 12px;
    border: none;
}
span.wpcf7-not-valid-tip,
.wpcf7-not-valid-tip-no-ajax {
	color: #c00;
	text-decoration: underline;
}
.wpcf7 form.invalid .wpcf7-response-output,
div.wpcf7-validation-errors {
	color: #c00;
	font-weight: 700;
	text-decoration: underline;
	border: none;
}
.wpcf7 form.sent .wpcf7-response-output,
.wpcf7-mail-sent-ok {
	color: #365899;
	font-weight: 700;
	text-decoration: underline;
	border: none;
}
@media only screen and (max-width: 999px) {
    .page-certificate .p-page-heading {
        padding-bottom: 4rem;
    }

    .page-certificate .p-page-heading__title h1 .jp {
        font-size: 3rem;
        margin-bottom: 4rem;
    }
    .p-certificate-form__intro.inner,
    .p-certificate-form__photo.inner {
        margin-bottom: 6rem;
        width: 100%;
    }
    .p-certificate-form__intro p {
        margin-bottom: 1.6rem;
    }
    .p-certificate-form__photo {
        flex-direction: column;
    }
    .p-certificate-form__photo figure {
        width: 100%;
    }
    .p-certificate-form__photo figure:first-of-type {
        margin-bottom: 4rem;
    }
    .p-certificate-form__photo figcaption {
        margin-top: .4rem;
    }

    .p-form .p-form__head {
        font-size: 1.6rem;
        padding: 1.5rem 0 1.8rem 0;
    }
    .p-form dl {
        flex-direction: column;
        padding: 2rem 0 2.4rem 0;
    }
    .p-form dl dt,
    .p-form dl dd {
        width: 100%;
    }
    .p-form dl dt {
        padding-bottom: 1rem;
    }
    .p-form-attention {
        font-size: 1.2rem;
    }
    .p-form__time-select {
        align-items: initial;
        flex-direction: column;
    }
    .p-form__time-select .label {
        margin-right: initial;
        margin-bottom: 0.5rem;
    }
    .p-form span.wpcf7-list-item {
        display: block;
    }
    .p-form__privacy {
        text-align: left;
    }
    .p-form__button {
        padding: 0 0 3rem 0;
    }
}


/*----------------------------------------
	お気に入り
----------------------------------------*/
.p-favorite-tab {
    display: flex;
    justify-content: center;
    text-align: center;
    border-bottom: 1px solid #ddd;
    margin-bottom: 5rem;
}
.p-favorite-tab li {
    text-align: center;
    padding: 0 2rem 2.5rem 2rem;
    margin: 0 3rem;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    border-bottom: 8px solid #fff;
    transition: .3s linear;
}
.p-favorite-tab li:hover {
    color: #0181C0;
}
.p-favorite-tab li.current {
    color: #0181C0;
    border-bottom: 5px solid #0181C0;
}
.p-favorite-tab li .search-count {
    font-size: 1.1rem;
    font-weight: 700;
    vertical-align: super;
    margin-left: .5rem;
}
.p-favorite-list {
    display: none;
}
.p-favorite-list:first-of-type {
    display: block;
}
/* お気に入り登録なし */
.p-favorite-none {
    margin: 6rem auto;
    text-align: center;
}
.p-favorite-none h1 {
    font-size: 2.2rem;
    margin-bottom: 3rem;
}
.p-favorite-none p {
    
}
.p-favorite-none p img {
    width: 2rem;
    height: auto;
    vertical-align: middle;
    margin: 0 0.5rem 0 0.3rem;
}
.p-favorite-none nav {
    margin-top: 4rem;
}

@media only screen and (max-width: 767px) {
    .p-favorite {
        margin-top: 1rem;
    }
    .p-favorite-tab {
        justify-content: space-between;
    }
    .p-favorite-tab li {
        padding: 0 0 2.5rem 0;
        margin: 0 1rem;
        font-size: 1.5rem;
    }
    .p-favorite-tab li:first-of-type {
        margin-left: 0;
    }
    .p-favorite-tab li:last-of-type {
        margin-right: 0;
    }
    .p-favorite-tab li.current {
        border-bottom: 6px solid #0181C0;
    }
    .p-favorite-none {
        margin: 6rem auto;
    }
}

/*----------------------------------------
	南大隅の魅力
----------------------------------------*/
/* ビジュアル */
.p-about-header {
    width: 100%;
    height: 50rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: url(../img/about/img_visual.jpg) no-repeat center;
    background-size: cover;
}
.p-about-header h1 {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: fit-content;
    color: #fff;
}
.p-about-header h1 .jp {
    font-size: 4.4rem;
    letter-spacing: .2rem;
}
.p-about-header h1 .en {
    font-size: 2rem;
}
/* 概要 */
.p-description {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 9rem;
    margin-bottom: 12rem;
    max-width: 120rem !important;
}
.page-about .p-description {
    margin-top: 2rem;
}
.p-description-content {
    width: 45%;
}
.p-description-image {
    width: 50%;
}
.p-description-content .title {
    color: #0181C0;
    font-weight: 700;
    font-size: 1.8rem;
    letter-spacing: 0.05em;
    margin-bottom: 4rem;
    position: relative;
    width: fit-content;
}
.p-description-content .title::after {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: -0.4rem;
    border-bottom: 1px solid #0181C0;
}
.p-description-content .catch-copy {
    color: #0181C0;
    font-weight: 700;
    font-size: 4rem;
    letter-spacing: .2rem;
    margin-bottom: 4rem;
}
.p-description-content p {
    line-height: 2.2;
}
/* 特徴 */
.p-about-feature {
    margin-bottom: 10rem;
}
.p-about-feature__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 110rem;
}
.p-about-feature__list .item {
    width: 31%;
    background-color: #0181C0;
    color: #fff;
    border-radius: 1rem;
    padding: 2.8rem 2.2rem 2.8rem 2.2rem;
    margin-bottom: 3%;
}
.p-about-feature__list .item h3 {
    text-align: center;
    font-size: 1.8rem;
    line-height: 1.5;
    margin-bottom: 1.6rem;
}
.p-about-feature__list .item .content {

}
.p-about-feature__list .item .content figure {
    margin-top: 2rem;
    margin-bottom: 1.6rem;
}
.p-about-feature__list .item .content figure img {
    width: 100%;
    border-radius: .6rem;
}
.p-about-feature__list .item .supplement {
    text-align: center;
    line-height: 1.4;
    font-size: 1.2rem;
    margin-top: 0.5rem;

}
.p-about-feature__list .item .description {
    line-height: 1.5;
    font-size: 1.5rem;
}
.p-about-feature__list .item .content .keyword {
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: baseline;
    line-height: 1;
}
.p-about-feature__list .item .content .keyword .number {
}
.p-about-feature__list .item .content .keyword .unit {
    margin-left: .5rem;
}
/* 人口, 世帯数 */
.p-feature-1 {
}
.p-feature-1 .keyword .number,
.p-feature-2 .keyword .number {
    font-size: 6.2rem;
}
.p-feature-1 .keyword .unit,
.p-feature-2 .keyword .unit {
    font-size: 3rem;
}
/* 世帯数 */
.p-feature-2 {
    margin-top: 4rem;
}
/* 年間平均気温 */
.p-about-feature__list .item .p-feature-3 .content {
    padding: 14% 0 19% 0;
}
.p-feature-3 .keyword .number {
    font-size: 6.2rem;
}
.p-feature-3 .keyword .unit {
    font-size: 3rem;
}
/* コンセプト */
.p-concept {
    color: #0181C0;
    text-align: center;
    padding: 14rem;
    background: #fff;
    margin: -11rem auto 0 auto;
    position: relative;
    z-index: 1;
    width: 60%;
    min-width: fit-content;
    border-radius: 100rem;
}
.p-concept .title {
    margin: 0 auto 6rem auto;
    position: relative;
    width: fit-content;
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: 0.1rem;
}
.p-concept .title::after {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    border-bottom: 1px solid #0181C0;
    position: absolute;
    bottom: 0;
}
.p-concept .catch-copy {
    font-size: 4rem;
    letter-spacing: 0.05em;
    position: relative;
    width: fit-content;
    padding: 0 0 0 2.4rem;
    margin: 0 auto 4rem auto;
}
.p-concept .catch-copy::before,
.p-concept .catch-copy::after {
    content: '';
    display: block;
    width: 2rem;
    height: 2rem;
    position: absolute;
}
.p-concept .catch-copy::before {
    background: url(../img/about/icon_quote_before.svg) no-repeat center;
    background-size: contain;
    top: 0;
    left: 0;
}
.p-concept .catch-copy::after {
    background: url(../img/about/icon_quote_after.svg) no-repeat center;
    background-size: contain;
    bottom: 5rem;
    right: 0;
}
.p-concept > figure {
    margin-bottom: 9rem;
}
.p-concept > figure img {
    width: 90%;
    max-width: 64rem;
}
.p-concept > p {
    font-size: 1.8rem;
    line-height: 2.4;
    margin-bottom: 3rem;
    transition-delay: .5s;
}
/* おすすめの過ごし方 */
.p-about-stay-style {
    margin-top: 6rem;
}
.p-about-stay-style__heading {
    color: #0181C0;
    text-align: center;
    margin-bottom: 8rem;
}
.p-about-stay-style__heading h2 {
    font-size: 4rem;
    line-height: 1.5;
    padding: 0 0 4rem 0;
    background: url(../img/about/bg_stay_style_title.svg) no-repeat center bottom;
    background-size: auto 1.6rem;
}
.p-stay-style {
    position: relative;
    display: flex;
    align-items: end;
    margin-bottom: 10rem;
    padding-top: 3rem;
    min-height: 60rem;
}
.p-stay-style .swiper,
.p-stay-style figure {
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    width: 68%;
    height: 58rem;
    overflow: hidden;
    border-radius: 2rem 0 0 2rem;
}
.p-stay-style .swiper-slide img,
.p-stay-style figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.p-stay-style .content {
    background-color: #fff;
    width: 50%;
    max-width: 60rem;
    padding: 8rem 8rem 6rem 8rem;
    border-radius: 1.8rem;
    position: relative;
    margin-bottom: 0;
    margin-top: 9rem;
}
.p-stay-style .content .heading {
    color: #0181C0;
    margin-bottom: 2.4rem;
}
.p-stay-style .content .heading .number {
    display: block;
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: .03em;
    margin-bottom: 1.6rem;
}
.p-stay-style .content .heading h2 {
    font-size: 2.8rem;
    line-height: 1.5;
    letter-spacing: .1rem;
}
.p-stay-style .content .body {
    line-height: 2;
}
.p-stay-style .content .body p {
    text-align: justify;
}
.p-stay-style .content .body nav {
    margin-top: 3rem;
    display: flex;
    flex-wrap: wrap;
}
.p-stay-style .content .body nav a {
    margin-right: 3rem;
    margin-bottom: 1rem;
}
.p-stay-style.reverse .swiper,
.p-stay-style.reverse figure {
    border-radius: 0 2rem 2rem 0;
    right: initial;
    left: 0;
}
.p-stay-style.reverse .content {
    margin-right: 0;
    margin-left: auto;
    padding-right: 8rem;
    padding-left: 8rem;
}
@media only screen and (max-width: 767px) {
    .p-about-header {
        height: 30rem;
    }
    .p-about-header h1 .jp {
        font-size: 2.6rem;
        letter-spacing: .1rem;
    }
    .p-about-header h1 .en {
        font-size: 1.5rem;
    }
    /* 概要 */
    .p-description {
        flex-direction: column;
        justify-content: initial;
        align-items: initial;
        margin-top: 8rem;
        margin-bottom: 8rem;
        max-width: initial;
    }
    .page-about .p-description {
        margin-top: 6rem;
    }
    .p-description-image,
    .p-description-content {
        width: 100%;
    }
    .p-description-content .catch-copy {
        font-size: 2.4rem;
        letter-spacing: .01rem;
        margin-bottom: 3.2rem;
    }
    .p-description-content .title {
        font-size: 1.6rem;
        letter-spacing: .08rem;
        margin-bottom: 3.2rem;
    }
    .p-description-image {
        margin-top: 4rem;
    }
    /* 特徴 */
    .p-about-feature {
        margin-bottom: 6rem;
    }
    .p-about-feature__list .item {
        width: 48%;
        padding: 1.8rem 1.2rem 1.8rem 1.2rem;
        margin-bottom: 2rem;
    }
    .p-about-feature__list .item h3 {
        font-size: 1.4rem;
        margin-bottom: .8rem;
    }
    .p-about-feature__list .item .description {
        font-size: 1.2rem;
    }
    .p-about-feature__list .item .supplement {
        font-size: 1rem;
    }
    .p-about-feature__list .item .content .keyword .unit {
        margin-left: 0.3rem;
    }
    /* 人口, 世帯数 */
    .p-feature-1 .keyword .number,
    .p-feature-2 .keyword .number {
        font-size: 3rem;
    }
    .p-feature-1 .keyword .unit, .p-feature-2 .keyword .unit {
        font-size: 1.6rem;
    }
    /* 年間平均気温 */
    .p-feature-3 .keyword .number {
        font-size: 3rem;
    }
    .p-feature-3 .keyword .unit {
        font-size: 1.6rem;
    }
    .p-about-feature__list .item .p-feature-3 .content {
        padding: 0 0 1.6rem 0;
    }
    /* コンセプト */
    .p-concept {
        width: 100%;
        padding: 5rem 2rem 2rem 2rem;
        margin-top: 0;
    }
    .p-concept .title {
        font-size: 1.6rem;
        margin-bottom: 3rem;
    }
    .p-concept > figure {
        margin: 0 auto 4rem auto;
        width: 90%;
    }
    .p-concept .catch-copy {
        font-size: 2.4rem;
        letter-spacing: 0.02em;
        margin-bottom: 4rem;
    }
    .p-concept .catch-copy::before,
    .p-concept .catch-copy::after {
        width: 1.3rem;
        height: 1.3rem;
    }
    .p-concept .catch-copy::before {
        top: 1rem;
    }
    .p-concept .catch-copy::after {
        bottom: 3rem;
    }
    .p-concept > p {
        font-size: 1.5rem;
    }
    /* おすすめの過ごし方 */
    .p-about-stay-style__heading {
        margin-bottom: 6rem;
    }
    .p-about-stay-style__heading h2 {
        font-size: 2.4rem;
        padding: 0 0 3rem 0;
        background-size: auto 1.2rem;
    }
    .p-stay-style {
        padding-top: 0;
        display: block;
    }
    .p-stay-style .swiper,
    .p-stay-style figure {
        position: relative;
        width: 92%;
        height: 30rem;
        margin-bottom: 1.4rem;
    }
    .p-stay-style .swiper {
        margin-left: initial;
        margin-right: initial;
    }
    .p-stay-style:not(.reverse) .swiper,
    .p-stay-style:not(.reverse) figure {
        margin-left: auto;
        margin-right: 0;
    }
    .p-stay-style .content {
        position: relative;
        top: initial;
        left: initial;
        width: 84%;
        padding: 2rem 0 0 0;
        margin: 0 auto;
        border-radius: 0;
    }
    .p-stay-style.reverse .content {
        left: initial;
        right: initial;
        margin: 0 auto;
        padding-right: 0;
        padding-left: 0;
    }
    .p-stay-style .content .heading {
        margin-bottom: 3.5rem;
    }
    .p-stay-style .content .heading h2 {
        font-size: 2.2rem;
    }
    .p-stay-style .content .heading .number {
        font-size: 1.6rem;
    }
    .p-stay-style .content .body nav {
        flex-wrap: wrap;
        margin-top: 2rem;
    }
    .p-stay-style .content .body nav a {
        margin-bottom: 1rem;
    }
}

/*----------------------------------------
	キーワード検索結果
----------------------------------------*/
.page-search-result .p-list-search {
    margin-bottom: 2rem;
}
.p-search-result {
    border-top: 1px solid #ddd;
}
.p-search-result .item {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid #ddd;
    padding: 3rem 0;
    display: flex;
}
.p-search-result .item figure {
    width: 19rem;
    overflow: hidden;
    border-radius: 1.8rem;
    margin-bottom: 0;
    position: relative;
}
.p-search-result .item figure a {
    display: block;
    position: relative;
    height: 0;
    padding-top: 100%;
}
.p-search-result .item figure a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    transform: scale(1);
    transition: 1s;
}
.p-search-result .item .content {
    width: calc( 100% - 22rem);
}
.p-search-result .item .content h2 a {
    display: inline-block;
    font-size: 2.8rem;
    line-height: 1.5;
    font-weight: 700;
    text-decoration: none;
    color: #2e2e2e;
    margin-bottom: 1.4rem;
}
.p-search-result .item .content h2 a .split {
    display: inline-block;
    margin: 0 1rem;
}
.p-search-result .item .content .summary {
    font-size: 1.4rem;
    color: #696969;
    line-height: 1.65;
    margin-bottom: 1.4rem;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.p-search-result .item .content .meta {

}
.p-search-result .item .content .date {
    font-size: 1.3rem;
    color: #8d8d8d;
    width: 11rem;
}
@media only screen and (max-width: 767px) {
    .page-search-result .p-list-search {
        margin-bottom: 0;
    }
    .p-search-result {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .p-search-result .item {
        width: 100%;
        flex-direction: column;
        justify-content: initial;
        border-bottom: none;
    }
    .p-search-result .item figure {
        width: 100%;
        margin-bottom: 1rem;
    }
    .p-search-result .item figure img {
        border-radius: .7rem;
    }
    .p-search-result .item .content {
        width: 100%;
    }
    .p-search-result .item .content h2 a {
        font-size: 1.8rem;
        margin-bottom: 1.6rem;
    }
    .p-search-result .item .content h2 a .split {
        margin: 0 0.5rem;
    }
    .p-search-result .item .content .summary {
        font-size: 1.3rem;
        -webkit-line-clamp: 3;
    }
    .p-search-result .item .content .date {
        font-size: 1.3rem;
    }
}
/*----------------------------------------
	タグ検索結果
----------------------------------------*/
.page-tag-search-result .p-page-heading {
    padding: 6rem 0 9rem 0;
}
.page-tag-search-result .p-page-heading__title h1 {
    flex-direction: row;
    align-items: baseline;
    line-height: 1;
    font-size: 2rem;
}
.page-tag-search-result .p-page-heading__title h1 .jp {
    font-size: 4rem;
    color: #000;
    line-height: 1.4;
    margin-right: .5rem;
}

@media only screen and (max-width: 767px) {
    .page-tag-search-result .p-page-heading__title h1 .jp {
        font-size: 3rem;
    }
    .page-tag-search-result .p-list-search {
        margin-bottom: 0;
    }
}

/*----------------------------------------
	404ページ
----------------------------------------*/
.p-404 {
    text-align: center;
    font-weight: 500;
    padding: 10rem 0 0 0;
}
.p-404 h1 {
    line-height: 1;
    margin: 0 auto 8rem auto;
    font-family: 'Inter', sans-serif;
    font-weight: 700;
}
.p-404 h1 span {
    display: block;
    font-size: 3rem;
    letter-spacing: .05em;
}
.p-404 h1 span:first-of-type {
    font-size: 14rem;
    margin-bottom: 2rem;
    color: #0181C0;
}
.p-404-content p {
    line-height: 2;
}
.p-404-back-navi {
    margin-top: 4rem;
}
.p-404-back-navi a {
    margin-left: auto;
    margin-right: auto;
}
@media only screen and (max-width: 767px) {
    .p-404 h1 span:first-of-type {
        font-size: 12rem;
        margin-bottom: 1rem;
    }
    .p-404 h1 span {
        font-size: 2.6rem;
    }
}
