@charset "utf-8";
/* SP */
@media  screen and ( max-width:768px ){

* {
  margin: 0;
  padding: 0;
}

.sp { display: block !important; }
.pc { display: none !important; }

/*---h,p---*/
h1{
    font-size: 7vw;
}
h2{
    font-size: 7.5vw;
}
h3 {
    font-size: 6vw;
}
h4 {
    font-size: 4vw;
}
h5 {
    font-size: 6vw;
}
p {
    font-size: 4vw;
}

/*---header---*/
header{
    width: 100%;
    height: 60px !important;
    background: #fff;
    border-bottom: solid 1px #000;
    display: flex;
    justify-content: center;
    align-items: center;
}
header img{
    width: 100%;
}
header .logo{
    height: 60px;
    width: 100%;
}
header .sodjs{
    width: 170px;
    margin: 15px 15px 12px 15px;
    padding-right: 15px;
}
header .sns{
    width: 30%;
}
header .sns p{
    margin: 4%;
}

/*---hd-ft共通 logo sns---*/
.sns img{
    height: 20px;
    width: auto;
}

/*---content---*/
.content {
  position: relative;
  z-index: 1;
}

/*---box---*/
.box {
    width: 100%;
    margin: 13% auto;
    text-align: center;
}
.box .inner{
    width: 90%;
    margin: 0 auto 0;
}
.box img{
    width: 100%;
}
.white {
    background-color: #fff;
    padding: 13% 0;
    border-radius: 30px;
    filter: drop-shadow(0 10px 5px rgba(0, 0, 0, 0.123));
    position: relative;
}
.end {
    margin: 13% auto 0;
    padding-bottom: 13%
}

/*---parts---*/
.down {
    position: absolute;
    top: -15px;
    width: 8%;
    left: 46%;
}
.divider {
    height: 1px;
    margin: 8% auto;
}
.s_ttl {
    font-size: 2.5vw;
    letter-spacing: 0.1em;
    margin-bottom: 1%;
}
.photo{
    width: 80%;
}
.txt{
    width: 100%;
    text-align: center;
    margin-left: 0;
    margin-top: 8%;
}
.red p{
    border: solid 1px #E40025;
}
.red p:hover {
    border: solid 1px #000;
}

/*---release---*/
.release ul{
    width: 100%;
    margin-bottom: 8%;
}
.buy-btn {
    width: 90%;
    padding: 5% 0;
    font-size: 5vw;
    margin-top: 8%;
}
.modal {
    width: 90%;
    padding: 4%;
}
.close-btn {
    width: 34px;
    height: 34px;
    font-size: 6vw;
    line-height: 34px;
}

/*---actress---*/
.actress li{
    width: 44%;
    margin: 0 2%;
}
.actress h4{
    margin-top:6%;
}
.actress h5{
    margin-top:4%;
}
.actress .s_ttl {
    margin-top:4%;
}
.actress button {
    text-align: center;
    margin-top: 8%;
}
.actress button p{
    display: inline-block;
    margin: 0 7%;
    width: 24%;
}

/*---fantia---*/
.fantia .txt{
    margin-top: 3%;
}
.fta-btn {
    width: 100%;
    margin: 5% auto 0;
}
.fta-btn p{
    width: 70%;
    padding: 4% 0;
    margin: 0 auto 0;
}
.fta-btn img{
    width: 38%;
}

/*---dvd---*/
.dvd ul{
    width: 100%;
    margin-bottom: 8%;
}
.dvd-btn {
    width: 100%;
    margin-top: 8%;
}
.dvd-btn p{
    display: inline-block;
    width: 44%;
    margin: 0 1%;
    padding: 4% 0;
}
.dvd-btn img{
    width: 52%
}

/*---lineup---*/
.lineup ul{
    width: 100%;
    margin-top: 6%;
}
.lineup li{
    display: inline-block;
    vertical-align: middle;
    width: 29%;
    margin: 0 1%;
}
.lineup img:hover {
    opacity: 0.7;
    transition: 0.5s;
}

/*---pageTop---*/
#pageTop {
    text-align: right;
    padding-right: 20px;
    line-height: 0;
}
#pageTop img {
    width: 100px;
}

/*---header---*/
footer{
    border-top: solid 2px #000;
}
footer .logo{
    text-align: center;
}
footer .sodjs{
    width: 60%;
    margin: 0 auto 2%;
}
footer .sod{
    width: 26%;
    margin: 0 auto 7%;
}
footer .sns{
    text-align: center;
    width: 100%;
    padding: 10% 0 6%;
}
footer .sns p{
    margin: 0 2%;
}
footer .copy{
    font-size: 2.5vw;
    letter-spacing: 1px;
    text-align: center;
    padding: 3% 0;
    background: #000;
    color: #fff;
}
}
