@charset "UTF-8";

html{
	font-size:62.5%;
}
body{
	font-size:16px;
	font-size:1.6rem;
  font-family: "BIZ UDPGothic", sans-serif;
	line-height:1.8;
	letter-spacing:0.06em;
	color:#1A1A1A;
	position:relative;
	text-rendering:optimizeLegibility;
	-webkit-text-size-adjust:100%;
	text-size-adjust:100%;

	overflow:auto;
	overflow-x:hidden;

	word-break:break-all;
	word-wrap:break-word;
	overflow-wrap:break-word;

	background-color:#fff;
}

.biz-udpgothic-regular {
  font-weight: 400;
  font-style: normal;
}

.biz-udpgothic-bold {
  font-weight: 700;
  font-style: normal;
}

img{
	display:block;
	width:100%;
	-webkit-backface-visibility:hidden;
	-moz-backface-visibility:hidden;
	backface-visibility:hidden;
}

ul,ol{
	list-style:none;
}


sup{
	font-size:60%;
	vertical-align:super;
}

u{
	text-decoration:underline;
}

.cf::before,
.cf::after{
	content:"";
	display:table;
}
.cf::after{
	clear:both;
}
.cf{
	*zoom:1;
}

.tc{
	text-align:center !important;
}
.tl{
	text-align:left !important;
}
.tr{
	text-align:right !important;
}

.mb0{
	margin-bottom:0 !important;
}
.pt0{
	padding-top:0 !important;
}
.pb0{
	padding-bottom:0 !important;
}


/* animation */
.xx0{
	opacity:0;
}


/*===============================================*/
/*===============================================*/
body{
	background-color: #fff;
}

/* .cp-header01 */
.cp-header01{
	width:100%;
	background-color:#fff;
	position:relative;
	border-bottom:calc(1 / 375 * 100vw) solid;
	border-image: linear-gradient(to right, #FFF19E 0%, #FFA0A4 50%, #E8C0E3 75%, #ABDFEA 100%) 1;
}
.cp-header01 .inner{
	padding:calc(15 / 375 * 100%) 0;
}
.cp-header01 .logo01{
	margin:0 auto;
	width:calc(290 / 375 * 100%);
}
.cp-header01 .line01{
	width:100%;
}


/* .cp-footer01 */
.cp-footer01{
	padding:calc(14 / 375 * 100%) 0;
	width:100%;
	background-color:#fff;
	position:relative;
	border-top:calc(1 / 375 * 100vw) solid;
	border-image: linear-gradient(to right, #FFF19E 0%, #FFA0A4 50%, #E8C0E3 75%, #ABDFEA 100%) 1;
}
.cp-footer01 .inner{
	padding:calc(12 / 375 * 100%) 0;
}
.cp-footer01 .copy01{
	text-align:center;
	line-height:1;
	font-size:calc(12 / 375 * 100vw);
}


/*===============================================*/
/* SP */
/*===============================================*/
.cp-shu-wrapper{
	margin:0 auto;
	width:100%;
	max-width:1440px;
	position:relative;
	overflow:hidden;

	color:#000;
	text-rendering:optimizeLegibility;
	-webkit-text-size-adjust:100%;
	text-size-adjust:100%;

	word-break:break-all;
	word-wrap:break-word;
	overflow-wrap:break-word;
}

.cp-shu-wrapper .inner{
	margin:0 auto;
	width:100%;
	max-width:1440px;
	position:relative;
}

.cp-shu-wrapper img{
	display:block;
	width:100%;
	-webkit-backface-visibility:hidden;
	-moz-backface-visibility:hidden;
	backface-visibility:hidden;
}


/* .cp-opening */
.cp-opening{
	position:fixed;
	inset:0 0 auto;
	width:100%;
	height:100%;
	height:100vh;
	height:100dvh;
	display:flex;
	justify-content:center;
	align-items:center;
	flex-direction:column;
	background:#fff url(../img/bg01.jpg) no-repeat center center / cover;
	z-index:99999;
}
.cp-opening__text01{
	margin:0 auto calc(45 / 375 * 100%);
	width:calc(327 / 375 * 100%);
	text-align:center;
	line-height:2;
	font-size:calc(16 / 375 * 100vw);
}
.cp-opening__logo01{
	margin:0 auto;
	width:calc(247 / 375 * 100%);
}


/* .cp-loading */
.cp-loading{
	position:fixed;
	inset:0 0 auto;
	width:100%;
	height:100%;
	height:100vh;
	height:100dvh;
	z-index:99999;
	background-color:#fff;
	background:linear-gradient(to bottom, #FFFFFF, #eecaf5);
}


/* .cp-door01 */
.cp-door01{
	width:100%;
	position:relative;
}
.cp-door01 .block01{
	padding:calc(40 / 375 * 100%) 0;
	width:100%;
	position:relative;
	background:url(../img/bg02.jpg) no-repeat left top calc(55 / 375 * 100vw) / 100%;
}
.cp-door01__title01{
	margin:0 auto calc(34 / 375 * 100%);
	width:calc(327 / 375 * 100%);
}
.cp-door01__pic01{
	margin:0 auto calc(35 / 375 * 100%);
	width:calc(327 / 375 * 100%);
}
.cp-door01__btn01{
	margin:0 auto;
	width:calc(250 / 375 * 100%);
}
.cp-door01__btn01 a{
	display:block;
}


/* .cp-area01 */
.cp-area01{
	width:100%;
	position:relative;
	overflow:hidden;
}
.cp-area01 .block01{
	padding:calc(42 / 375 * 100%) 0 0;
	height:calc(570 / 375 * 100vw);
	width:100%;
	position:relative;
}
.cp-area01__bg01{
	position:absolute;
	inset:0 0 auto;
	margin:calc(-160 / 375 * 100%) 0 0;
	width:100%;
}
.cp-area01__title01{
	margin:0 auto calc(22 / 375 * 100%);
	text-align:center;
	line-height:1;
	font-weight:bold;
	position:relative;
}
.cp-area01__title01 .number{
	margin:0 auto calc(5 / 375 * 100%);
	font-size:calc(40 / 375 * 100vw);
}
.cp-area01__title01 .text{
	font-size:calc(14 / 375 * 100vw);
}
.cp-area01__frame01{
	margin:0 auto calc(35 / 375 * 100%);
	width:calc(327 / 375 * 100%);
	box-shadow: calc(16 / 375 * 100vw) calc(16 / 375 * 100vw) calc(24 / 375 * 100vw) 0 rgba(0, 0, 0,  0.1);
	position:relative;
}
.cp-area01__frame01__bg{
	width:100%;
}
.cp-area01__frame01__bg > img:nth-child(n+2){
	display:none;
}
.cp-area01__frame01__text{
	position:absolute;
	inset:0;
	text-align:center;
	line-height:1.5;
	font-size:calc(18 / 375 * 100vw);
	font-weight:bold;
	display:flex;
	justify-content:center;
	align-items:center;
}

.cp-area01__btnArea01{
	margin:0 auto;
	width:calc(327 / 375 * 100%);
  display: grid;
  grid-template-columns: 1fr 1fr;
	gap:calc(15 / 375 * 100vw);
	position:relative;

}
.cp-area01__btnArea01 button{
	display:block;
	position:relative;
	filter: drop-shadow(calc(4 / 375 * 100vw) calc(4 / 375 * 100vw) calc(4 / 375 * 100vw) rgba(0, 0, 0, 0.24));
}
.cp-area01__btnArea01 button span{
	display:block;
	position:absolute;
	inset:0;
	padding:calc(10 / 156 * 100%) calc(20 / 156 * 100%);
	text-align:center;
	line-height:1.5;
	font-family: "Noto Sans JP", sans-serif;
	font-size:calc(16 / 375 * 100vw);
	font-weight:bold;
	display:flex;
	justify-content:center;
	align-items:center;
}

.cp-area01__text01{
	display:none;
	position:absolute;
	inset:0;
	margin:calc(220 / 375 * 100%) 0 0;
	text-align:center;
	line-height:1.75;
	font-size:calc(18 / 375 * 100vw);
	font-weight:bold;
}

/* .cp-area02 */
.cp-area02{
	width:100%;
	position:relative;
}
.cp-area02 .block01{
	padding:calc(40 / 375 * 100%) 0;
	width:100%;
	background:url(../img/bg02.jpg) no-repeat left top / 100%;
	position:relative;
}

.cp-area02__name01{
	margin:0 auto calc(24 / 375 * 100%);
	width:calc(314 / 375 * 100%);
}
.cp-area02__name01 > img:nth-child(n+2){
	display:none;
}
.cp-area02__angel01{
	margin:0 auto calc(20 / 375 * 100%);
	width:calc(149 / 375 * 100%);
}
.cp-area02__angel01 > img:nth-child(n+2){
	display:none;
}
.cp-area02__frame01{
	margin:0 auto calc(40 / 375 * 100%);
	width:calc(327 / 375 * 100%);
	position:relative;
}
.cp-area02__frame01Inner{
	position:absolute;
	inset:0;
	display:flex;
	justify-content:center;
	align-items:center;
	flex-direction:column;
}
.cp-area02__frame01Inner .title01{
	margin:0 auto;
	width:calc(255 / 327 * 100%);
	text-align:center;
	line-height:1.75;
	font-size:calc(20 / 375 * 100vw);
	font-weight:bold;
}
.cp-area02__frame01Inner .text01{
	margin:0 auto;
	width:calc(255 / 327 * 100%);
	line-height:1.75;
	font-size:calc(16 / 375 * 100vw);
	font-weight:bold;
}
.cp-area02__frame01Inner .text02{
	margin:0 auto;
	width:calc(255 / 327 * 100%);
	text-align:center;
	line-height:1.75;
	font-size:calc(20 / 375 * 100vw);
	font-weight:bold;
}

.cp-area02__btn01{
	margin:0 auto calc(40 / 375 * 100%);
	width:calc(250 / 375 * 100%);
}
.cp-area02__btn01 a{
	display:block;
	width:100%;
}
.cp-area02__btn01 a + a{
	margin:calc(16 / 250 * 100%) 0 0;
}

.cp-area02__frame02{
	margin:0 auto;
	padding:calc(30 / 375 * 100%) calc(24 / 375 * 100%);
	width:calc(327 / 375 * 100%);
	border:calc(2 / 375 * 100vw) solid;
	border-image: linear-gradient(to right bottom, #FFF19E 0%, #FFA0A4 50%, #E8C0E3 75%, #ABDFEA 100%) 1;
	box-shadow: calc(8 / 375 * 100vw) calc(8 / 375 * 100vw) calc(16 / 375 * 100vw) 0 rgba(0, 0, 0, 0.16);
}
.cp-area02__frame02 .text01{
	margin:0 auto calc(10 / 311 * 100%);
	line-height:1.75;
	font-size:calc(20 / 375 * 100vw);
	font-weight:bold;
}
.cp-area02__frame02 .text02{
	margin:0 auto calc(20 / 311 * 100%);
	line-height:1.75;
	font-size:calc(16 / 375 * 100vw);
}
.cp-area02__frame02 .photo01{
	margin:0 auto calc(24 / 311 * 100%);
	width:100%;
}
.cp-area02__frame02 .photo01 img:nth-child(n+2){
	display:none;
}

.cp-area02__frame02 .btn01{
	margin:0 auto;
	width:100%;
}
.cp-area02__frame02 .btn01 a{
	display:block;
	width:100%;
	filter: drop-shadow(calc(4 / 375 * 100vw) calc(4 / 375 * 100vw) calc(8 / 375 * 100vw) rgba(0, 0, 0, 0.24));
}

/* .cp-area03 */
.cp-area03{
	width:100%;
	position:relative;
}
.cp-area03 .block01{
	padding:calc(40 / 375 * 100%) 0;
	width:100%;
	position:relative;
}
.cp-area03__angel01{
	margin:0 auto calc(40 / 375 * 100%);
	width:calc(327 / 375 * 100%);
}
.cp-area03__angel01 img{
	display:none;
}
.cp-area03__text01{
	margin:0 0 calc(45 / 375 * 100%);
	text-align:center;
	line-height:1;
	font-size:calc(16 / 375 * 100vw);
	font-weight:bold;
}
.cp-area03__text01 span{
	padding:0 0 calc(8 / 375 * 100vw);
	border-bottom:calc(2 / 375 * 100vw) solid;
	border-image: linear-gradient(to right, #FFF19E 0%, #FFA0A4 50%, #E8C0E3 75%, #ABDFEA 100%) 1;
}
.cp-area03__text02{
	margin:0 0 calc(20 / 375 * 100%);
	text-align:center;
	line-height:1;
	font-size:calc(16 / 375 * 100vw);
	font-weight:bold;
}

.cp-area03__sns01{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:calc(22 / 375 * 100%);
}
.cp-area03__sns01 li{
	width:calc(48 / 375 * 100%);
}
.cp-area03__sns01 li a{
	display:block;
}
