@charset "utf-8";
/*-------------------------------------*/
/*	トップページ	*/
/*-------------------------------------*/
.fuwafuwa {
  animation-name: anim_sc;
  transform: scale(0.97, 0.97);
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-duration: 0.7s;
}
@keyframes anim_sc {
  100% {
    transform: scale(1, 1);
  }
}

/*  メインイメージ  */
.main_img{
	width: 100%;
	background-image: url("../images/main_img.svg");
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 100%;
	position: relative;
	background-color: #FBE6EA;
}
.logo{
margin-bottom: 40px;
display: block;
padding-top: 20px;
}
.main_img h2{
	text-align: center;
	margin-bottom: 160px;
}
.main_img ul{
	display: flex;
	gap: 20px;
	margin-bottom: 160px;
	justify-content: space-between;
}
.main_img ul li{
	width: calc( 100% / 3 - 20px );
}
.main_img ul li a:hover img{
	transform: translateY(7px);
}

@media screen and (max-width: 991px) {

}
@media screen and (max-width: 768px) {
	.main_img{
	background-size: auto;
}
	.logo{
margin-bottom: 40px;
display: block;
padding-top: 20px;
max-width: 150px;
width: 30%;
}
	.main_img h2{
	margin-bottom: 40px;
}
	.main_img h2 img{
		max-width: 80%;
	
}
.main_img ul{
	flex-direction: column;
	margin-bottom: 40px;
}
.main_img ul li{
	width:100%;
	max-width: 250px;
	margin: 0 auto;
}
}
@media screen and (max-width: 550px) {}


/*  sec01  */
#sec01 .bg{
background: linear-gradient(0deg, #ffe9a9 0%, #ffe9a9 25.61%, #fde6bd 37.7%, #fce3d3 54.75%, #fbe1e1 71.02%, #fbe1e6 85.51%, #fbe6ea 90.71%, #fdf6f8 97.45%, #fff 100%) ;
}
#sec01 h2{
	background-color: #E8456C;
	padding: 40px 20px;
	text-align: center;
	color: #FFFFFF;
	font-size: 3.6rem;
	font-weight: 700;
	position: relative;
	line-height: 1.5;
}
#sec01 h2 span{
display: inline-block;
background: #FFF8EE;
padding: 0.5em;
border-radius: 10px;
color: #E8456C;
font-weight: 700;
line-height: 1;
margin-bottom: 10px;
}
#sec01 h2::before{
	content: "";
	 display: inline-block;
      width: 0;
      height: 0;
      border-style: solid;
    border-width: 35px 20px 0px 20px;
    border-color: #E8456C transparent transparent transparent;
		    position: absolute;
    bottom: -35px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
#sec01 .sec01_list{
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	margin-bottom: 60px;
}
#sec01 .sec01_list .img{
width: 45%;
}
#sec01 .sec01_list .txt{
width: 50%;
}

#sec01 .sec01_list .txt h3{
	margin-bottom: 40px;
}
#sec01 .sec01_list .txt dl{
	justify-content: space-between;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 40px;
}
#sec01 .sec01_list .txt dl dt{
width: 20%;
margin-bottom: 15px;
}
#sec01 .sec01_list .txt dl dt span{
	display: block;
	background-color: #E8456C;
	padding: 0.5em;
	color: #FFFFFF;
	font-size: 2.4rem;
	line-height: 1;
	text-align: center;
	font-weight: 500;
}
#sec01 .sec01_list .txt dl dd{
width: 75%;
font-size: 2.4rem;
line-height: 1.5;
}
.guest{
	margin-bottom: 60px;
}
.item_box{
	border-radius: 20px;
	background-color: #FFFFFF;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
	padding: 40px;
	position: relative;
	margin-bottom: 40px!important;
}
.item_box .ico_guest{
	position: absolute;
	left: -15px;
	top: -10px;
	z-index: 1;
}
.guest .item_box h4{
padding-top: 15px;
}
.item_box .type{
	font-size: 1.6rem;
	display: inline-block;
	background-color: #FBE6EA;
	padding: 0.3em 1em;
	border-radius: 50px;
	margin-bottom: 10px;
	font-weight: 500;
}
.item_box h4{
	font-weight: 600;
	margin-bottom: 20px;
	font-size: 2.6rem;
	line-height: 1.5;
	position: relative;
}
.item_box h4::before{
	content: url("../images/ico_point.svg");
	position: absolute;
	left: -40px;
}
.item_box .caption{
	margin-bottom: 1em;
}
.box{
	background-color: #FFFFFF;
	padding: 40px;
}

@media screen and (max-width:1200px) {
	#sec01 .sec01_list .img{
width: 40%;
}
#sec01 .sec01_list .txt{
width: 55%;
}
#sec01 .sec01_list .txt dl dt{
width: 20%;
margin-bottom: 15px;
}
#sec01 .sec01_list .txt dl dt span{
	font-size: 1.8rem;
}
#sec01 .sec01_list .txt dl dd{
font-size: 1.8rem;
}
}
@media screen and (max-width: 991px) {

}
@media screen and (max-width: 768px) {
	#sec01 h2{
		font-size: 2.4rem;
}
	#sec01 h2 span{
		font-size: 1.8rem;
}
#sec01 .sec01_list{
flex-direction: column;
}
#sec01 .sec01_list .img{
width: 70%;
margin: 0 auto 40px auto;
text-align: center;
}
#sec01 .sec01_list .txt{
width: 100%;
}
#sec01 .sec01_list .txt h3{
text-align: center;
}
#sec01 .sec01_list .txt dl dt{
width: 20%;
margin-bottom: 15px;
}
#sec01 .sec01_list .txt dl dt span{
	font-size: 1.6rem;
}
#sec01 .sec01_list .txt dl dd{
font-size: 1.6rem;
}
#sec01 .sec01_list .txt h3{
	margin-bottom: 40px;
}

.guest{
	margin-bottom: 40px;
}
.item_box{
	border-radius: 20px;
	background-color: #FFFFFF;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
	padding: 25px;
	position: relative;
}
.item_box .ico_guest{
	position: absolute;
	left: -10px;
	top: -10px;
	max-width: 100px;
}
.guest .item_box h4{
padding-top: 15px;
}
.item_box h4{
	font-weight: 600;
	margin-bottom: 20px;
	font-size: 2.0rem;
	line-height: 1.5;
	position: relative;
}
.item_box h4::before{
	content: url("../images/ico_point.svg");
	position: absolute;
	left: -25px;
}
}
@media screen and (max-width: 550px) {}

/*  sec02 */
#sec02{
	background-color: #D8F5F4;
}
#sec02 h2{
	background-color: #198B86;
	padding: 40px 20px;
	text-align: center;
	color: #FFFFFF;
	font-size: 3.6rem;
	font-weight: 700;
	position: relative;
	line-height: 1.5;
}
#sec02 h2 span{
display: inline-block;
background: #FFF8EE;
padding: 0.5em;
border-radius: 10px;
color: #198B86;
font-weight: 700;
line-height: 1;
margin-bottom: 10px;
}
#sec02 h2::before{
	content: "";
	 display: inline-block;
      width: 0;
      height: 0;
      border-style: solid;
    border-width: 35px 20px 0px 20px;
    border-color: #198B86 transparent transparent transparent;
		    position: absolute;
    bottom: -35px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.cs{
	font-size: 7rem;
	text-align: center;
		font-family: "Poppins", sans-serif;
		font-weight: 700;
		margin-bottom: 40px;
		opacity: 0.3;
}
dl.txt{
	padding: 40px;
	background-color: #FFFFFF;
	border: #191919 solid 2px;
	border-radius: 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 950px;
	margin: 0 auto;
}
dl.txt dt{
	width: 35%;
	color: #E8456C;
	font-size: 2.8rem;
	text-align: center;
}
dl.txt dd{
	width: 60%;
}
@media screen and (max-width: 1360px) {

}
@media screen and (max-width: 991px) {

}
@media screen and (max-width: 768px) {
	#sec02 h2{
		font-size: 2.4rem;
}
	#sec02 h2 span{
		font-size: 1.8rem;
}
.cs{
	font-size: 4rem;
}
dl.txt{
	padding: 20px;
	flex-direction: column;
}
dl.txt dt{
	width: 100%;
	color: #E8456C;
	font-size: 2.0rem;
	text-align: center;
	margin-bottom: 20px;
}
dl.txt dd{
	width: 100%;
}
}
@media screen and (max-width: 550px) {}


/*  sec02 */
#sec03{
	background-color: #FFF8EE;
}
#sec03 h2{
	background-color: #F3981C;
	padding: 40px 20px;
	text-align: center;
	color: #FFFFFF;
	font-size: 3.6rem;
	font-weight: 700;
	position: relative;
	line-height: 1.5;
}
#sec03 h2 span{
display: inline-block;
background: #FFF8EE;
padding: 0.5em;
border-radius: 10px;
color: #F3981C;
font-weight: 700;
line-height: 1;
margin-bottom: 10px;
}
#sec03 h2::before{
	content: "";
	 display: inline-block;
      width: 0;
      height: 0;
      border-style: solid;
    border-width: 35px 20px 0px 20px;
    border-color: #F3981C transparent transparent transparent;
		    position: absolute;
    bottom: -35px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
	#sec03 h2{
		font-size: 2.4rem;
}
	#sec02 h3 span{
		font-size: 1.8rem;
}
}
/*----------------------------------------
	共通
-----------------------------------------*/
.radius20{
	border-radius: 20px;
	overflow: hidden;
}
.bt_entry{
	
}
.midashi{
	color: #E8456C;
	text-align: center;
	font-size: 3.6rem;
	margin-bottom: 40px;
	border-bottom: 3px dotted #E8456C;
	padding-bottom: 10px;
	line-height: 1.5;
	font-weight: 700;
}
.ttl02 {
  font-size: 7rem;
  line-height: 1.5;
  margin-bottom: 60px;
  text-align: center;
  letter-spacing: 0.05em;
  position: relative;
	
}
.ttl02 span{
	border-bottom: 2px solid #005F94;
	position: relative;
	color: #005F94;
	  font-weight: 500;

	
}
.subttl {
  font-family: 'Shippori Mincho', serif;
  font-weight: 500;
  font-size: 4.8rem;
}
/*2列レイアウト*/
.col-2_list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 20px;
  justify-content: space-between;
}
.col-2_list::after {
  content: "";
  display: block;
  width: calc(100% / 2 - 20px);
}
.col-2_list .col_box {
  width: calc(100% / 2 - 20px);
}
/*3列*/
.col-3_list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 20px;
  justify-content: space-between;
}
.col-3_list::after {
  content: "";
  display: block;
  width: calc(100% / 3 - 20px);
}
.col-3_list .col_box {
  width: calc(100% / 3 - 20px);
}
.about_list {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  justify-content: space-between;
}
.about_list li {
  width: calc(100% / 3);
  padding: 15px;
}
.point_list {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  justify-content: space-between;
}
.point_list li {
  width: calc(100% / 4);
  padding: 15px;
}
.about_list li img, .point_list li img {
  width: 100%;
}
@media(max-width: 768px) {
	.midashi{
	font-size: 2.4rem;
}
  .subttl {
    font-size: 2.8rem;
  }
.ttl02 {
    font-size: 4rem;
  }

  .col_box {
    margin: 0 auto;
  }
  /*3列*/
  .col-2_list, .col-3_list {
    gap: 10px 10px;
    flex-direction: column;
  }
  .col-2_list .col_box, .col-3_list .col_box {
    width: 100%;
    max-width: 400px;
  }
  .about_list li {
    width: calc(100% / 3);
    padding: 10px;
  }
  .point_list li {
    width: calc(100% / 4);
    padding: 10px;
  }
}
@media(max-width: 550px) {
	.bt_entry img{
		width: 80%;
		max-width: 400px;
	
}
.ttl02 {
    font-size: 2.8rem;
  }
  .about_list li {
    width: calc(100% / 2);
    padding: 10px;
  }
  .point_list li {
    width: calc(100% / 2);
    padding: 10px;
  }
}