/* ======================================
RESET
====================================== */

*,
*::before,
*::after{
    box-sizing:border-box;
}

html{
    font-size:62.5%;
    scroll-behavior:smooth;
}

body{
    margin:0;
    padding:0;
    color:#4a4a4a;
    background:#ffffff;
    font-family: "Zen Kaku Gothic New", sans-serif,"Zen Kaku Gothic New", sans-serif !important;
    font-size:1.6rem;
    line-height:1.9;
    letter-spacing:.05em;
}

h1,h2,h3,h4,h5,h6,
p,
ul,
ol,
li{
    margin:0;
    padding:0;
}

ul{
    list-style:none;
}

img{
    display:block;
    max-width:100%;
    height:auto;
}

a{
    color:inherit;
    text-decoration:none;
    transition:.3s;
}

table{
    border-collapse:collapse;
    border-spacing:0;
}

/* ======================================
COMMON
====================================== */

.l-wrapper{
    overflow:hidden;
}

.l-container{
    width:min(1300px, calc(100% - 80px));
    margin:auto;
}

.c-section-title{
    font-family:"Klee One",cursive;
    font-size:30px;
    font-weight:500;
    line-height:1.5;
    color:#000000;
    margin-bottom:40px;
    display: inline-block;
    position: relative;
}

.c-section-title:before {
    content: '';
    display: inline-block;
    position: absolute;
    bottom: -15px;
    left: 16%;
    transform: translateX(-50%);
    width: 60px;
    height: 1px;
    background-color: #c9bc9c;
}

.c-section-title--center{
    text-align:center;
}

.c-section-title_n{
    font-family:"Klee One",cursive;
    font-size:30px;
    font-weight:500;
    line-height:1.5;
    color:#000000;
    margin-bottom:40px;
    display: inline-block;
    position: relative;
}

.c-section-title_n:before {
    content: '';
    display: inline-block;
    position: absolute;
    bottom: -15px;
    left: 7%;
    transform: translateX(-50%);
    width: 60px;
    height: 1px;
    background-color: #c9bc9c;
}

.c-section-title_n--center{
    text-align:center;
}

section{
    position:relative;
}

section + section{
    margin-top:140px;
}

.br-pc {
display: block;
}

.br-sp {
display: none;
}

@media screen and (max-width:767px){

.br-sp {
display: block;
}

.br-pc {
display: none;
}
}

/* ======================================
HEADER
====================================== */

/*元々のヘッダー(非表示)*/
.l-header {
    display: none;
}
/**/

.logo{
    width:140px;
    height:auto;
}

.labo-header{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    z-index:100;
    padding:30px 0;
}

.labo-header__inner{
    width:min(1840px, calc(100% - 80px));
    margin:auto;
}

.p-logo a{
    display:inline-flex;
    flex-direction:column;
    color:#fff;
    font-family:"Klee One",cursive;
}

.p-logo{
    line-height:1.2;
}

.p-logo a{
    font-size:3rem;
}

.p-logo span{
    font-size:1.4rem;
    margin-top:5px;
    letter-spacing:.15em;
}

/* ======================================
追従バナー
====================================== */

.ctabanner {
    width: 170px;
    height: 170px;
    position: fixed;
    top: 260px;
    right: 16px;
    z-index: 1100;
    display: none;
    flex-direction: column;
    align-items: center;
}

img {
    vertical-align: bottom;
}

a img:hover {
    opacity: 0.7;
}

.sphidden {
    display: block;
}

.pchidden {
    display: none;
}


@media screen and (max-width:767px){
.pchidden {
    display: block;
}

.sphidden {
    display: none !important;
}

.ctabanner {
    width: 100%;
    height: auto;
    position: fixed;
    top: initial;
    right: 0;
    bottom: -4px;
    z-index: 1100;
    display: none;
    flex-direction: row;
    align-items: center;
    background: #fff;
}
}


/* ======================================
FV
====================================== */

img.p-fv-pc{
    display: block;
}

img.p-fv-sp{
    display: none;
}

.p-fv{
    padding:80px 0 140px;
}

.p-fv__inner{
    width:min(1660px, calc(100% - 80px));
    margin:auto;

    display:flex;
    justify-content:space-between;
    align-items:flex-start;
}

.p-fv__left{
    width:42%;
    position:relative;
    min-height:650px;
}

.p-fv__image{
    width:52%;
}

.p-fv__image img{
    width:100%;
    /*display:block;*/
}

/* -----------------
縦タイトル
------------------ */

.p-fv__copy{
    display:flex;
    gap:20px;
    position:absolute;
    left:40px;
    top:280px;
}

.p-fv__copy02{
    gap:36px;
    position:absolute;
    left: 50px;
    top: 480px;
    font-family: "Zen Kaku Gothic New", sans-serif;
}

.p-fv__vertical{
    writing-mode:vertical-rl;
    font-family:"Klee One",cursive;
    font-size:40px;
    font-weight:400;
    line-height:1.4;
    color:#000;
}

.p-fv__beside {
    font-size: 44.5px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0.1em;
    color: #000;
}

.p-fv__text{
    padding-top:40px;
}

.p-fv__text p{
    font-family: "Klee One", cursive;
    font-size: 20px;
    line-height: 1.8;
    color: #000;
}

/* -----------------
サブ画像
------------------ */

.p-fv__thumb{
    position:absolute;
}

.p-fv__thumb img{
    width:100%;
    display:block;
}

.thumb01{
    width:280px;
    top:60px;
    left:50px;
}

.thumb02{
    width: 220px;
    top: 180px;
    left: 420px;
}

.thumb03{
    width: 280px;
    top: 460px;
    left: 360px;
}

.p-fv__thumb.line {
    left: 50px;
    top: 480px;
}


/* ======================================
CONCEPT
====================================== */

.p-concept{
    margin-top:40px;
}

.p-concept__bg{
    position:relative;
}

.p-concept__bg img{
    width:100%;
    height:850px;
    object-fit:cover;
}

.p-concept__overlay{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);

    width:min(900px,90%);
    text-align:center;
}

.p-concept__lead{
    color:#fff;
    font-size: 20px;
    font-weight: 500;
    line-height:3.6;
    text-shadow:
    0 2px 10px rgba(0,0,0,.3);
}

.p-concept-container {
  background-image: url('../images/concept_bg-img.png');
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 100%;
  aspect-ratio: 16 / 7;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 160px;
}

.p-concept-image-text {
  color: #fff;
  text-align: center;
  padding: 20px;
}


/* ======================================
ANIMATION
====================================== */

.fadeUp{
    opacity:0;
    transform:translateY(30px);
}

.fadeUp.is-active{
    opacity:1;
    transform:translateY(0);
    transition:.8s;
}

/* ======================================
contents01
====================================== */

.contents01{
    /*padding:20px 0;*/
}

.contents01__row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:120px;
}

.contents01__content{
    flex:1;
}

.contents01__content p{
    font-size:16px;
    font-weight: 500;
    line-height:1.8;
}

.contents01__image{
    flex:1;
}

.contents01__image img{
    width:100%;
}

/* ======================================
contents02
====================================== */

.contents02{
    /*padding:40px 0;*/
}

.contents02__row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:120px;
}

.contents02__image{
    flex:1;
}

.contents02__image img{
    width:100%;
}

.contents02__content{
    flex:1;
}

.contents02__content p{
    font-size:16px;
    font-weight: 500;
    line-height:1.8;
}

/* ======================================
contents03
====================================== */

/*.contents03{
    padding:20px 0;
}*/

.contents03__row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:120px;
}

.contents03__content{
    flex:1;
}

.contents03__content p{
    font-size:16px;
    font-weight: 500;
    line-height:1.8;
}

.contents03__image{
    flex:1;
}

.contents03__image img{
    width:100%;
}

/* ======================================
contents04
====================================== */

.contents04{
    /*padding:40px 0;*/
}

.contents04__row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:120px;
}

.contents04__image{
    flex:1;
}

.contents04__image img{
    width:100%;
}

.contents04__content{
    flex:1;
}

.contents04__content p{
    font-size:16px;
    font-weight: 500;
    line-height:1.8;
}

/* ======================================
contents05
====================================== */

/*.contents05{
    padding:20px 0;
}*/

.contents05__row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:120px;
}

.contents05__content{
    flex:1;
}

.contents05__content p{
    font-size:16px;
    font-weight: 500;
    line-height:1.8;
}

.contents05__image{
    flex:1;
}

.contents05__image img{
    width:100%;
}

/* ======================================
ROOM
====================================== */

.p-room{
    padding-bottom: 20px;
}

.p-room__inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:100px;
}

.p-room__content{
    flex:1;
    display:flex;
    justify-content:center;
}

.p-room__circle{
    width:540px;
    height:540px;
    border-radius:50%;
    background:#f8f5f3;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    text-align:center;
    padding:80px;

    position:relative;
}

.p-room__circle::before{
    content:"";
    position:absolute;
    width:95%;
    height:95%;
    /*border:1px solid rgba(120,100,80,.2);*/
    border-radius:50%;
}

.p-room__title {
    position: relative;
    z-index: 2;
    font-family: "Klee One", cursive;
    font-size: 26px;
    line-height: 1.6;
    color: #333;
    margin-bottom: 35px;
    writing-mode: vertical-rl;
}

.p-room__text {
    position: relative;
    z-index: 2;
    font-size: 15.8px;
    line-height: 1.68;
}

.p-room__image{
    flex:1;
}

.p-room__image img{
    width:100%;
}

/* ======================================
SECTION DECORATION
====================================== */

.contents01,
.contents02,
.contents03,
.contents04,
.contents05,
.p-room{
    position:relative;
}

.contents02::before{
    bottom:-50px;
    right:-50px;
}

.contents03::before{
    top:0;
    right:0;
}

.contents04::before{
    top:0;
    right:0;
}

.contents05::before{
    top:0;
    right:0;
}

.p-room::before{
    left:0;
    bottom:0;
}

section.p-detail {
    background-color: #f8f5f3;
}

/* ======================================
PRICE
====================================== */

.p-price{
    padding-top: 160px;
}

.p-price__box{
    width: min(1000px, calc(100% - 40px));
    margin: auto;
    background-color: #fff;
    padding: 60px 50px;
    border-radius: 5px;
}

.p-price__title{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:15px;
    font-family:"Klee One",cursive;
    font-size:36px;
    margin-bottom:30px;
    color:#000000;
}

.c-section-title__icon img{
    width:42px;
}

.c-section-title_n__icon img{
    width:42px;
}

.p-price__table{
    width:100%;
    /*background:#fff;*/
    border-radius:5px;
    overflow:hidden;
    /*box-shadow:0 10px 30px rgba(0,0,0,.05);*/
}

.p-price__table th,
.p-price__table td{
    padding:24px 30px 24px 36px;
    /*border-bottom:1px solid #ece7e1;*/
    color: #000;
}

.p-price__table th{
    width:220px;
    /*background:#fff;*/
    font-weight:500;
    text-align:left;
}

.p-price__table tr {
    border-bottom: 1px solid #ece7e1;
}

.p-price__table td{
    /*background:#fff;*/
}

.p-price__table strong{
    font-size:20px;
    color:#98745c;
    margin-bottom:5px;
}

.p-price__table span{
    display:block;
    font-size: 14px;
    color:#000;
}

.p-price__table small{
    display:block;
    margin-top:6px;
    font-size:14px;
    line-height:1.8;
}

.p-price__note{
    text-align: center;
    margin-top: 25px;
    font-size: 14px;
    line-height: 2;
    color: #000000;
}

/* ======================================
TIME
====================================== */

.p-time{
    width:min(1100px, calc(100% - 40px));
    margin:120px auto 0;
}

.p-time__title{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:15px;
    font-family:"Klee One",cursive;
    font-size:36px;
    color:#000000;
    margin-bottom:30px;
}

.p-time__title img{
    width:40px;
}

.p-time__lead{
    line-height: 1.5;
    text-align:center;
    margin-bottom:50px;
}

.p-time__diagram{
    margin-bottom:50px;
}

.p-time__diagram img{
    width: 90%;
    margin: 0 auto;
}

/* ======================================
TIME TABLE
====================================== */

.p-time__table{
    font-size: 2rem;
    width:100%;
    background:#fff;
    border-radius:5px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(0,0,0,.05);
}

.p-time__table th,
.p-time__table td{
    font-size: 20px;
    padding:24px 20px;
    text-align:center;
    border:1px solid #ece7e1;
}

.p-time__table thead th{
    background:#b2a69e;
    color: #fff;
    font-weight: 500;
        letter-spacing: 0.1em;
}

.p-time__table tbody th{
    width: 120px;
    background:#ffffff;
}

.p-time__note{
    text-align: center;
    margin-top: 40px;
    font-size: 14px;
    color: #000000;
}

td.time {
    font-size: 22.8px;
    width: 60%;
    letter-spacing: 0.1em;
}


/* ======================================
CTA
====================================== */

.p-cta{
    padding:0 0 120px 0;
}

.p-price__cta{
    text-align:center;
    padding-top: 80px;
    padding-bottom: 160px;

}

.c-btn-reserve{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:15px;
    min-width:420px;
    padding:24px 50px;
    background:#313131;
    color:#fff;
    border-radius:999px;
    font-size:20px;
    font-weight:700;
    transition:.4s;
    font-family:"Klee One",cursive;
}

.c-btn-reserve:hover{
    transform:translateY(-4px);
    box-shadow:0 15px 25px rgba(0,0,0,.15);
    color: #ffffff;
}

.c-btn-reserve__arrow{
    width:34px;
    height:34px;
    background:#fff;
    border-radius:50%;
    color:#000;
    display:flex;
    justify-content:center;
    align-items:center;
}

/* ======================================
ACCESS
====================================== */

.p-access-sec {
    text-align: center;
}

.p-access-section-title {
    font-family: "Klee One", cursive;
    font-size: 36px;
    line-height: 1.5;
    color: #000000;
    margin-bottom: 40px;
    display: inline-block;
    position: relative;
}

.p-access-section-title:before {
    content: '';
    display: inline-block;
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 1px;
    background-color: #c9bc9c;
}

.p-access{
    padding:20px 0px 20px 0px;
}

.p-access .c-section-title .c-section-title_n{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:15px;
}

.c-section-title__text{
    margin-top:3px;
}

.c-section-title_n__text{
    margin-top:3px;
}

.p-access__row{
    display: flex;
    gap: 50px;
    align-items: flex-start;
    margin-top: 60px;
}

.p-access__content{
    width: 40%;
    letter-spacing: 0.015em;
}

.p-access__content h3{
    color: #000;
    font-size: 24px;
    font-weight: 400;
    margin-bottom: 40px;
    line-height: 1.4;
}

.p-access__content address{
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 2;
    color: #000;
}

.p-access__map{
    width:60%;
}

.p-access__map iframe{
    width:100%;
    height:450px;
    border:none;
    border-radius:5px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

/* ======================================
GALLERY
====================================== */

.p-gallery{
    padding:0px 0px 160px 0px;
    overflow:hidden;
}

.p-gallery__slider{
    width:100%;
    overflow:hidden;
}

.p-gallery__track{
    display:flex;
    width:max-content;
    animation:galleryScroll 40s linear infinite;
}

.p-gallery__item{
    width:400px;
    margin-right:24px;
    flex-shrink:0;
}

.p-gallery__item img{
    width:100%;
    height:400px;
    object-fit:cover;
    border-radius:5px;
}

/* ======================================
GALLERY ANIMATION
====================================== */

@keyframes galleryScroll{

    0%{
        transform:translateX(0);
    }

    100%{
        transform:translateX(-50%);
    }

}

/* ======================================
FOOTER
====================================== */

.l-footer{
    padding:60px 20px;
    background:#111;
    color:#fff;
}

.l-footer__links{
    display:flex;
    justify-content:center;
    gap:60px;
    flex-wrap:wrap;
    margin-bottom:36px;
}

.l-footer__links a{
    font-size: 14px;
    color: #fff;
}

.l-footer__links a:hover{
    opacity:.6;
}

.l-footer__copyright{
text-align: center;
    font-size: 12px;
    color: #ababab;
}

/* ======================================
COMMON ICON TITLE
====================================== */

.c-section-title__icon{
    display:flex;
    align-items:center;
}

.c-section-title__icon img{
    width:40px;
    height:auto;
}

/**/
.c-section-title_n__icon{
    display:flex;
    align-items:center;
}

.c-section-title_n__icon img{
    width:40px;
    height:auto;
}

/* ======================================
    FV 左側 レスポンシブ各サイズ調整
====================================== */

@media screen and (max-width:1366px){
.thumb01 {
    width: 240px;
    top: 60px;
    left: 50px;
}

.thumb02 {
    width: 190px;
    top: 180px;
    left: 360px;
}

.thumb03 {
    width: 250px;
    top: 460px;
    left: 320px;
}
}

@media screen and (max-width:1280px){
.p-fv__copy {
    display: flex;
    gap: 20px;
    position: absolute;
    left: 20px;
    top: 280px;
}

.p-fv__copy02 {
    left: 30px;
    top: 480px;
}

.thumb01 {
    width: 240px;
    top: 80px;
    left: 30px;
}

.thumb02 {
    width: 180px;
    top: 180px;
    left: 340px;
}

.thumb03 {
    width: 220px;
    top: 460px;
    left: 300px;
}

}


/* ======================================
TABLET (※iPad mini優先)
====================================== */

@media screen and (min-width:768px) and (max-width:820px){

/* 共通 */
section + section {
    margin-top: 100px;
}

.l-container {
    width: min(100%, calc(100% - 80px));
}

/* FV */
img.p-fv-pc{
    display: none;
}

img.p-fv-sp{
    display: block;
}

.p-fv__thumb.line {
    display: none;
}

.p-fv__vertical {
    font-size: 28px;
}

.p-fv__beside {
    font-size: 32px;
}

.p-fv__copy {
    display: flex;
    gap: 20px;
    position: absolute;
    left: 20px;
    top: 210px;
}

.p-fv__copy02 {
    left: 26px;
    top: 354px;
}

.p-fv__text {
    padding-top: 30px;
}

.p-fv__text p {
    font-size: 18px;
    line-height: 1.6;
}

.p-fv__image {
    width: 72%;
    margin-left: 180px;
}

.p-fv__inner {
    width: min(1660px, calc(100% - 80px));
    margin: auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: column-reverse;
    gap: 10px;
    margin-top: 20px;
}

.p-fv__left {
    width: 72%;
    position: relative;
    min-height: 580px;
}

.thumb01 {
    width: 230px;
    top: 20px;
    left: 30px;
}

.thumb02 {
    width: 180px;
    top: 80px;
    left: 340px;
}

.thumb03 {
    width: 270px;
    top: 280px;
    left: 400px;
}

.p-fv {
    padding: 80px 0px 0px;
}

/* CONCEPT */
.p-concept {
    margin-top: 0px;
}

.p-concept__lead {
    font-size: 16px;
    line-height: 3.2;
}

.p-concept-image-text {
    padding: 80px 0px;
}

.p-concept-container {
    margin-bottom: 0px;
}

/* contents01 */

/*見出し*/

.c-section-title:before {
    left: 16%;
}

.c-section-title {
    margin-bottom: 30px;
}

.c-section-title_n:before {
    left: 16%;
}

.c-section-title_n {
    margin-bottom: 30px;
}

/*見出し END*/

.c-section-title {
    font-size: 24px;
}

.c-section-title_n {
    font-size: 24px;
}

.contents01__content p {
    font-size: 14px;
}

.contents01__row {
    gap: 40px;
}

/* contents02 */
.contents02__content p {
    font-size: 14px;
}

.contents02__row {
    gap: 40px;
}

/* contents03 */
.p-contents03__row {
    gap: 40px;
}

.contents03__content p {
    font-size: 14px;
}

.contents0__row {
    gap: 40px;
}

/* contents04 */
.contents04__content p {
    font-size: 14px;
}

.contents04__row {
    gap: 40px;
}

/* contents05 */
.p-contents05__row {
    gap: 40px;
}

.contents05__content p {
    font-size: 14px;
}

.contents0__row {
    gap: 40px;
}

/* ROOM */
.p-room__circle {
    width: 340px;
    height: 340px;
    padding: 0px;
}

.p-room__title {
    font-size: 20px;
    margin-bottom: 24px;
    writing-mode: unset;
}

.p-room__text {
    font-size: 14px;
}

.p-room__inner {
    gap: 40px;
}

/* PRICE */
.p-price {
    padding-top: 100px;
}

.p-price__box {
    padding: 40px 30px;
}

.p-price__title {
    font-size: 24px;
    margin-bottom: 10px;
}

.c-section-title__icon img {
    width: 30px;
}

.c-section-title_n__icon img {
    width: 30px;
}

.p-price__table th, .p-price__table td {
    padding: 20px 26px;
    font-size: 16px;
    line-height: 1.9;
}

.p-price__note {
    font-size: 12px;
}

.p-price__box {
    width: min(1000px, calc(100% - 40px));
}

.p-price__table strong {
    font-size: 18.5px;
}

.p-price__table small {
    margin-top: 10px;
}

/* TIME */
.p-time {
    margin: 60px auto 0;
}

.p-time__title {
    font-size: 24px;
}

.p-time__title img{
    width: 30px;
}

.p-time__lead {
    font-size: 14px;
    line-height: 1.8;
}

.p-time__diagram img {
    width: 70%;
    margin: 0 auto;
}

.p-time__lead {
    margin-bottom: 40px;
}

.p-time__diagram {
    margin-bottom: 30px;
}

.p-time__table th {
    font-size: 16px;
    padding: 10px;
    line-height: 1.9;
}

.p-time__table td {
    font-size: 20px;
    padding: 10px;
    line-height: 1.9;
}

.p-time__note {
    margin-top: 20px;
}

.p-price__cta {
    text-align: center;
    padding-top: 40px;
    padding-bottom: 100px;
}

/* CTA */
.c-btn-reserve {
    font-size: 18px;
    min-width: 360px;
    padding: 20px 50px;
}

/* ACCESS */
.p-access-section-title {
    font-size: 24px;
}

.p-access__row {
    margin-top: 40px;
}

.p-access__row {
    display: flex;
    gap: 30px;
    align-items: center;
    margin-top: 30px;
    flex-direction: column-reverse;
}

.p-access__map {
    width: 90%;
}

.p-access__content {
    width: 90%;
}

.p-access__content h3 {
    font-size: 20px;
    line-height: 1.6;
    text-align: center;
    margin-bottom: 20px;
}

.p-access__content address {
    font-size: 16px;
    margin: 30px 90px 0px;
}

.p-access {
    padding: 0px;
}

/* GALLERY */
.p-gallery {
    padding: 0px 0px 140px 0px;
}

}


/* ======================================
SMARTPHONE
====================================== */

@media screen and (max-width:767px){

html{
    font-size:56.25%;
}

section + section{
    margin-top:60px;
}

.l-container{
    width:calc(380px - 30px);
}

/* ----------------------------------
    Header
---------------------------------- */

.labo-header{
    padding:20px 0;
}

.p-logo a{
    font-size:2.4rem;
}

.p-logo span{
    font-size:1.2rem;
}

.labo-header__inner {
    padding-left: 20px;
    margin: 0px;
}


/* ----------------------------------
    Common
---------------------------------- */

.c-section-title{
    font-size:22px;
    text-align:center;
    margin-bottom:30px;
}

.c-section-title:before {
    left: 20%;
}

/**/
.c-section-title_n{
    font-size:22px;
    /*text-align:center;*/
    margin-bottom:30px;
}

.c-section-title_n:before {
    left: 9%;
}

/* ----------------------------------
    FV
---------------------------------- */

/**/
.p-fv__thumb img {
    width: 90%;
    display: block;
}

img.p-fv-pc{
    display: none;
}

img.p-fv-sp{
    display: block;
}

.p-fv{
    padding:90px 0 40px;
}

.p-fv__inner{
    display:flex;
    flex-direction:column;
    width:calc(100% - 24px);
}

.p-fv__left{
    width:100%;
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
    position:relative;
    min-height:auto;
}

/* 並び順変更 */

.p-fv__copy{
    order:1;
}

.p-fv__copy02{
    order:2;
}

.p-fv__thumbs{
    order:3;
    width:100%;
}

/* ------------------
コピー
------------------ */

.p-fv__copy{
    position: static;
    width: 100%;
    display: flex;
    gap: 24px;
    margin-top: 10px;
}

.p-fv__vertical{
    font-size: 36px;
    line-height: 1;
}

.p-fv__text{
    padding-top:15px;
}

.p-fv__text p{
    font-size: 18px;
    line-height: 1.8;
}

.p-fv__copy02{
    position: static;
    width: 100%;
    margin-top: -48px;
    margin-left: 48px;
}

.p-fv__beside{
    font-size:41.4px;
    letter-spacing:.12em;
}

/* ------------------
サブ画像
------------------ */

.p-fv__thumbs{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
}

.thumb01{
    position:static;
    width:48%;
    margin-top:25px;
}

.thumb02{
    position:static;
    width:48%;
    margin-top:50px;
    margin-left:auto;
}

.thumb03{
    position:static;
    width:48%;
    margin-top:-10px;
}

.p-fv__thumb.line{
    display:none;
}

/* ------------------
メイン画像
------------------ */

.p-fv__image{
    width:100%;
    /*margin-top:20px;*/
    order:0;
}

.p-fv__image img{
    border-radius:6px;
}

/**/

.p-fv{
    padding:110px 0 60px;
    padding-left: 20px;
}

.p-fv__inner{
    flex-direction:column-reverse;
    gap:20px;
}

.p-fv__content,
.p-fv__image{
    width:100%;
}

.p-fv__title{
    font-size:3rem;
    line-height:1.8;
    text-align:center;
}

.p-fv__thumbs{
    margin-top:30px;
    gap:10px;
}

/* ----------------------------------
    Concept
---------------------------------- */

.p-concept-image-text {
padding: 100px 40px;
}

.p-concept__bg img{
    height:600px;
}

.p-concept__lead{
    font-size: 14.4px;
    line-height: 2.6;
}

.p-concept-container {
    margin-bottom: 110px;
}

/* ----------------------------------
    contents01
---------------------------------- */

.contents01__content p {
    font-size: 14.4px;
}

.contents01__row{
    flex-direction:column;
    gap:30px;
}

/* ----------------------------------
    contents02
---------------------------------- */

.contents02__content p {
    font-size: 14.4px;
}

.contents02__row{
    flex-direction:column-reverse;
    gap:30px;
}

/* ----------------------------------
    contents03
---------------------------------- */

.contents03__content p {
    font-size: 14.4px;
}

.contents03__row{
    flex-direction:column-reverse;
    gap:30px;
}

.contents03__row{
    flex-direction:column;
    gap:40px;
}

.contents03__circle{
    width:320px;
    height:320px;
    padding:35px;
}

.contents03__circle h2{
    font-size:2.4rem;
}

.contents03__circle p{
    font-size:1.3rem;
    line-height:2;
}

section.contents03.fadeUp.is-active {
    padding-bottom: 20px;
}

/* ----------------------------------
    contents04
---------------------------------- */

.contents04__content p {
    font-size: 14.4px;
}

.contents04__row{
    flex-direction:column-reverse;
    gap:30px;
}

/* ----------------------------------
    contents05
---------------------------------- */

.contents05__content p {
    font-size: 14.4px;
}

.contents05__row{
    flex-direction:column-reverse;
    gap:30px;
}

.contents05__row{
    flex-direction:column;
    gap:40px;
}

.contents05__circle{
    width:320px;
    height:320px;
    padding:35px;
}

.contents05__circle h2{
    font-size:2.4rem;
}

.contents05__circle p{
    font-size:1.3rem;
    line-height:2;
}

section.contents05.fadeUp.is-active {
    padding-bottom: 20px;
}

/* ----------------------------------
    Room
---------------------------------- */

.p-room__inner{
    flex-direction:column;
    gap:40px;
}

.p-room__circle{
    width:340px;
    height:340px;
    padding:35px;
}

.p-room__title{
    font-size:2.6rem;
    margin-bottom:20px;
}

.p-room__text{
    font-size:13.05px;
    line-height:2;
}

section.p-room.fadeUp.is-active {
    padding-bottom: 20px;
}

@media screen and (max-width:480px){

.p-fv__title{
    font-size:2.6rem;
}

.contents03__circle{
    width:290px;
    height:290px;
}

.contents05__circle{
    width:290px;
    height:290px;
}

.p-room__circle{
    width:360px;
    height:360px;
}

.p-room__title{
    font-size:16.65px;
}

}

/* ----------------------------------
    Price
---------------------------------- */

.c-section-title__icon img {
    width: 30px;
}

.c-section-title_n__icon img {
    width: 30px;
}

.p-price{
    padding:100px 0px 0px 0px;
}

.p-price__title{
    margin-bottom: 10px;
    font-size:25.2px;
    flex-wrap:wrap;
}

.p-price__table{
    display:block;
    overflow-x:auto;
    white-space:nowrap;
}

.p-price__table th{
    font-size: 14.4px;
    padding: 20px 10px;
    width:140px;
}

.p-price__table td {
    padding: 24px 10px;
}

.p-price__box {
    padding: 40px 16px;
}

.p-price__table strong {
    font-size: 18px;
}

.p-price__table span {
    font-size: 14.4px;
    line-height: 1.5;
}

.p-price__table small {
    font-size: 13.5px;
}

.p-price__note {
    font-size: 12.6px;
}

/* ----------------------------------
    Time
---------------------------------- */

.p-time__diagram img {
    width: 95%;
    margin: 0 auto;
}

.p-time__title img {
    width: 30px;
}

.p-time{
    width:calc(100% - 30px);
    margin: 60px auto 0;
}

.p-time__title{
    font-size:25.2px;
    flex-wrap:wrap;
}

.p-time__table{
    display:block;
    overflow-x:auto;
    white-space:nowrap;
}

.p-time__lead {
    font-size: 14.4px;
    line-height: 1.5;
    margin-bottom: 30px;
}

.p-time__diagram {
    margin-bottom: 40px;
}

.p-time__table th,.p-time__table td {
    font-size: 14.4px;
    line-height: 1.5;
}

.p-time__table thead th {
    font-weight: 600;
}

td.time {
    font-size: 16.2px;
}

.p-time__note {
    font-size: 12.6px;
    line-height: 1.8;
    margin-top: 30px;
}

/* ----------------------------------
    CTA
---------------------------------- */

.p-price__cta {
    padding-top: 60px;
    padding-bottom: 100px;
}

.c-btn-reserve{
    width:90%;
    min-width:auto;
    font-size:16.2px;
    padding:20px;
}

/* ----------------------------------
    Access
---------------------------------- */

.p-access-section-title {
    font-size: 27px;
    margin-bottom: 20px;
}

.p-access{
    padding:20px 0;
}

.p-access__row{
    flex-direction:column;
    margin-top:40px;
}

.p-access__content,
.p-access__map{
    width:100%;
}

.p-access__content h3{
    font-size: 19.8px;
    text-align: center;
    line-height: 1.6;
    margin-bottom: 20px;
}

.p-access__content address {
    font-size: 13.5px;
    line-height: 1.8;
}

.p-access__map iframe{
    height:320px;
}

/* ----------------------------------
    Gallery
---------------------------------- */

.p-gallery{
    padding:20px 0px 120px 0px;
}

.p-gallery__item{
    width:220px;
    margin-right:15px;
}

.p-gallery__item img{
    height:220px;
}

/* ----------------------------------
    Footer
---------------------------------- */

.l-footer{
    padding:60px 40px 30px 40px;
}

.l-footer__links {
    display: flex;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
    margin-bottom: 25px;
    align-items: center;
}

.l-footer__links a {
    font-size: 14.4px;
}

.l-footer__links {
    margin-bottom: 60px;
}

.l-footer__copyright {
    font-size: 11.7px;
}

}


