@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700&family=Lato:wght@100;300;400;700&family=Noto+Sans+JP:wght@100;200;300;400;500;600;700;800;900&family=Poppins:wght@100;200;300;400;500;600;700&display=swap');
*:focus {
  outline: none;
}

#ap_wrap{
    width: 100%;
	text-align: center;
	margin: 0% auto;
	color: #333333;
    display: block;
    padding: 5% 0 0;
    letter-spacing: 1px;
    overflow: hidden;
    font-family: 'Noto Sans JP', sans-serif;
    -webkit-animation: fadein 1.2s forwards ease;
    animation: fadein 1.2s forwards ease;
	font-feature-settings: "palt";
	background: #d2dde5;
}
/*@keyframes fadein {
		  0% {
			  opacity: 0;
		  }
		  100% {
			  opacity: 1;
			  transform: translate(0);
		  }
}*/
.inner{
	max-width: 650px;
	margin: 0 auto;
	background: #ffffff;
}
#ap_wrap ul{
	padding: 0;
	margin: 8% 0;
	overflow: hidden;
}
#ap_wrap li{
	list-style: none;
	overflow: hidden;
	width: 60%;
}
#ap_wrap a{
    text-decoration: none;
}
#ap_wrap a:hover{
    text-decoration: none;
}
#ap_wrap a:link{
    opacity: 1;
}
#ap_wrap img{
    width: 100%;
    line-height:0;
    vertical-align: bottom;
    border: none;
}

/************************************************************
                main 
************************************************************/
#ap_head {
	width: 100%;
	margin: 0 auto;
}

#ap_head .head_img{
    position: relative;
	font-weight: 500;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	color: #ffffff;
}

/*@keyframes fadeup {
    from {
        opacity: 0;
        transform: translateY(40px);
    }
    to {
        opacity: 1;
        transform: translate(0);
    }
}*/

#ap_head .title{
	position: absolute;
	top: 40%;
    left: 7%;
	width: 85%;
	animation: fadeup 2s 0.4s forwards;
}

#ap_head .top_lead{
	position: absolute;
	top: 55%;
	left: 22%;
	width: 55%;
	animation: fadeup 4s 0.4s forwards;
}

#ap_head .head_img{
	animation: blurFadeIn 1.8s ease-out forwards;
    margin: auto;
}

/*@keyframes blurFadeIn {
    0% {
        filter: blur(15px);
        opacity: 0;
    }
    100% {
        filter: blur(0px);
        opacity: 1;
    }
}*/

#ap_head .lead{
	margin: 10% auto;
	letter-spacing: 2px;
	line-height: 2;
	font-size: 18px;
}

.item_img{
	position: relative;
}

.plus{
	position: absolute;
	z-index: 10;
	bottom: 3%;
	right: 3%;
	width: 25px!important;
}

.item_block{
	margin: 0 0 15%;
}

.obi1{
	background: rgb(255,255,255,.6);
	color: #333333;
	position: absolute;
	bottom: 3%;
	left: 0;
	font-size: 13px;
	letter-spacing: .7px;
	padding: 3px 10px;
	font-family: "freight-neo-pro", sans-serif;
}
.obi2{
	background: rgb(255,255,255,.6);
	color: #333333;
	position: absolute;
	top: 3%;
	right: 0;
	font-size: 13px;
	letter-spacing: .7px;
	padding: 3px 10px;
	font-family: "freight-neo-pro", sans-serif;
}

/************************************************************
               modal
************************************************************/
.modal-1__wrap,
.modal-2__wrap,
.modal-3__wrap,
.modal-4__wrap,
.modal-5__wrap,
.modal-6__wrap,
.modal-7__wrap,
.modal-8__wrap,
.modal-9__wrap,
.modal-10__wrap,
.modal-11__wrap,
.modal-12__wrap{
    position: relative;
    display: block;
    width: 50%;
    margin: 0 auto;
    overflow: hidden;
    aspect-ratio: 900 / 1200;
}

.modal-1__wrap input,
.modal-2__wrap input,
.modal-3__wrap input,
.modal-4__wrap input,
.modal-5__wrap input,
.modal-6__wrap input,
.modal-7__wrap input,
.modal-8__wrap input,
.modal-9__wrap input,
.modal-10__wrap input,
.modal-11__wrap input,
.modal-12__wrap input{
    display: none;
}

.modal-1__open-label,
.modal-2__open-label,
.modal-3__open-label,
.modal-4__open-label,
.modal-5__open-label,
.modal-6__open-label,
.modal-7__open-label,
.modal-8__open-label,
.modal-9__open-label,
.modal-10__open-label,
.modal-11__open-label,
.modal-12__open-label{
    cursor: pointer;
    display: block;
    width: 100%;
    height: 100%;
}

.modal-1,.modal-2,.modal-3,.modal-4,.modal-5,.modal-6,.modal-7,.modal-8,.modal-9,.modal-10,.modal-11,.modal-12{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 100;
    display: none;
}

.modal-1__open-input:checked + label + input + .modal-1,
.modal-2__open-input:checked + label + input + .modal-2,
.modal-3__open-input:checked + label + input + .modal-3,
.modal-4__open-input:checked + label + input + .modal-4,
.modal-5__open-input:checked + label + input + .modal-5,
.modal-6__open-input:checked + label + input + .modal-6,
.modal-7__open-input:checked + label + input + .modal-7,
.modal-8__open-input:checked + label + input + .modal-8,
.modal-9__open-input:checked + label + input + .modal-9,
.modal-10__open-input:checked + label + input + .modal-10,
.modal-11__open-input:checked + label + input + .modal-11,
.modal-12__open-input:checked + label + input + .modal-12{
    display: block;
    animation: modal-1-animation .4s ease forwards;
}

.modal-1__content-wrap,
.modal-2__content-wrap,
.modal-3__content-wrap,
.modal-4__content-wrap,
.modal-5__content-wrap,
.modal-6__content-wrap,
.modal-7__content-wrap,
.modal-8__content-wrap,
.modal-9__content-wrap,
.modal-10__content-wrap,
.modal-11__content-wrap,
.modal-12__content-wrap{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(51, 51, 51, 0.6);
    z-index: 102;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px;
    box-sizing: border-box;
}

.modal-1__close-label,
.modal-2__close-label,
.modal-3__close-label,
.modal-4__close-label,
.modal-5__close-label,
.modal-6__close-label,
.modal-7__close-label,
.modal-8__close-label,
.modal-9__close-label,
.modal-10__close-label,
.modal-11__close-label,
.modal-12__close-label{
    position: absolute;
    top: 10px;
    right: 10px;
    cursor: pointer;
    color: #ffffff;
    width: 30px;
    height: 30px;
    line-height: 28px;
    text-align: center;
    border-radius: 50%;
    z-index: 105;
    font-size: 1.8em;
	font-weight: lighter;
}

.modal-1__content,
.modal-2__content,
.modal-3__content,
.modal-4__content,
.modal-5__content,
.modal-6__content,
.modal-7__content,
.modal-8__content,
.modal-9__content,
.modal-10__content,
.modal-11__content,
.modal-12__content{
    font-size: 13px;
    line-height: 1.6;
    color: #ffffff;
    text-align: center;
	width: 85%;
}

.modal-1__background,
.modal-2__background,
.modal-3__background,
.modal-4__background,
.modal-5__background,
.modal-6__background,
.modal-7__background,
.modal-8__background,
.modal-9__background,
.modal-10__background,
.modal-11__background,
.modal-12__background{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: transparent;
    z-index: 101;
    cursor: pointer;
}

/*@keyframes modal-1-animation {
    0% { opacity: 0; }
    100% { opacity: 1; }
}
@keyframes modal-2-animation {
    0% { opacity: 0; }
    100% { opacity: 1; }
}
@keyframes modal-3-animation {
    0% { opacity: 0; }
    100% { opacity: 1; }
}
@keyframes modal-4-animation {
    0% { opacity: 0; }
    100% { opacity: 1; }
}
@keyframes modal-5-animation {
    0% { opacity: 0; }
    100% { opacity: 1; }
}
@keyframes modal-6-animation {
    0% { opacity: 0; }
    100% { opacity: 1; }
}
@keyframes modal-7-animation {
    0% { opacity: 0; }
    100% { opacity: 1; }
}
@keyframes modal-8-animation {
    0% { opacity: 0; }
    100% { opacity: 1; }
}
@keyframes modal-9-animation {
    0% { opacity: 0; }
    100% { opacity: 1; }
}
@keyframes modal-10-animation {
    0% { opacity: 0; }
    100% { opacity: 1; }
}
@keyframes modal-11-animation {
    0% { opacity: 0; }
    100% { opacity: 1; }
}
@keyframes modal-12-animation {
    0% { opacity: 0; }
    100% { opacity: 1; }
}*/

/************************************************************
               contents
************************************************************/
#ap_content{
    width: 100%;
    text-align: center;
    margin: 5% auto 0;
    position: relative;
    display: block;
}
#ap_content .ap_box{
    width: 100%;
    display: inline-block;
    position: relative;
	text-align: center;
	margin-bottom: 7%;
}

.ap_box ul li{
    width: 100%;
    display: inline-block;
    margin: 1% auto;
}

.ap_box .credit_box {
    display: flex;
	justify-content: space-between;
	font-family: "freight-neo-pro", sans-serif;
}

.ap_box .credit {
    font-size: 12px;
    margin: 0;
}

.main01{
	position: relative;
}

#ap_content .ap_box .style_title{
	position: absolute;
	color: #ffffff;
	bottom: 14%;
	left: 3%;
	font-family: "freight-neo-pro", sans-serif;
	font-weight: 500;
	font-size: 50px;
	line-height: 1;
	text-align: left;
}

#ap_content .ap_box .style_subtitle{
	font-weight: 500;
	position: absolute;
	bottom: 10%;
	left: 3.5%;
	color: #ffffff;
	letter-spacing: 1.6px;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}

#ap_content .ap_box .style_title2{
	position: absolute;
	color: #ffffff;
	bottom: 14%;
	right: 3%;
	font-family: "freight-neo-pro", sans-serif;
	font-weight: 500;
	font-size: 50px;
	line-height: 1;
	text-align: right;
}

#ap_content .ap_box .style_subtitle2{
	font-weight: 500;
	position: absolute;
	bottom: 10%;
	right: 3.5%;
	color: #ffffff;
	letter-spacing: 1.6px;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}

.nom1,.nom2{
	font-family: "trajan-pro-3", serif;
	position: absolute;
	z-index: 15;
	color: #ffffff;
	font-size: 70px;
}
.nom1{
	top: 0%;
	left: 2%;
}

.nom2{
	top: 0%;
	right: 2%;
}

.nom{
	font-family: "trajan-pro-3", serif;
	font-size: 55px;
	line-height: 1;
	margin: 15% auto 3%;
}

.item_title{
	color: #333333;
	font-family: "freight-neo-pro", sans-serif;
	font-weight: 500;
	font-size: 35px;
	line-height: 1.2;
	letter-spacing: .5px;
	
}
.item_subtitle{
	font-weight: 500;
	color: #333333;
	letter-spacing: 1.6px;
	font-family: "Yu Mincho", "Hiragino Mincho ProN", "serif";
	font-size: 13px;
	line-height: 2.5;
}

.item_lead{
	font-size: 14px;
	margin: 3% 0 5%;
	line-height: 2;
}

.buy{
	position: absolute;
	bottom: 3%;
	left: 4%;
	background: rgb(255,255,255,.6); 
	padding: 5px 20px;
	font-family: "freight-neo-pro", sans-serif;
}
.buy a{
	color: #333333;
}

.buy2{
	position: absolute;
	bottom: 3%;
	right: 4%;
	background: rgb(255,255,255,.6); 
	padding: 5px 20px;
	font-family: "freight-neo-pro", sans-serif;
}
.buy2 a{
	color: #333333;
}

.item_tex,.item_tex2{
	width: 60%;
	text-align: center;
	margin: 5% auto;
	font-family: "avenir-lt-pro", sans-serif;
}

.item_tex .credit,.item_tex2 .credit {
    position: relative;
	margin: 1% auto;
    text-align: left;
	padding: 2% 0;
}

.item_tex .credit a,.item_tex2 .credit a{
	color: #333;
    font-size: 13px;
	line-height: 1.3em;
	letter-spacing: 1px;
}

.item_tex .credit a::after,
.item_tex2 .credit a::after{
    width: 100px;
    content: "BUY";
    position: absolute;
    right: 2%;
    transform: translate(0, -50%);
    font-size: 13px;
    font-weight: 200;
    font-family: "freight-neo-pro", sans-serif;
    text-align: center;
	color: #333333;
	border: 1px solid #333333;
	line-height: 2em;
}
.item_tex .credit span.yen,
.item_tex2 .credit span.yen{
	font-family: "freight-neo-pro", sans-serif;
}

.style_sublead{
	margin: 10% auto 5%;
	position: relative;
	font-size: 20px;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}
	
.style_sublead .scroll::before {
  animation: scroll 2s infinite;
  background-color: #bdc6ce;
  bottom: 90px;
  content: "";
  height: 70px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  width: 1px;
}

/* 線のアニメーション */
@keyframes scroll {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  51% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

.scroll{
	margin: 25% 0 4%;
}

#ap_content .ap_box .style_sublead{
    font-size: 22px;
    letter-spacing: 4px;
    font-weight: bolder;
    margin: 8% 0 4%;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}

#ap_content .ap_box .style_lead{
	font-size: 15px;
	line-height: 2em;
	margin: 0 auto 8%;
	letter-spacing: 2px;
}

.item_section{
	margin: 0 auto;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}

.obi_box{
	display: flex;
	justify-content: space-around;
	font-size: 13px;
	margin: 8% auto 2%;
	font-family: "freight-neo-pro", sans-serif;
}

#ap_content .ap_box .main_box{
    display: flex;
	justify-content: center;
}

#ap_content .ap_box .img{
    width: 100%;
    display: block;
    position: relative;
}
#ap_content .ap_box .check{
    width:30px;
    bottom: 3%;
    right: 5%;
    position: absolute;
}

#ap_content .staff_box {
    width: 90%;
    text-align: center;
    display: inline-block;
    position: relative;
    margin: 10% auto;
}
#ap_content .staff_box p {
    font-size: 12px;
    text-align: center;
    line-height: 2em;
    font-weight: 100;
    font-family: "freight-neo-pro", sans-serif;
    display: inline-block;
    position: relative;
    letter-spacing: .3px;
    margin: 0 auto;
}

.profile_box{
	width: 70%;
	margin: 0 auto;
	font-size: 13px;
	border: 1px solid #333333;
	padding: 5% 2%;
	letter-spacing: 2px;
	line-height: 1.6;
}
.pro_name{
	font-weight: bold;
	font-size: 16px;
	margin: 0 0 6%;
}

.pro_name span{
	font-weight: 500;
	font-family: "freight-neo-pro", sans-serif;
	font-size: 14px;
}
.profile_box .ig img{
	width: 30px!important;
	margin-top: 5%;
}

/************************************************************
               ボタン
***********************************************************/
.btn_01{
	margin-top: 0;
}

.btn_01 a {
    display: inline-block;
    text-align: right;
    vertical-align: middle;
    text-decoration: underline!important;
    margin: 0 auto;
    padding: 1% 0;
    color: #ffffff;
    transition: 0.5s;
    font-size: 11px;
    font-weight: 500;
    line-height: 1em;
}

/*ボタン共通設定 */
.btn{
    position: relative;
    overflow: hidden;
    text-decoration: none;
    display: inline-block;
    border: 1px solid #555;
    width: 50%;
    padding: 2% 4%;
    text-align: center;
    outline: none;
    color: #333333; 
    transition: ease .2s;
    font-size: 16px;
    font-weight: 600;
    font-family: 'Cormorant Garamond', serif;
}


.btn_all a {
    background: #333333;
    color: #ffffff!important;
	border: 1px solid #333333;
    font-size: 14px;
    font-weight: 500;
    width: 90%;
    line-height: 2em;
    letter-spacing: 1px;
    margin: 15% auto 10%;
    display: inline-block;
    border-radius: 3px;
    padding: 4.5% 0
}

.w_60{
    width: 60%;
    margin: 0 auto;
}

/************************************************************
               その他
***********************************************************/
.sp {
	display:none;
}
.pc{
    display: block;
}い
.small{
	font-size: 75%;
}

.Left{
    float: left;
}
.Right{
    float: right;
}

.clear {
	clear: both;
}
.Poppins{
    font-family: 'Poppins', sans-serif;
}

.mb_20{
	margin-bottom: 20%;
}

/************************************************************
                SP
************************************************************/

@media only screen and (max-width:768px){
	#ap_wrap {
		width: 100%;
        margin: 0% auto;
		text-align: center;
        padding: 10% 0 0%;
    }	
	
	#ap_wrap ul{
		margin: 8% 15%;
	}
	
    #ap_wrap li {
        width: 100%;
    }
	
    #ap_head .title{
        top: 38%;
        left: 3%;
        width: 94%;
    }

    #ap_head .top_lead{
        top: 53%;
        right: 3%;
		left: auto;
        width: 36%;
    }
	
	#ap_head .lead{
		font-size: 15px;
	}
	
    #ap_content{
        margin: 15% auto 0;
    }
    #ap_content .ap_box .style_title{
        font-size: 35px;
		bottom: 16%;
    }
    #ap_content .ap_box .style_subtitle {
        font-size: 13px;
		bottom: 11%;
    }
	
    #ap_content .ap_box .style_title2{
        font-size: 35px;
		bottom: 16%;
    }
    #ap_content .ap_box .style_subtitle2 {
        font-size: 13px;
		bottom: 11%;
    }	
	
    #ap_content .ap_box .style_sublead {
        font-size: 18px;
        letter-spacing: 3px;
		margin: 10% 0 5%;
    }
	
    .style_sublead .scroll::before {
        bottom: 75px;
        height: 60px;
    }	
	
	.scroll{
		margin: 35% 0 4%;
	}
	
    #ap_content .ap_box .style_lead {
        font-size: 13px;
    }
	
	.item_tex,.item_tex2{
		width: 85%;
	}
	
    .obi {
        margin: 5% auto 0;
    }
	
    #ap_content .ap_box .main_box {
        display: block;
    }
	
	.item_title{
		font-size: 25px;
	}
	
	.profile_box{
        width: 85%;
		padding: 5% 3%;
    }
	.ig img{
		width: 25px;
	}
	
	.staff_box{
		margin: 10% auto;
	}
	
    .nom{
        font-size: 50px;
		letter-spacing: .5px;
		margin: 20% auto 3%;
    }	
	
    .modal-1__content-wrap,
    .modal-2__content-wrap,
    .modal-3__content-wrap,
    .modal-4__content-wrap,
    .modal-5__content-wrap,
    .modal-6__content-wrap,
    .modal-7__content-wrap,
    .modal-8__content-wrap,
    .modal-9__content-wrap,
    .modal-10__content-wrap,
    .modal-11__content-wrap,
    .modal-12__content-wrap{
        padding: 5px;
    }	
	
	.pro_name{
        margin: 3% 0 6%;
    }

	/*button*/
    .btn_01 a{
        padding: 2% 0;
		font-size: 11px;
    }	
    
    .btn{
        font-size: 13px;
        width: 90%;
        padding: 3% 4%;
    }
	
	/*その他*/
    .pc {
		display:none;
	}
	.sp {
		display:block;
		width: 100%;
	}
    .Left{
        float: none;
    }
    .Right{
        float: none;
    }
    .small{
        font-size: 70%;
    }
	
}
