#detail .font-fm01 {font-family: 'TsukuAOldMinPr6N-R', serif !important}
#detail .font-fm02 {font-family: 'TsukuAOldMinPr6N-M', serif !important}
#detail .font-fm03 {font-family: 'TsukuAOldMinPr6N-E', serif !important}
#detail .font-fm04 {font-family: 'FP-KoburinaGoStdN-W3', sans-serif !important}

#detail .font-40 {font-size: 40px!important; line-height: 1.6!important; margin-bottom: 0.1em!important;}
#detail .font-28 {font-size: 28px!important; line-height: 1.6!important; margin-bottom: 1em!important;}
#detail .font-24 {font-size: 24px!important; line-height: 1.6!important; margin-bottom: 0.1em!important;}
#detail .font-18 {font-size: 18px!important; line-height: 1.6!important; margin-bottom: 1em!important;}
#detail .cap {font-size: 12px!important;}
#detail .al_c {text-align: center!important;}
#detail .al_l {text-align: left!important;}
#detail .al_r {text-align: right!important;}
#detail h2 {font-size: 24px;margin: 3em auto 1.5em;}
#detail h3 {font-size: 24px;line-height: 1.4!Important; margin-bottom: 0.5em;}
@media only screen and (max-width: 1024px) {
#detail .font-40 {font-size: 34px!important; line-height: 1.6!important; margin-bottom: 0.1em!important;}
#detail .font-28 {font-size: 26px!important; line-height: 1.6!important;}
#detail .font-24 {font-size: 21px!important; line-height: 1.6!important;}
#detail .font-18 {font-size: 17px!important; line-height: 1.6!important;}
#detail .cap {font-size: 11px!important;}
#detail h2 {font-size: 21px;}
#detail h3 {font-size: 21px;}
}
@media only screen and (max-width: 640px) {
#detail .font-40 {font-size: 28px!important; line-height: 1.6!important; margin-bottom: 0.1em!important;}
#detail .font-28 {font-size: 24px!important; line-height: 1.6!important;}
#detail .font-24 {font-size: 18px!important; line-height: 1.6!important;}
#detail .font-18 {font-size: 16px!important; line-height: 1.6!important;}
#detail .cap {font-size: 10px!important;}
#detail h2 {font-size: 18px;}
#detail h3 {font-size: 18px;text-align: center;}
}

#detail .detail_inner h1 {
letter-spacing: 0.08em;
}

/*mainvisual*/
#detail .mainvisual {
overflow: hidden;
}
#detail .mainvisual {
}
#detail .mainvisual img {
transform: scale(1.05);
filter: blur(10px) brightness(1.5) opacity(0);
transition: filter 1.5s, transform 2s;
}
#detail .mainvisual .active img {
transform: scale(1);
filter: none;
}
@media only screen and (max-width: 640px) {
#detail .mainvisual {
}
#detail .main_copy p.font-18 {
text-align: center;
}
}

/*sub_ttl*/
#luxy #detail .sub_ttl {
width: 100%;
font-size:24px;
padding: 10px 0;
position: relative;
}
#luxy #detail .sub_ttl:before {
content: "";
width: 100%;
height: 1px;
position: absolute;
top: 0;
left: 0;
background-color: #362457;
transition: transform 1s;
transform-origin: top left;
transform: scale(0,100%);
}
#luxy #detail .sub_ttl.active:before {
transform: scale(100%,100%);
}
#luxy #detail .sub_ttl:after {
content: "";
width: 100%;
height: 1px;
position: absolute;
bottom: 0;
right: 0;
background-color: #362457;
transition: transform 1s;
transform-origin: bottom right;
transform: scale(0,100%);
}
#luxy #detail .sub_ttl.active:after {
transform: scale(100%,100%);
}
#luxy #detail .ttl_mask {
height: 1.5em;
overflow: hidden;
position: relative;
}
#luxy #detail .sub_ttl p {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,50%);
transition: transform 1.0s;
letter-spacing: 0.1em;
width: 100%;
text-align: center;
font-size: 24px;
font-family: 'TsukuAOldMinPr6N-M', serif !important;
}
#luxy #detail .sub_ttl p.active {
transform: translate(-50%,-50%);
}
@media only screen and (max-width: 1024px) {
#luxy #detail .sub_ttl {
width: 100%;
font-size:21px;
padding: 7px 0;
position: relative;
}
#luxy #detail .sub_ttl p {
font-size: 21px;
}
}
@media only screen and (max-width: 640px) {
#luxy #detail .sub_ttl {
width: 100%;
font-size:18px;
padding: 7px 0;
position: relative;
}
#luxy #detail .sub_ttl p {
font-size: 18px;
}
}

/*contents*/
#detail .pkg_wrap {
width: 85%;
margin: 0 auto;
}
#detail .pkg_inner {
display: flex;
}
#detail .pkg_inner dd {
text-align: center;
line-height: 1.5!important;
}
@media only screen and (max-width: 640px) {
#detail .pkg_wrap {
width: 90%;
}
#detail .pkg_inner {
flex-wrap: wrap;
}
}


#detail .flex_wrap {
width: 82%;
margin: 25px auto;
display: flex;
justify-content: space-between;
align-items: center;
}
#detail .flex_wrap div {
width: 46%;
}
@media only screen and (max-width: 640px) {
#detail .flex_wrap {
width: 100%;
margin: 25px auto 10px;
display: block;
}
#detail .flex_wrap div {
width: 100%;
margin-bottom: 15px;
}
}

#detail .popup_img {
margin-bottom: 40px;
}
#detail .about_wrap {
background-color: rgba(255,255,255,0.4);
width: auto;
margin-top: 40px;
padding: 35px 50px;
}
#detail .about_wrap p {
line-height: 1.5;
margin-bottom: 0;
}
#detail ul {
text-align: center;
}
#detail li a {
text-align: center;
color: #362457;
font-size: 14px;
line-height: 1.4;
font-family: 'FP-KoburinaGoStdN-W3', sans-serif;
}
#detail li a span {
position: relative;
padding: 4px 0 4px 0;
background: linear-gradient(#362457, #362457) 0 100%/0 1px no-repeat;
transition: background 0.75s;
animation:border-backlink 0.75s cubic-bezier(0.6, 0, 0, 0.8) both;
}
@media (any-hover: hover) {
#detail li a:hover span {
animation:border-backlinkhover 0.75s cubic-bezier(0.6, 0, 0, 0.8) both;
}
}
@media (any-hover: none) {
#detail li a:hover span {
animation:border-backlinkhover 0.75s cubic-bezier(0.6, 0, 0, 0.8) both;
}
}
@media only screen and (max-width: 640px) {
#detail .popup_img {
margin-bottom: 30px;
}
#detail .about_wrap {
background-color: rgba(255,255,255,0.4);
width: auto;
padding: 20px 20px;
margin: 30px auto 0;
}
#detail ul {
text-align: center;
}
#detail li a {
text-align: center;
font-size: 13px;
line-height: 1.25;
}
#detail li a span {
position: relative;
padding: 4px 0 4px 0;
background: linear-gradient(#362457, #362457) 0 100%/0 1px no-repeat;
transition: background 0.75s;
animation:border-backlink 0.75s cubic-bezier(0.6, 0, 0, 0.8) both;
}
}