@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

body {
  font-family: "M PLUS Rounded 1c", sans-serif !important;
  font-weight: 400;
  font-style: normal;
}
h1, h2, h3, h4, h5, h6 {
  font-family: "Kaisei Decol", serif !important;
  font-style: normal;
  color: #07658b !important;
}

.shantell-sans {
  font-family: "Shantell Sans", cursive;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
  font-variation-settings:
    "BNCE" 0,
    "INFM" 0,
    "SPAC" 0;
  color: #07658b !important;
}

.c-siteLogo,
.l-header__inner,
.c-headLogo__link {
	margin: 0 !important;
	padding: 0 !important;
}

/* ヘッダー内ロゴを左端にぴったり */
.l-header__logo {
  position: absolute !important;
  left: 0 !important;
  top: 0; /* 必要なら調整 */
  margin: 0 !important;
  padding: 0 !important;
}


.l-fixHeader__logo {
  position: absolute !important;
  margin: 0 !important;
  padding: 0 !important;
}
.l-fixHeader__inner {
	margin: 0 !important;
	padding: 0 !important;
	max-width:100%;
}
.-body-solid .l-fixHeader {
    box-shadow: none;
}

.l-fixHeader {
    height: 85px;
}
@media screen and (max-width: 768px) {
.l-header{
	background: rgba(255,255,255,0);
}
}

.l-header__menuBtn{
	border-radius: 0 0 0 15px !important;
    width: 65px;
    height: 65px;
	top: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* グローバルナビフォント */
.c-gnav>.menu-item>a .ttl {
font-size: 16px;
font-weight: bold;
letter-spacing: 1.3px;
}

/* グローバルナビホバーエフェクト */
.c-gnav > li:hover > a, .c-gnav > .-current > a {
background: transparent;
color: #00668d;
transition: all .25s;
}

/* パンくず非表示 */
#breadcrumb {
 display: none;
}

/* デフォルトのフッター削除 */
.l-footer {
  display:none
}

/* フッター直前ウィジェット*/
.w-beforeFooter {
	margin-top:0;
}
.l-content {
  margin-bottom: 0 !important;
}

/* スマホ背景のビーチ画像拡大表示 */
@media screen and (max-width: 768px) {
.beach-fixed-bg {
  position: relative;
}

.beach-fixed-bg::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-image: url('/wp-content/uploads/2026/01/beqach-bg-sp-02.jpg') !important;
  background-size: contain;
  background-position: center;
  background-attachment: scroll;
  z-index: -1; /* 他のコンテンツの下に */
}
}

@media (max-width: 768px)  {
.swell-col-reverse .swell-block-columns__inner{
    flex-direction: column-reverse; 
}
}
/* ABOUT */
@media (max-width: 768px)  {
.about-ttl {
	font-size: 1.3em !important;
}
}
/* 6つの魅力 */
.point-ttl {
  font-family: "M PLUS Rounded 1c", sans-serif !important;
  font-weight: 400;
  font-style: normal;
}

.point-image {
    position: relative;
    width: 100%;
	height: 464px;
}

.point-photo {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1; /* 背景画像が後ろ */
}

.point-ill {
    position: absolute;
    top: -80px;
    right: 0px;
    z-index: 2; /* 上に重ねる */
}

.point-ill-r {
    position: absolute;
    top: -30px;
    right: 0px;
    z-index: 2; /* 上に重ねる */
}

.point-ill-l {
    position: absolute;
    top: -30px;
    left: 0px;
    z-index: 3; /* 上に重ねる */
}

.pd-rl-20 {
	padding: 0 20px;
}

@media (max-width: 768px) {
.point-image {
    height: 250px;
}
.point-ill {
	width: 60px;
    top: -50px;
}
.point-ill-r {
    width: 50px;
}
.point-ill-l {
    top: -26px;
	width: 200px;
}
}

/* 無限ループアニメーション */
.slider1 {
  display: flex;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  height:610px;
  overflow: hidden;
  padding-bottom: 0px !important;
}
.slider1 ul{
	display:flex;
	padding: 0;
	margin:0;
}
.slider1 li{
	width:400px;
	list-style: none;
	margin-right: 30px;
}
.slider1 ul:first-child {
  animation: slide1 60s -30s linear infinite;
}

.slider1 ul:last-child {
  animation: slide2 60s linear infinite;
}

@keyframes slide1 {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}

@keyframes slide2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}

@media screen and (max-width: 959px) {
.slider1 {
  height:350px;
}
	.slider1 li{
	width: 230px;
}
}

/* AREA-FAQ */
.area-faq-bg {
  background-image: url('/wp-content/uploads/2026/01/area-faq-bg.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  height: 559px;
  width: 1310px;
  margin: 0 auto;
  padding: 100px 0;
}
@media (max-width: 1024px) {
.area-faq-bg {
  background-image: url('/wp-content/uploads/2026/01/area-faq-bg-sp-02.png') !important;
  width: 90%;
  margin: 0 auto;
}
}

/* ACCESS */
.access-bg {
  border-radius: 30px;
}

/* スマホ画面下に固定追従バナー */
@media screen and (max-width: 959px) {
    body {
		margin-bottom: 105px !important;
    }
    .p-fixBtnWrap {
		bottom: 5.5em; /* 上に戻るボタンの位置を上に */
    }
    #fixed-bottom-menu {
        display: block;
        position: fixed;
        left: 0;
        bottom: 0;
        width: 100%;
        z-index: 99 !important;
		background-color: rgba(255,255,255,0.6) !important;
        padding: .3em .3em;
		margin: 0;
    }
    #fixed-bottom-menu .swell-block-column {
        padding: .5em;
    }
    #fixed-bottom-menu .swell-block-button__link[data-has-icon] {
        padding: 1em 1em;
    }    
}
.fixed-bottom-sp {
  border-radius: 100px !important;
}
@media screen and (min-width: 960px) {
    #fixed-bottom-menu, #fixed-sidebar-menu {
        display: none;
    }
}

/* スマホフッター画像拡大表示 */
@media screen and (max-width: 768px) {
.ocenia-footer-bg {
  position: relative;
}

.ocenia-footer-bg::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-image: url('/wp-content/uploads/2026/01/footer-sp-bg-02.jpg') !important;
  background-position: center;
  background-attachment: scroll;
  z-index: -1; /* 他のコンテンツの下に */
}
}

/* FAQ */
.swell-block-accordion__title {
  border-radius: 15px !important;
  padding: 20px;
}

.swell-block-accordion__body {
  border: none !important;
}

/* PC用グローバルメニューを画面の幅いっぱいに広げ、右寄せにする */
@media screen and (min-width: 960px) {
    /* メニューを包むコンテナの最大幅制限を解除 */
    .l-header__inner {
        max-width: 100% !important;
    }

    /* メニュー項目を右寄せにする */
    .g-nav {
        margin-left: auto !important;
    }
}

/* MetaSlider矢印位置 */
.metaslider .flex-control-nav li {
	display: inline-block;
	padding: 0;		
}
.flex-direction-nav .flex-nav-prev, .flex-direction-nav .flex-nav-next  {
	position: initial;
}

/*-----部屋の特徴-----*/
.room-features dl {
	display: flex;
	flex-flow: row wrap;
	width: 100%;
	margin: 50px auto 100px auto !important;
}
.room-features dt {
	flex-basis: 30%;
	padding: 25px;
	margin: 0;
	font-weight: bold;
	text-align: left;
	border-bottom: 3px dotted #f0e9df;
}
.room-features dd {
	flex-basis: 70%;
	padding: 25px 10px;
	font-weight: bold;
	margin: 0;
	border-bottom: 3px dotted #f0e9df;
}

.room-features dt:first-child {
 	border-top: 3px dotted #f0e9df;
}

.room-features dd:nth-child(2) {
 	border-top: 3px dotted #f0e9df;
}

@media screen and (max-width: 559px) {
	.room-features dl {
		flex-flow: column;
		width: 95%;
		padding: 0 10px;
		border: 0;
	}
	.room-features dt {
		padding: 10px;
		border-bottom: 1px dotted #f0e9df;
	}
	.room-features dd {
		padding: 10px;
		border-bottom: 3px dotted #f0e9df;
	}	
	.room-features dd:nth-child(2) {
	 	border-top: 0;
	}
}

.mr10 {
	margin-right: 10px;
}