@charset "utf-8";
/* CSS Document */

body{
	margin: 0;
}

.sticky-container{
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
}

.sticky-container img{
	display: block;
	line-height: 0;
}

.pc-box{
	display: none;
}

.wrapper{
	width: 100%;
	margin: 0 auto;
}

.mv{
	margin: 0 auto 20%;
}

.mv h1{
	text-align: center;
	font-weight: 600;
	font-size: 20px;
	margin: 10% auto 5%;
}

.mv p{
	text-align: center;
	font-size: 14px;
	line-height: 1.8;
	margin: 5% auto;
}

.main-contents{
	margin: 0 auto;
}

.contents-inner{
	margin: 0 auto 25%;
}

.contents-inner h1{
	text-align: center;
	font-size: 18px;
	margin: 2% auto;
	line-height: 2;
}

/* --- 今回追加するCSS --- */

/* 1. 元のspanタグを基準点にする設定 */
.contents-inner h1 span.under-sketch {
  position: relative; /* 疑似要素の基準点になります */
  display: inline-block; /* 疑似要素が正しく配置されるようにします */
  white-space: nowrap; /* テキストが途中で改行されないようにします */
}

/* 2. spanの直後に楕円画像を配置する設定 (疑似要素 ::after) */
.contents-inner h1 span.under-sketch::after {
  content: ""; /* コンテンツは空（画像だけ） */
  position: absolute; /* 親(span)に対して自由な位置に配置 */
  
  /* --- 画像の設定 --- */
  background-image: url("../images/circle.png"); /* ご自身の画像パスに書き換えてください */
  background-size: contain; /* 画像を枠内に収める */
  background-repeat: no-repeat; /* 繰り返さない */
  background-position: center top; /* 画像の位置調整（上中央） */
  
  /* --- 画像を表示する枠のサイズ設定 --- */
  /* ここを調整して画像の大きさを変えます */
  width: 100%; /* テキストの幅に対して1.4倍の幅にする */
  height: 37px; /* 画像を表示する高さを十分に確保（必要に応じて調整） */
  
  /* --- 画像の配置場所の設定 --- */
  /* ここを調整して画像を上下左右に動かします */
  bottom: 0px; /* テキストの下に配置（数値を大きくするとさらに下に下がる） */
  right: 0%; /* 140%の幅にしたので、中央に来るように左に20%ずらす */
  
  /* --- 重なりの設定 --- */
 /* z-index: -1;*/ /* 文字の後ろに配置 */
  opacity: 0.8; /* 少し透けさせる（お好みで。手書き風になじみます） */
}

.contents-inner h1 span.wide:after {
	width: 120%;
	bottom: -3px; 
	right: -10%;
}

.credit-top{
	margin: 3% auto;
}

.credit-top p{
	text-align: center;
	margin: 0 auto;
	font-size: 16px;
	line-height: 1.8;
}

.credit-top p:after{
	content: 'tax in';
	display: inline-block;
	font-size: 14px;
	margin-left: 5px;
}

.credit-top a{
	display: block;
	width: 50%;
	margin: 3% auto;
	background-color: #000;
	color: #fff;
	text-decoration: none;
	font-size: 15px;
	text-align: center;
	line-height: 2;
	position: relative;
}

.credit-top a:after{
    position: absolute;
    top: 50%;
    right: 5%;
    right: 15px;
    width: 4px;
    height: 4px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    content: "";
    transform: translateY(-50%) rotate(45deg)
}


.product-detail {
  position: relative;
	background-color: #E7E7E5;
	padding-bottom: 5%;
}

.detail-image{
  width: 100%;
  background-color: #E7E7E5;
	margin: 10% auto 5%;
}

.detail-image img{
}

.detail-point{
	width: 90%;
	margin: 5% auto 0;
	background-color: #F8F8F8;
	box-sizing: border-box;
	padding: 5%;
}

.point__inner{
	display: flex;
	column-gap: 10px;
	align-items: center;
	margin-bottom: 5%;
}

.border-bottom{
	border-bottom: solid 1px #E7E7E5;
	padding-bottom: 5%;
}

.mgb0{
	margin-bottom: 0%;
}

.point__img{
	width: 40%;
	position: relative;
}

.point__img img{
	border-radius: 100px;
}

.point__img .point-title{
	border-radius: 0;
	position: absolute;
	top: 0;
	left: -5%;
	width: 90%;
	transform: rotate(-15deg);
}

.point__text{
	width: 60%;
}

.point__text p{
	margin: 0;
	font-size: 12px;
	line-height: 1.7;
	letter-spacing: 1px;
}

.scene-styling{
	margin: 15% auto 20%;
}

.styling-img{
	position: relative;
}

.styling-img__large{
	width: 50%;
	padding-bottom: 5%;
	margin-left: -3%;
}

.style03{
	width: 38%;
	margin-left: 3%;
}

.style04{
	width: 30%;
	margin-left: 68%
}

.mgLeft-50{
	margin-left: 50%;
}

.pos-on{
	position: absolute;
	bottom: 5%;
	right: 5%;
	width: 65%;
}

.pos-off{
	position: absolute;
	bottom: 6%;
	left: 5%;
	width: 48%;
	column-gap: 10px;
}

.styling-img__sub{
	display: flex;
}

.pos-on03{
	width: 53%;
}

.pos-on04{
	width: 56%;
}


.scene-styling p{
	text-align: center;
	font-size: 13px;
	margin: 5% auto;
	line-height: 2;
}

.styling-img h2{
	font-family: "Times New Roman", Times, "serif";
	font-size: 35px;
	font-weight: normal;
	position: absolute;
	top: 0;
	right: 3%;
	margin: 2% 0;
}

.styling-img .off-title{
	right: auto;
	left: 3%;
}

.bg-on{
	background: linear-gradient(200deg, #ffffff 65.5%, #ebf4f1 65%);
}

.bg-off{
	background: linear-gradient(160deg, #ffffff 65.5%, #fffaea 65%);
}

.scene-credit{
	width: 90%;
	margin: 15% auto 10%
}

.scene-credit__inner{
	position: relative;
    border-bottom: solid 1px #ccc;
    margin-bottom: 3%;
    letter-spacing: .3px;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	display: flex;
	align-items: center;
	column-gap: 10px;
	padding-bottom: 2%;
}

.scene-credit__inner a{
	display: block;
	text-decoration: none;
	color: #000;
	font-size: 12px;
	line-height: 1.5;
}

.scene-credit__img{
	width: 15%;
}

.scene-credit__inner a::after {
	content: "BUY";
    position: absolute;
    top: 50%;
    right: 2%;
    transform: translate(0, -50%);
    font-size: 16px;
	font-family: "Noto Sans", sans-serif;
}

.scene-credit__inner .cms::after {
	content: "COMING SOON";
    position: absolute;
    top: 50%;
    right: 2%;
    transform: translate(0, -50%);
    font-size: 10px;
	color: #656565;
}

.all{
	display: block;
	width: 80%;
	margin: 2% auto 15%;
	text-align: center;
	background-color: #000;
	color: #fff;
	font-size: 20px;
	text-decoration: none;
	position: relative;
	line-height: 3;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 600;
}

.all:after{
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 15px;
	width: 5px;
	height: 5px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	content: "";
	transform: translateY(-50%) rotate(45deg);
}


@media(min-width:750px){
	.sticky-container{
		display: flex;
		justify-content: center;
		column-gap: 160px;
		background-color: #f5f2f0;
	}
	
	.pc-box{
		position: sticky;
        left: 0;
        top: 0;
        display: flex;
        width: 24%;
        height: 100vh;
        justify-content: center;
        align-items: center;
	}
	
	.pc-box__left img{
		width: 50vh;
	}
		
	.wrapper{
		width: 36%;
		margin: 0;
		background-color: #fff;
	}
	
	.br_s{
		display: none;
	}
}

