@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=BIZ+UDPGothic&family=Limelight&display=swap");
/*－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－

メインビジュアル

－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－*/
.mainvisual {
  display: flex;
  place-items: center;
  height: 80dvh;
}
.mainvisual .sitename {
  font-weight: 100;
  font-size: clamp(6rem, 3.2rem + 14vw, 20rem);
  letter-spacing: 8px;
  width: -moz-min-content;
  width: min-content;
  margin-left: auto;
  margin-right: 10%;
  color: #0c1f3f;
  -webkit-text-stroke: 4px #fff;
  text-shadow: 2px 2px 10px rgba(255,255,255,0.5), -2px 2px 10px rgba(255,255,255,0.5) , 2px -2px 10px rgba(255,255,255,0.5) , -2px -2px 10px rgba(255,255,255,0.5);
}

.mainvisual .sitename span{
	font-size: 14px;
	color: #fff;
	-webkit-text-stroke: 0px;

	@media screen and (max-width: 698px) {
		font-size: 12px;
		letter-spacing: 3px;
	}

}

.mainvisual .mainvisual__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100dvh;
  z-index: -1;
}
.mainvisual .mainvisual__img img {
  width: 100%;
  height: 70%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}

/* タブレット */
@media screen and (max-width: 1180px) {
  .mainvisual {
    place-items: flex-end;
  }
  .mainvisual .sitename {
    padding: 20px;
    margin-right: 0;
  }
}

/*－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－

リード文

－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－*/
.read{
	color: #fff;
	margin: 50px auto;
	line-height: 2.4;
    & p{text-align: center;	text-shadow: 2px 2px 10px rgba(255,255,255,0.5), -2px 2px 10px rgba(255,255,255,0.5) , 2px -2px 10px rgba(255,255,255,0.5) , -2px -2px 10px rgba(255,255,255,0.5);}
}

/*－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－

キャラクター紹介

－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－*/

.chara_number{
  color: #fff;
  font-family: "Limelight", "BIZ UDPGothic", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
  font-size: 10rem;
  text-align: center;
  margin: 30px auto;  
	@media screen and (max-width: 698px) {
		font-size: 6rem;
     	 margin: 30px 0 0;
	}
}




.chara_number img{
  width: 80px;
  display: inline;
  vertical-align: sub;
	@media screen and (max-width: 698px) {
		  width: 60px;
	}
}

.chara{
	display: flex;
	align-items: normal;
	justify-content: space-between;
	flex-wrap: wrap;
}

.chara_images{
	width: 48%;
	@media screen and (max-width: 698px) {
	  width: 100%;
	}

}

.chara_profile{
	width: 50%;
	@media screen and (max-width: 698px) {
	  width: 100%;
	  position: relative;
	}

}

.chara_images img {
  animation: fuwafuwa 3s ease-in-out infinite alternate;
  display: inline-block;
  transition: 1.5s ease-in-out;
  margin-top: 15px;
	@media screen and (max-width: 698px) {
	  width: 50vw;
	}

}
 
@keyframes fuwafuwa {
  0% {
    transform:translate(0, 0) rotate(-7deg);
  }

  100% {
    transform:translate(0, 0) rotate(7deg);
  }
}



.voice {
  position: relative;
  display: inline-block;
  margin: 1.5em 0;
  padding: 1em 1.5em;
  min-width: 120px;
  max-width: 100%;
  color: #fff;
  font-size: 16px;
  background: #2952a2;
  border-radius: 15px;

	@media screen and (max-width: 698px) {
		position: absolute;
		top: -74vw;
		max-width: 41vw;
		right: 0;
		font-size: 3vw;
		padding: 1em;
		line-height: 1.6;
		letter-spacing: inherit;
	  }
}

.voice:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -30px;
  margin-top: -15px;
  border: 15px solid transparent;
  border-right: 15px solid #2952a2;
}
@media screen and (max-width: 698px) {
	.voice:before {
		  border: 10px solid transparent;
		  border-right: 10px solid #2952a2;
		  left: -20px;
	  }
}



.voice span {
  margin: 0;
  padding: 0;
}


.profile .title{
	border-bottom: 2px solid #edc339;
	  margin: 0 0 25px;
}


.profile .title p {
  background-color: #edc339;
  color: #fff;
  font-family: "Limelight", "BIZ UDPGothic", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
  font-size: 28px;
  display: inline-block;
  padding: 0 15px;
  transform: skewX(150deg);
  margin: 0 0 -2px;
	@media screen and (max-width: 698px) {
		font-size: 20px;
	}


}

.profile .title p span {
  display: block;
  transform: skewX(-150deg);/*テキストのみ傾斜を戻す*/
}

.profile dt {
  margin: 10px 30px 0 0;
  transform: skewX(150deg);
  background: #edc339;
  padding: 0 11px;
  display: inline-block;
  color: #fff;
  font-weight: bold;
  font-size: 14px;
	@media screen and (max-width: 698px) {
	  font-size: 12px;
	}

}
.profile dt span {
  display: block;
  transform: skewX(-150deg);/*テキストのみ傾斜を戻す*/
}

.profile dd {
  margin:  10px 0 0 0px;
  padding: 0 11px 5px;
  color: #fff;
  border-bottom: 2px solid #fff;
  font-size: 14px;
	@media screen and (max-width: 698px) {
	  font-size: 12px;
	}

}
.profile dd span {
  display: block;
}

.chara_profile .memo{
  background: #b9e9ee;
  border-radius: 20px;
  padding: 5px 15px 10px;
  margin: 20px 0;
  font-size: 13px;
}

.chara_profile .memo .title {
  position: relative;
  text-align: center;
  font-weight: bold;
  line-height: 1.3;
}
 
.chara_profile .memo .title:before,
.chara_profile .memo .title:after {
  position: relative;
  display: inline-block;
  content: "";
  background: #faa94d;
  width: 2px;
  height: 2em;
  margin: 0 1em;
  margin-top: -.2em;
  vertical-align: middle;
}
 
.chara_profile .memo .title:before {
  transform: rotate(-35deg);
}
 
.chara_profile .memo .title:after {
  transform: rotate(35deg);
}

/*－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－

コラボフード紹介

－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－*/

.foodarea{
	display:flex;
	flex-wrap: wrap;
	justify-content: center;
}

.foodbox{ width: 28%; margin: 30px 2%; position: relative;
	@media screen and (max-width: 1000px) {
		width: 40%;
		margin: 30px 4%;
	}

	@media screen and (max-width: 698px) {
		max-width: 460px;
		width: 90%;
		margin: 30px 0;
	}

}

.food-images {
  background-image: url("../images/backstar.jpg");
  background-position: top;
  padding: 30px;
  border-radius: 50%;
  
}

.food-images img {
  animation: fuwafuwa2 3s ease-in-out infinite alternate;
  display: inline-block;
  transition: 1.5s ease-in-out;
   filter: drop-shadow(0 0 0.75rem #fff);
}

.menutitle{
  background: #0c1f3f;
  color: #fff;
  text-align: center;
  padding: 5px;
  transform: skewX(150deg);
  padding: 0 11px;
  color: #fff;
  font-weight: bold;
}
.menutitle span {
  display: block;
  transform: skewX(-150deg);/*テキストのみ傾斜を戻す*/
}
@keyframes fuwafuwa2 {
  0% {
    transform:translate(0, 0) rotate(-6deg);
  }

  100% {
    transform:translate(0, 0) rotate(6deg);
  }
}



.charaface {
  width: 80px;
  height: 80px;
  border: 2px solid #0c1f3f;
  border-radius: 50%;
  overflow: hidden;
  background: #0c1f3f;
  position: absolute;
  top: 0;
  left: 0;
  
	@media screen and (max-width: 698px) {
		  width: 100px;
		  height: 100px;
	}
  
}

.comment {
  background: #b9e9ee;
  font-size: 14px;
  padding: 10px;
  border-radius: 10px;
  position: relative;
}
.comment:before {
  content: "";
  position: absolute;
  top: -30px;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-bottom: 15px solid #b9e9ee;
}

.comment p{ margin: 0;}
.munu { text-align: center;}
.munu img{
	margin: 0 auto;
}
.munu .gallerylist {
  justify-content: center;
}
.munu .gallerylist__item {
  width: 160px;
  height: 300px;
}
.munu .gallerylist__item  img {
  width: 100%;
  height: auto;
}



/*－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－

更新履歴

－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－*/
.update {
  height: 140px;
  overflow-y: auto;
  padding-right: 20px;
}

.update__item {
  display: flex;
  gap: 20px;
  padding: 8px 0;
}
.update__item:not(:last-child) {
  border-bottom: 1px solid #01577D;
}
.update__item time {
  padding-top: 4px;
  color: #01577D;
}

/* スマホ */
@media screen and (max-width: 520px) {
  .update__item {
    flex-direction: column;
    gap: 4px;
  }
}
/*－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－

 ABOUT

 －－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－*/
/*－－－－－－－－－－ Profile －－－－－－－－－－*/
.profile__img {
  padding: 0 40px;
}
.profile__img img {
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  margin: auto;
}

/*－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－

 CONTACT

 －－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－*/
.mailform input,
.mailform textarea {
  width: max(50%, 400px);
}

/* タブレット、スマホ */
@media screen and (max-width: 768px) {
  .mailform input,
  .mailform textarea {
    max-width: 100%;
  }
}
/*－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－

GALLERY

－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－*/
.gallerylist {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin: 40px 0;
}

.gallerylist__item {
  width: calc((100% - 80px) / 5);
  height: auto;
}
@media screen and (max-width: 1180px) {
  .gallerylist__item {
    width: calc((100% - 60px) / 4);
  }
}
@media screen and (max-width: 767px) {
  .gallerylist__item {
    width: calc((100% - 40px) / 3);
  }
}
@media screen and (max-width: 520px) {
  .gallerylist__item {
    width: calc((100% - 20px) / 2);
  }
}
.gallerylist__item a {
  position: relative;
  width: 100%;
  display: block;
}
.gallerylist__item a::before {
  content: "";
  display: block;
  padding-top: 100%;
  /*100%=親要素の横幅*/
}
.gallerylist__item a img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}