@charset "utf-8";

/*////////////////////////////////////
topheader_area
////////////////////////////////////*/

@media screen and (min-width: 768px){
.topheader_area{
	position: relative;
	width: 100%;
	aspect-ratio: 1920/1080;
	z-index: 1;
	overflow: hidden;
}

.topheader_sp_slide{
	display: none;
}

.topheader_slide {
  width: 100%;
  aspect-ratio: 1920/1080;
  top: 0;
  left: 0;
  z-index: 1;
}

.topheader_slide img {
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  aspect-ratio: 1920/1080;
  animation: slide-animation 24s linear infinite 0s;
  z-index: 1;
}

.topheader_slide img:nth-of-type(2){
  animation-delay: 8s;/*2枚目の開始時間*/
}

.topheader_slide img:nth-of-type(3){
  animation-delay: 16s;/*3枚目の開始時間*/
}

#topheader_cover{
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
	aspect-ratio: 1920/1080;
	background: url("../img/topheader_cover.png");
	background-size: cover;
	z-index: 2;
}

#topheader_sp_cover{
	display: none;
}

.topheader_img{
	width: 100%;
  	position: absolute;
  	top: 0;
  	left: 0;
  	aspect-ratio: 1920/1080;
	z-index: 3;
}

#topheader_img01{
	animation: yurayura 3s linear infinite;
}

#topheader_img02{
	animation: yurayura 4s linear infinite;
}

#topheader_img03{
	animation: fuwafuwa 4s linear infinite;
}

.topheader_sp_img{
	display: none;
}
}

@media screen and (min-width: 0px) and (max-width: 767px){
.topheader_area{
	position: relative;
	width: 100%;
	aspect-ratio: 5/7;
	z-index: 1;
	overflow: hidden;
}

.topheader_slide{
	display: none;
}

.topheader_sp_slide {
	position: absolute;
  	width: 100%;
  	aspect-ratio: 5/7;
  	top: 0;
  	left: 0;
  	z-index: 1;
}

.topheader_sp_slide img {
	position: absolute;
	width: 100%;
  	opacity: 0;
  	aspect-ratio: 5/7;
  	animation: slide-animation 24s linear infinite 0s;
}

.topheader_sp_slide img:nth-of-type(2){
  animation-delay: 8s;/*2枚目の開始時間*/
}

.topheader_sp_slide img:nth-of-type(3){
  animation-delay: 16s;/*3枚目の開始時間*/
}

#topheader_sp_cover{
	position: absolute;
	width: 100%;
	aspect-ratio: 5/7;
	z-index: 2;
}

#topheader_cover{
	display: none;
}

.topheader_sp_img{
  	position: absolute;
  	top: 0;
  	left: 0;
	width: 100%;
  	aspect-ratio: 5/7;
	z-index: 3;
}

#topheader_sp_img01{
	animation: yurayura 3s linear infinite;
}

#topheader_sp_img02{
	animation: yurayura 4s linear infinite;
}

#topheader_sp_img03{
	animation: fuwafuwa 4s linear infinite;
}
}

@keyframes slide-animation {
  0% {
    animation-timing-function: ease-in;/*ゆっくり表示される*/
    opacity: 0;
  }
  12% {
    animation-timing-function: ease-out;/*表示された*/
    opacity: 1;
  }
  30% {
    opacity: 1;/*＊表示期間*/
  }
  43% {
    opacity: 0;/*次の画像で消えている*/
  }
  100% {
    opacity: 0;/*表示されていない時間*/
  }
}


@keyframes yurayura {
    0% , 100%{
      transform: rotate(1deg);
  }
  50%{
      transform: rotate(-1deg);
  }
}


@keyframes fuwafuwa {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20px);
  }
}


/*////////////////////////////////////
TOP 共通
////////////////////////////////////*/

@media screen and (min-width: 768px){
.top_title_area{
	position: relative;
	width: 100%;
	text-align: center;
}

.top_title{
	position: relative;
	width: 30%;
	margin-left: auto;
	margin-right: auto;
}

.top_title_circle{
	position: relative;
	width: 1.4%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 20px;
	border-radius: 50%;
	aspect-ratio: 1/1;
}

.top_subtitle{
	position: relative;
	width: 100%;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: clamp(2rem,1.8vw,3.2rem);
 	font-weight: 500;
	color: #555555;
	letter-spacing: 0.08em;
}

.top_word{
	position: relative;
	width: 100%;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: clamp(1.6rem,1.2vw,2.4rem);
	font-weight: 400;
	letter-spacing: 0.06em;
	line-height: 2;
	color: #333333;
}

.btn {
 	display: inline-block;
  	position: relative;
 	background: #fff;
 	color: #614f38;;
 	padding: 10px;
  	transition: all .3s;
}

.btn:before,
.btn:after {
    content: "";
    position: absolute;
    display: block;
    top: 50%;
  }

.btn:before {
    width: .3rem;
    height: .3rem;
    left: 2rem;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    z-index: 2;
    transform: translateY(-50%) rotate(45deg);
    transition: all .3s;
  }
}



@media screen and (min-width: 0px) and (max-width: 767px){
.top_title_area{
	position: relative;
	width: 100%;
	text-align: center;
}

.top_title{
	position: relative;
	width: 60%;
	margin-left: auto;
	margin-right: auto;
}

.top_title_circle{
	position: relative;
	width: 3%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 10px;
	border-radius: 50%;
	aspect-ratio: 1/1;
}

.top_subtitle{
	position: relative;
	width: 100%;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 1.8rem;
 	font-weight: 500;
	color: #555555;
	letter-spacing: 0.08em;
}

.top_word{
	position: relative;
	width: 100%;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: clamp(1.6rem,1.2vw,2.6rem);
	font-weight: 400;
	letter-spacing: 0.06em;
	line-height: 1.6;
	color: #333333;
}

.btn {
  display: inline-block;
  position: relative;
  background: #fff;
  color: #614f38;
  padding: 10px;
  transition: all .3s;
}

.btn:before,
.btn:after {
    content: "";
    position: absolute;
    display: block;
    top: 50%;
  }

.btn:before {
    width: .3rem;
    height: .3rem;
    left: 2rem;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    z-index: 2;
    transform: translateY(-50%) rotate(45deg);
    transition: all .3s;
  }
}


/*////////////////////////////////////
topconcept_area
////////////////////////////////////*/

@media screen and (min-width: 768px){
#topconcept_area{
	position: relative;
	width: 100%;
	padding: 100px 0;
	background: #f8f7f6;
	overflow: hidden;
}

#topconcept_title_circle{
	background: rgba(88,152,180,1.00);
}

#topconcept_place{
	position: relative;
	padding-top: 50px;
	width: 80%;
	min-width: 900px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: flex-start;
	flex-wrap: nowrap;
	z-index: 2;
}

#topconcept_left_item{
	position: relative;
	width: 38%;
	margin-right: 5%;
}

#topconcept_left_item img{
	border-radius: 30px;
	filter: brightness(120%);
}

#topconcept_right_item{
	position: relative;
	width: 57%;
}

.top_circle_area{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}
 
.top_circle{
    background-color: rgba(232,228,221,1.00);
    padding-top: 10%;
    width: 100%;
	height: 100%;
    animation-name: puyopuyo;
    animation-duration: 20.0s;
    animation-timing-function: ease;
    animation-iteration-count: infinite;
}

#topconcept_word{
	padding: 8% 16% 1% 16%;
}

#top_bg_circle1{
	position: absolute;
	top: 0;
	left: 0;
    width: 22%;
	aspect-ratio: 1/1;
	background-color: rgba(160,120,156,0.3);
	animation: puyopuyo 24.0s ease infinite alternate forwards;
	z-index: 1;
}

#top_bg_circle2{
	position: absolute;
	top: 5%;
	right: 0;
    width: 20%;
	aspect-ratio: 1/1;
	background-color: rgba(118,152,165,0.5);
	animation: puyopuyo 26.0s ease infinite alternate forwards;
	z-index: 1;
}

#top_bg_circle3{
	position: absolute;
	bottom: 5%;
	left: -5%;
    width: 24%;
	aspect-ratio: 1/1;
	background-color: rgba(209,175,127,0.3);
	animation: puyopuyo 18.0s ease infinite alternate forwards;
	z-index: 1;
}
 
#top_bg_circle4{
	position: absolute;
	bottom: -8%;
	right: -5%;
    width: 24%;
	aspect-ratio: 1/1;
	background-color: rgba(132,147,113,0.3);
	animation: puyopuyo 14.0s ease infinite alternate forwards;
	z-index: 1;
}
}

@media screen and (min-width: 0px) and (max-width: 767px){
#topconcept_area{
	position: relative;
	width: 100%;
	padding: 50px 0;
	background: #f8f7f6;
	overflow: hidden;
}

#topconcept_title_circle{
	background: rgba(88,152,180,1.00);
}

#topconcept_place{
	position: relative;
	padding-top: 50px;
	width: 80%;
	margin-left: auto;
	margin-right: auto;
	z-index: 2;
}

#topconcept_left_item{
	position: relative;
	width: 100%;
}

#topconcept_left_item img{
	border-radius: 30px;
	filter: brightness(120%);
}

#topconcept_right_item{
	position: relative;
	width: 100%;
}

#topconcept_word{
	padding: 30px 50px;
}

.top_circle_area{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}
 
.top_circle{
    background-color: rgba(232,228,221,1.00);
    padding-top: 10%;
    width: 100%;
	height: 100%;
    animation-name: puyopuyo;
    animation-duration: 20.0s;
    animation-timing-function: ease;
    animation-iteration-count: infinite;
}

#top_bg_circle1{
	position: absolute;
	top: 0;
	left: -10%;
    width: 50%;
	aspect-ratio: 1/1;
	background-color: rgba(160,120,156,0.3);
	animation: puyopuyo 24.0s ease infinite alternate forwards;
	z-index: 1;
}

#top_bg_circle2{
	position: absolute;
	top: 30%;
	right: 0;
    width: 40%;
	aspect-ratio: 1/1;
	background-color: rgba(118,152,165,0.5);
	animation: puyopuyo 26.0s ease infinite alternate forwards;
	z-index: 1;
}

#top_bg_circle3{
	position: absolute;
	bottom: 36%;
	left: -30%;
    width: 46%;
	aspect-ratio: 1/1;
	background-color: rgba(209,175,127,0.3);
	animation: puyopuyo 18.0s ease infinite alternate forwards;
	z-index: 1;
}
 
#top_bg_circle4{
	position: absolute;
	bottom: -8%;
	right: -20%;
    width: 52%;
	aspect-ratio: 1/1;
	background-color: rgba(132,147,113,0.3);
	animation: puyopuyo 14.0s ease infinite alternate forwards;
	z-index: 1;
}
}

@keyframes puyopuyo{  
    0%{
        border-radius: 63% 37% 54% 46%/55% 48% 52% 45%;
    }
    14%{
        border-radius: 40% 60% 54% 46%/49% 60% 40% 51%;
    }
    28%{
        border-radius: 54% 46% 38% 62%/49% 70% 30% 51%;
    }
    42%{
        border-radius: 61% 39% 55% 45%/61% 38% 62% 39%;
    }
    56%{
        border-radius: 61% 39% 67% 33%/70% 50% 50% 30%;
    }
    70%{
        border-radius: 50% 50% 34% 66%/56% 68% 32% 44%;
    }
    84%{
        border-radius: 46% 54% 50% 50%/35% 61% 39% 65%;
    }
    100%{
        border-radius: 63% 37% 54% 46%/55% 48% 52% 45%;
    }
}


/*////////////////////////////////////
topmenu_area
////////////////////////////////////*/

@media screen and (min-width: 768px){
#topmenu_area{
	position: relative;
	width: 100%;
	padding: 100px 0;
	background-image: url("../img/topmenu_bg.png");
	overflow: hidden;
}

#topmenu_title_circle{
	background: rgba(210,144,75,1.00);
}

#topmenu_place{
	position: relative;
	width: 80%;
	margin-left: auto;
	margin-right: auto;
}

#topmenu_word{
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 100px;
	padding-top: 50px;
}

#topmenu_list{
	position: relative;
	width: 100%;
	min-width: 900px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 100px;
	display: flex;
	justify-content: flex-start;
	flex-wrap: nowrap;
}

.topmenu_list_item{
	position: relative;
	width: 30%;
	margin: 0 1.6%;
	border-radius: 30px;
	background: rgba(126,104,105,1.00);
}

.topmenu_list_photo{
	position: relative;
	width: 100%;
	
	margin-bottom: 20px;
}

.topmenu_list_photo img{
	border-radius: 30px 30px 0 0;
}

.topmenu_list_title{
	position: relative;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 14px;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: clamp(1.8rem,1.2vw,2.6rem);
	font-weight: 600;
	letter-spacing: 0.06em;
	text-align: center;
	color: #FEFEFE;
}

.topmenu_list_word{
	position: relative;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 30px;
	font-size: clamp(1.4rem,1.0vw,1.8rem);
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1.6;
	color: #FEFEFE;
}
}

@media screen and (min-width: 0px) and (max-width: 767px){
#topmenu_area{
	position: relative;
	width: 100%;
	padding: 50px 0;
	background-image: url("../img/topmenu_bg.png");
	overflow: hidden;
}

#topmenu_title_circle{
	background: rgba(210,144,75,1.00);
}

#topmenu_place{
	position: relative;
	width: 80%;
	margin-left: auto;
	margin-right: auto;
	padding-top: 20px;
}

#topmenu_word{
	max-width: 100%;
	padding-top: 50px 0;
}

#topmenu_list{
	position: relative;
	width: 100%;
	margin-bottom: 50px;
	padding-top: 30px;
}

.topmenu_list_item{
	position: relative;
	width: 100%;
	margin-bottom: 30px;
	border-radius: 30px;
	background: rgba(126,104,105,1.00);
}

.topmenu_list_photo{
	position: relative;
	width: 100%;
	margin-bottom: 10px;
}

.topmenu_list_photo img{
	border-radius: 30px 30px 0 0;
}

.topmenu_list_title{
	position: relative;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 14px;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 1.8rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-align: center;
	color: #FEFEFE;
}

.topmenu_list_word{
	position: relative;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 30px;
	font-size: 1.4rem;
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1.6;
	color: #FEFEFE;
}
}


/*////////////////////////////////////
topaccess_area
////////////////////////////////////*/

@media screen and (min-width: 768px){
#topaccess_area{
	position: relative;
	width: 100%;
	padding: 100px 0;
	background-image: url("../img/topaccess_bg.png");
	overflow: hidden;
}

#topaccess_title_circle{
	background:rgba(110,142,111,1.00);
}

#topaccess_title_area{
	margin-bottom: 50px;
}

#topaccess_place{
	position: relative;
	width: 80%;
	margin-left: auto;
	margin-right: auto;
	min-width: 800px;
	background: rgba(193,180,181,1.00);
	border-radius: 30px;
	display: flex;
	justify-content: flex-start;
	flex-wrap: nowrap;
	padding: 3%;
}

#topaccess_left_place{
	position: relative;
	width: 49%;
	margin-right: 5%;
	text-align: right;
}

#topaccess_left_place img{
	border-radius: 30px;
	margin-bottom: 10px;
}

#topaccess_left_place a{
	padding-right: 30px;
	text-decoration: none;
	ont-family: "Zen Kaku Gothic New", sans-serif;
	font-size: clamp(1.4rem,1.2vw,1.6rem);
	font-weight: 400;
	letter-spacing: 0.04em;
	color: #FEFEFE;
	transition: .3s all;
}

#topaccess_left_place a:hover{
	font-weight: 600;
	color: rgba(198,159,108,1.00);
}

#topaccess_right_place{
	position: relative;
	width: 55%;
}

#topaccess_right_title{
	position: relative;
	width: 100%;
	margin-bottom: 14px;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: clamp(1.8rem,1.2vw,2.6rem);
	font-weight: 600;
	letter-spacing: 0.06em;
	color: #FEFEFE;
}

#topaccess_right_word{
	position: relative;
	width: 100%;
	margin-bottom: 40px;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: clamp(1.4rem,1.2vw,1.8rem);
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1.6;
	color: #FEFEFE;
}

#topaccess_right_word i{
	padding-right: 5px;
}

#topaccess_right_word span{
	border-bottom: 3px dotted #ff838b;
  	display: inline;
}
}

@media screen and (min-width: 0px) and (max-width: 767px){
#topaccess_area{
	position: relative;
	width: 100%;
	padding: 50px 0;
	background-image: url("../img/topaccess_bg.png");
	overflow: hidden;
}

#topaccess_title_circle{
	background:rgba(110,142,111,1.00);
}

#topaccess_title_area{
	margin-bottom: 50px;
}

#topaccess_place{
	position: relative;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	background: rgba(193,180,181,1.00);
	border-radius: 30px;
	padding: 30px;
}

#topaccess_left_place{
	position: relative;
	width: 100%;
	margin-bottom: 20px;
	text-align: right;
}

#topaccess_left_place img{
	border-radius: 30px;
}

#topaccess_left_place a{
	padding-right: 10px;
	text-decoration: none;
	ont-family: "Zen Kaku Gothic New", sans-serif;
	font-size: clamp(1.4rem,1.2vw,1.6rem);
	font-weight: 400;
	letter-spacing: 0.04em;
	color: #FEFEFE;
	transition: .3s all;
}

#topaccess_right_place{
	position: relative;
	width: 100%;
}

#topaccess_right_title{
	position: relative;
	width: 100%;
	margin-bottom: 14px;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: clamp(1.8rem,1.2vw,2.6rem);
	font-weight: 600;
	letter-spacing: 0.06em;
	text-align: center;
	color: #FEFEFE;
}

#topaccess_right_word{
	position: relative;
	width: 100%;
	margin-bottom: 30px;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: clamp(1.4rem,1.2vw,1.8rem);
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1.6;
	color: #FEFEFE;
}

#topaccess_right_word i{
	padding-right: 5px;
}

#topaccess_right_word i{
	padding-right: 5px;
}

#topaccess_right_word span{
	border-bottom: 3px dotted #ff838b;
  	display: inline;
}
}


/*////////////////////////////////////
reserv_area
////////////////////////////////////*/

@media screen and (min-width: 768px){
#reserv_area{
	position: relative;
	width: 100%;
	padding: 80px 0;
	background: rgba(198,220,215,1.00);
	overflow: hidden;
}

#reserv_place{
	position: relative;
	width: 80%;
	margin-left: auto;
	margin-right: auto;
	min-width: 800px;
	border-radius: 30px;
	padding: 3%;
}

#reserv_title{
	position: relative;
	width: 100%;
	margin-bottom: 40px;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: clamp(2.4rem,2vw,4rem);
	font-weight: 600;
	letter-spacing: 0.06em;
	color: #555555;
	text-align: center;
}

#reserv_word{
	position: relative;
	width: 100%;
	margin-bottom: 30px;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: clamp(1.4rem,1.2vw,1.8rem);
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1.6;
	color: #555555;
	text-align: center;
}	
}



@media screen and (min-width: 0px) and (max-width: 767px){
#reserv_area{
	position: relative;
	width: 100%;
	padding: 50px 0;
	background: rgba(198,220,215,1.00);
	overflow: hidden;
}

#reserv_place{
	position: relative;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	border-radius: 30px;
	padding: 30px;
}

#reserv_title{
	position: relative;
	width: 100%;
	margin-bottom: 14px;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: clamp(2.4rem,2vw,4rem);
	font-weight: 600;
	letter-spacing: 0.06em;
	color: #555555;
	text-align: center;
}

#reserv_word{
	position: relative;
	width: 100%;
	margin-bottom: 30px;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: clamp(1.4rem,1.2vw,1.8rem);
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1.6;
	color: #555555;
}
}


/*////////////////////////////////////

////////////////////////////////////*/

@media screen and (min-width: 768px){

	
}



@media screen and (min-width: 0px) and (max-width: 767px){

}