@charset "UTF-8";

body{	
	background-image:none;
}

section .inner h1,
section .inner  h2,
section .inner  h3,
section .inner  h3::after,
section .inner  h5,
section .inner  h4{
	background: none;
	border: none;
	box-shadow: none;
	padding: 0;
	margin: 0;
}

body{font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	margin:0; 
	padding: 0; 
	font-size: 16px; 
	color: #333;
	line-height: 2;
	background: #fbf3ee;
}
ul{margin:0; padding: 0;}
li{list-style-type: none;}

#contents{
	width:100%;
	margin:0 auto;
	text-align:left;
	min-height:inherit;
	padding-bottom: 0;
	min-width: unset;
	color:#000;
	padding-top: 0;
}

#contents .bg01 {
}

#contents #contentsArea {
	font-family: "Noto Sans JP", sans-serif;
	color:#555;
}

#contents #contentsArea .kosugi{
	font-family: "Kosugi Maru", sans-serif;
}

.footerBg {
	background: #fff;
}


.flexBox {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	align-items: center;
}

.center {
	text-align: center;
}

#contentsArea img {
	width: auto;
	max-width: 100%;
}

.bgWhite {
    background: rgb(255 255 255 / 60%);
}

.breadcrum-list {
    padding-top: 20px;
}

.sp {
	display: none;
}


#contentsArea {
	padding: 100px 0 0;
}

section p {
	padding: 0;
	margin: 0 ;
}

/*＝＝＝＝＝＝＝＝＝＝
#mv
＝＝＝＝＝＝＝＝＝＝＝*/
#mv .bgWhite {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto 100px;
	padding: 100px 0;
	border-radius: 300px;
}

#mv .bgWhite img {
	margin-bottom: 60px;
}

#mv .bgWhite h2 {
	background: none;
	padding: 0;
	margin: 0;
	font-size: clamp(24px, 6vw, 68px);
	color:#000;
	line-height: 1;
	font-weight: 900;
}

/*＝＝＝＝＝＝＝＝＝＝
#sec01
＝＝＝＝＝＝＝＝＝＝＝*/

#sec01 {
	margin-bottom: 100px;
}

#sec01 p {
	padding: 0;
	margin: 0;
	font-size: 18px;
	line-height: 2.2;
}

#sec01 .kosugi.mb2 {
    margin-bottom: 2.2em;
}

#sec01 .w1000 {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}

#sec01 .flexBox {
	justify-content: space-between;
	align-items: flex-end;
}

#sec01 .flexBox p {
	width: 100%;
	max-width: calc(100% - 394px);
}

#sec01 .flexBox .photo {
	width: 100%;
	max-width: 354px;
	margin-left: 40px;
}


/*＝＝＝＝＝＝＝＝＝＝
#sec02
＝＝＝＝＝＝＝＝＝＝＝*/

#sec02 .bgWhite {
	width: 90%;
	max-width: 790px;
	margin: 0 auto 100px;
	padding: 50px 30px;
	box-sizing: border-box;
	text-align: center;
	background: #fff;
}

#sec02 .bgWhite p {
    text-align: left;
    display: inline-block;
	line-height: 2.2;
	font-size: 18px;
}

#sec02 .flexBox {
	justify-content: space-between;
	margin-bottom: 100px;
}

#sec02 .flexBox .bgWhite {
	width: 100%;
	max-width: calc(100% - 394px);
	margin: 0;
	padding: 40px;
}

#sec02 .flexBox .photo {
	width: 100%;
	max-width: 354px;
	margin-left: 40px;
}


/*＝＝＝＝＝＝＝＝＝＝
#sec03
＝＝＝＝＝＝＝＝＝＝＝*/

#sec03 {
	background: #fff;
	padding: 100px 0 50px; 
}

#sec03 h3 {
	margin-bottom: 100px;
}

#sec03 h3 span {
	background: #57c2e7;
	color:#fff;
	padding: 10px 70px;
	font-size: clamp(20px, 3vw, 32px);
	border-radius: 100px;
} 

#sec03 h4 {
	font-size: clamp(18px, 2.4vw, 26px);
	position: relative;
	padding-left: 26px;
	font-weight: 500;
	margin-bottom: 40px;
}

#sec03 h4:before {
	content:"";
	position: absolute;
	width: 22px;
	height: 22px;
	border-radius: 30px;
	top:53%;
	left:0;
	transform: translateY(-50%);
}

#sec03 h4.green:before {
	background: #81cc81
}

#sec03 h4.pink:before {
	background: #f09da5
}


#sec03 .accordion {
	margin: 0 auto 15px;
	width: 100%;
}

#sec03 .toggle {
	display: none;
}

#sec03 .accordion .flexBox {
	justify-content: space-between;
	align-items: flex-start;
}

#sec03 .detailBpx {
    width: 48%;
	margin-bottom: 100px;
}

#sec03 .detailBpx .detailTilt p {
    margin-bottom: 30px;
	font-size: 20px;
	line-height: 32px;
} 

#sec03 .detailBpx .detailTilt p span {
    color: #fff;
	padding: 0 20px 2px;
	margin-right: 12px;
	border-radius: 6px;
} 

#sec03 .detailBpx .photo {
	margin-bottom: 30px;
	border: 1px solid #555;
}

#sec03 .detailBpx .photo img {
	width: 100%;
}

#sec03 .accordion.green .detailTilt p span,#sec03 .accordion.green .detail:after,#sec03 .accordion.green .detail:before {
    background: #81cc81
} 

#sec03 .accordion.pink .detailTilt p span,#sec03 .accordion.pink .detail:after,#sec03 .accordion.pink .detail:before {
    background: #f09da5
} 

#sec03 .acBtn {
	position: relative;
}

#sec03 label.detail {
	display: block;
	color: #fff;
	cursor: pointer;
	position: relative;text-align: center;
	background: #f09da5;
	width: 72%;
	margin: 0 auto;
	box-sizing: border-box;
	border-radius: 50px;
	height: 54px;
	padding: 0;
}

#sec03  label.detail:hover {
    opacity: 0.7;
}


#sec03 label.detail:after,#sec03 label.detail:before {
	content: "";
	position: absolute;
	right: 26px;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 3px;
    height: 14px;
	background-color: #999;
	transition: transform .4s;
	z-index: 2;
}

#sec03 label.detail:after {
	transform: rotate(90deg);
}

#sec03 label.detail p {
	position: relative;
	line-height: 54px;
	font-size: 20px;
	letter-spacing: 4px;
}

#sec03 label.detail p:before {
	content:"";
	position: absolute;
	width: 30px;
	height: 30px;
	background: #fff;
	top: 50%;
    right: 12px;
	transform: translateY(-50%);
	border-radius: 50px;
}

#sec03 .contentArea {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows .7s ease;
	padding-top: 30px;
}

#sec03 .contentArea > div {
	overflow: hidden;
}

#sec03 .contentArea div div {
	padding: 2rem 0;
	line-height: 1.8;
}

/* 開く */
#sec03 .toggle:checked + .detail + .contentArea {
	grid-template-rows: 1fr;
}

/* ＋ → － */
#sec03 .toggle:checked + .detail:before {
	transform: rotate(90deg);
}


@media screen and  (min-width: 320px) and (max-width: 768px) {
	
	
	.pc {
		display: none;
	}
	
	.sp {
		display: block;
	}
	
	
	#contentsArea {
		padding: 30px 0 0;
	}	
	
	.inner {
        width: 90%;
        min-width: 90%;
        margin: 0 auto;
    }
	
	#mv .bgWhite img {
		margin-bottom: 20px;
		width: 70%;
	}	
	
	#mv .bgWhite {
		margin: 0 auto 50px;
		padding: 40px 0;
	}	
	
	#sec01 {
		margin-bottom: 50px;
	}
	
	#sec01 p,#sec02 .bgWhite p {
		font-size: 16px;
		line-height: 2;
		display: block;
	}	
	
	#sec01 .flexBox p {
		width: 100%;
		max-width: unset;
		margin-bottom: 40px;
	}

	#sec01 .flexBox .photo {
		width: 100%;
		max-width: unset;
		margin-left: 0;
	}

	#sec02 .bgWhite {
		width: 100%;
		margin: 0 auto 50px;
		padding: 30px;
	}
	
	#sec02 .flexBox {
		margin-bottom: 50px;
	}

	#sec02 .flexBox .bgWhite {
		width: 100%;
		max-width:unset;
		margin: 0 0 40px;
		padding: 30px;
	}

	#sec02 .flexBox .photo {
		width: 100%;
		max-width: unset;
		margin-left: 0;
	}
	
	#sec03 {

		padding: 50px 0 50px;
	}	
	
	#sec03 h3 {
		margin-bottom: 50px;
	}	
	
	#sec03 h4 {
		margin-bottom: 30px;
	}
	
	#sec03 .detailBpx {
		width: 100%;
		margin-bottom: 30px;
	}	
	
	#sec03 .detailBpx .detailTilt p {
		margin-bottom: 20px;
		font-size: 16px;
		line-height: 20px;
	}
	
	#sec03 .detailBpx .photo {
		margin-bottom: 20px;
	}	

	#sec03 label.detail {
		width: 60%;
		height: 40px;
	}	
	
	#sec03 label.detail p {
		line-height: 40px;
		font-size: 16px;
		letter-spacing: 2px;
	}
	
	#sec03 label.detail p:before {
		width: 24px;
		height: 24px;
	}
	
	#sec03 label.detail:after, #sec03 label.detail:before {
		right: 23px;
		top: 0;
		width: 2px;
		height: 10px;
	}
	
}
@media screen and  (min-width: 320px) and (max-width: 374px) {
	
	#mv .bgWhite img {
		margin-bottom: 10px;
	}	
	
	#mv .bgWhite {
		margin: 0 auto 30px;
	}	
	
	#mv .bgWhite h2 {
		font-size: 20px;
	}	
	
    #sec02 .bgWhite,#sec02 .flexBox .bgWhite {
        padding: 20px;
    }	
		
	
}

@media screen and (min-width: 769px) and (max-width: 1024px)  {
		
	
	#contentsArea {
		padding: 80px 0 0;
	}	
		
	#contentsArea h2.sp.tb {
		display: block;
		line-height: 1.8;
	}
	
	.inner {
		width:90%;
		min-width: 90%;
	}
	
	#mv .bgWhite img {
		width: 70%;
	}	
	
	#mv .bgWhite {
		padding: 40px 0;
	}	
	
	#sec02 .bgWhite {
		width: 100%;
		max-width: 100%;
	}
	
	#sec02 .flexBox .bgWhite {
		padding: 30px;
	}	

	
		
	
}



/* 背景レイヤー */
.bg-animation{
  position:fixed;
  inset:0;
  z-index:-1;
  overflow:hidden;
}

/* 共通 */
.blob{
  position:absolute;
  opacity:0.45;
}

/* ------------------ */
/* 個別設定 */
/* ------------------ */

.b1{
  width:240px;
  height:240px;
  background:#FFD6D6;
  top:5%;
  left:5%;
  animation:
  move1 32s infinite alternate ease-in-out,
  shape1 14s infinite ease-in-out;
}

.b2{
  width:160px;
  height:160px;
  background:#F9C5D5;
  top:15%;
  right:10%;
  animation:
  move2 28s infinite alternate ease-in-out,
  shape2 11s infinite ease-in-out;
  animation-delay:-5s;
}

.b3{
  width:280px;
  height:280px;
  background:#FFE5B4;
  bottom:10%;
  left:20%;
  animation:
  move3 35s infinite alternate ease-in-out,
  shape3 16s infinite ease-in-out;
}

.b4{
  width:190px;
  height:190px;
  background:#D8E2DC;
  bottom:15%;
  right:5%;
  animation:
  move4 26s infinite alternate ease-in-out,
  shape4 12s infinite ease-in-out;
  animation-delay:-8s;
}

.b5{
  width:150px;
  height:150px;
  background:#CDB4DB;
  top:45%;
  left:2%;
  animation:
  move5 30s infinite alternate ease-in-out,
  shape5 13s infinite ease-in-out;
}

.b6{
  width:210px;
  height:210px;
  background:#BDE0FE;
  top:60%;
  right:15%;
  animation:
  move6 33s infinite alternate ease-in-out,
  shape6 15s infinite ease-in-out;
  animation-delay:-6s;
}


/* ------------------ */
/* 移動アニメーション */
/* ------------------ */

@keyframes move1{
0%{transform:translate(0,0)}
50%{transform:translate(120px,-80px)}
100%{transform:translate(-80px,100px)}
}

@keyframes move2{
0%{transform:translate(0,0)}
50%{transform:translate(-100px,120px)}
100%{transform:translate(60px,-90px)}
}

@keyframes move3{
0%{transform:translate(0,0)}
50%{transform:translate(140px,60px)}
100%{transform:translate(-120px,-70px)}
}

@keyframes move4{
0%{transform:translate(0,0)}
50%{transform:translate(-90px,-120px)}
100%{transform:translate(80px,60px)}
}

@keyframes move5{
0%{transform:translate(0,0)}
50%{transform:translate(110px,-40px)}
100%{transform:translate(-60px,120px)}
}

@keyframes move6{
0%{transform:translate(0,0)}
50%{transform:translate(-130px,70px)}
100%{transform:translate(90px,-110px)}
}


/* ------------------ */
/* ぐにょぐにょ変形 */
/* ------------------ */

@keyframes shape1{
0%,100%{border-radius:60% 40% 70% 30% / 40% 60% 40% 60%;}
50%{border-radius:30% 70% 40% 60% / 60% 40% 70% 30%;}
}

@keyframes shape2{
0%,100%{border-radius:50% 50% 30% 70% / 60% 30% 70% 40%;}
50%{border-radius:70% 30% 60% 40% / 30% 70% 40% 60%;}
}

@keyframes shape3{
0%,100%{border-radius:40% 60% 50% 50% / 50% 40% 60% 50%;}
50%{border-radius:60% 40% 70% 30% / 30% 70% 40% 60%;}
}

@keyframes shape4{
0%,100%{border-radius:60% 40% 30% 70% / 40% 60% 70% 30%;}
50%{border-radius:40% 60% 70% 30% / 60% 30% 40% 70%;}
}

@keyframes shape5{
0%,100%{border-radius:30% 70% 60% 40% / 40% 60% 50% 50%;}
50%{border-radius:60% 40% 40% 60% / 70% 30% 60% 40%;}
}

@keyframes shape6{
0%,100%{border-radius:50% 50% 70% 30% / 40% 60% 30% 70%;}
50%{border-radius:70% 30% 40% 60% / 60% 40% 70% 30%;}
}


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

	.b1 {
		width: 120px;
		height: 120px;
		top: 15%;
	}	

	.b2 {
		width: 80px;
		height: 80px;
	}
	
	.b3{
	  width:140px;
	  height:140px;
	  bottom:10%;
	}

	.b4{
	  width:100px;
	  height:100px;
	}

	.b5{
	  width:70px;
	  height:70px;
	}

	.b6{
	  width:100px;
	  height:100px;
	}

	
}



#pageTop {
    display: none;
    position: fixed;
    bottom: 35px;
    right: 20px;
    text-decoration: none;
    z-index: 1000;
    text-align: center;
    padding: 12px;
    background: #f0bf9d;
    font-weight: bold;
    font-size: 90%;
    width: 30px;
    height: 30px;
    border-radius: 50px;
}

#pageTop a:hover {
	text-decoration: none;
}

#pageTop a img {
	width: 100%;
}

@media screen and (max-width: 768px) {
	#pageTop {
		bottom: 10px;
		right: 10px;
		padding: 10px;
		font-size: 70%;
		width: 25px;
    	height: 25px;
	}
}
