@charset "utf-8";
/* CSS Document */

body{
	margin: 0;
}

.sticky-container{
	margin: 0;
}

.sticky-container img{
	display: block;
	line-height: 0;
}

.pc-box{
	display: none;
}

.wrapper{
	width: 100%;
	margin: 0 auto;
	font-family: "Noto Serif JP", serif;
}

.mv{
	margin: 0 auto 15%;
}

.mv p{
	text-align: center;
	font-size: 0.8rem;
	line-height: 1.8;
	margin: 10% auto;
}

@media(min-width:750px){
	.sticky-container{
		display: flex;
		justify-content: center;
		column-gap: 160px;
		background-color: #f9fbff;
	}
	
	.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: 43vh;
	}
		
	.wrapper{
		width: 36%;
		margin: 0;
		background-color: #fff;
	}
	
	.mv p{
		font-size: 0.95rem;
		line-height: 2;
	}
}

/* =========================================

	point

=========================================
*/

.point{
	margin: 10% auto 10%;
}

.point h1{
	background-color: #F0F0F0;
	color: #000;
	padding: 3% 0;
	text-align: center;
	font-size: 2.25rem;
	letter-spacing: 0.1rem;
	font-family: "farnham-display", serif;
	font-weight: normal;
}

.point-contents{
	width: 90%;
	margin: 5% auto;
}

.point-box{
	display: flex;
	column-gap: 10px;
	align-items: center;
	margin-bottom: 8%;
}

.point-img{
	width: 40%;
}

.point-text {
	width: 60%;
}

.point-text p{
	margin: 0;
	font-size: 0.7rem;
	line-height: 1.7;
	letter-spacing: 1px;
}

.point-text span{
	font-size: 0.8rem;
	font-weight: 600;
	border-bottom: solid 1px #000;
	display: inline-block;
	margin-bottom: 5%;
	line-height: 1;
}

.point-text .point-title{
	font-family: "farnham-display", serif;
	font-size: 1.2rem;
	line-height: 1.5;
	margin-bottom: 2%;
	letter-spacing: 0px;
}

.row-reverse{
	flex-direction: row-reverse;
}

@media(min-width:750px){
	.point-contents{
		width: 85%;
	}

	.point-box{
		column-gap: 20px;
		margin-bottom: 5%;
	}

	.point-text p{
		font-size: 0.85rem;
		line-height: 1.8;
	}

	.point-text span{
		font-size: 1.0rem;
	}

	.point-text .point-title{
		font-size: 1.35rem;
	}
}

/* =========================================

	explanation

=========================================
*/

.explanation{
	margin: 10% auto;
}

.explanation p{
	text-align: center;
	font-size: 0.95rem;
	margin: 2% auto 5%;
	font-weight: 600;
}

.explanation img{
	width: 90%;
	margin: 0 auto;
}

.explanation-credit{
	margin: 8% auto;
}

.explanation .explanation-credit p{
	text-align: center;
	margin: 3% auto;
	font-size: 1.2rem;
	line-height: 1.6;
	font-weight: bold;
}

.explanation .explanation-credit a{
	display: block;
	width: 50%;
	margin: 5% auto;
	text-align: center;
	font-size: 0.95rem;
	line-height: 2;
	background-color: #093C92;
	color: #fff;
	text-decoration: none;
	font-family: "farnham-display", serif;
	position: relative;
}

.explanation .explanation-credit a: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){
	.explanation p{
		font-size: 1.15rem;
	}

	.explanation img{
		width: 80%;
	}

	.explanation .explanation-credit p{
		font-size: 1.6em;
	}

	.explanation .explanation-credit a{
		width: 40%;
		font-size: 1.0rem;
	}
}

/* =========================================

	contents

=========================================
*/

.main-contents{
	margin: 20% auto 5%;
	background-color: #F0F0F0;
}

.main-contents h1{
	color: #000;
	padding: 10% 0;
	text-align: center;
	font-size: 1.65rem;
	font-family: "farnham-display", serif;
	font-weight: normal;
}

.contents-box{
	margin: 0 auto 25%;
}

.box-main{
	margin: 0 auto 5%;
}

.flex{
	display: flex;
}

.web-limited{
	background-color: #F2F2F2;
	padding: 5% 0;
}

.limited-inner{
	width: 90%;
	margin: 0 auto;
	background-color: #fff;
	box-sizing: border-box;
	border: solid 1px #C1C1C1;
}

.limited-title{
	text-align: center;
	font-size: 1rem;
	margin: 3% auto;
	padding-bottom: 3%;
}

.border-bottom{
	border-bottom: solid 1px #C1C1C1;
}

.style-main{
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 5% 0;
}

.style-main__pink{
	align-items: flex-end;
}

.style-img{
	flex: 1;
}

.style-img img{
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

.style-title{
	font-family: "farnham-display", serif;
	font-size: 2.0rem;
	font-weight: normal;
	margin: 0;
	writing-mode: vertical-rl;
	white-space: nowrap;
	margin-right: 10px;
}

.light-pink{
	margin-right: 0px;
	margin-left: 10px;
}

.style-lead{
	width: 90%;
	margin: 5% auto;
}

.style-lead p{
	margin: 0;
	font-size: 0.8rem;
	line-height: 1.6;
}

.style-sub{
	width: 90%;
	margin: 5% 0;
}

.mgleft10{
	margin-left: 10%;
	margin: 10% 0 10% 10%;
}

.mgleft5{
	margin-left: 5%;
}

.style-sub__gray{
	width: 100%;
	box-sizing: border-box;
	padding: 5% 10% 10% 5%;
}

/* 影を付けるコンテナのスタイル */
.shadow-container {
	box-shadow: 15px 15px 0px #d9d9d9;
    max-width: 100%;
	margin: 0 auto;
    height: auto;
 }

  /* コンテナ内の写真のスタイル */
  .shadow-container img {
    display: block;      /* 下部の不要な隙間をなくす */
    max-width: 100%;     /* コンテナ幅に合わせる */
    height: auto;        /* アスペクト比を維持 */
  }

.style-sub__pink{
	width: 100%;
}

.pink__01{
	width: 90%;
	margin-bottom: 5%;
}

.pink__02{
	width: 90%;
	margin-left: 10%;
}

.flex-none{
	display: block;
}

.style-title__horizontal{
	writing-mode: horizontal-tb;
	width: 96%;
	margin: 0 auto 5%;
}

.style-title__right{
	text-align: right;
	margin-left: 0;
}

.text-right p{
	text-align: right;
}

.credit{
	width: 80%;
	margin: 10% auto 12%;
}

.credit-inner{
	margin: 0 auto;
	position: relative;
    /*border-bottom: solid 1px #808080;*/
    margin-bottom: 2%;
    letter-spacing: .3px;
}

.credit-inner a{
	display: block;
	text-decoration: none;
	color: #000;
	font-size: 15px;
	line-height: 2;
	border-bottom: solid 1px #ccc;
}

.credit-inner a::after {
	content: "BUY";
    position: absolute;
    top: 50%;
    right: 2%;
    transform: translate(0, -50%);
    font-size: 13px;
	padding: 0 5%;
	line-height: 1.5;
}

.credit-inner .cms::after {
	content: "COMING SOON";
    position: absolute;
    top: 50%;
    right: 2%;
    transform: translate(0, -50%);
    font-size: 10px;
	color: #000;
	border: none;
}

.credit-inner span{
	font-size: 13px;
    line-height: 1.8;
    margin-bottom: 1%;
}

.credit-inner .line{
	background-color: #d3dff4;
}


.contents-box__last{
	margin-bottom: 10%;
}

.all{
	display: block;
	width: 80%;
	margin: 10% auto 15%;
	text-align: center;
	background-color: #000;
	color: #fff;
	font-size: 1.2rem;
	text-decoration: none;
	position: relative;
	line-height: 3;
	font-family: "farnham-display", serif;
}

.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);
}

