@charset "utf-8";
/* CSS Document 
ヘッダー　フッターなど
*/
.pcareaa{
	display:block;	
}

.spareaa{
	display:none;
	-webkit-text-size-adjust: 100%;
	
}
.spareaainline{
	display:none;
	-webkit-text-size-adjust: 100%;
	
}
@media only screen and (max-width:767px) {
.pcareaa{
	display:none;	
}

.spareaa{
	display:block;
	-webkit-text-size-adjust: 100%;
	
}
	.spareaainline{
		display:inline;
	
	}
}
.shippori-mincho-regular {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
}

.shippori-mincho-medium {
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-style: normal;
}

.shippori-mincho-semibold {
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  font-style: normal;
}

.shippori-mincho-bold {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-style: normal;
}

.shippori-mincho-extrabold {
  font-family: "Shippori Mincho", serif;
  font-weight: 800;
  font-style: normal;
}
.cormorant-garamond-100{
  font-family: "Cormorant Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 100;
  font-style: normal;
}

.cormorant-garamond-100 {
  font-family: "Cormorant Garamond", serif;
  font-optical-sizing: auto;
  font-weight:100;
  font-style: normal;
}

section .in{
	width:89.3%;
	max-width: 960px;
	margin-left: auto;
	margin-right: auto;
	padding:120px 0;
	position: relative;
	z-index: 1;
}
@media only screen and (max-width:767px) {
	section .in{
		padding:16vw 0;
	}
	
}
.back1{
		background-image:url("../img/common/pcback1.png");
	background-repeat: repeat-y;
		background-size: 100% auto;
	background-color: #FFF;
}
	.back1.epblock,
	.back1.kiseki,
	.back1.instagram{
		background-color: #FFF;
		background-image:url("../img/common/pcback2.png");
		background-repeat: repeat-y;
		background-size: 100% auto;
	}
@media only screen and (max-width:767px) {
	.back1{
		background-color: #FFF;
		background-image:url("../img/common/spback1.png");
		background-repeat: repeat-y;
		background-size: 100% auto;
	}
	.back1.epblock,
	.back1.kiseki,
	.back1.instagram{
		background-color: #FFF;
		background-image:url("../img/common/spback2.png");
		background-repeat: repeat-y;
		background-size: 100% auto;
	}
}
.back2{
	background:url("../img/common/kumo.png") no-repeat;
	background-size: cover;
}
/*
@media only screen and (max-width:767px) {
	.back2{
		background:url("../img/common/spback1.png") repeat-y;
		background-size:100% auto;
	}	
}*/
.back1.rev {
  position: relative;
  overflow: hidden;
	background: none;
	

}

.back1.rev::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../img/common/pcback1.png") repeat-y;
  background-size: 100% auto;
  transform: scaleX(-1);   /* 背景だけ反転 */
	z-index: 0;
}
@media only screen and (max-width:767px) {
	.back1.rev::before {
	  content: "";
	  position: absolute;
	  inset: 0;
	  background: url("../img/common/spback1.png") repeat-y;
	  background-size: 100% auto;
	  transform: scaleX(-1);   /* 背景だけ反転 */
		z-index: 0;
	}
}
.back1.rev2 {
  position: relative;
  overflow: hidden;
	background: none;
	

}
.back1.rev2::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../img/common/pcback1.png") repeat-y;
  background-size: 100% auto;
  z-index: 0;
	height: 100%;
}
@media only screen and (max-width:767px) {
	.back1.rev2 {
	  position: relative;
	  overflow: hidden;
		background: none;


	}
	.back1.rev2::before {
	  content: "";
	  position: absolute;
	  inset: 0;
	  background: url("../img/common/spback1.png") repeat-y;
	  background-size: 100% auto;
	  transform: scaleY(-1);   /* 背景だけ反転 */
		z-index: 0;
	}
}
.back1.rev .in{
	z-index: 1;
	position: relative;
}
.entitleb{
	font-size: 100px;
	font-family: "Cormorant Garamond", serif;
	color: #FFF;
	width:100%;
	text-align: center;
	line-height: 1;
	letter-spacing: 0.04em;
	position: relative;
	z-index: 1;
}
@media only screen and (max-width:767px) {
	.entitleb{
		font-size:17vw;
	}	
	
}
.jptitleb{
	font-family: "Zen Maru Gothic", sans-serif;
	width:100%;
	color: #D33283;
	font-weight: bold;
	text-align: center;
	font-size: 28px;
		line-height: 1;
	margin-top:-42px;
	position: relative;
	z-index: 1;
}
@media only screen and (max-width:767px) {
	.jptitleb{

		font-size: 5.8vw;
		margin-top:-5vw;
	}
}

.newsline{
	width:100%;
}
.newsline .line1{
	width:100%;
	line-height: 1.6;
}
.newsline span{
	display: inline-block;
	font-weight: bold;
	color: #FFF;
	font-size: 13px;
	padding:8px 12px;
	line-height: 1;

	border-radius: 10px 0px;
	background: linear-gradient(90deg,#e87a8a 0%, #8395c4 55.89%, #8195c5 100%);
	margin-right: 10px;
	
}
.newsline .line2{
	width:100%;
	line-height: 1.6;
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: 20px;
	font-weight: bold;
	padding:17px 0 20px;
	border-bottom: 1px solid #ADADAD;
	margin-bottom: 30px;
}
@media only screen and (max-width:767px) {
	.newsline .line1{
		width:100%;
		line-height: 1.6;
		font-size:4vw;
	}
	.newsline span{

		font-size: 3.4vw;
		padding:2.1vw 2.9vw;

		border-radius: 2.6vw 0px;
		margin-right: 3.2vw;
		letter-spacing: 0.04em;

	}
	.newsline .line2{

		font-size: 4.2vw;

		padding:5.3vw 0 8vw;
		border-bottom: 1px solid #ADADAD;
		margin-bottom: 8vw;
	}	

}
.morebtn{
	width:280px;
}
.morebtn.rigtbtn{
	margin:50px 0 0 auto;
}
.morebtn.cntbtn{
	margin:50px auto 0 auto;
}

.morebtn a{
	width:100%;
	font-size: 16px;
	line-height: 1;
	font-weight: bold;
	text-align: center;
	position: relative;
	padding:22px 0;
	border-radius: 18px;
	border-width: 2px;
	display: block;
	border-style:solid;
	font-family: "Zen Maru Gothic", sans-serif;
}
.morebtn a span{
	width:10px;
	display: block;
	position: absolute;
	right: 16px;
	top:50%;
    transform: translate(-0%, -50%);
    -webkit-transform: translate(-0%, -50%);
    -ms-transform: translate(-0%, -50%);
	line-height: 0;
}
@media only screen and (max-width:767px) {
	.morebtn{
		width: 69.3vw;
	}
	.morebtn.rigtbtn{
		margin:8vw 0 0 auto;
	}
	.morebtn.cntbtn{
		margin:8vw auto 0 auto;
	}

	.morebtn a{

		font-size: 4.2vw;

		padding:5.3vw 0;
		border-radius: 4.8vw;
		border-width: 2px;

	}
	.morebtn a span{
		width:2.6vw;

	}

}
.morebtn a {
	color:#E87A8A;
	border-color: #E87A8A;
}
.morebtn.green a {
	color:#6BBF80;
	border-color: #6BBF80;
}
.morebtn.blue a {
	color:#7790CC;
	border-color:#7790CC;
}
.instaarea{
	justify-content: space-between;
}
.instaarea p{
	width:25%;
}
@media only screen and (max-width:767px) {
	.instaarea{
		justify-content:center;
	}
	.instaarea p{
		width:33.3%;
	}

}
.instaarea {
    display: flex; /* flexbox を有効にする */
    justify-content: space-between;
    flex-wrap: wrap; /* 折り返しを有効にする */
}

.instaarea p {
    width: 25%; /* デスクトップでは 25% */
    padding-bottom: 31.25%; /* アスペクト比 4:5 を維持 (25% * 5 / 4 = 31.25%) */
    position: relative; /* 相対位置指定 */
    overflow: hidden; /* 画像がはみ出ないようにする */
}

.instaarea img.insta-photo {
    position: absolute; /* 絶対位置指定 */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* アスペクト比を維持し、領域を埋めるようにトリミング */
}

@media only screen and (max-width: 767px) {
    .instaarea {
        justify-content: center;
    }

    .instaarea p {
        width: 33.3%; /* モバイルでは 33.3% */
        padding-bottom: 41.625%; /* アスペクト比 4:5 を維持 (33.3% * 5 / 4 = 41.625%) */
    }
}


.castarea .caststar{
	width:310px;
	position: absolute;
	
}
.castarea .caststar.caststar1{
	top:836px;
	left:-178px;
}
.castarea .caststar.caststar2{
	top:2170px;
	left:-207px;
}
.castarea .caststar.caststar3{
	top: 2246px;
	right:-155px;
}
.castarea .caststar.caststar4{
	top:3581px;
	left:-207px;
}
.castarea .caststar.caststar5{
	top: 4228px;
	right: -104px;
}
.castarea .caststar.caststar6{
	top:4656px;
	left:-207px;
}

@media only screen and (max-width:767px) {
	.castarea .caststar.caststar1,
	.castarea .caststar.caststar2,
	.castarea .caststar.caststar3,
	.castarea .caststar.caststar4,
	.castarea .caststar.caststar5,
	.castarea .caststar.caststar6{
		display: none;
	}
}
.castarea .caststarsp{
	display: none;
}
@media only screen and (max-width:767px) {
	.castarea .caststarsp{
		display:block;
		position: absolute;
	}
	
}
.castarea .caststarsp.caststar1{
	width:16vw;
	top:5.86vw;
	left:-1.33vw;
}
.castarea .caststarsp.caststar2{
	width:40vw;
	top:179vw;
	left:-5.3vw;
}
.castarea .caststarsp.caststar3{
	width:40vw;
	top:3298vw;
	left:-9.6vw;
}
.castarea .caststarsp.caststar4{
	width:16vw;
	top:391vw;
	right:5.3vw;
}
.castarea .caststarsp.caststar5{
	width:40vw;
	top:3298vw;
	left:-9.6vw;
}
.castarea .caststarsp.caststar6{
	width:40vw;
	top:733vw;
	right:-2.1vw;
}
.castarea .caststarsp.caststar7{
	width:40vw;
	top:918vw;

	left:-8vw;
}
.castarea .caststarsp.caststar8{
	width:40vw;
	top: 1002vw;
	left: -8.12;
}
.castarea .caststarsp.caststar9{
	width:40vw;
	top:2861vw;
	right:1.33vw;
}
.castarea .in{
	justify-content: space-between;
}
@media only screen and (max-width:767px) {
	.castarea .in.flexbox{
		display: block;
	}
}
.castarea .in .line1{
	width:20.8%;
}
.castarea .in .line2{
	width:79.2%;
	justify-content: space-between;
}

.castarea .castline{
	width:43.4%;
}
.castarea .castline:nth-child(2n){
	margin-top:200px;
}
@media only screen and (max-width:767px) {
	.castarea .in .line1{
		width:100%;
	}
	.castarea .in .line2{
		width:100%;
	}
	.castarea .castline{
		width:100%;
		margin-bottom: 10.6vw;
	}
	.castarea .castline:nth-child(2n){
		margin-top:0;
	}
	.castarea .jptitleb br{
		display: none;
		}
}

@media only screen and (min-width:768px) {
	.castarea .entitleb{
		  transform: rotate(90deg);
	  padding-top:50%;
		font-size: 160px;
		padding-left: 18%;
		padding-top: 0;
	}
	.castarea .jptitleb{
		margin-top:280px;
		font-size: 28px;
		line-height: 1.42;
	}
}
.castarea .castline p{
	margin-bottom: 30px;
}
.castarea .castline p img{
	border-radius: 20px 190px 20px 20px;
}
.castarea .castline:nth-child(2n) p img{
	border-radius: 190px 20px 20px 20px;
}
.castarea .castline .name1{
	margin-bottom: 24px;
	font-size: 33px;
	line-height: 1;
}
.castarea .castline .name1{
	color: #E87A8A;
}
.castarea .castline:nth-child(2n) .name1{
	color: #7790CC;
}
.castarea .castline .name2{
	margin-bottom: 20px;
	font-family: "Zen Maru Gothic", sans-serif;
	color: #E87A8A;
	font-size: 33px;
	line-height: 1;
}
.castarea .castline:nth-child(2n) .name2{
	color: #7790CC;
}
.castarea .castline .from{
	margin-bottom: 24px;
	font-family: "Zen Maru Gothic", sans-serif;
}
.castarea .castline .text{
	border-top:solid 1px #ADADAD;
	padding:30px 0 40px;
	font-family: "Zen Maru Gothic", sans-serif;
	line-height:  1.75;
	
}
@media only screen and (max-width:768px) {
	.castarea .castline p{
		margin-bottom: 5.3vw;
	}
	.castarea .castline p img{
		border-radius: 2.6vw 24vw 2.6vw 2.6vw;
	}
	.castarea .castline:nth-child(2n) p img{
		border-radius: 24vw 2.6vw 2.6vw 2.6vw;
	}
	.castarea .castline .name1{
		margin-bottom:5.3vw;
		font-size: 4vw;

	}

	.castarea .castline .name2{
		margin-bottom:5.3vw;
		white-space: nowrap;
		font-size: 8vw;

	}
	.castarea .castline .from{
		border-bottom:solid 1px #ADADAD;
		padding-bottom: 5.3vw;
		margin-bottom: 8vw;
		font-size: 4vw;
	}
	.castarea .castline .text{
		border-top:none;
		padding:12.5vw 0 5.3vw;
		font-size: 4vw;
		letter-spacing: 0.04em;
		line-height: 1.7;
	}
}
.castarea .castline .morebtn{
	width:100%;
	margin-bottom: 24px;
}
@media only screen and (max-width:768px) {
	.castarea .castline .morebtn{
		width:69.3vw;
		margin:0 auto 5.3vw;
	}
	
}
section.castarea .in{
	padding:120px 0 150px;
}
@media only screen and (max-width:768px) {
	section.castarea .in{
		padding:10.6vw 0 5.3vw;
	}
	section.castarea .lrlay{
		display: flex;
		justify-content: space-between;
		padding-bottom: 8vw;
	}
	section.castarea .castline:nth-child(2n) .lrlay{
		flex-direction: row-reverse;
	}
	section.castarea .lrlay .left{
		width:40vw;
	}
	section.castarea .lrlay .right{
		width:44vw;
	}
}