@charset "UTF-8";
/* CSS Document */


body {
	padding:0;
	margin:0;
}


.st_wrap {
	clear: both;
	width:auto;
    text-align: center;
	padding: 20px 10px 50px;
	margin:0 auto;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	position: relative;
	background-color: #FAF1C8;
	color: #233D99;
}

.link {
	color: #233D99;
}

.st_wrap img {
	width: 100%;
	vertical-align: bottom;
}

.st_wrap h1 {
	font-family: "Gravitas One", serif;
    font-weight: 400;
	font-size: 40px;
	text-align: center;
	margin: 3% auto 2%;
    padding: 0;
}

.st_wrap h2 {
    font-weight: 700;
	font-size: 24px;
	text-align: center;
	margin: 2% auto 4%;
}

.st_wrap h3 {
	font-weight: 700;
	text-align: center;
	font-size: 20px;
	margin: 2% auto 4%;
}

.ig_txt {
	margin: 5% auto 0;
}

.ig {
	background-image: url("../images/ig_blk.svg");
	background-size: 28px;
	background-repeat: no-repeat;
	padding: 0 0 0 35px;
	color: #242C92;
	font-size: 20px;
}
.okini {
	background-image: url("../images/okiniiri.svg");
	background-size: 30px;
	background-repeat: no-repeat;
	padding: 0 0 0 33px;
	color: #242C92;
	font-size: 20px;
}

.icon_kids {
	width: 40%;
	position: absolute;
	top: -5%;
	left: -7%;
	transform: rotate(-15deg);
}

.ttl {
	width: 80%;
	margin: 6% auto 3%;
}

.subttl {
	width: 40%;
	margin: 6% auto 3%;
}

.f_jost {
	font-family: "Jost", sans-serif;
}

.italic {
	font-style: italic;
}

.Main {
	width: 90%;
	margin: 0 auto;
	position: relative;
}

span.marker {
    background: linear-gradient(transparent 70%, #F0DE35 70%);
}

.ylwbox {
	margin: 5% auto;
	font-size: 23px;
	font-weight: 600
}

.ylwbox span {
	background-color: #F0DE35;
	padding: 10px 20px;
	border-radius: 5px;
}

.pink {
	color: #ff00a2;
}

.st_wrap p {
	margin: 2% auto;
    text-align: center;
    font-size: 15px;    
    line-height: 1.9em;
}

.txt {
	font-size: 25px;
	font-weight: 700;
	line-height: 1.3em;
}

.comingsoon {
	font-size: 18px;
	font-weight: 500;
	color: #979797;
}

.dots {
	text-emphasis: filled #ff00a2;
  	-webkit-text-emphasis: filled #ff00a2;
}

.thumb_box {
	width: 96%;
	position: relative;
	margin: 4% auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	align-content: center;
}

.thumb {
	width: 48%;
	position: relative;
	margin: 0 auto 6%;
}

.look {
	width: 48%;
}

.sp {
	display:none;
}


.Lead {
	text-align:center;
	font-size: 16px;
	padding:0 ;
	margin: 2% auto;
	line-height: 2em;
}

.relative {
	position: relative;
	margin: 15% auto 5%;
}

.letter {
	width: 25%;
	position: absolute;
	top: -28%;
	left: 37.5%;
}


.Sml {
	font-size: 12px;
	text-align: center;
	line-height: 1.5em;
	margin: 1% auto;
	font-weight: normal;
}


.clear {
	clear:both;
}

.btn-1 {
	font-family: "Jost", sans-serif;
    display: inline;
	font-weight: 500;
    font-size: 15px;
	margin-left: 3%;
    padding: 2px 15px;
    color: #fff;
    background-color: #233D99;
}

a.btn-1 {
    text-decoration: none;
	color: #fff;
}

.btn-2 {
    display: block;
    font-size: 16px;
    padding: 5px 10px;
	margin: 5% auto 8%;
	width: 40%;
    color: #fff;
	background-color: #000;
	box-sizing: border-box;
}

a.btn-2 {
    text-decoration: none;
}

.btn-3 {
    display: block;
    font-size: 24px;
	font-weight: 600;
    padding: 5px 10px;
	margin: 5% auto 15%;
	width: 30%;
    color: #5f87ff;
	border-bottom: solid 1px #5f87ff;
	box-sizing: border-box;
}

#ターゲット要素 {
    padding-top: 110px;
    margin-top: -50px;
}

@media only screen and (max-width: 750px) {
	.pc {
		display:none;
	}
	.sp {
		display:block;
	}
	.st_wrap {
		margin: 0 auto;
		padding: 0 0 5%;
	}

    
	.st_wrap h1 {
		font-size: 23px;
		margin: 4% auto 2%;
	}	
    
    .st_wrap h2 {
        font-size: 16px;
		line-height: 1.6em;
    }
    
    .st_wrap h3 {
        font-size: 15px;
    }
    
    .st_wrap p {
        font-size: 12px;
		line-height: 1.7em;
    }
	
	.Lead {
		font-size: 13px;
		line-height: 1.8em;
	}
	
	.txt {
		font-size: 18px;
	}
	
	.ig {
		background-size: 23px;
	    padding: 0 0 0 30px;
	    font-size: 18px;
	}	
	
	.okini {
		background-size: 28px;
    	padding: 0 0 0 30px;
	}
	
	.letter {
		top: -24%;
	}
	
	.relative {
		margin: 23% auto 5%;
	}
	
	.ylwbox {
		font-size: 14px;
	}
	
	.ylwbox span {
		padding: 2% 6%;
	}
	
    .btn-1 {
        font-size: 10px;
		padding: 1px 10px;
    }
	
	.btn-2 {
		width: 70%;
		font-size: 13px;
	}
	
	.btn-3 {
		font-size: 18px;
		width: 35%;
	}
	
}

/* --- 四隅すべて角折れスタイルの定義 --- */
        
        /* 外枠（黒色） */
        .cut-frame-all {
            background-color: #242C92;
            padding: 2px; /* 枠線の太さ */
            width: 90%;
            max-width: 600px;
			margin: 5% auto;
            
            /* 四隅すべてをカット（8点指定） */
            clip-path: polygon(
                30px 0,                 /* 左上 (上辺) */
                calc(100% - 30px) 0,    /* 右上 (上辺) */
                100% 30px,              /* 右上 (右辺) */
                100% calc(100% - 30px), /* 右下 (右辺) */
                calc(100% - 30px) 100%, /* 右下 (下辺) */
                30px 100%,              /* 左下 (下辺) */
                0 calc(100% - 30px),    /* 左下 (左辺) */
                0 30px                  /* 左上 (左辺) */
            );
        }

        /* 内側（白色） */
        .cut-inner-all {
            background-color: #fff;
            padding: 30px;
            height: 100%;
            
            /* 外枠と同じ座標でカット */
            clip-path: polygon(
                30px 0, 
                calc(100% - 30px) 0, 
                100% 30px, 
                100% calc(100% - 30px), 
                calc(100% - 30px) 100%, 
                30px 100%, 
                0 calc(100% - 30px), 
                0 30px
            );
        }

/* レスポンシブ対応 */
        @media (max-width: 600px) {
            body {
                padding: 10px;
            }
            
            .cut-inner-all {
                padding: 20px;
            }
            
            h1 {
                font-size: 1.4rem;
            }

            /* スマホでは角折れサイズを小さく調整 */
            .cut-frame-all, .cut-inner-all {
                clip-path: polygon(
                    15px 0, 
                    calc(100% - 15px) 0, 
                    100% 15px, 
                    100% calc(100% - 15px), 
                    calc(100% - 15px) 100%, 
                    15px 100%, 
                    0 calc(100% - 15px), 
                    0 15px
                );
            }
        }
