@charset "UTF-8";

html,
body {
width: 100%;
}
body {
font-family:
"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
position: relative;
font-size: 16px;
color: #242c33;
line-height: 1.7;
}
*,
*::before,
*::after {
box-sizing: border-box;
}
h1,
h2,
h3,
h4,
h5,
h6 {
margin: 0;
padding: 0;
}
p {
width: 100%;
margin: 0;
padding: 0;
}
img {
width: 100%;
height: auto;
}
a {
color: #000;
text-decoration: none;
transition: 0.3s;
}
a:hover {
opacity: 0.8;
}
a:hover > img {
opacity: 0.8;
}
button {
background-color: transparent;
border: none;
cursor: pointer;
outline: none;
padding: 0;
appearance: none;
}
ul {
padding-inline-start: 0;
}
.br_pc {
display: block;
}
.br_sp {
display: none;
}
.red {
color: #f00;
}
.gray {
color: #888;
}
.bold {
font-weight: bold;
}
.small {
font-size: 13px;
}
.txt_center {
text-align: center;
}
.txt_left {
text-align: left;
}
.txt_right {
text-align: right;
}
@media screen and (max-width: 896px) {
.br_pc {
display: none;
}
.br_sp {
display: block;
}
} .playfair-display-extrabold {
font-family: "Playfair Display", serif;
font-optical-sizing: auto;
font-weight: 800;
font-style: normal;
} .mt10 {
margin-top: 10px;
}
.mt20 {
margin-top: 20px;
}
.mt30 {
margin-top: 30px;
}
.mt40 {
margin-top: 40px;
}
.mt50 {
margin-top: 50px;
}
.mt60 {
margin-top: 60px;
}
.mt70 {
margin-top: 70px;
}
.mt80 {
margin-top: 80px;
}
.mt90 {
margin-top: 90px;
}
.mt100 {
margin-top: 100px;
}
.mb10 {
margin-bottom: 10px;
}
.mb20 {
margin-bottom: 20px;
}
.mb30 {
margin-bottom: 30px;
}
.mb40 {
margin-bottom: 40px;
}
.mb50 {
margin-bottom: 50px;
}
.mb60 {
margin-bottom: 60px;
}
.mb70 {
margin-bottom: 70px;
}
.mb80 {
margin-bottom: 80px;
}
.mb90 {
margin-bottom: 90px;
}
.mb100 {
margin-bottom: 100px;
}  .col_base {
color: #4d9961;
}
.yellow {
color: #fff566;
}
.white {
color: #fff;
} .bg_col_base {
background-color: #e6f4ff;
}
.bg_col_dark {
background-color: #264d30;
}
.bg_col_white {
background-color: #fff;
} .link {
color: #4d9961;
text-decoration: underline;
}
.link:hover {
text-decoration: none;
} .more_link_btn {
margin-top: 50px;
width: 100%;
}
.more_link_btn a {
width: 80%;
max-width: 400px;
padding: 15px;
text-align: center;
display: block;
border-radius: 99999px;
background: linear-gradient(to right, #fff566, #fffab3);
color: #333114;
margin: 0 auto;
position: relative;
transition: 0.3s;
} .more_link_btn a.morebtn_left {
margin: 0 0;
}
.more_link_btn a::after {
position: absolute;
top: 50%;
right: 1em;
width: 0.5em;
height: 0.5em;
transform: translateY(-50%) rotate(45deg);
border-right: 2px solid currentColor;
border-top: 2px solid currentColor;
content: "";
}
.more_link_btn a:hover {
opacity: 1;
background: linear-gradient(to right, #fffab3, #fffcd5);
}
@media screen and (max-width: 896px) {
.more_link_btn {
margin-top: 25px;
}
.more_link_btn a.morebtn_left {
margin: 0 auto;
}
} .wrapper {
width: 100%;
max-width: 100%;
margin: 0 auto;
} main {
width: 100%;
} h3.h3_title {
margin-bottom: 20px;
}
h3.h3_title span.h3_title_en {
font-size: 4rem;
line-height: 1.2;
display: inline-block;
}
h3.h3_title span.h3_title_jp {
font-size: 1.2rem;
line-height: 1.7;
margin-top: 15px;
display: inline-block;
}
@media screen and (max-width: 896px) {
h3.h3_title span.h3_title_en {
font-size: 3rem;
}
h3.h3_title span.h3_title_jp {
font-size: 1.2rem;
margin-top: 15px;
}
} h4.h4_subtitle {
font-size: 1.3rem;
margin-bottom: 10px;
position: relative;
padding-left: 25px;
}
h4.h4_subtitle::before {
position: absolute;
top: 10px;
left: 0;
width: 15px;
height: 15px;
content: "";
border-radius: 50%;
background: #b3deff;
}
h4.h4_subtitle span {
position: relative;
font-size: 1rem;
margin-bottom: 10px;
}
@media screen and (max-width: 896px) {
h4.h4_subtitle {
font-size: 1.2rem;
}
h4.h4_subtitle::before {
top: 7px;
}
} ul.ul_style {
width: 100%;
list-style: none;
padding-left: 20px;
margin: 0;
}
ul.ul_style li {
margin: 5px 0;
position: relative;
}
ul.ul_style li::before {
content: "";
background-color: #4d9961;
position: absolute;
top: 9px;
left: -1em;
width: 7px;
height: 7px;
border-radius: 50%;
} table.table_style {
width: 100%;
margin: 15px 0;
border-collapse: separate;
border-spacing: 5px;
}
table.table_style th {
width: 30%;
padding: 15px;
background-color: #e6f4ff;
}
table.table_style td {
width: 70%;
padding: 15px;
background-color: #fff;
border: 1px solid #e6f4ff;
}
@media screen and (max-width: 896px) {
table.table_style th {
width: 100%;
display: block;
text-align: left;
}
table.table_style td {
width: 100%;
display: block;
}
} .header {
width: 100%;
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 999;
transition: 0.3s;
} .header__title {
position: fixed;
top: 0;
left: 0;
width: 40%;
max-width: 200px;
z-index: 1000;
background-color: #fff;
padding: 10px 15px;
border-radius: 0 0 15px 0;
}
.header__title img {
display: block;
width: 100%;
}
@media screen and (min-width: 896.02px) {
.header__title {
width: 250px;
padding: 15px 20px;
max-width: initial;
}
} .header__menu {
padding: 0;
display: flex;
align-items: center;
height: inherit;
position: relative;
flex-direction: row-reverse;
z-index: 1001;
} .header__nav {
position: absolute;
top: 0;
right: 0;
width: 100%;
height: 100vh;
transform: translateX(100%);
background-color: #b3deff;
background-image: url(//www.glamping-shimanami.com/wp-content/themes/gpvill_shimanami2026/img/common/spmenu_bg.jpg);
background-position: top left;
background-size: 100% auto;
background-repeat: no-repeat;
transition: ease 0.4s;
color: #fff;
overflow-y: auto;
}
@media screen and (min-width: 896.02px) {
.header__nav {
width: 50%;
max-width: 500px;
border-radius: 0 0 0 30px;
}
}
.nav-items {
width: 100%;
margin: 37% auto 0 auto;
}
.nav-items__item a {
color: #242c33;
width: 100%;
display: block;
text-align: center;
font-size: 16px;
line-height: 1;
margin-bottom: 16px;
}
.nav-items__item a span {
font-size: 13px;
font-weight: normal;
letter-spacing: 2px;
}
.nav-items__item:last-child a {
margin-bottom: 0;
}
a.head_nav_item_reserve {
display: block;
position: relative;
width: 80%;
margin: 20px auto 10px auto;
padding: 18px 10px 12px 10px;
text-align: center;
background-color: #fff566;
color: #333114;
border-radius: 15px;
line-height: 1;
}
a.head_nav_item_reserve::after {
position: absolute;
top: 50%;
right: 1em;
width: 0.5em;
height: 0.5em;
transform: translateY(-50%) rotate(45deg);
border-right: 2px solid currentColor;
border-top: 2px solid currentColor;
content: "";
}
a.head_nav_item_reserve span {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
}
a.head_nav_item_reserve span::before {
content: "";
background-image: url(//www.glamping-shimanami.com/wp-content/themes/gpvill_shimanami2026/img/common/icon_camp.svg);
background-size: cover;
background-repeat: no-repeat;
width: 25px;
height: 25px;
margin-top: -5px;
}
.header_nav_btn {
width: 80%;
margin: 10px auto 20px auto;
display: flex;
flex-wrap: wrap;
align-items: stretch;
justify-content: space-between;
}
.header_nav_btn a {
display: block;
width: 49%;
background-color: #fff;
border-radius: 15px;
padding: 13px 10px 7px 10px;
text-align: center;
color: #242c33;
line-height: 1;
font-size: 14px;
}
.header_nav_btn a span {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 3px;
}
.header_nav_btn a.header_nav_btn_qa span::before {
content: "";
background-image: url(//www.glamping-shimanami.com/wp-content/themes/gpvill_shimanami2026/img/common/icon_qa.svg);
background-size: cover;
background-repeat: no-repeat;
width: 20px;
height: 20px;
margin-top: -3px;
}
.header_nav_btn a.header_nav_btn_mail span::before {
content: "";
background-image: url(//www.glamping-shimanami.com/wp-content/themes/gpvill_shimanami2026/img/common/icon_mail.svg);
background-size: cover;
background-repeat: no-repeat;
width: 20px;
height: 20px;
margin-top: -5px;
}
@media screen and (min-width: 896.02px) {
a.head_nav_item_reserve {
margin: 20px auto;
}
.header_nav_btn {
margin: 20px auto;
}
.header_nav_btn a {
font-size: 16px;
}
} .header__hamburger {
position: fixed;
top: 8px;
right: 8px;
width: 50px;
height: 50px;
border-radius: 50%;
background-color: #fff566;
padding: 0 15px;
}
.hamburger {
z-index: 9999;
}
@media screen and (min-width: 896.02px) {
.header__hamburger {
top: 10px;
right: 10px;
width: 70px;
height: 70px;
padding: 0 20px;
}
} .hamburger span {
width: 100%;
height: 2px;
background-color: #fff;
position: relative;
transition: ease 0.4s;
display: block;
}
.hamburger span:nth-child(1) {
top: 0;
}
.hamburger span:nth-child(2) {
margin: 5px 0;
}
.hamburger span:nth-child(3) {
top: 0;
}
.hamburger span {
width: 100%;
height: 2px;
background-color: #666229;
position: relative;
transition: ease 0.4s;
display: block;
} .header__nav.active {
transform: translateX(0);
}
.hamburger.active span:nth-child(1) {
top: 7px;
transform: rotate(45deg);
}
.hamburger.active span:nth-child(2) {
opacity: 0;
}
.hamburger.active span:nth-child(3) {
top: -7px;
transform: rotate(-45deg);
}
@media screen and (min-width: 896.02px) {
.hamburger span:nth-child(2) {
margin: 8px 0;
}
.hamburger.active span:nth-child(1) {
top: 10px;
}
.hamburger.active span:nth-child(3) {
top: -10px;
}
}  .rest-group {
background: #fff;
padding: 100px;
}
.rest-group h3 {
color: #242c33;
text-align: center;
font-size: 1.25rem;
}
.rest-group h3 span {
font-family: serif;
font-size: 0.75rem;
}
.rest-group-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 30px;
margin-top: 30px;
}
.rest-group-img img {
width: 100%;
border-radius: 25px;
}
.rest-group-txt {
border: 2px solid #ddeee2;
padding: 20px;
margin-top: 10px;
border-radius: 25px;
}
.rest-group-txt h4 {
font-size: 1.25rem;
text-align: center;
margin: 10px auto;
font-weight: bold;
}
.rest-group-txt p {
font-size: 1rem;
}
.rest-group-btn {
width: 80%;
position: relative;
margin: 20px auto;
}
.rest-group-btn a {
display: block;
text-align: center;
padding: 10px 20px;
border-radius: 99999px;
background-color: #ddeee2;
}
.rest-group-btn a:hover {
opacity: 0.5;
}
.rest-group-btn a::after {
position: absolute;
top: 50%;
right: 1em;
width: 0.5em;
height: 0.5em;
transform: translateY(-50%) rotate(45deg);
border-right: 2px solid currentColor;
border-top: 2px solid currentColor;
content: "";
}
@media screen and (max-width: 896px) {
.rest-group {
padding: 50px 20px 50px;
}
.rest-group h3 {
font-size: 1rem;
}
.rest-group-grid {
grid-template-columns: repeat(1, 1fr);
}
} #resort-rg {
background: #ddeee2;
padding: 50px 100px 300px;
}
.rg_group h3 {
color: #242c33;
text-align: center;
font-size: 1.25rem;
}
.rg_group h3 span {
font-family: serif;
font-size: 0.75rem;
}
.rg_group .box {
display: flex;
flex-direction: column;
margin-top: 30px;
}
.rg_group .box ul {
display: flex;
flex-wrap: wrap;
}
@media screen and (max-width: 896px) {
#resort-rg {
background: #ddeee2;
padding: 50px 20px 150px;
}
.rg_group h3 {
font-size: 1rem;
}
.rg_group .box ul {
flex-direction: column;
}
}
.rg_group .box li {
display: flex;
margin-bottom: 32px;
margin-left: 8px;
width: 32%;
}
@media screen and (max-width: 896px) {
.rg_group .box li {
width: 100%;
margin-left: 0;
margin-bottom: 20px;
}
}
.rg_bg_img {
width: 90px;
height: 60px;
background-size: cover;
}
.rg_group .rg_details {
display: flex;
padding-left: 10px;
justify-content: center;
}
@media screen and (max-width: 896px) {
.rg_bg_img {
width: 75px;
height: 50px;
}
.rg_group .rg_details {
flex-direction: column;
}
}
.rg_group .rg_details dl {
float: left;
padding-right: 3%;
width: 32%;
font-size: 14px;
line-height: 1.5;
}
@media screen and (max-width: 896px) {
.rg_group .rg_details dl {
width: 100%;
}
}
.rg_group .rg_details dl:last-child {
padding-right: 0;
}
.rg_group .rg_details dt {
text-align: center;
padding: 20px 0 10px;
font-size: 16px;
text-decoration-line: underline;
color: #242c33;
}
@media screen and (max-width: 896px) {
.rg_group .rg_details dt {
text-align: left;
}
}
.rg_group .rg_details dd {
margin-left: 0px;
color: #242c33;
} footer {
width: 100%;
margin: -1px auto 0 auto;
padding: 100px 0 50px 0;
background-color: #b3deff;
position: relative;
}
footer::before {
position: absolute;
top: -190px;
left: 50%;
transform: translateX(-50%);
content: "";
display: block;
width: 500px;
height: 167px;
background-image: url(//www.glamping-shimanami.com/wp-content/themes/gpvill_shimanami2026/img/common/glamping_img.svg);
background-size: contain;
background-repeat: no-repeat;
z-index: 2;
}
footer::after {
content: "";
display: block;
position: absolute;
top: -250px;
left: 0;
width: 100%;
height: 350px;
background-image: url(//www.glamping-shimanami.com/wp-content/themes/gpvill_shimanami2026/img/common/footer_headwave.svg);
background-repeat: no-repeat;
background-size: 100% 100%;
background-position: left bottom;
}
footer .footer_box {
width: 94%;
max-width: 1400px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
align-items: stretch;
}
footer .footer_box .footer_logo {
width: 35%;
}
footer .footer_box .footer_navi {
width: 65%;
}
footer .footer_box .footer_logo_img {
width: 80%;
margin-bottom: 20px;
}
footer .footer_box .foot_qa,
footer .footer_box .foot_mail {
width: 100%;
margin-top: 15px;
}
footer .footer_box .foot_qa a,
footer .footer_box .foot_mail a {
display: block;
width: 80%;
max-width: 300px;
padding: 7px 10px 3px 10px;
text-align: center;
transition: 0.3s;
background-color: #fff;
border-radius: 99999px;
}
footer .footer_box .foot_qa a {
color: #279f1c;
}
footer .footer_box .foot_qa a span,
footer .footer_box .foot_mail a span {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 3px;
}
footer .footer_box .foot_qa a span::before {
content: "";
background-image: url(//www.glamping-shimanami.com/wp-content/themes/gpvill_shimanami2026/img/common/icon_qa.svg);
background-size: cover;
background-repeat: no-repeat;
width: 20px;
height: 20px;
margin-top: -2px;
}
footer .footer_box .foot_mail a span::before {
content: "";
background-image: url(//www.glamping-shimanami.com/wp-content/themes/gpvill_shimanami2026/img/common/icon_mail.svg);
background-size: cover;
background-repeat: no-repeat;
width: 20px;
height: 20px;
margin-top: -2px;
} footer ul.footer_menu {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: center;
justify-content: flex-end;
padding-left: 0;
}
footer ul.footer_menu li {
list-style: none;
margin: 0 10px;
}
footer ul.footer_menu li a {
color: #000;
}
footer ul.footer_menu li a:hover {
color: #004225;
} footer .footer_reserve_link {
margin-bottom: 30px;
width: 100%;
display: flex;
justify-content: flex-end;
}
footer .footer_reserve_link a.footer_linkbtn {
display: block;
width: 400px;
padding: 15px 10px 12px 10px;
text-align: center;
background-color: #fff566;
color: #333114;
border-radius: 99999px;
border: 1px solid #fff566;
position: relative;
}
footer .footer_reserve_link a.footer_linkbtn:hover {
background-color: #fffab3;
}
footer .footer_reserve_link a.footer_linkbtn::after {
position: absolute;
top: 50%;
right: 1em;
width: 0.5em;
height: 0.5em;
transform: translateY(-50%) rotate(45deg);
border-right: 2px solid currentColor;
border-top: 2px solid currentColor;
content: "";
}
footer .footer_reserve_link a.footer_linkbtn span {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 3px;
}
footer .footer_reserve_link a.footer_linkbtn span::before {
content: "";
background-image: url(//www.glamping-shimanami.com/wp-content/themes/gpvill_shimanami2026/img/common/icon_camp.svg);
background-size: cover;
background-repeat: no-repeat;
width: 20px;
height: 20px;
margin-top: -2px;
} footer .copy {
width: 94%;
text-align: center;
max-width: 1400px;
margin: 50px auto 0 auto;
font-size: 14px;
} .foot_img {
display: none;
}
@media screen and (max-width: 896px) {
footer {
padding: 50px 0 120px 0;
}
footer::before {
display: none;
}
footer::after {
height: 470px;
}
footer .footer_box .footer_logo {
width: 100%;
text-align: center;
}
footer .footer_box .footer_logo_img {
width: 80%;
margin: 0 auto 30px auto;
}
footer .footer_box .footer_navi {
width: 100%;
}
footer .footer_box .foot_qa a {
margin: 0 auto;
}
footer .footer_box .foot_mail a {
margin: 0 auto;
}
footer .footer_reserve_link a.footer_linkbtn {
display: block;
margin: 0 auto;
width: 100%;
max-width: 400px;
}
footer ul.footer_menu {
justify-content: center;
}
footer .copy {
text-align: center;
}
footer .foot_img {
display: block;
width: 100%;
text-align: center;
margin: 40px 0;
}
footer .foot_img img {
width: 70%;
}
} .breadcrumb_area {
width: 100%;
padding: 10px 0;
font-size: 14px;
}
.breadcrumb {
width: auto;
max-width: 94%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
list-style: none;
padding-inline-start: 0;
margin-block-start: 0;
margin-block-end: 0;
}
.breadcrumb li:not(:last-of-type)::after {
content: "";
display: inline-block;
background-image: url(//www.glamping-shimanami.com/wp-content/themes/gpvill_shimanami2026/img/common/right_arrow.svg);
background-repeat: no-repeat;
background-size: contain;
margin: 0 10px;
vertical-align: text-top;
width: 16px;
height: 16px; } .pagetop {
height: 50px;
width: 50px;
position: fixed;
right: 20px;
bottom: 20px;
background: #4d9961;
border: 1px solid #fff;
border-radius: 50%;
display: none;
justify-content: center;
align-items: center;
z-index: 2;
cursor: pointer;
}
.pagetop__arrow {
display: block;
height: 10px;
width: 10px;
border-top: 3px solid #fff;
border-right: 3px solid #fff;
transform: translateY(20%) rotate(-45deg);
}
@media screen and (max-width: 896px) {
.pagetop {
right: 20px;
bottom: 85px;
}
} @media screen and (max-width: 896px) {
#fadeInNav {
bottom: 0;
width: 100%;
height: auto;
background: transparent;
position: fixed;
z-index: 99;
}
#wrapper_MenuBtn {
position: relative;
gap: 0;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(3, 1fr);
z-index: 400;
}
#fadeInNav ul.outer li.txt {
list-style: none;
margin: 0;
padding-inline: 1% 0;
}
#fadeInNav ul.outer li.txt h3 {
font-size: 14px;
text-align: center;
}
#fadeInNav ul.outer li.txt a {
color: #333114;
line-height: 1.5;
display: flex;
flex-direction: column;
}
#fadeInNav ul.outer li.txt:first-child {
background: #fff566;
}
#fadeInNav ul.outer li.txt a.access {
background: #e6f4ff;
}
#fadeInNav ul.outer li.txt:nth-child(3) {
background: #b3deff;
}
#fadeInNav ul.outer li.txt a::before {
font-family: "Font Awesome 5 Free";
font-size: 20px;
font-weight: 900;
text-decoration: none;
line-height: 1.5;
margin: 0;
}
#fadeInNav ul.outer li.txt a.reservation::before {
content: "\f3cd";
}
#fadeInNav ul.outer li.txt a.access::before {
content: "\f1b9";
}
#fadeInNav ul.outer li.txt a.faq::before {
content: "\f059";
}
} .side_nav_access {
display: block;
width: 70px;
background-color: #4d9961;
position: fixed;
top: 200px;
right: 0;
padding: 10px;
z-index: 20;
border-radius: 10px 0 0 10px;
color: #fff;
font-weight: bold;
text-align: center;
font-size: 12px;
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
cursor: pointer;
}
.side_nav_access img.side_nav_access_icon {
display: block;
width: 65%;
margin: 0 auto;
}
@media screen and (max-width: 896px) {
.side_nav_access {
display: none;
}
} .side_nav_reserve {
display: block;
width: 70px;
background-color: #fff;
position: fixed;
top: 300px;
right: 0;
padding: 15px 10px;
z-index: 21;
border-radius: 10px 0 0 10px;
color: #000;
font-weight: bold;
text-align: center;
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
cursor: pointer;
}
.side_nav_reserve img.side_nav_reserve_icon {
display: block;
width: 65%;
margin: 0 auto;
}
.side_nav_reserve p {
text-align: center;
writing-mode: vertical-rl;
display: flex;
justify-content: center;
align-items: center;
width: 100%;
margin: 10px 0;
}
@media screen and (max-width: 896px) {
.side_nav_reserve {
display: none;
}
}