*, *:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	margin:0;
	padding:0;
	outline:none;
	overflow:visible;
}

img {
	width:100%;
}

a{
	text-decoration:none;
	transition:.35s;
}

.caution {
color:#f00;
}


#header,
#mainBox {
	width:98%;
	max-width:1200px;
	margin:0 auto;
	position:relative;
}

#header {
	text-align:center;
	line-height:96px;
	overflow:hidden;
}

#header img {
	height:20px;
	width:auto;
}

#header .logo {
	float:left;
}

#header .logo_jp {
	float:right;
}

#mainBox {
	overflow:hidden;
}


/*トップページここから*/

#mainBox .leftBox,
#mainBox .rightBox {
	float:left;
	width:48%;
	height:auto;
	padding:90px 0;
}


#mainBox .leftBox{
	background:url(../img/top_al_bg.png) 0 0 no-repeat;
	background-size: cover;
	margin-right:4%;
}

#mainBox .rightBox{
	background:url(../img/top_mv_bg.png) 0 0 no-repeat;
	background-size: cover;
}

#mainBox .leftBox ul,
#mainBox .rightBox ul {
	width:80%;
	height:auto;
	padding:50px 0 40px;
	background:rgba(255,255,255,0.93);
	margin:0 auto;
}


#mainBox .leftBox ul li,
#mainBox .rightBox ul li {
	margin:0 0 2px 0;
	font-size:0px;
}

#mainBox .leftBox ul li.title,
#mainBox .rightBox ul li.title {
	margin:0 0 14px 0;
}

#mainBox .leftBox ul li a,
#mainBox .rightBox ul li a{
	display:block;
	padding:2px 0;
}



#mainBox .leftBox ul li a:hover,
#mainBox .rightBox ul li a:hover,
ul.menuBox li a:hover {
	background:rgba(200,200,200,1);
}


/*トップページここまで*/

ul.menuBox {
	float:left;
	width:20%;
	background:rgba(255,255,255,1);
	margin-right:1%;
}


ul.menuBox li {
	margin-bottom:10px;
	font-size:0px;
}

ul.menuBox li.title {
	margin-bottom:29px;
}


ul.menuBox li a {
	display:block;
	background:rgba(255,255,255,1);
	padding:0 0 0 5px;
}


ul.menuBox li.menuTxt a {
		font-size:14px;
	font-weight:bold;
	padding:10px 0 10px 5px;
	color:#333;
}

.albumBox,
.movieBox {
	float:left;
	width:79%;
	overflow:hidden;
}

.alTitle01,
.mvTitle01 {
position:relative;
text-align:right;
}

.mvTitle02 {
margin:20px 0;
overflow:hidden;
text-align:left;
}


.mvTitle02 img:first-of-type {
float:left;
max-width:446px;
width:100%;
}

.mvTitle02 img:last-of-type {
float:right;
max-width:300px;
width:100%;
}

.mvTitle02 p {
clear:both;
padding-top:20px;
border-top:1px solid #333;
}

.alTitleBox{
	width:25%;
	text-align:left;
	background:#fff;
	padding:20px 10px;
	position:absolute;
  top: 50%;
  transform: translateY(-50%);
	z-index:10;
	margin:auto;
	overflow:auto;
	overflow-x: hidden;
}

.mvTitleBox {
	width:40%;
	text-align:left;
	background:#fff;
	padding:40px 10px 0;
	position:absolute;
    top: 50%;
    transform: translateY(-50%);
	z-index:10;
	margin:auto;
	overflow:auto;
	overflow-x: hidden;
	font-size:12px;
	line-height:1.8;
}

.mvTitleBox.as {
	width:45%;
		line-height:1.5;
}

.alTitleBox img{
width:80%;
max-width:300px;
margin:0 0 30px 0;
}

.mvTitleBox img{
width:80%;
max-width:300px;
margin:0 0 10px 0;
}

.mvTitleBox.as img{
width:80%;
max-width:250px;
margin:0 0 10px 0;
}

.alTitleBox p,
.mvTitleBox p{
margin:0 0 30px 0;
font-size: 13px;
}

.mvTitleBox p{
font-weight:bold;
}

.alTitleBox .price {
display:inline-block;
font-size:24px;
line-height:0.8em;
margin:0;
}

.alTitleBox .price span {
font-size:12px;
font-weight:normal;
}

.alTitle01>img,
.mvTitle01>img{
width:90%;
}


 .alTitle,
.mvTitle{
	width:47%;
	margin:0 2% 10px 0;
	float:left;
}

.alTitle img,
.mvTitle img {
	margin-bottom:10px;
}

.alSpec,
.mvSpec {
	width:51%;
	float:left;
	font-size:12px;
	overflow:hidden;
}

.alSpecWide,
.mvSpecWide{
    width:100%;
    overflow:hidden;
    font-size:12px;
    margin-bottom:20px;
}


.alSpec p:first-child {
	font-weight:bold;
	margin-bottom:1em;
	border-bottom:1px solid #333;
	display:inline-block;
}

.alSpecWide p.specWide,
.mvSpecWide p.specWide{
	border-bottom:1px solid #333;
	width:35%;
	padding-bottom:10px;
	border-width:0 0 1px 0;
	float:right;
}


.mvSpec p:first-child::after {
clear:both;
content:"";
display:block;
}


.mvSpec .spec {
	font-weight:bold;
		margin-bottom:1em;
display:block;
margin-right:10px;
background:#f2f2ee;
color:#333;
text-align:center;
padding:2px 5px;
float:left;
width:4em;
}

.mvSpec .specR {
display:block;
float:left;
width:calc(100% - 5em);
}

.mvSpec table,
.alTitle table,
.alSpec table {
	width:100%;
	border-collapse:collapse;
}

.alTitle table,
.alSpec table{
font-size:11px;
margin:10px 0;
}

.alSpecWide table,
.mvSpecWide table {
	float:left;
	border-collapse:collapse;
	margin:0 2% 0 0;
	width:63%;
}


.mvSpecWide table:first-of-type {
margin:0 2% 20px 0;
}

.mvSpecWide.as table:first-of-type{
margin-bottom:10px;
}

.mvSpecWide table:first-of-type td {
padding:10px;
}

.mvSpecWide table:first-of-type ul{
text-align:left;
}
.mvSpecWide table:first-of-type ul li{
margin-left:1em;
list-style:disc outside;
}

.mvSpecWide table:first-of-type td span {
display:inline-block;
text-align:left;
width:100%;
}

.alSpecWide table:last-of-type,
.mvSpecWide table:last-of-type {
margin:0;
}

.mvSpecWide table.customerInfo {
	float:none;
	clear:both;
	border:none;
	width:100%;
}

.mvSpecWide table.customerInfo th,
.mvSpecWide table.customerInfo td {
border:none;
padding:10px;
}

.mvSpecWide table.customerInfo th {
    width:100px;
   }
   
   .mvSpecWide table.customerInfo td{
   	text-align:left;
   }


.alSpecWide h4.title,
.mvSpecWide h4.title {
clear:both;
padding:20px 0;
font-size:14px;
font-weight:bold;
}

.mvSpec table th,
.alTitle table th,
.alSpec table th,
.alSpecWide table th{
	border:1px solid #000;
	background:#F2F2EE;
	text-align:center;
	padding:2px;

}

.alSpecWide table th,
.mvSpecWide table th {
	border:1px solid #000;
	background:#F2F2EE;
	padding:10px 0;
}



.mvSpec table td,
.alTitle table td,
.alSpec table td,
.alSpecWide table td,
.mvSpecWide table td{
	border:1px solid #000;
	text-align:left;
	padding:2px;
}

.alSpecWide table td,
.mvSpecWide table td{
padding:20px 0;
text-align:center;
}

.alTitle table td{
padding:10px 0;
text-align:center;
}

.alSpec table td,
.mvSpec table td{
padding-left:1em;
padding-right:1em;
}

.alSpec table:first-of-type td{
text-align:center;
}

table.dataLimit td{
text-align:center;
}

table.dataLimit tr td:first-of-type span{
text-align:left;
width:100%;
max-width:7em;
display:inline-block;
}

table.dataLimit tr td:last-of-type span{
text-align:left;
width:100%;
max-width:25em;
display:inline-block;
}



.alSpecWide table.conf,
.mvSpecWide table.conf {
	width:48%;
}

.alSpecWide table.confCenter,
.mvSpecWide table.confCenter {
	width:20%;
}

.alSpecWide table.confLast,
.mvSpecWide table.confLast {
	width:28%;
	margin:0;
}


.alSpecWide table.conf tr:first-of-type,
.alSpecWide table.confCenter tr:first-of-type,
.alSpecWide table.confLast tr:first-of-type,
.mvSpecWide table.conf tr:first-of-type,
.mvSpecWide table.confCenter tr:first-of-type,
.mvSpecWide table.confLast tr:first-of-type {
    height:30px;
   }
   
   
.alSpecWide table.conf td,
.alSpecWide table.confCenter td,
.alSpecWide table.confLast td,
.mvSpecWide table.conf td,
.mvSpecWide table.confCenter td,
.mvSpecWide table.confLast td {
	padding:5px 0;
}

.alSpecWide table.conf tr:nth-child(n+2) td:first-of-type span,
.alSpec table:first-of-type tr td span,
.mvSpecWide table.conf tr:nth-child(n+2) td:first-of-type span{
text-align:left;
display:inline-block;
width:100%;
max-width:11em;
}


.alSpecWide table.conf,
.alSpecWide table.confCenter,
.alSpecWide table.confLast,
.mvSpecWide table.conf,
.mvSpecWide table.confCenter,
.mvSpecWide table.confLast {
min-height:120px;
}


.pointBox {
    position: relative;
    margin: 2em 0;
    padding: 1em;
    border: solid 1px #333;
}

.pointBox .box-title {
    position: absolute;
    display: inline-block;
    top: -7px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    background: #FFF;
    color: #333;
    font-weight: bold;
}

.pointBox p {
    margin:0; 
    padding: 0;
    text-align:center;
    font-weight:normal;
}

.alSpecWide .pointBox,
.mvSpecWide .pointBox {
float:right;
width:35%;
}

.mvSpecWide .pointBox {
margin:0px;
padding:0;
display:table;
min-height:115px;
}
.mvSpecWide .box-title {
font-size:16px;
}
.mvSpecWide .pointBox p {
display:table-cell;
height:100%;
vertical-align:middle;
padding:4px 0 0 0;
}


.alPhoto,
.alPhoto_viola {
	clear:both;
	overflow:hidden;
}

.alPhoto img {
	float:left;
	width:37%;
	margin:0 0 15px 0;
}

.alPhoto img:first-child {
	width:62%;
	margin-right:1%;
}



.alPhoto_viola,
.alPhoto_classic,
.alPhoto_grande {
margin:30px 0;
}

.alPhoto_viola img {
float:left;
width:58.5%;
}

.alPhoto_viola img:first-child {
width:39.5%;
margin-right:2%;
}

.alPhoto_classic img,
.alPhoto_grande img {
float:left;
width:49%;
margin-bottom:20px;
}

.alPhoto_classic img:nth-child(odd),
.alPhoto_grande img:nth-child(odd) {
margin-right:2%;
}

.featureBox {
    background:#f2f2ee;
    margin:20px 0 30px 0;
    overflow:hidden;
    text-align:left;
    padding:40px 20px 10px;
   }
   
   .featureBox p.title {
   	padding:0px;
   	background:#fff;
   	margin:0 0 20px 0;
   	border:1px solid #333;
   	box-shadow:5px 5px rgba(200,200,200,1);
   	overflow:hidden;
   	width:80%;
    max-width:300px;
    font-size:0px;
   }
   
.featureBox p.item{
      	float:left;
      	margin:0 2% 30px 0;
      	width:28%;
      	overflow:hidden;
}

.featureBox p.item:last-child{
margin:0 0 0 0;
width:40%;
}

.featureBox p.item_classic{
      	float:left;
      	margin:0 2% 30px 0;
      	width:49%;
      	overflow:hidden;
      	position:relative;
}
     
.featureBox p.item_classic:nth-child(odd){
      	margin-right:0;
}

.featureBox p.item_grande,
.featureBox p.item_grande_l{
      	float:left;
      	margin:0 2% 30px 0;
      	width:49%;
      	overflow:hidden;
      	position:relative;
}
     
.featureBox p.item_grande{
      	margin-right:0;
}

   
.featureBox p.item img{
      	float:left;
      	margin:0 10px 0 0;
      	max-height:120px;
      	width:auto;
}

.featureBox p.item_classic img,
.featureBox p.item_grande img{
      	float:left;
      	margin:0 10px 0 0;
      	max-height:200px;
      	width:auto;
}
.featureBox p.item_grande_l img{
      	float:left;
      	margin:0 10px 0 0;
      	max-height:1000px;
      	max-width:200px;
}
            
.featureBox p.item span,
.featureBox p.item_classic span,
.featureBox p.item_grande span,
.featureBox p.item_grande_l  span,
.mvTitleBox p span{
      	background: linear-gradient(transparent 60%, rgba(174,136,188,.4) 60%);
      	line-height:2;
      	font-size:12px;
		padding:5px 0;
		font-weight:bold;
}

.mvTitleBox.as p span{
      	background: linear-gradient(transparent 60%, rgba(189,221,231,.7) 60%);
}

.featureBox p.item_classic span.note,
.featureBox p.item_grande span.note,
.featureBox p.item_grande_l  span.note{
      	background: none;
      	line-height:1.5;
      	font-size:11px;
		padding:20px 0 0 0;
		display:block;
		font-weight:normal;
}



.alCmmnt,
.mvCmmnt {
	clear:both;
	text-align:right;
	margin-bottom:20px;
	font-size:10px;
}

.mvSpecWide.as .mvCmmnt {
text-align:left;
}

.mvSpecWide .mvCmmnt:last-child {
clear:both;
text-align:right;
padding-top:10px;
}

.classicClr01::before {
	content:"";
	display:inline-block;
	width:30px;
	height:10px;
	border:1px solid #333;
	background:rgba(255,255,255,1);
	margin:0 5px 0 0;
}

.classicClr02::before {
	content:"";
	display:inline-block;
	width:30px;
	height:10px;
	border:1px solid #333;
	background:rgba(124,146,163,1);
	margin:0 5px 0 10px;
}

.classicClr03::before {
	content:"";
	display:inline-block;
	width:30px;
	height:10px;
	border:1px solid #333;
	background:rgba(233,139,158,1);
	margin:0 5px 0 10px;
}

.grandeClr01::before {
	content:"";
	display:inline-block;
	width:30px;
	height:10px;
	border:1px solid #333;
	background:rgba(255,255,255,1);
	margin:0 5px 0 0;
}

.grandeClr02::before {
	content:"";
	display:inline-block;
	width:30px;
	height:10px;
	border:1px solid #333;
	background:rgba(255,248,233,1);
	margin:0 5px 0 10px;
}

.grandeClr03::before {
	content:"";
	display:inline-block;
	width:30px;
	height:10px;
	border:1px solid #333;
	background:rgba(166,197,222,1);
	margin:0 5px 0 10px;
}

.prismClr01::before {
	content:"";
	display:inline-block;
	width:30px;
	height:10px;
	border:1px solid #333;
	background:rgba(255,255,255,1);
	margin:0 5px 0 0;
}

.prismClr02::before {
	content:"";
	display:inline-block;
	width:30px;
	height:10px;
	border:1px solid #333;
	background:rgba(0,0,0,1);
	margin:0 5px 0 10px;
}

.prismClr03::before {
	content:"";
	display:inline-block;
	width:30px;
	height:10px;
	border:1px solid #333;
	background:rgba(89,46,26,1);
	margin:0 5px 0 10px;
}
	
.prismClr04::before {
	content:"";
	display:inline-block;
	width:30px;
	height:10px;
	border:1px solid #333;
	background:rgba(208,54,43,1);
	margin:0 5px 0 10px;
}
	
.prismClr05::before {
	content:"";
	display:inline-block;
	width:30px;
	height:10px;
	border:1px solid #333;
	background:rgba(0,92,152,1);
	margin:0 5px 0 10px;
}

.mvBox {
	clear:both;
	width:100%;
}

video,
.videoTxt {
	display:block;
	width:100%;
	max-width:680px;
	padding:50px 0;
	margin:0 auto;
}

.videoTxt {
	text-align:center;
	padding:50px 0 0 0;
	line-height:30px;
}

div.videoTxt{
	overflow:hidden;
	padding:10px 0 0 0;
}

.videoTxt .title {
	display:inline-block;
	margin-right:5%;
	border:1px solid #333;
	border-width:1px 0;
	width:6em;
}

div.videoTxt p {
	clear:both;
}

div.videoTxt table{
	float:left;
	max-width:250px;
	width:38%;
	border-collapse:collapse;
	margin-top:15px;
}

div.videoTxt table td{
	border:1px solid #333;
	padding:5px;
	text-align:center;
	vertical-align:middle;
}

div.videoTxt table td.sp{
	background:#f3e1e4;
}

div.videoTxt table td.sm{
	background:#e8f4fb;
}

div.videoTxt table td.au{
	background:#f8e9ca;
}

div.videoTxt table td.wn{
	background:#ebebeb;
}

div.videoTxt img {
	float:right;
	max-width:400px;
	width:60%;
}


.osBox  {
	background:#F2F2EE;
	padding:50px;
	width:100%;
	margin:30px 0;
}

.asBox  {
	background:rgba(189,221,231,.35);
	padding:50px;
	width:100%;
	margin:30px 0;
}

.osBox .pointBox,
.asBox .pointBox {
    position: relative;
    margin: 30px 0;
    padding:0;
    border: solid 1px #333;
    background:#fff;
}

.osBox .pointBox .box-title,
.asBox .pointBox .box-title {
    position: absolute;
    display: inline-block;
    top: -15px;
    left:2%;
    padding: 0 50px;
    background: #fff;
    border:1px solid #333;
   line-height:30px;
   font-size:18px;
   font-weight:bold;
}

.osBox .pointBox .box-title span,
.asBox .pointBox .box-title span {
	font-weight:normal;
	font-size:14px;
}

.osBox .pointBox p {
    margin:0; 
    padding: 15px 80px ;
    text-align:center;
    font-weight:normal;
}

.osBox .pointBox p.title {
	margin:50px 80px 0 80px;
	border-bottom:1px solid #333;
	line-height:40px;
	height:40px;
	padding:0px 0 30px 0;
	text-align:center;
}

.osBox .pointBox p.title::before {
	content:"";
	display:inline-block;
	vertical-align:middle;
	height:30px;
	width:30px;
	background:url(../img/os_music_eyecatch.png) 0 0 no-repeat;
	background-size:cover;
	margin-right:10px;
}

.osBox .pointBox p.isum {
	border:1px solid #333;
	border-width:1px 0;
	padding:10px;
	margin:10px 80px 50px;
}

.asBox .pointBox .asPointTxt {
	position:absolute;
	top:30px;
	left:2%;
	text-align:left;
}

.asBox .pointBox table {
	border-collapse:collapse;
	border:1px solid #fff;
	margin:70px auto 50px;
	width:90%;
}


.asBox .pointBox table td {
	border:1px solid #333;
	text-align:center;
	vertical-align:middle;
	padding:5px;
	max-width:280px;
	width:calc((90% - 126px) / 2);
}

.asBox .pointBox table td.as01 {
	white-space:nowrap;
	padding: 20px;
	width:126px;
	}
	
.asBox .pointBox table td.as02 {
text-align:left;
vertical-align:top;
font-size:10px;
}
	
.asBox .pointBox table td.aspt {
font-weight:bold;
font-size:16px;
color:#956d16;
}

.asBox .pointBox table td.aspt span {
font-size:10px;
}

	
.asBox .pointBox table td.ast {
font-weight:bold;
font-size:16px;
color:#727171;
}

.asBox .pointBox table td ul {
	width:100%;
	text-align:left;
	padding:0 10px 0 30px;
}

.asBox .pointBox table td ul li {
	list-style:disc;
	font-weight:bold;
}

.asBox .pointBox table td ul li.noStyle {
	list-style:none;
	font-weight:normal;

}

.asBox .pointBox table td ul li.noStyle::before {
  display: inline-block;
  content: "※";
  margin:0 0 0 -2em;
  width:2em;
  text-align:center;
  }

.asBox .pointBox table td img {
	max-width:200px;
	width:90%;
}

.asBox .pointBox table td span {
	font-size:10px;
}

.asBox .pointBox table td dl {
	width:100%;
	max-width:180px;
	margin:0 auto;
	overflow:hidden;
}

.asBox .pointBox table td dl dt,
.asBox .pointBox table td dl dd {
	float:left;
	text-align:left;
}

.asBox .pointBox table td dl dt {
	width:6em;
	line-height:1.5em;
}

.asBox .pointBox table td dl dd{
	font-weight:bold;
		line-height:1.5em;
}

.priceNote {
   background:#efefef;
   padding:30px;
   text-align:left;
   font-size:12px;
   }
   
   .priceNote h3 {
   	font-weight:bold;
   	font-size:16px;
   	text-decoration:underline;
   }

   .priceNote h4 {
   	font-size:14px;
   	margin:30px 0 10px 0;
   }
   
    .priceNote p {
    	margin:0 0 15px 0;
    }
   
   .priceNote p.caution {
   	background:#fff;
   	border:1px solid #ccc;
   	padding:5px 10px;
   	margin:15px 0;
   	text-align:left;
   	display:inline-block;
   	color:#f00;
   }

.priceNote table {
border-collapse:collapse;
margin:15px 0 30px 0;
width:100%;
}

.priceNote table td {
border:1px solid #333;
background:#fff;
padding:10px 20px;
text-align:center;
}

.priceNote table td.txtLeft {
text-align:left;
}

.priceNote table td span.text11em,
.priceNote table td span.text14em,
.priceNote table td span.text15em {
display:inline-block;
text-align:left;
width:100%;
}

.priceNote table td span.text11em{
max-width:11em;
}

.priceNote table td span.text14em{
max-width:14em;
}

.priceNote table td span.text15em{
max-width:15em;
}


.priceNote ul.afterTableTxt {
margin:-20px 0 30px 0;
}

.priceNote ul {
margin:0 0 15px 0;
}

.priceNote ul li,
 .mvSpecWide table.customerInfo ul li {
	position: relative;
	padding-left:1.5em;
}

.priceNote ul li::after,
 .mvSpecWide table.customerInfo ul li::after {
content:"\25A0";
display:block;
	position: absolute;
	top: 0em;
	left: 0em;
	width: 1em;
	height: 1em;
}

.priceNote ul li.kome::after {
content:"\203B";
}

p.isumTxt {
width:100%;
max-width:500px;
background:#fff;
margin:0 auto;
padding:2px 20px;
text-align:center;
}

/******** 202008 追記 ********/

div.osOpitonInfoBox {
overflow:hidden;
}


table.osOpitonInfo{
float:left;
width:calc(35% - 20px);
margin:0 0 20px 0;
font-size:90%;
}

table.osOpitonInfo.big{
width:65%;
margin:0 20px 20px 0;
}

table.osOpitonInfo th{
border: none;
background: #F2F2EE;
width:3rem;
padding:0;
line-height:1rem;
height:32px;
}

table.osOpitonInfo td {
padding:0 !important;
border:none;
text-align:left;
}

table.osOpitonInfo td ul li {
list-style:none !important;
margin-left:1em;
display:inline-block;
}

table.osOpitonInfo td ul li::before {
display:inine-block;
content:"\25AA";
}

table.osOpitonInfo td ul li.tycNoki {
line-height:3em;
}

table.osOpitonInfo.tycSpec{
width:100%;
margin:0 0 20px 0;
}

.tycTxt01 {
font-size:110%;
padding:10px 0 10px 20px !important;
border-bottom:1px dashed #333;
overflow:hidden;
}

.tycTxt01 span{
font-size:80%;
display:inline-block;
float:right;
}

.tycTxt02 {
margin:0 0 20px;
}


.osOptionFlow01 {
border:1px solid #333;
margin:0 0 20px 0;
padding:0 0 25px;
position:relative;
}

.osOptionFlow01 img.osOptionImg01 {
position:absolute;
width:180px;
right:20px;
top:-110px;
}

_:-ms-lang(x)::-ms-backdrop, .osOptionFlow01 img.osOptionImg01 {top:-120px;}

.osOptionFlow01 img.osOptionImg02 {
position:absolute;
width:180px;
right:20px;
top:-50px;
}



.osOptionFlow01 h3 {
padding:20px;
background:#F0F1EC;
position:relative;
overflow:hidden;
}

_:-ms-lang(x)::-ms-backdrop, .osOptionFlow01 h3 {width:calc(100% - 1px);}

.osOptionFlow01 h3::after {
content:"";
background:url(../img/osOption_bg_slash.svg) 0 0 repeat-x;
height:6px;
width:100%;
position:absolute;
bottom:-0;
left:0;
clear:both;
}

.osOptionFlow01 h3 img {
height:15px;
width:auto;
margin:6px 10px 0 0; 
}

.osOptionFlow01 h3 img:last-of-type{
margin:0px;
height:28px;
float:right;
}

.osOptionFlow01 h4 {
padding:20px;
text-align:left;
}

.osOptionFlow01 h4 img{
height:28px;
width:auto;
}

.osOptionFlow01 dl {

margin:0 20px;
}

.osOptionFlow01 dl .smallTxt {
	font-size:80%;
}

.osOptionFlow01 dl b {
 font-weight:normal;
 color:#CC4152;
 }

.osOptionFlow01 dl dt{
font-weight:bold;
margin-right:1em;
display:block;
float:left;
}

.osOptionFlow01 dl dt::after {
display:block;
width:1em;
padding:25% 0 0; 
border-right:1px solid #333;
margin:2px 0;
content:"";
}

.osOptionFlow01 dl dt:nth-of-type(3)::after {
padding:128px 0 0;
}

_:-ms-lang(x)::-ms-backdrop, .osOptionFlow01 dl dt:nth-of-type(3)::after {padding:110px 0 0;}

.osOptionFlow01 dl dd img.title03{
height:22px;
margin:10px 0 20px calc(50% - 2em);
width:auto;
display:block;
z-index:10;
position:relative;
}


.osOptionFlow01 dl dd:nth-of-type(3)::after {
position:absolute;
content:"";
height:6px;
left:2em;
bottom:10px;
background:url(../img/osOption_bg_slash.svg) 0 0 repeat-x;
width:calc(100% - 1em);
z-index:1;
}


.osOptionFlow01 dl dt:nth-of-type(4)::after{
padding:45% 0 0;
}

.osOptionFlow01 dl dd:nth-of-type(4){
position:relative;
}

.osOptionFlow01 dl dd img.title04{
height:28px;
width:auto;
margin:10px 0 10px 2em;
display:block;
position:absolute;
}

.osOptionFlow01 dl dt:nth-of-type(5)::after {
padding:50% 0 0;
}
.osOptionFlow01 dl dt:last-of-type::after {
border:none;
padding:20% 0 0 ;
}


.osOptionFlow01 dl dd {
display:block;
position:relative;
}

.osOptionFlow01 dl dd::after {
display:block;
content:"";
clear:both;
width:0px;
}

.osOptionCardTitle {
border:1px solid #333;
margin:0 0 20px 0;
}

.osOptionCardTitle dt {
padding:10px;
background:#F0F1EC;
position:relative;
display:inline-block;
}

_:-ms-lang(x)::-ms-backdrop, .osOptionCardTitle dt {width:150px;}

.osOptionCardTitle dt img{
height:36px;
width:auto;
}

.osOptionCardTitle dt::after {
content:"";
background:url(../img/osOption_bg_slash.svg) 0 0 repeat-y;
transform:rotateX(180deg);
width:6px;
height:100%;
position:absolute;
top:0;
right:-3px;
clear:both;
}

.osOptionCardTitle dd{
position:relative;
display:inline-block;
line-height:2;
padding:0 10px;
font-weight:bold;
}


.osOptionCardBox {
background:#E7EEEC;
padding:50px;
margin:0 0 20px 0;
}

.osOptionCardBox h4 img {
height:47px;
margin:0 0 50px;
}

.osOptionCardBox ul li{
border:1px solid #333;
background:#fff;
padding:50px 0;
position:relative;
margin:0 0 40px;
text-align:center;
}

.osOptionCardBox ul li img:first-of-type{
    height:380px;
    width:auto;
    margin:0 30px 0 0;
}

.osOptionCardBox ul li img:last-of-type{
    width:380px;
    margin:0 0 60px 0;
}



.osOptionCardBox ul li::after {
display:block;
position:absolute;
top:-25px;
left:25px;
border-radius:25px;
border:1px solid #333;
background:#fff;
line-height:50px;
width:50px;
font-size:24px;
text-align:center;
content:"";
}

.osOptionCardBox ul li:nth-of-type(1)::after{
content:"01";
}

.osOptionCardBox ul li:nth-of-type(2)::after{
content:"02";
}

.osOptionCardBox ul li:nth-of-type(3)::after{
content:"03";
}

.osOptionCardBox ul li:nth-of-type(4)::after{
content:"04";
}

.osOptionCardBox ul li:nth-of-type(5)::after{
content:"05";
}

.osOptionCardBox ul li:nth-of-type(6)::after{
content:"06";
}

.osOptionCardBox ul li:nth-of-type(7)::after{
content:"07";
}

.osOptionCardBox ul li:nth-of-type(8)::after{
content:"08";
}

.osOptionCardBox ul li:nth-of-type(9)::after{
content:"09";
}

.osOptionCardBox ul li:nth-of-type(10)::after{
content:"10";
}

.osOptionCardBox ul li:nth-of-type(11)::after{
content:"11";
}

.osOptionCardBox ul li:nth-of-type(12)::after{
content:"12";
}

.osOptionCardBox ul li:nth-of-type(13)::after{
content:"13";
}

.osOptionCardBox ul li:nth-of-type(14)::after{
content:"14";
}

.osOptionCardBox ul li:nth-of-type(15)::after{
content:"15";
}

.osOptionCardBox ul li:nth-of-type(16)::after{
content:"16";
}

/******** 202107 追記 ********/

.alPhoto_twd img {
	float:left;
	width:32%;
	margin:0 0 15px 0;
}

.alPhoto_twd img:first-child {
	width:66.5%;
	margin-right:1%;
}

div.customizeBox{
	padding:50px 0;
}

div.customizeBox>div{
	display: flex;
	justify-content: left;
}

div.customizeBox>div>div{
	width:50%;
	padding:10px;
	text-align: left;
}

div.customizeBox>div>div>img{
	width:auto;
	max-height:30px;
	margin:30px 0;

}

div.customizeBox>div>div>dl{
	display: flex;
	flex-wrap: wrap;

}

div.customizeBox>div>div>dl dt{
	width:60%;
	margin-bottom:40px;
}

div.customizeBox>div>div>dl dt img{
	margin:20px 0 0;
}

div.customizeBox>div>div>dl dd::before{
	content:"";
	display:inline-block;
	width:17px;
	height:14px;
	background:url(../img/icon_checkbox.png) 0 0 no-repeat;
	background-size: cover;
	position:absolute;
	top:2px;
	left: 0;
}

div.customizeBox>div>div>dl dd{
	width:calc(40% - 20px) ;
	margin:auto 0 40px 20px;
	padding:0 0 0 20px;
	position:relative;
	font-size: 12px;
}

.twd_pc{display: block;}
.twd_sp{display: none;}


/******** 202202 追記 ********/

div.leftBox>ul{
	position: relative;
}

div.leftBox>ul li:last-of-type{
	position: absolute;
	bottom:40px;
}


/*レスポンシブ
****************************************************************************************************************************************************************************************************************************************************/


@media screen and ( max-width:1024px) {
.alTitleBox,
.mvTitleBox {
	padding:20px 10px;
}

.osOptionFlow01 dl {
font-size:90%;
}

.osOptionFlow01 h3 img{
height:14px;
}

.osOptionFlow01 dl dd img.title04,
.osOptionFlow01 h4 img{
height:25px;
}

.osOptionFlow01 img.osOptionImg02{
top:-40px;
}

}

@media screen and ( max-width:980px) {
	
	.alCmmnt {
		text-align:left;
	}

	
	#header img {
		height:20px;
	}
	#header .logo_en {
		display:none;
	}
	#header .logo_jp {
		width:calc(100% - 230px);
		text-align:left;
	}


	#tglBg {
		display: none;
		position: fixed;
		z-index: 50; 
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(30,30,30,0.5);
	}

	.openNav #tglBg {
		display:block;
	}

#navToggle {
    display:block; 
    position:fixed; 
    right:0;
    top:25px;
    width:30px;
    height:25px;
    cursor:pointer;
    z-index:200;
      transition:.35s;
      margin-right:25px;
    }

.openNav #navToggle {
	padding:10px;
	width:50px;
	height:45px;
	top:20px;
	right:5px;
	margin-right:0px;
}  
  
#navToggle div {
	position:relative;
}

#navToggle span {
    display:block;
    position:absolute; 
    width:100%;
    border-bottom:solid 3px #999;
    transition: .35s ease-in-out;
    }
#navToggle span:nth-child(1) {top:0;}
#navToggle span:nth-child(2) {top:11px;}
#navToggle span:nth-child(3) {top:22px;}


.openNav #navToggle span:nth-child(1) {
    top: 5px;
    -webkit-transform:rotate(-45deg);
    -moz-transform:rotate(-45deg);
    transform:rotate(-45deg);
    }

.openNav #navToggle span:nth-child(2),
.openNav #navToggle span:nth-child(3) {
    top: 5px;
    -webkit-transform:rotate(45deg);
    -moz-transform:rotate(45deg);
    transform:rotate(45deg);
}


.menuBox {
	display:block;
	position:fixed;
	z-index:100;
	width:250px;
	top:0;
	right:-250px;
	transition:.35s;
	padding:50px 0;
	opacity:0;
	margin:0 !important;
}


.menuBox li a{
	padding:0 0 0 10px;
}


.openNav .menuBox {
	display:block;
	right:0;
	width:100%;
	opacity:1;
}

.menuBox li {
	width:100%;
	text-align:center;
}


.menuBox li img {
	height:64px;
	width:auto;
}

	.albumBox,
	.movieBox {
		float:none;
		width:98%;
		margin:0 1%;
	}
	
	.alTitle,.alSpec,
	.mvTitle,.mvSpec {
		margin-bottom:20px;
		font-size:14px;
	}



.alTitle01 {
text-align:left;
}

.alTitleBox {
	width:100%;
	text-align:left;
	background:#fff;
	padding:20px;
	position:relative;
  top: 0;
  transform: translateY(0);
	z-index:10;
	margin:auto;
	overflow:auto;
	overflow-x: hidden;
	border:none;
}

.alTitleBox img{
width:100%;
max-width:200px;
float:left;
margin:0 30px 0 0;
}

.alTitleBox p{
margin:0 0 30px 0;
}

.mvTitleBox p{
margin:0 0 0px 0;
}


.alTitle01>img{
width:100%;
}

/******** 202008 追記 ********/

.osOptionFlow01 dl {
font-size:100%;
}

.osOptionFlow01 h3 img{
height:15px;
}

.osOptionFlow01 dl dd img.title04,
.osOptionFlow01 h4 img{
height:28px;
}

.osOptionFlow01 img.osOptionImg02{
top:-50px;
}

}

/******** 202008 追記 ********/
@media screen and ( max-width:860px) {

.osOptionFlow01 h3{
text-align:center;
padding:10px;
}

.osOptionFlow01 h3 img{
height:14px;
display:block;
margin:0 auto 10px auto;
}


.osOptionFlow01 h3 img:last-of-type{
float:none;
margin:0 auto;
}

.osOptionFlow01 dl dd img.title04,
.osOptionFlow01 h4 img{
height:25px;
position:relative;
}

.osOptionFlow01 img.osOptionImg02{
top:-30px;
}

.osOptionFlow01 dl dd:nth-of-type(3)::after{
left:0;
}

.osOptionFlow01 dl dd img.title03{
margin:20px auto;
}
.osOptionFlow01 dl dt {
float:none;
}

.osOptionFlow01 dl dt::after{
display:none;
}

.osOptionFlow01 dl dd {
margin:5px 0 20px;
}

.osOptionFlow01 dl dd img.title04{
margin:20px 0 0;
}

.osOptionCardTitle dt {
width:100%;
text-align:center;
}

.osOptionCardTitle dt:after{
transform:rotateX(0deg);
background-repeat:repeat-x;
bottom:-2px;
left:0;
width:100%;
top:auto;
right:auto;
height:6px;
} 

.osOptionCardTitle dd{
padding:10px 20px;
}

.osOptionCardTitle dd br{
display:none;
}

.osOptionCardBox ul li img:last-of-type{
display:block;
margin:0 auto;
width:70%;
}

.osOptionCardBox ul li img:first-of-type{
display:block;
margin:0 auto 20px;
width:45%;
height:auto;
}


}


@media screen and ( max-width:720px) {
.forSp {
display:none;
}
	
	#mainBox .leftBox,
	#mainBox .rightBox {
		width:98%;
		height:auto;
		float:none;
		margin-bottom:40px;
	}
	
	#mainBox .leftBox img,
	#mainBox .rightBox img {
		max-width:456px;
		width:100%;
	}
	
	#mainBox .leftBox ul,
	#mainBox .rightBox ul {
		width:90%;
		padding-bottom:40px;
	}
	
	#mainBox .leftBox ul li,
	#mainBox .rightBox ul li {
		text-align:center;
	}

	
	.alTitle,.alSpec,
	.mvTitle,.mvSpec {
		float:none;
		width:100%;
	}
	


	.mvSpec table td{
		text-align:center;
	}
	
	.alPhoto img,
	.alPhoto_viola img,
	.alPhoto_classic img,
	.alPhoto_grande img  {
		float:none;
		width:100% !important;
	}

.alPhoto_viola,
.alPhoto_classic,
.alPhoto_grande {
margin:15px 0 30px 0;
}

.alPhoto_viola img:first-child,
.alPhoto_classic img:nth-child(odd),
.alPhoto_grande img:nth-child(odd) {
margin-right:0;
margin-bottom:15px;
}

.alCmmnt,
.mvCmmnt {
		font-size:12px;
}
	

.osBox .pointBox p {
    padding: 15px 5% ;
}

.osBox .pointBox .box-title,
.asBox .pointBox .box-title {
    padding: 0 25px;
   line-height:30px;
   font-size:14px;
}

.osBox .pointBox .box-title span,
.asBox .pointBox .box-title span {
	font-size:12px;
}

.osBox .pointBox p.title {
	margin:30px 5% 0 5%;
	padding:0px 5% 30px 5%;
		font-size:12px;
}
.osBox .pointBox p.title::before {
	height:20px;
	width:20px;
	background:url(../img/os_music_eyecatch.png) 0 0 no-repeat;
	background-size:cover;
	margin-right:10px;
}

.osBox .pointBox p.isum {
	margin:10px 5% 30px;
		font-size:12px;
}



.alSpecWide p.specWide{
	width:48%;
	margin:20px 4% 0 0;
	float:left;
	border:none;
}

.mvSpec .spec {
	font-weight:bold;
		margin-bottom:1em;
}

.mvSpec table,
.alTitle table {
	width:100%;
	border-collapse:collapse;
}

.alSpecWide table,
.mvSpecWide table {
	float:none;
	margin:0 0 0 0;
	width:100%;
}

.alSpecWide table.conf,
.alSpecWide table.confCenter,
.alSpecWide table.confLast,
.mvSpecWide table.conf,
.mvSpecWide table.confCenter {
		width:100%;
		min-height:auto;
		margin:0 0 40px 0;
}

.mvSpecWide table.confLast {
		width:100%;
		min-height:auto;
		margin:0 0 0px 0;
}

.alSpecWide table.conf tr:first-of-type,
.alSpecWide table.confCenter tr:first-of-type,
.alSpecWide table.confLast tr:first-of-type,
.mvSpecWide table.conf tr:first-of-type,
.mvSpecWide table.confCenter tr:first-of-type,
.mvSpecWide table.confLast tr:first-of-type {
    background:#f2f2ee;
   }

.alSpecWide .pointBox {
float:none;
width:100%;
}

.mvSpecWide .pointBox {
float:none;
width:100%;
margin:0 0 20px 0;
}


.featureBox p.item img,
.featureBox p.item_classic img,
.featureBox p.item_grande img{
      	float:none;
}

.featureBox p.item_grande_l{
width:100%;
}

.featureBox p.item_grande{
      	margin-right:2%;
}

.featureBox p:last-child {
margin-right:0;
}

video {
    padding:20px 0;
}


.mvTitle01>img {
width:100%;
position:absolute;
top:0;
right:0;
}

.mvTitle01 {
padding-bottom:20px;
}


.mvTitleBox {
width:50%;
margin:0;
	position:relative;
  top: 0;
  transform: translateY(0);
  background:rgba(255,255,255,0.9);
  height:100%;
  }

.asBox .pointBox table {
font-size:10px;
}

.priceNote {
padding:10px;
}

.priceNote table td {
padding:10px;
}

/******** 202008 追記 ********/
table.osOpitonInfo,
table.osOpitonInfo.big {
float:none;
width:100%;
margin:0 0 10px 0;
font-size:100%;
}

table.osOpitonInfo th{
width:5em;
}

table.osOpitonInfo td {
width:auto;
}

.tycTxt01{
padding:10px 0 !important
}


.osOptionFlow01 img.osOptionImg01,
.osOptionFlow01 img.osOptionImg02 {
position:relative;
width:100%;
max-width:480px;
margin:10px 0;
top:0;
left:0;
right:auto;
}

.osOptionFlow01 dl dd img.title04 {
height:auto;
width:100%;
max-width:575px;
}

.osOptionFlow01 h3 {
text-align:center;
}

.osOptionFlow01 h3 img:first-of-type{
width:100%;
max-width:555px;
}

.osOptionFlow01 dl {
font-size:100%;
}

.osOptionCardBox {
padding:50px 20px;
}


.osOptionCardBox ul li img:last-of-type{
width:90%;
}

.osOptionCardBox ul li img:first-of-type{
width:60%;
}

/******** 202107 追記 ********/

div.customizeBox>div {
	display: block;
}

div.customizeBox>div>div{
	width: 100%;
}


div.customizeBox>div>div>img{
	width:auto;
	max-height:30px;
	margin:30px 0;

}

div.customizeBox>div>div>dl{
	display: flex;
	flex-wrap: wrap;

}

div.customizeBox>div>div>dl dt{
	width:50%;
}


div.customizeBox>div>div>dl dd::before{
	width:20px;
	height:18px;
}

div.customizeBox>div>div>dl dd{
	width:calc(50% - 25px) ;
	margin:auto 0 40px 20px;
	padding:0 0 0 25px;
	font-size: 14px;
}


}

@media screen and ( max-width:480px) {
		#header {
			padding:20px;
		}
	#header .logo_jp {
	float:none;
	line-height:20px;
	padding-left:3px;
}

	#header .logo {
	float:left;
	line-height:20px;
}

.asBox{
padding:20px;
}

.alTitle01 {
text-align:left;
}

.alTitleBox {
	width:100%;
	text-align:left;
	background:#fff;
	padding:20px 0;
	position:relative;
  top: 0;
  transform: translateY(0);
	z-index:10;
	margin:auto;
	overflow:auto;
	overflow-x: hidden;
	border:none;
}

.featureBox p.item,
.featureBox p.item:last-child,
.featureBox p.item_classic,
.featureBox p.item_grande{
float:none;
width:100%;
}

.featureBox p.item img,
.featureBox p.item:last-child img,
.featureBox p.item_classic img,
.featureBox p.item_grande img{
width:100%;
max-height:100%;
}


.alTitleBox img{
width:100%;
max-width:auto;
float:none;
margin:0 0 30px 0;
}

.alTitleBox p{
margin:0 0 30px 0;
}

.mvTitleBox,
.mvTitleBox.as {
width:100%;
background:rgba(255,255,255,0.8);
}


.asBox .pointBox table td {
	text-align:left;
}

.mvCmmnt {
		text-align:left;
}


div.customizeBox>div>div>dl{
	display: block;
}

div.customizeBox>div>div>dl dt{
	width: 100%;
	margin-bottom: 20px;
}

div.customizeBox>div>div>dl dd {
	margin-left: 0;
	width:100%;
}


.twd_pc{display: none;}
.twd_sp{display: block;}
	
}