/* ベーススタイル */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
    scroll-behavior: smooth; /* スムーズスクロール */
    -webkit-text-size-adjust: 100%; /* iOSのテキストサイズ調整を無効化 */
	overflow-x: hidden;
}

body {
    font-family: "Kiwi Maru", serif;
    line-height: 2;
    color: #5a4d4f;
    background-color: #fff;
    font-size: 16px;
	overflow-x: clip;
	/*font-feature-settings: 'palt';*/
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

ul {
    list-style: none;
}

a {
    /*color: #007ed3;*/
    text-decoration: none;
}

a:hover {
    text-decoration: none;
}

section{
	overflow: visible;
}

main{
	/*max-width: 1920px!important;*/
	margin:0 auto!important;
}
/* 1920pxベース用ラッパ */
.site-wrapper {
  /*max-width: 1920px;*/
  margin: 0 auto;
  background-color: #fff;
  min-height: 100vh;
  position: relative;
}


/* アニメーションの定義 */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* 適用したい要素（bodyなど）に指定 */
.fade-in-page {
  animation: fadeIn 1.5s ease-out;
}


main [id] {
  scroll-margin-top: 123px;
}

.forSP{
	display: none;
}

/* ヘッダー -------------------------------------------------- */
.site-header {
  position: fixed;
  /*position: absolute; */
  /*top: 0;
  left: 50%;
  transform: translateX(-50%);*/
  width: 100%;
	height: 123px;
  z-index: 1000;
	padding-left: 65px;
	padding-right: 0;
	background: #fff;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

/*.site-header.scrolled {
	background: #fff;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}*/

.header-inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
	width: 100%;
	height: 100%;
}

.header-logo{
	width: 12.99vw;
	max-width: 249.3474px;
	min-width: 156px;
	aspect-ratio: 249.3474 / 75.0194;
	height: auto;
	z-index: 999;
    align-self: center;
}



.header-nav{
    width: auto;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    height: 100%;
}


.header-nav ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
  gap: 30px;
  margin-right: 30px;
}

.header-nav .header-button a{
  text-decoration: none;
  color: #5a4d4f;
  font-size: 18px;
	font-weight: 500;
  position: relative;
	transition: 0.3s;
	background: #fadce0;
	border-radius: 31.5px;
	width: 167px;
	height: 63px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.header-nav .header-button a:hover{
	background: #8cc8d3;
	color: #fff;
}

.header-nav .header-tel a p{
	color: #8cc8d3;
  font-size: 30px;
	font-weight: 500;
  text-transform: uppercase;
  position: relative;
	transition: 0.3s;
	line-height: 1;
	padding-left: 40px;
}
.header-nav .header-tel a p:before{
	content: '';
	display: block;
	background: url("../images/icon-tel.svg");
	width: 28px;
	height: 28px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-40%);
}

.menu-mini{
	font-size: 15px;
	font-weight: 500;
	color: #595757;
}


.keihou{
	background: url("../images/link.png");
	background-size: contain;
	background-repeat: no-repeat;
	width: 259.6421px;
	aspect-ratio: 259.6421 / 106.4489;
	align-self: flex-start;
	transition: 0.3s;
}
.keihou:hover{
	background: url("../images/link-hover.png");
	background-size: contain;
	background-repeat: no-repeat;
	width: 259.6421px;
	aspect-ratio: 259.6421 / 106.4489;
	align-self: flex-start;
	transition: 0.3s;
}

.header-tel{
	margin-left: 36px;
}

.button-instagram a:before{
	content: '';
	display: inline-block;
	background: url("../images/icon-instagram-bk.svg");
	width: 30px;
	height: 30px;
	margin-right: 10px;
	transition: 0.3s;
}
.button-instagram a:hover:before{
	content: '';
	display: inline-block;
	background: url("../images/icon-instagram-wh.svg");
	width: 30px;
	height: 30px;
	margin-right: 10px;
}




/* ハンバーガーボタン（PCでは非表示） */
.header-menu-toggle {
  display: none;
  background: #8cc8d3;
  border: none;
  padding: 17px;
  cursor: pointer;
/*  margin-left: 16px;*/
    width: 60px;
    aspect-ratio: 1 / 1;
	border-radius: 50%;
	/*box-shadow: 0 0 5px rgba(90, 77, 79, 0.2);*/
}

.header-menu-toggle span {
  display: block;
  width: 26px;
  height: 4px;
  background-color: #fff;
  transition: transform 0.2s ease, opacity 0.2s ease;
  border-radius: 2px;
}

.header-menu-toggle span + span {
  margin-top: 6px;
}

/* 開いているときの×アイコン風アニメーション */
.site-header.is-open .header-menu-toggle span:nth-child(1) {
  transform: translateY(10px) rotate(45deg);
}

.site-header.is-open .header-menu-toggle span:nth-child(2) {
  opacity: 0;
}

.site-header.is-open .header-menu-toggle span:nth-child(3) {
  transform: translateY(-10px) rotate(-45deg);
}

/* メニュー展開時の背景オーバーレイ */
.header-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.4);
  opacity: 0;
  pointer-events: none;
  z-index: 900; /* ヘッダー(1000)より下、コンテンツより上 */
  transition: opacity 0.3s ease;
}

/* メニューオープン時に有効化（JSでbodyにmenu-openクラスを付与） */
body.menu-open .header-overlay {
  opacity: 1;
  pointer-events: auto;
}



/* フッター -------------------------------------------------- */

.site-footer {
  background-color: #fff;
  position: relative;
  padding-top: 62px;
	padding-bottom: 75px;
	border-bottom: solid 37px #fadce0;
	padding-left: 20px;
	padding-right: 20px;
}

.footer-inner {
  width: 100%;
	max-width: 1400px;
  margin: 0 auto;
  display: flex;
	justify-content: space-between;
}


.footer-inner-left{}

.footer-inner-right{
	display: flex;
	flex-direction: column;
    justify-content: space-between;
    align-items: flex-end;
	padding-top: 50px;
}

.footer-inner-left p a{
	color: #5a4d4f;
}


.footer-logo {
     width: 314px;
	margin-bottom: 50px;
}



.footer-nav{
	display: flex;
	align-items: center;
}

.footer-nav ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0;
  list-style: none;
	gap: 40px;
}

.footer-nav a {
  text-decoration: none;
  color: #5a4d4f;
  font-size: 20px;
	font-weight: 400;
  position: relative;
	transition: 0.3s;
	display: flex;
    align-items: center;
}


.footer-nav .f-instagram a:before{
	content: '';
    display: inline-block;
    background: url(../images/icon-instagram-bk.svg);
    width: 30px;
    height: 30px;
    margin-right: 10px;
    transition: 0.3s;
}




/* TOPへ戻るボタン -------------------------------------------------- */

.pagetop {
    position: fixed;
    bottom: 102px;
    right: 32px;
    width: 65px;
    aspect-ratio: 1 / 1;
    opacity: 0;
	background: #fff;
	border-radius: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
    transform: translateY(20px);
    z-index: 999;
    transition: opacity .3s ease, transform .3s ease, bottom .3s ease;
}

.pagetop.is-fixed {
    bottom: 102px; 
    opacity: 1;
    transform: translateY(0);
}

.pagetop img{
	width: 29.6094px;
	aspect-ratio: 29.6094 / 14.8047;
}


/* 共用パーツ -------------------------------------------------- */

.button{
	width: 300px;
	height: 60px;
	display: flex;
	align-items: center;
	background: #8cc8d3;
	color: #fff;
	font-size: 18px;
	line-height: 1;
	position: relative;
	transition: 0.3s;
	border-radius: 30px;
	padding: 0 25px;
	box-shadow: 0 0 5px rgba(90, 77, 79, 0.2);
}

/*.button::before{
	content: '';
	background: url("../images/icon-mail-wh.svg");
	background-size: contain;
	background-repeat: no-repeat;
	width: 18px;
	aspect-ratio: 18 / 14;
	position: absolute;
	left: 42px;
	top: 52%;
	transform: translateY(-50%);
	transition: 0.3s;
}*/

.button::after{
	content: '';
	background: url("../images/icon-external-wh.svg");
	background-size: contain;
	background-repeat: no-repeat;
	width: 25px;
	aspect-ratio: 25 / 25;
	position: absolute;
	right: 24px;
	top: 50%;
	transform: translateY(-50%);
	transition: 0.3s;
}

.button:hover{
	background: #fadce0;
	transition: 0.3s;
}

.button:hover::before{
	content: '';
	background: url("../images/icon-external-bk.svg");
	background-size: contain;
	background-repeat: no-repeat;
	transition: 0.3s;
}


#top h2{
	font-size: clamp(28px, 5.5vw, 45px);
	font-weight: 500;
	line-height: 1;
	margin-bottom: 40px;
}

.h-en{
	display: inline-block;
	color: #f6b5b1;
	font-size: 20px;
	font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 700;
	line-height: 1;
    font-style: normal;
	margin-bottom: 25px;
}


.text{
	font-size: 16px;
	line-height: 1.75;
}





.pop-text .char {
  display: inline-block;
  opacity: 0;
}
.pop-text.aos-animate .char {
  animation: pop 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275) both;
  
  animation-delay: calc(var(--base-delay, 0s) + (0.04s * var(--char-index)));
}


@keyframes pop {
  0% { 
    transform: translateY(40px) scale(0.8); 
    opacity: 0; 
  }
  100% { 
    transform: translateY(0) scale(1); 
    opacity: 1; 
  }
}






/* TOP ---------------------------------- */

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



/* TOP-ヒーロー -------------------------------------------------- */
#hero {
  position: relative;
  width: 100%;
	aspect-ratio: 1920 / 1005;
}


.hero-title{
	position: absolute;
	left: 8.33vw;
	bottom: 243px;
}

.hero-tugline{
    font-size: clamp(34px,3.96vw,76px);
	font-weight: 500;
	line-height: 1.2;
	color: #fff;
	text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);
}



.hero-tugline-e {
	font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: clamp(16px,1.56vw,30px);
  line-height: 2.111;
	color: #fff;
	margin-top: 10px;
	text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);
}


/* top-instagram -------------------------------------------------- */

.top-instagram{
	width: 100%;
	position: relative;
	background: url("../images/back-01.png");
	/*background-size: contain;*/
	background-size: cover;
	background-repeat: no-repeat;
	margin-top: -100px;
	padding-bottom: 154px;
	padding-top: 8.59vw;
}

.top-instagram .section-inner{
	max-width: 1600px;
	width: 100%;
	position: relative;
	margin: 0 auto;
	display: flex;
	align-items: center;
	flex-direction: column;
	margin-bottom: clamp(80px,9.9vw,190px);
}

.instagram-list{
	display: flex;
	gap: 50px;
	margin: 65px 0 60px;
	position: relative;
	width: 100%;
    flex-wrap: wrap;
    justify-content: center;
    max-width: calc(1190px + 65px + 65px);
	z-index: 2;
	padding: 0 65px;
}
.instagram-list li{
	width: 260px;
	aspect-ratio: 1 / 1;
	border-radius: 20px;
	box-shadow: 0 0 5px rgba(90, 77, 79, 0.2);
	position: relative;
}


.top-instagram .section-inner::before{
	content: '';
	display: block;
	background: url("../images/rabbit-01.png");
	background-size: contain;
	background-repeat: no-repeat;
	width: 4.98%;
	max-width: 79.675px;
	aspect-ratio: 79.675 / 131.0359;
	position: absolute;
	top: 134px;
	left: 1.56%;
	z-index: 0;
}
.top-instagram .section-inner::after{
	content: '';
	display: block;
	background: url("../images/tree-01.png");
	background-size: contain;
	background-repeat: no-repeat;
	width: 8.02%;
	max-width: 128.2827px;
	aspect-ratio: 128.2827 / 139.6175;
	position: absolute;
	bottom: 75px;
	right: 1.25%;
	z-index: 0;
}

.instagram-list::before{
	content: '';
	display: block;
	background: url("../images/deco-balloon-01.svg");
	background-size: contain;
	background-repeat: no-repeat;
	width: 15.15vw;
	max-width: 290.9012px;
	aspect-ratio: 290.9012 / 219.5122;
	position: absolute;
	bottom: -3.85vw;
	left: -4.9vw;
	z-index: 0;
}
.instagram-list::after{
	content: '';
	display: block;
	background: url("../images/deco-circle-pink.svg");
	background-size: contain;
	background-repeat: no-repeat;
	width: 16.15vw;
	max-width: 310.0062px;
	aspect-ratio: 1 / 1;
	position: absolute;
	top: -5.21vw;
	right: -8.02vw;
	z-index: 0;
}

/* TOP　thoughts -------------------------------------------------- */

.top-thoughts{
	width: 100%;
	position: relative;
	background: url("../images/back-02.png");
	background-size: 100%;
	/*background-size: cover;*/
	background-repeat: no-repeat;
	margin-top: -153px;
	padding-top: 8.59vw;
}

.top-thoughts .section-inner{
	max-width: 1920px;
	width: 100%;
	position: relative;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	background: url("../images/back-02.png");
	background-size: cover;
	background-position: bottom;
	background-repeat: no-repeat;
	padding-bottom: 262px;
}

.top-thoughts::before{
	content: '';
	display: block;
	background: url("../images/bird-01.png");
	background-size: contain;
	background-repeat: no-repeat;
	width: 3.79vw;
	max-width: 72.8149px;
	aspect-ratio: 72.8149 / 63.7379;
	position: absolute;
	top: -1.04vw;
	left: 22.4vw;
	z-index: 0;
}



#top .top-thoughts h2{
	font-size: clamp(28px,5.6vw,50px);
	line-height: 1.42;
}

.top-thoughts .inner-upper{
	max-width: 1200px;
	margin: 0 auto 70px;
	position: relative;
}
.top-thoughts .inner-upper::after{
	content: '';
	display: block;
	background: url("../images/tree-02.png");
	background-size: contain;
	background-repeat: no-repeat;
	width: 7.75vw;
	max-width: 148.8452px;
	aspect-ratio: 148.8452 / 134.2323;
	position: absolute;
	bottom: -2.14vw;
	right: -10.42vw;
	z-index: 0;
}


.top-thoughts .inner-upper .flex-box{
	display: flex;
}

.top-thoughts .inner-upper .flex-box .inner-left{
	width: 600px;
	padding-left: 46px;
	position: relative;
}
.top-thoughts .inner-upper .flex-box .inner-left::before{
	content: '';
	display: block;
	background: url("../images/deco-circle-white.svg");
	background-size: contain;
	background-repeat: no-repeat;
	width: 16.15vw;
	max-width: 310px;
	aspect-ratio: 1 / 1;
	position: absolute;
	top: 0;
	left: -5.83vw;
	z-index: 0;
}


.top-thoughts .inner-upper .flex-box .inner-right{
	width: 600px;
    padding: 30px 50px 0;
	position: relative;
}
.top-thoughts .inner-upper .flex-box .inner-right::before{
	content: '';
	display: block;
	background: url("../images/fawn-01.png");
	background-size: contain;
	background-repeat: no-repeat;
	width: 6.75vw;
	max-width: 129.5938px;
	aspect-ratio: 129.5938 / 112.2564;
	position: absolute;
	top: -6.8vw;
	right: 2.55vw;
	z-index: 0;
}

.top-thoughts .inner-upper .flex-box .inner-right p{
	margin-bottom: 82px;
}


.swiper {
    position: relative;
    z-index: 10;       
}

.swiper-wrapper {
  transition-timing-function: linear !important;
}

.swiper-slide {
  width: 330px;
  border-radius: 9.09%;
  box-shadow: 0 0 5px rgba(90, 77, 79, 0.2);
	pointer-events: none;
}

.swiper-slide img {
  width: 100%;
  height: auto;
  display: block;
}


.top-thoughts .button::after{
	content: '';
	background: url("../images/icon-arrow-wh.svg");
	background-size: contain;
	background-repeat: no-repeat;
	width: 23.5px;
	aspect-ratio: 23.5 / 14.1273;
	position: absolute;
	right: 30px;
	top: 50%;
	transform: translateY(-50%);
}
.top-thoughts .button:hover::before{
	content: '';
	background: url("../images/icon-arrow-bk.svg");
	background-size: contain;
	background-repeat: no-repeat;
}


/* TOP　access -------------------------------------------------- */

.top-access{
	width: 100%;
	position: relative;
	background: url("../images/back-03.png");
	background-size: cover;
	background-repeat: no-repeat;
	margin-top: -66px;
	padding-bottom: 500px;
}

.top-access .section-inner{
	width: 100%;
	position: relative;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	padding-top: 176px;
	align-items: flex-end;
    padding-left: 40px;
}

.top-access .flex-box{
	display: flex;
	max-width: 1560px;
	width: 100%;
	justify-content: flex-end;
}

.top-access .flex-box .inner-left{
	width: 593px;
	padding-left: 50px;
	position: relative;
}
.top-access .flex-box .inner-left::before{
	content: '';
	display: block;
	background: url("../images/deco-balloon-02.svg");
	background-size: contain;
	background-repeat: no-repeat;
	width: 14.96vw;
	max-width: 287.3164px;
	aspect-ratio: 287.3164 / 235.0673;
	position: absolute;
	top: -1.41vw;
	left: -8.5vw;
	z-index: 0;
}
.top-access .flex-box .inner-left::after{
	content: '';
	display: block;
	background: url("../images/butterfly.png");
	background-size: contain;
	background-repeat: no-repeat;
	width: 14.96vw;
	max-width: 49.9816px;
	aspect-ratio: 49.9816 / 44.1595;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}

.top-access .flex-box .inner-left .h-en{
	position: relative;
}



.top-access .flex-box .inner-right{
	max-width: 967px;
	position: relative;
}
.top-access .flex-box .inner-right::before{
	content: '';
	display: block;
	background: url("../images/deco-box-pink.svg");
	background-size: contain;
	background-repeat: no-repeat;
	width: 20.68vw;
	max-width: 397px;
	aspect-ratio: 397 / 340;
	position: absolute;
	bottom: -5.1vw;
	left: -6.61vw;
	z-index: 0;
}
.top-access .flex-box .inner-right img{
	box-shadow: 0 0 5px rgba(90, 77, 79, 0.2);
	border-radius:  50px 0 0 50px;
}
.top-access .flex-box .inner-right .image-wrapper{
	position: relative;
}

.top-access .flex-box .inner-right .image-wrapper::before{
	content: '';
	display: block;
	background: url("../images/squirrel.png");
	background-size: contain;
	background-repeat: no-repeat;
	width: 4.74vw;
	max-width: 91.0544px;
	aspect-ratio: 91.0544 / 126.919;
	position: absolute;
	top: -5.8vw;
	left: 1.77vw;
	z-index: 2;
}
.top-access .flex-box .inner-right .image-wrapper::after{
	content: '';
	display: block;
	background: url("../images/fox.png");
	background-size: contain;
	background-repeat: no-repeat;
	width: 10.16vw;
	max-width: 195.1471px;
	aspect-ratio: 195.1471 / 168.3837;
	position: absolute;
	bottom: -4.17vw;
	right: 9.22vw;
	z-index: 2;
}


#top .top-access h2{
	margin-bottom: 20px;
}

.sub-title{
	font-size: clamp(18px,1.5vw,25px);
	margin-bottom: 10px;
}

#top .top-access .address{
	margin-bottom: 40px;
}
#top .top-access .address a{
	color: #5a4d4f;
}


/* TOP　etc -------------------------------------------------- */

.top-etc{
	width: 100%;
	position: relative;
	background: url("../images/back-04.png");
	background-size: cover;
	background-repeat: no-repeat;
	margin-top: -330px;
	min-height: 1660px;
}

.top-etc::before {
    content: '';
    display: block;
    background: url(../images/deco-circle-white.svg);
    background-size: contain;
    background-repeat: no-repeat;
    width: 16.15vw;
    max-width: 310px;
    aspect-ratio: 1 / 1;
    position: absolute;
    top: -1.46vw;
    right: 6.98vw;
    z-index: 0;
}
.top-etc::after {
    content: '';
    display: block;
    background: url("../images/fawn-02.png");
    background-size: contain;
    background-repeat: no-repeat;
    width: 6.76vw;
    max-width: 129.8586px;
    aspect-ratio: 129.8586 / 158.1179;
    position: absolute;
    bottom: -5px;
    left: 9.32vw;
    z-index: 0;
}

.top-etc .section-inner{
	width: 100%;
	position: relative;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	padding-top: 176px;
	align-items: center;
	gap: 50px;
	padding-right: 40px;
    padding-left: 40px;
}

.top-etc .section-inner > .flex-box{
	display: flex;
	gap: 60px;
	justify-content: center;
    flex-wrap: wrap;
}

.top-etc .section-inner > .flex-box .inner-left,
.top-etc .section-inner > .flex-box .inner-right{
	width: 100%;
	max-width: 620px;
	min-height: 650px;
	background: #fbfafa;
	border-radius: 43.087px;
	padding: 68px 65px 65px;
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
}
.top-etc .section-inner > .flex-box .inner-left ul,
.top-etc .section-inner > .flex-box .inner-right ul{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	justify-content: center;
}
.top-etc .section-inner > .flex-box .inner-left ul li,
.top-etc .section-inner > .flex-box .inner-right ul li{
	width: 230px;
	box-shadow: 0 0 5px rgba(90, 77, 79, 0.2);
	border-radius: 20px;
}


.top-etc .section-inner > .flex-box .inner-right ul::after {
  content: "";
	width: 230px;
}

.top-etc .section-inner > .flex-box .inner-left .text,
.top-etc .section-inner > .flex-box .inner-right .text{
	margin-bottom: 40px;
}

.top-etc .section-inner > .low-box{
	width: 100%;
	max-width: 1300px;
	min-height: 610px;
	background: #fbfafa;
	border-radius: 43.087px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
    padding: 53px 65px;
}
.top-etc .section-inner > .low-box ul{
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	width: 100%;
	max-width: 1030px;
	justify-content: center;
}
.top-etc .section-inner > .low-box ul li{
	width: 495px;
	aspect-ratio: 495 / 167;
}


.top-etc h2{
	line-height: 1;
}

.top-etc .section-inner > .flex-box .inner-left::before{
	content: '';
	display: block;
	background: url("../images/tree-03.svg");
	background-size: contain;
	background-repeat: no-repeat;
	width: 8vw;
	max-width: 153.5205px;
	aspect-ratio: 153.5205 / 171.2846;
	position: absolute;
	top: -8.33vw;
	left: -1.46vw;
	z-index: 2;
}


.top-etc .section-inner > .flex-box .inner-right::after{
	content: '';
	display: block;
	background: url("../images/rabbit-02.png");
	background-size: contain;
	background-repeat: no-repeat;
	width: 9.5vw;
	max-width: 182.4742px;
	aspect-ratio: 182.4742 / 169.5271;
	position: absolute;
	bottom: -2px;
	right: 5.89vw;
	z-index: 2;
}


/* fotter　CONTACT -------------------------------------------------- */

.footer-contact{
	width: 100%;
	position: relative;
	padding-top: 200px;
    padding-left: 20px;
    padding-right: 20px;
}

.footer-contact .section-inner{
	display: flex;
	background: #fbfafa;
	width: 100%;
	max-width: 1403px;
	min-height: 421px;
	margin: 0 auto;
	border-radius: 50px;
	justify-content: center;
	align-items: center;
	gap: 75px;
	position: relative;
}
.footer-contact .section-inner::before{
	content: '';
	display: block;
	background: url("../images/bird-02.png");
	background-size: contain;
	background-repeat: no-repeat;
	width: 8.54vw;
	max-width: 163.9196px;
	aspect-ratio: 163.9196 / 92;
	position: absolute;
	top: -4.22vw;
	right: 14.22vw;
	z-index: 2;
}




.footer-contact .section-inner h2{
	font-size: clamp(26px, 5vw, 40px)!important;
	line-height: 1.2!important;
	margin-bottom: 35px!important;
	font-weight: 500!important;
}


.footer-contact .tel-box{
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-top: 60px;
}

.footer-contact .tel-box .tel-title{
	font-size: 25px;
	padding-left: 70px;
	margin-bottom: 20px;
}
.footer-contact .tel-box a{
	color: #8cc8d3;
	font-size: 50px;
	position: relative;
    transition: 0.3s;
    line-height: 1;
    padding-left: 70px;
	margin-bottom: 35px;
}
.footer-contact .tel-box a:before {
    content: '';
    display: block;
    background: url(../images/icon-tel.svg);
	background-size: contain;
	background-repeat: no-repeat;
    width: 50px;
    height: 50px;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-40%);
}

.footer-contact .tel-time{
	font-size: 16px;
	padding-left: 70px;
}


/* 子ページ共通 -------------------------------------------------- */


.child-header{
	width: 100%;
	height: 700px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top: 120px;
}

.c-page-title{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.child-header h2{
	font-size: clamp(34px, 3.96vw, 76px);
    font-weight: 500;
    line-height: 1.2;
    color: #fff;
    text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);
}


#about h3 {
    font-size: clamp(28px, 5.5vw, 45px);
    font-weight: 500;
	line-height: 1;
}


/* 園の紹介 -------------------------------------------------- */

#about .child-header{
	background: url("../images/about-header-back.jpg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}




#about #section1{
    width: 100%;
    position: relative;
    background: url(../images/back-01.png);
    background-size: cover;
    background-repeat: no-repeat;
    margin-top: -65px;
    padding-bottom: 250px;
    padding-top: 8.59vw;
}

#about #section1 .section-inner{
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
}

#about #section1 .text-wrapper{
	display: flex;
	flex-direction: column;
	align-items: center;
}

#about #section1 .text-wrapper h3{
	font-size: clamp(28px, 5.6vw, 50px);
    line-height: 1.42;
	text-align: center;
	font-weight: 500;
	margin-bottom: 40px;
}
#about #section1 .text-wrapper .text{
	text-align: center;
}

#about #section1 .image-wrapper{
	position: relative;
	display: flex;
    flex-direction: column;
}


.wrapper-01 img:nth-child(1){
	transform: translateX(-58px);
	margin-bottom: 43px;
	width: 206px;
}
.wrapper-01 img:nth-child(2){
	transform: translateX(-125px);
	margin-bottom: 24px;
	width: 220px;
}
.wrapper-01 img:nth-child(3){
    transform: translateX(70px);
	width: 170px;
}

.wrapper-02 img:nth-child(1){
	transform: translateX(100px);
	margin-bottom: 5px;
	width: 170px;
}
.wrapper-02 img:nth-child(2){
	transform: translateX(170px);
	margin-bottom: 50px;
	width: 220px;
}
.wrapper-02 img:nth-child(3){
	transform: translateX(20px);
	width: 170px;
}


#about #section2{
    width: 100%;
    position: relative;
    background: url(../images/back-05.png);
    background-size: cover;
    background-repeat: no-repeat;
    margin-top: -425px;
    padding-bottom: 154px;
    padding-top: 10vw;
}

#about #section2::before{
	content: '';
    display: block;
    background: url("../images/fox-02.png");
    background-size: contain;
    background-repeat: no-repeat;
    width: 9.24vw;
    max-width: 177.4522px;
    aspect-ratio: 177.4522 / 153.1155;
    position: absolute;
    top: -5.99vw;
    left: 15.52vw;
    z-index: 0;
}
#about #section2::after{
	content: '';
    display: block;
    background: url("../images/fawn-01.png");
    background-size: contain;
    background-repeat: no-repeat;
    width: 6.75vw;
    max-width: 129.5938px;
    aspect-ratio: 129.5938 / 112.2564;
    position: absolute;
    top: -5.6vw;
    right: 10.83vw;
    z-index: 0;
}




#about #section2 .section-inner{
	    display: flex;
    flex-direction: column;
    /*margin: 0 auto 0 480px;*/
	margin: 0 auto 0 25vw;
	width: 100%;
    max-width: 1180px;
	padding: 0 100px;
	gap: 63px;
}

#about #section2 .inner-upper .flex-box{
	display: flex;
	gap: 124px;
}

#about #section2 .sub-title{
	margin-bottom: 40px;
}

#about #section2 .inner-lower .image-wrapper{
	border-radius: 20px;
    box-shadow: 0 0 5px rgba(90, 77, 79, 0.2);
	position: relative;
	z-index: 3;
}


#about #section3{
    width: 100%;
    position: relative;
    background: url(../images/back-06.png);
    background-size: 100%;
    background-repeat: no-repeat;
    margin-top: -214px;
    padding-bottom: 537px;
    padding-top: 11.15vw;
}

#about #section3 .section-inner{
	    display: flex;
    flex-direction: column;
    /*margin: 0 auto 0 480px;*/
	margin: 0 auto 0 25vw;
	width: 100%;
    max-width: 1180px;
	padding: 0 100px;
	gap: 63px;
}

#about #section3 .flex-box{
	display: flex;
	gap: 58px;
}

#about #section3 h3{
	margin-bottom: 68px;
}


#about #section3 .flex-box .inner-left{
	position: relative;
}
#about #section3 .flex-box .inner-left::before{
	content: '';
    display: block;
    background: url(../images/deco-balloon-02.svg);
    background-size: contain;
    background-repeat: no-repeat;
    width: 14.96vw;
    max-width: 287.3164px;
    aspect-ratio: 287.3164 / 235.0673;
    position: absolute;
    top: -0.41vw;
    left: -7vw;
    z-index: 0;
}




#about #section3 .flex-box .inner-right{
	width: 100%;
	max-width: 570px;
}

.info-list {
  width: 100%;
  margin: 0 auto;
}
.info-item {
  display: flex;
  padding: 33px 0 20px;
  border-bottom: 1px dashed #5a4d4f;
}
/* 項目名（左側） */
.info-item dt {
  /*width: 146px;*/
	 width: 109px;
  flex-shrink: 0;
	padding: 0 18px 0 25px;
}

/* コロンを疑似要素で追加 */
.info-item dd::before {
  content: "：";
  /*margin-right: 48px;*/
	margin-right: 18px;
}

/* 内容（右側） */
.info-item dd {
  margin-left: 0;
  flex-grow: 1;
}


#about #section4{
    width: 100%;
    position: relative;
    background: url(../images/back-07.png);
    background-size: 100%;
    background-repeat: no-repeat;
    margin-top: -407px;
    padding-bottom: 540px;
    padding-top: 7.29vw;
}

#about #section4 .section-inner{
	    display: flex;
    flex-direction: column;
    /*margin: 0 auto 0 480px;*/
	margin: 0 auto 0 25vw;
	width: 100%;
    max-width: 1180px;
	padding: 0 100px;
	position: relative;
}

#about #section4 .section-inner::before{
	content: '';
    display: block;
    background: url(../images/deco-circle-white.svg);
    background-size: contain;
    background-repeat: no-repeat;
    width: 16.15vw;
    max-width: 310px;
    aspect-ratio: 1 / 1;
    position: absolute;
    top: -34px;
    left: -5.83vw;
    z-index: 0;
}

#about #section4 h3{
	margin-bottom: 50px;
}


#about #section4 .flex-box{
	display: flex;
	gap: 60px;
}


#about #section4 .flex-box .inner-right{
	position: relative;
}
#about #section4 .flex-box .inner-right::before{
	content: '';
    display: block;
    background: url(../images/bird-03.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 4.31vw;
    max-width: 82.7852px;
    aspect-ratio: 82.7852 / 85.7221;
    position: absolute;
    top: -4.06vw;
    right: 1.04vw;
    z-index: 2;
}

.table-wrapper{
	border-radius: 10px;
	overflow: hidden;
	border: solid 1.468px #5a4d4f;
}



.class-info-table {
  width: 460px;
  margin: 0 auto;
  border: 2px solid #5a4d4f;
  border-radius: 10px;
  overflow: hidden;
  background-color: #fff;
}

.class-info-item {
  display: flex;
  text-align: center;
  position: relative;
}

.class-info-item dt {
  width: 50%;
	height: 70px;
  padding: 15px 0;
  border-right: 1px solid #5a4d4f;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.class-info-item dd {
  width: 50%;
	height: 70px;
  padding: 15px 0;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.class-info-item.is-header {
  background-color: #f6b5b1;
  color: #fff;
  border-bottom: 1px solid #5a4d4f;
	font-size: 18px;
}

.class-info-item:not(.is-header):not(:last-child) {
  border-bottom: 2px dashed #5a4d4f;
}

.class-info-item:last-child {
  border-bottom: none;
}


#about #section4 .sp-dl{
	display: none;
}


#about #section5{
    width: 100%;
    position: relative;
    background: url(../images/back-08.png);
    background-size: 100%;
    background-repeat: no-repeat;
    margin-top: -337px;
    padding-bottom: 200px;
    padding-top: 8.18vw;
}

#about #section5::before{
	content: '';
    display: block;
    background: url(../images/hedgehog.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 11.91vw;
    max-width: 228.7435px;
    aspect-ratio: 228.7435 / 145.1716;
    position: absolute;
    top: -5.5vw;
    left: 18.75vw;
    z-index: 2;
}

#about #section5 .section-inner{
	    display: flex;
    flex-direction: column;
    /*margin: 0 auto 0 480px;*/
	margin: 0 auto 0 25vw;
	width: 100%;
    max-width: 1180px;
	padding: 0 100px;
	position: relative;
}

#about #section5 .section-inner::before{
	content: '';
    display: block;
    background: url(../images/deco-balloon-01.svg);
    background-size: contain;
    background-repeat: no-repeat;
    width: 15.15vw;
    max-width: 290.9012px;
    aspect-ratio: 290.9012 / 219.5122;
    position: absolute;
    top: -1.2vw;
    left: -2.08vw;
    z-index: 0;
}


#about #section5 h3{
	margin-bottom: 40px;
}

.event-wrapper{
	display: flex;
	flex-wrap: wrap;
	gap: 60px 28px;
	position: relative;
	justify-content: center;
}

.event-wrapper::before{
	content: '';
    display: block;
    background: url(../images/deco-box-pink.svg);
    background-size: contain;
    background-repeat: no-repeat;
    width: 20.68vw;
    max-width: 397px;
    aspect-ratio: 397 / 340;
    position: absolute;
    top: 8.96vw;
    right: -7.66vw;
    z-index: 0;
}


.event-wrapper li{
	max-width: 308px;
	display: flex;
	flex-direction: column;
	gap: 30px;
	position: relative;
	z-index: 1;
}

.event-wrapper li.deco::before{
	content: '';
    display: block;
    background: url(../images/deco-circle-pink-02.svg);
    background-size: contain;
    background-repeat: no-repeat;
    width: 14.38vw;
    max-width: 276px;
    aspect-ratio: 1 / 1;
    position: absolute;
    bottom: 0;
    left: -10.99vw;
    z-index: -1;
}
.event-wrapper li.deco-02::before{
	content: '';
    display: block;
    background: url(../images/deco-balloon-02.svg);
    background-size: contain;
    background-repeat: no-repeat;
    width: 14.96vw;
    max-width: 287.3164px;
    aspect-ratio: 287.3164 / 235.0673;
    position: absolute;
    bottom: 0;
    right: -7.47vw;
    z-index: -1;
}


.event-wrapper ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0 24px;
	max-width: 300px;
}

#about #section6{
    width: 100%;
    position: relative;
    background: url(../images/back-09.png);
    background-size: 100%;
    background-repeat: no-repeat;
    margin-top: -42px;
    padding-bottom: 630px;
    padding-top: 8.18vw;
}

#about #section6 .section-inner{
	    display: flex;
    flex-direction: column;
   /* margin: 0 auto 0 480px;*/
	margin: 0 auto 0 25vw;
	width: 100%;
    max-width: 1180px;
	padding: 0 100px;
}

#about #section6 h3{
	margin-bottom: 50px;
}


#about #section6 .inner-box{
	width: 100%;
	max-width: 976px;
	background: #fff;
	min-height: 391.5122px;
	border-radius: 38.105px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin-bottom: 100px;
	position: relative;
}
#about #section6 .inner-box::before{
	content: '';
    display: block;
    background: url(../images/sc-deco-03.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 9.48vw;
    max-width: 182.0946px;
    aspect-ratio: 182.0946 / 133.1464;
    position: absolute;
    bottom: 2px;
    left: -1.67vw;
    z-index: 2;
}
#about #section6 .inner-box::after{
	content: '';
    display: block;
    background: url(../images/sc-deco-04.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 10.06vw;
    max-width: 193.2286px;
    aspect-ratio: 193.2286 / 154.9673;
    position: absolute;
    bottom: 0;
    right: 5px;
    z-index: 2;
}

#about #section6 .inner-box .sub-title{
	font-size: clamp(20px, 1.6vw, 30px);
	position: relative;
	text-align: center;
	margin-bottom: 50px;
	font-weight: 500;
}

#about #section6 .inner-box .sub-title::before{
	content: '';
    display: block;
    background: url(../images/sc-deco-01.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 2.27vw;
    max-width: 43.5414px;
    aspect-ratio: 43.5414 / 43.445;
    position: absolute;
    bottom: -6px;
    left: -3.39vw;
    z-index: 2;
}
#about #section6 .inner-box .sub-title::after{
	content: '';
    display: block;
    background: url(../images/sc-deco-02.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 2.27vw;
    max-width: 43.5414px;
    aspect-ratio: 43.5414 / 43.445;
    position: absolute;
    top: 0;
    right: 2.6vw;
    z-index: 2;
}

#about #section6 .inner-box .text{
	max-width: 573px;
}

.sc-list{
	display: flex;
	flex-direction: column;
	gap: 100px;
}

.sc-list li{
	display: flex;
	/*gap: 140px;*/
	gap: 128px;
}

.sc-list li h4{
	font-size: clamp(22px, 1.93vw, 37px);
    font-weight: 500;
    line-height: 1;
    margin-bottom: 40px;
}

.sc-list li:nth-child(1) .h-en{
	color: #2ea7e0;
}

.sc-list li:nth-child(2) .h-en{
	color: #ed6a02;
}

.sc-list li:nth-child(3) .h-en{
	color: #8fc31f;
}

.sc-list li .inner-left{
	/*max-width: 350px;*/
	max-width: 352px;
	width: 100%;
}

.sc-list li .inner-right{
	position: relative;
}


.sc-list li .inner-right img{
    box-shadow: 0 0 5px rgba(90, 77, 79, 0.2);
	border-radius: 20px;
	position: relative;
	z-index: 1;
	width: 26.04vw;
	max-width: 500px;
	aspect-ratio: 500 / 420;
}

.sc-list li:nth-child(1) .inner-right::after{
	content: '';
	width: 38.8vw;
	max-width: 754px;
	aspect-ratio: 754 / 473;
	position: absolute;
	left: 107px;
	/*top: -25px;*/
	top: -1.3vw;
	background: rgba(46,167,224,0.5);
	border-radius: 30px 0 0 30px;
	z-index: 0;
}
.sc-list li:nth-child(2) .inner-right::after{
	content: '';
	width: 38.8vw;
	max-width: 754px;
	aspect-ratio: 754 / 473;
	position: absolute;
	left: 107px;
	/*top: -25px;*/
	top: -1.3vw;
	background: rgba(237,106,2,0.5);
	border-radius: 30px 0 0 30px;
	z-index: 0;
}
.sc-list li:nth-child(3) .inner-right::after{
	content: '';
	width: 38.8vw;
	max-width: 754px;
	aspect-ratio: 754 / 473;
	position: absolute;
	left: 107px;
	/*top: -25px;*/
	top: -1.3vw;
	background: rgba(143,195,31,0.5);
	border-radius: 30px 0 0 30px;
	z-index: 0;
}



.sticky-wrapper {
  position: relative;
	width: 100%;
}
.side-menu {
  position: sticky;
  top: 140px;
  /*left: 157px;*/
	left: 8.18vw;
	width: 248.5503px;
	height: calc(-9vw + 424.5508px);
  z-index: 10;
}
.side-menu ul{
	width: 248.5503px;
    height: 424.5508px;
	background: url("../images/side-back.png");
    background-size: cover;
    background-repeat: no-repeat;
	padding: 30px 25px;
}

.side-menu ul li{
	border-bottom: 1px dashed #5a4d4f;
	height: 72px;
	display: flex;
	align-items: center;
	padding-left: 45px;
	position: relative;
}


.side-menu a{
	color: #5a4d4f;
	font-size: 20px;
	transition: 0.3s;
}
.side-menu a:hover{
	color: #f6b5b1;
}




#about .footer-contact{
	background: url(../images/back-10.png);
    background-size: 100%;
    background-repeat: no-repeat;
    margin-top: -380px;
	padding-top: 242px;
}


.side-menu.is-stopped {
 /* position: absolute;
	bottom: 800px;
    top: unset;*/
	opacity: 0;
  visibility: hidden;
  /* クリック操作を受け付けないようにする */
  pointer-events: none; 
  /* スムースに消したい場合はアニメーションを追加 */
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.side-menu .current a {
  color: #f6b6b3; 
}

.side-menu .current::before{
	content: '';
	display: block;
	width: 35px;
	height: 30px;
	background: url("../images/flower.png");
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}



/* 404 -------------------------------------------------- */

#not-found .child-header{
	background: url("../images/about-header-back.jpg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}




#not-found #section1{
    width: 100%;
    position: relative;
    background: url(../images/back-01.png);
    background-size: cover;
    background-repeat: no-repeat;
    margin-top: -65px;
    padding-bottom: 50px;
    padding-top: 8.59vw;
}

#not-found #section1 .section-inner{
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
    padding-right: 20px;
    padding-left: 20px;
}

#not-found #section1 .text-wrapper{
	display: flex;
	flex-direction: column;
	align-items: center;
}

#not-found #section1 .text-wrapper .text{
	text-align: center;
}

#not-found #section1 .button{
	margin-top: 80px;
}
#not-found #section1 .button::after {
    content: '';
    background: url(../images/icon-arrow-wh.svg);
    background-size: contain;
    background-repeat: no-repeat;
    width: 23.5px;
    aspect-ratio: 23.5 / 14.1273;
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
}
#not-found #section1 .button::after {
    content: '';
    background: url(../images/icon-arrow-wh.svg);
    background-size: contain;
    background-repeat: no-repeat;
    width: 23.5px;
    aspect-ratio: 23.5 / 14.1273;
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
}


/* レスポンシブ ---------------------------------- */

@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
    color: inherit;
  }
}


@media (min-width: 1921px) {

	.top-thoughts::before{
		top: -46px;
		left: 430px;
	}
	
	.top-access .flex-box .inner-right .image-wrapper::before{
		top: -115px;
		left: 34px;
	}
	.top-access .flex-box .inner-right .image-wrapper::after{
		bottom: -82px;
		right: 178px;
	}
	.top-etc .section-inner > .flex-box .inner-left::before{
		top: -162px;
		left: -30px;
	}
	.top-access .flex-box .inner-left::before{
		top: -22px;
		left: -154px;
	}
	.footer-contact .section-inner::before{
		right: 270px;
		top: -80px;
	}
	.top-etc .section-inner > .flex-box .inner-right::after{
		right: 110px;
	}
	.instagram-list::before{
		left: -88px;
		bottom: -76px;
	}
	.instagram-list::after{
		top: -104px;
		right: -156px;
	}
	#about #section2::before{
		top: -100px;
		left: 300px;
	}
	#about #section2::after{
		top: -80px;
	}
	#about #section4 .flex-box .inner-right::before{
        top: -80px;
        right: 40px;
	}
	#about #section5::before{
		top: -100px;
		left: 360px;
	}

}




@media (max-width: 1580px) {
	.footer-contact .section-inner{
		flex-direction: column;
		padding: 53px 65px;
		gap: 0;
	}
	.footer-contact .section-inner .title-box{
		    display: flex;
    flex-direction: column;
    align-items: center;
	}
	#top .footer-contact .section-inner .text,
	#top .footer-contact .section-inner h2{
		text-align: center;
	}
	.footer-contact .tel-box .tel-title,
	.footer-contact .tel-time{
		padding-left: 0;
	}
}


@media (max-width: 1480px) {
	#about #section6 .section-inner,
	#about #section5 .section-inner,
	#about #section4 .section-inner,
	#about #section3 .section-inner,
	#about #section2 .section-inner{
		    margin: 0 auto 0 20vw;
		width: calc(100% - 20vw);
	}
	.side-menu{
		left: 65px;
	}
	
}

@media (max-width: 1380px) {
.top-etc .section-inner{
		    padding-bottom: 200px;
	}
	
	#about #section1 .section-inner{
		    flex-direction: column;
	}
	#about #section1 .image-wrapper{
		flex-direction: row;
		align-items: center;
	}
	.wrapper-01 img:nth-child(1){
	transform: translateX(0);
	margin-bottom: 0;
    width: 14.93vw;
	max-width: 206px;
    min-width: 124px;
    }
    .wrapper-01 img:nth-child(2){
        transform: translateX(0);
        margin-bottom: 0;
		width: 15.94vw;
        max-width: 220px;
		min-width: 132px;
    }
    .wrapper-01 img:nth-child(3){
        transform: translateX(0);
		width: 12.32vw;
        max-width: 170px;
		min-width: 102px;
    }

    .wrapper-02 img:nth-child(1){
        transform: translateX(0);
        margin-bottom: 0;
		width: 12.32vw;
        max-width: 170px;
		min-width: 102px;
    }
    .wrapper-02 img:nth-child(2){
        transform: translateX(0);
        margin-bottom: 0;
		width: 15.94vw;
        max-width: 220px;
		min-width: 132px;
    }
    .wrapper-02 img:nth-child(3){
        transform: translateX(0);
		width: 12.32vw;
        max-width: 170px;
		min-width: 102px;
    }
	#about #section1 .text-wrapper{
		margin: 80px 0;
	}
	
	#about #section1 .wrapper-01{
		padding-top: 100px;
	}
	
	#about #section2 .inner-upper .flex-box{
		flex-direction: column;
        gap: 60px;
	}
	
	#about #section3 .flex-box{
        flex-direction: column;
	}
	#about #section3 .flex-box .inner-right{
		max-width: unset;
	}
	
	.pc-dl{
		display: none;
	}
	 #about #section4 .sp-dl{
		display: block;
		 position: relative;
	}
	#about #section4 .inner-left:before{
		content: '';
    display: block;
    background: url(../images/bird-03.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 4.31vw;
    max-width: 82.7852px;
    aspect-ratio: 82.7852 / 85.7221;
    position: absolute;
    top: -4.06vw;
    right: 1.04vw;
    z-index: 2;
	}
	
	#about #section4 .flex-box .inner-right::before{
		display: none;
	}
	#about #section4{
		background-size: cover;
	}
	.sc-list li{
		gap: 100px;
	}

}


@media (max-width: 1368px) {
    .top-thoughts .inner-upper .flex-box {
        flex-direction: column;
    }
	.top-thoughts .inner-upper .flex-box .inner-left{
		padding-left: 0;
	}
	.top-thoughts .inner-upper .flex-box .inner-right{
		width: auto;
		padding: 0;
	}
	.top-thoughts .section-inner{
		padding-left: 40px;
		padding-right: 40px;
	}
	.top-thoughts .inner-upper .flex-box .inner-right::before{
		top: -16vw;
        /*width: 8.75vw;*/
        width: 20vw;
	}
	.top-thoughts .inner-upper::after{
		right: 0;
		width: 8.75vw;
	}
}


@media (max-width: 1320px){
	.top-instagram .section-inner{
		padding-top: 3vw;
	}
	
	.top-etc .section-inner > .flex-box .inner-right::after{
		width: 124px;
	}
}


@media (max-width: 1280px) {
  
	.site-header{
		padding: 0;
        height: 100px;
	}
	.header-inner{
        height: 100%;
	}
	
	.header-inner {
    padding: 10px 16px;
    align-items: center;
  }

  /* 通常ナビを隠してハンバーガーに */
  .header-nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background-color: rgba(255, 255, 255, 0.97);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    padding-bottom: 40px;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(-10px);
    pointer-events: none;

    transition:
      max-height 0.3s ease,
      opacity 0.3s ease,
      transform 0.3s ease;
  }

  .header-nav ul {
    flex-direction: column;
    align-items: center;
    gap: 16px;
	  padding-top: 20px;
	  background: none;
	  height: auto;
	  margin-right: 0;
  }

  /* メニューオープン時に下方向へスルッと展開 */
  .site-header.is-open .header-nav {
    max-width: unset;
    height: auto;
    max-height: 90vh; /* メニューの高さより少し大きく */
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    align-items: center;
    padding-left: 0;
    padding-top: 20px;
  }

  /* ハンバーガーボタン表示 */
  .header-menu-toggle {
        display: flex;
        flex-direction: column;
        justify-content: center;
        z-index: 90;
  }

	
	.header-tel{
		margin-left: 0;
	}
	.header-tel a{
		display: flex;
    flex-direction: column;
    align-items: center;
	}
	
	.keihou{
		margin: 20px auto 0;
	}
	
	.header-nav .header-button a{
		width: 250px;
	}
	
	.top-access .flex-box{
		flex-direction: column;
        gap: 140px;
		justify-content: flex-start;
	}
	
	.top-access .flex-box .inner-right{
        width: 100%;
        align-self: flex-end;
	}
	
	/*.top-access{
		background-size: contain;
	}*/
	
	.top-access .flex-box .inner-left{
		width: 100%;
	}
	
	.top-etc::after{
		width: 88px;
	}
	
	.side-menu{
		width: 100%;
		top: 120px;
	}
	.side-menu ul{
		width: fit-content;
        height: auto;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        background: rgba(255, 255, 255, 0.9);
        margin: 0 auto;
        border-radius: 20px;
        box-shadow: 0 0 5px rgba(90, 77, 79, 0.2);
	}
	
	.side-menu ul li{
		height: 48px;
		border-bottom: none;
	}
	
	.side-menu .current::before{
		width: 30px;
        height: 25px;
		left: 14px;
	}
	
	#about #section2 .inner-upper{
		padding-top: 160px;
	}
	
	#about #section6 .section-inner,
	#about #section5 .section-inner,
	#about #section4 .section-inner,
	#about #section3 .section-inner,
	#about #section2 .section-inner{
		    margin: 0 auto;
		width: 100%;
	}
	
	#about #section4 .flex-box{
		justify-content: center;
		gap: 0;
	}
	#about #section4 .inner-left{
		width: 100%;
	}
	#about #section4 .sp-dl{
		width: 100%;
	}
	#about #section6{
        background-size: cover;
	}
	
	.sc-list li {
        gap: 60px;
        flex-direction: column;
    }
	.sc-list li .inner-left {
    max-width: unset;
}
	.sc-list li:nth-child(1) .inner-right::after,
	.sc-list li:nth-child(2) .inner-right::after,
	.sc-list li:nth-child(3) .inner-right::after{
		width: 100vw;
		height: 24.64vw;
    max-width: unset;
    aspect-ratio: unset;
	}
	
	
	#main-content [id] {
      scroll-margin-top: 100px;
    }
	
	
}


@media (max-width: 1239px) {
	.top-etc .section-inner > .low-box{
		max-width: 620px;
	}
	.top-etc .section-inner > .flex-box .inner-left::before{
		width: 94px;
        top: -98px;
        left: 0px;
	}
	.top-etc::before{
        min-width: 170px;
	}
}



@media (max-width: 1140px) {
	
	.site-footer{
        padding-bottom: 40px;
	}
	
	.footer-inner{
		flex-direction: column;
	}
	.footer-inner-right{
		align-items: flex-start;
        gap: 60px;
	}
	
	.footer-contact .section-inner::before{
		width: 100px;
        top: -50px;
	}
}


@media (max-width: 1080px) {

	#hero{
        aspect-ratio: unset;
        height: 80vh;
	}
	
	#about child-header{
		height: 30vh;
	}
	
	.child-header{
		height: 100vw;
		max-height: 500px;
	}
}





@media (max-width: 960px) {

	#top .header-logo{
		width: auto;
        height: 60px;
	}
	/*.top-thoughts .section-inner{
		padding-top: 40px;
	}*/
	.footer-contact .section-inner{
        padding: 53px 40px;
	}
	#about #section6 .inner-box{
		padding: 40px;
	}
	
}


@media (max-width: 820px) {
	#contact #section2 .title-box p br{
		display: none;
	}
}





@media (max-width: 768px) {
	
	/*.child-header{
		height: 50vw;
	}*/
	
	.button{
		font-size: 16px;
	}
	
	#about #section1,
	.top-thoughts .section-inner,
	.top-instagram{
		padding-right:20px;
		padding-left:20px;
	}
	.top-instagram{
		padding-top: 16.59vw;
	}
	
	.top-instagram .section-inner::before{
		display: none;
	}
	.top-instagram .section-inner::after{
		width: 17%;
        right: 1.25%;
	}
	.instagram-list::before{
		width: 38vw;
        bottom: -7.85vw;
	}
	.instagram-list::after{
		width: 40vw;
        top: -30px;
        right: 0;
        z-index: -1;
	}
	
	.instagram-list{
		column-gap: 30px;
	}
	
	.top-thoughts .inner-upper::after {
        width: 13.75vw;
    }
	.top-thoughts .inner-upper .flex-box .inner-right::before {
        top: -35vw;
        width: 20vw;
    }
	.top-thoughts::before{
		top: -2.5vw;
		width: 5.79vw;
	}
	.top-thoughts .inner-upper{
		width: 100%;
	}
	.top-thoughts .inner-upper .flex-box .inner-left{
		width: 100%;
	}
	.top-thoughts .button{
		margin: 0 auto;
	}
	
	.top-access .section-inner{
        padding-left: 20px;
		padding-top: 100px;
	}
	.top-access .flex-box .inner-left{
		padding-right: 20px;
	}
	.top-access .flex-box .inner-right .image-wrapper::before{
		min-width: 54px;
		left: 22px;
        top: -64px;
	}
	.top-access .flex-box .inner-right .image-wrapper::after{
		min-width: 90px;
		bottom: -32px;
	}
	
	.footer-contact{
		padding-top: 160px;
	}
	

	
	.top-instagram h2{
		position: relative;
	}
	.top-instagram h2:before{
		content: '';
        display: block;
        background: url(../images/rabbit-01.png);
        background-size: contain;
        background-repeat: no-repeat;
        width: 12%;
		min-width: 34px;
        max-width: 79.675px;
        aspect-ratio: 79.675 / 131.0359;
        position: absolute;
        bottom: -5px;
        left: -50px;
        z-index: 0;
	}
	
	.footer-contact .tel-box a{
		font-size: clamp(26px,8vw,50px);
		padding-left: 8vw;
	}
	
	.footer-contact .tel-box a:before{
		    width: 6vw;
            height: 6vw;
	}
	
	.top-etc .section-inner > .flex-box .inner-right::after{
		width: 90px;
	}
	
	.footer-logo{
        width: 240px;
		margin-bottom: 20px;
	}
	
	.footer-copy{
		font-size: 12px;
	}
	.footer-copy span{
		display: inline-block;
	}
	
	.child-header{
		height: 100vw;
		max-height: 390px;
	}
	
	.side-menu{
        padding: 0 20px;
	}
	.side-menu ul{
		padding: 20px 25px;
	}
	
	.side-menu ul li{
		border-bottom: none;
	}
	.side-menu a{
		font-size: 16px;
	}
	
	#about #section6 .section-inner,
	#about #section5 .section-inner,
	#about #section4 .section-inner,
	#about #section3 .section-inner,
	#about #section2 .section-inner{
		padding: 0 20px;
	}
	
	#about #section3{
		    margin-top: -168px;
	}
	
	#about #section4 .sp-dl{
		width: 100%;
	}
	
	.sc-list li .inner-right img{
        width: 44.04vw;
	}
	
	#about #section6 .inner-box::before{
		width: 13.48vw;
	}
	#about #section6 .inner-box::after{
        width: 12.06vw;
	}
	#about #section6 .inner-box .sub-title::before{
		width: 4.27vw;
		bottom: -27px;
	}
	#about #section6 .inner-box .sub-title::after{
		width: 4.27vw;
	}
	
	#about .footer-contact{
		    background-size: cover;
		padding-top: 166px;
	}
	#about #section5 .section-inner{
		width: 100%;
    position: relative;
    background: url(../images/back-08.png);
    background-size: cover;
    background-repeat: no-repeat;
	}
	
	#about #section2::before{
		min-width: 70px;
	}
	#about #section2::after{
		min-width: 70px;
	}
	#about #section4 .inner-left:before{
		width: 40px;
		top: 38px;
	}
	#about #section4{
        padding-top: 26.29vw;
	}
	#about #section6{
		padding-top: 26.18vw;
	}
	    .sc-list li .inner-right img {
			width: 100%;
			max-width: 500px;
	}
	.sc-list li:nth-child(1) .inner-right::after, 
	.sc-list li:nth-child(2) .inner-right::after,
	.sc-list li:nth-child(3) .inner-right::after{
		height: 103%;
	}
	.sc-list li{
		column-gap: 40px;
	}
	#about #section6{
		padding-bottom: 480px;
	}
	
}

@media (max-width: 615px){
	#top .footer-contact .section-inner .text{
		text-align: left;
	}
	#top .footer-contact .section-inner .text br{
		display: none;
	}
}


@media (max-width: 600px){
	.top-instagram .section-inner{
		padding-top: 50px;
	}
    .side-menu ul li {
        height: auto;
    }
	.info-item{
        flex-direction: column;
	}
	.info-item dd::before{
		display: none;
	}
	.info-item dt{
		padding: 0;
	}
	
	
}



@media (max-width: 580px) {

	.top-thoughts{
		padding-top: 15.59vw;
	}
	
	.top-thoughts .section-inner{
		padding-bottom: 150px;
	}
	
	.top-access{
        padding-bottom: 400px;
	}
	.top-etc .section-inner > .flex-box .inner-left .text br, 
	.top-etc .section-inner > .flex-box .inner-right .text br{
		display: none;
	}
	.top-etc .section-inner > .flex-box .inner-left, 
	.top-etc .section-inner > .flex-box .inner-right,
	.top-etc .section-inner > .low-box{
		padding-right: 40px;
		padding-left: 40px;
	}
	
	.top-etc .section-inner > .flex-box .inner-right{
        padding-bottom: 100px;
	}
	
	.side-menu{
		display: none;
	}
	
	.forSP{
	display: inline;
}
	
}


@media (max-width: 540px) {
	#about #section6 .inner-box .sub-title{
		text-align: left;
	}
	#about #section6 .inner-box .sub-title br{
		display: none;
	}
	
	#not-found #section1 .text-wrapper .text {
    text-align: left;
    }
}



@media (max-width: 500px) {
	.top-thoughts .inner-upper::after{
		bottom: 80px;
	}
	
	#top .top-access .address span{
		display: inline-block;
	}
	
	.footer-contact .tel-box .tel-title{
		    font-size: 22px;
	}
	
	.top-etc .h-en{
		text-align: center;
	}
	
	.footer-inner-left > p > span{
		display: inline-block;
	}
	
	.footer-nav a{
		font-size: 16px;
	}
	#about #section1 .text-wrapper .text {
    text-align: left;
    }
	#about #section1 .text-wrapper .text br,
	#about #section2 .text br,
	#about #section6 .inner-box .text br,
	#english .text br,
	#gymnastics .text br,
	#karate .text br,
	.footer-contact br{
		display: none;
	}
}




@media (max-width: 440px) {
	
	
	.button{
		width: 100%;
		max-width: 280px; 
	}
	
	.top-thoughts .inner-upper .flex-box .inner-right::before{
		top: -45vw;
	}
	
	.top-instagram .section-inner{
		padding-top: 100px;
	}
	
	#about #section2 .sub-title{
		font-size: clamp(16px, 1.5vw, 25px);
	}
	
	
}


















