@charset "utf-8";
* { margin: 0; padding: 0; font-size: 14px; line-height: 1.8em;}
ul {list-style:none}
img {vertical-align: middle;}

html {
	text-align: left;
}
body {
	margin: 0 auto;
	padding: 0;
	font-size: 15px;
	line-height: 1.6em;
                                font-family: 'Questrial', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro','メイリオ', 'Meiryo', '游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}		
* html body {
	font-size: 100%;
	padding-left: 1px;
}
*:first child+html body {
	font-size: 100%;
}
*:first child+html body {
	padding-left: 1px;
}

a { word-break: break-all; }
a:link,
a:visited {
	text-decoration: none;
	font-size: inherit;
}
a:hover {
	text-decoration: underline;
	font-size: inherit;
}
a:active {
	text-decoration: none;
	font-size: inherit;
	text-decoration: none;
}
a.btn {
                                padding: 5px 20px;/*文字周りの余白*/
                                line-height: 1.2;
	text-decoration: none;
                                display: inline-block;
                                text-align: center;
	border-radius: 5px;
                                margin: 0.5em auto;
                                border: 1px solid;
                                font-size: 85%;
}
a.btn:hover {
	text-decoration: none;
                                opacity: 0.8
}
a.btn_L {
                                padding: 8px 3rem 5px;/*文字周りの余白*/
                                line-height: 1.2;
	text-decoration: none;
                                display: inline-block;
                                text-align: center;
	border-radius: 5px;
                                margin: -10em auto 0 auto;
                                border: 1px solid;
                                font-size: 110%;
                                color: #fff;
}
a.btn_L:hover {
	text-decoration: none;
                                opacity: 0.8
}
img {
	border:0;
	max-width: 100%;
}
p {
	margin: 1em 0;
	padding: 0;
}
p.2 {
	margin: 1em 0 2em 0;
	padding: 0;
}
hr {
	clear: both;
	visibility: hidden;
}

h1,h2,h3,h4,h5,h6 {
	margin-bottom: 5px;
}
h1 {
	line-height: 1;
}
h2 {
	line-height: 1.4;
                                border-bottom: 1px solid
}
h3 {
	line-height: 1.4;
}
h4 {
	line-height: 1.4;
	font-weight: normal;
}
.b {
	font-weight: bold;
}
.gray {
                                color: #999;
}
.little {
	font-size: 85%;
	line-height: 1.2;
	font-weight: normal;
}
.center {
	text-align: center;
}
.right {
	text-align: right;
}
.mb30 {
	margin-bottom: 30px;
}
.min {
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}
.category {
                                display: inline-block;
                                padding: 0 3px;
                                margin: 0 1rem 0 0;
                                color: #fff;
                                line-height: 1.2rem;
}
iframe {
	max-width: 100%;
}

.pc {
	display: none
}


.container, .index_release {
	position: relative;
	z-index: 20;
	padding: 80px 0 50px;
	margin: 0 20px;
}

.LineContents, .index_LineContents {
                                margin: 0 auto;
                                display: inline-block;
                                position: relative;
                                border-radius: 13px;
                                padding: 30px 5vw 80px;
                                width: 90%;
}
.index_LineContents {
                                padding: 30px 5vw;
}
.LineContents::before, .index_LineContents::before {
  content: "";
  position: absolute;
  top: -6px;
  bottom: -6px;
  left: -6px;
  right: -6px;
  z-index: -1;
                                border-radius: 15px;
                                background: #fff;
                                margin: 0 auto;
}

.LineContents h1 {
	margin: 0 auto 40px;
	text-align: center;
}
.LineContents h1 img {
	max-height: 35px;
}
.contents {
                                margin: 0 auto 50px;
                                padding: 30px 0 0;
}
.contents:last-child {
                                margin: 0 auto;
}



/*----index---*/
#index_header {
	width: 96%;
	height: 350px;
                                margin: 80px auto 0;
                                padding: 0;
                                text-align: center;
	border-radius: 20px;
                                border: 2px solid #fff;
                                box-sizing: border-box;
                                max-width: 350px;
}
#index_header::before {
                                text-align: center;
	content: '';
	position: absolute;
	top: 75px;
	left:0; right:0;
	z-index:4;
	width: 100%;
	height: 360px;
                                margin: 0 auto 0;
                                max-width: 360px;
                                max-height: 360px;
                                background: url(../images/index_line_sp.png) no-repeat center top; 
                                background-size: 100% 100%;
}

/* --- 背景の指定 ------------------------------------------- */
#index_header .src1 {
                                background: url(../images/photo11_sp.jpg) no-repeat center top; 
                                background-size: cover;
}
#index_header .src2 {
                                background: url(../images/photo12_sp.jpg) no-repeat center top;
                                background-size: cover;
                                opacity: 0;
}
#index_header .src3 {
                                background: url(../images/photo10_sp.jpg) no-repeat center top;
                                background-size: cover;
                                opacity: 0;
}
#headerContents {
                                display: none;
}

.index_container {
	margin: 40px auto 0;
                                background: #fff url("../images/line.png") repeat-x top center;
                                background-size: 20px;
                                padding: 40px 0 0;
}
.bottom_line {
	margin: 20px auto 0;
                                background: #fff url("../images/line.png") repeat-x bottom center;
                                background-size: 20px;
                                padding: 0;
                                height: 18px;
                                
}

.index_release {
	text-align: center;
                                margin: 0 auto;
                                max-width: 330px;
}
.index_release a:hover {
	text-decoration: none;
                                opacity: 0.8;
}
#whatsnew {
                                margin: 0 15px;
}
#whatsnew h1 {
                                text-align: center;
}
#whatsnew h1 img {
                                max-height: 27px;
}
#whatsnew dl {
                                margin: 2rem auto 0;
}
.index_container div.products {
                                text-align: center;
}
#index_jacket img {
                                display: block;
                                margin: 0 auto 20px;
                                box-shadow: 0 2px 8px rgba(0,0,0,0.2);
                                max-width: 245px;
}
#index_movie, #index_twitter {
                                width: 80%;
                                padding: 2rem 5%;
                                margin: 2rem auto;
                                background: #fff;
                                position: relative;
                                border-radius: 20px;
                                box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
#index_movie::before, #index_twitter::before {
                                content: "";
                                position: absolute;
                                
                                top: 4px;
                                bottom: 4px;
                                left: 4px;
                                right: 4px;
                                border-radius: 17px;
                                margin: 0 auto;
                                z-index: 0;
}
#index_movie h2, #index_twitter h2 {
                                border-radius: 30px;
                                text-align: center;
                                margin: 0 auto 2rem;
                                padding: 12px 10px 10px;
                                position: relative;
                                line-height: 1;
                                border-bottom: 0;
}
#index_movie h2 img, #index_twitter h2 img {
                                height: 20px
}
#index_movie h2::before, #index_twitter h2::before {
                                content: "";
                                position: absolute;
                                top: 2px;
                                bottom: 2px;
                                left: 2px;
                                right: 2px;
                                border: solid 1px #fff; /* 外枠のスタイル */
                                border-radius: 20px;
                                margin: 0 auto;
}
.twitter {
                                position: relative;
                                z-index: 10;
}


/*----disco---*/
#disco h2 {
                                margin: 0 auto 2rem;
}
.products_main {
                                margin: 0 auto 100px;
}
.products_main:last-child {
                                margin: 0 auto;
}
.jacket {
                                margin: 0 auto 2rem;
                                text-align: center;
}
.jacket ul li {
                                margin: 0 auto;
                                max-width: 245px;
}
.jacket ul li {
                                margin: 0 auto 2rem;
}
.jacket ul li img {
                                display: block;
                                margin: 0 auto 2px;
                                box-shadow: 0 2px 8px rgba(0,0,0,0.2);
                                max-width: 245px;
}
#disco .products h2, .index_products h2 {
	line-height: 1;
                                font-size: 23px;
                                font-weight: normal;
                                border-bottom: none;
                                display: inline-block;
                                margin: 1rem 0;
}
.index_products h2 {
                                margin: 1rem 0 0;
}
.products h3, .index_products h3 {
                                font-size: 18px;
                                font-weight: normal;
}
.products_info {
                                margin: 1rem 0 2rem;
}
.products_info h2 {
                                margin: 0 0 2rem;
}
.products_info h4 {
                                font-size: 16px;
}
ol {
                                margin: 0 0 2rem;
}
ol li {
                                margin: 0 0 1rem 2rem;
}
.products_info ul {
                                margin: 0 0 2rem;
}
.products_info ul li {
                                margin: 0 0 1rem 2rem;
                                list-style-type: disc;
}
.products_info2 {
                                margin: 1rem 0 2rem;
}
.products_info2 h2 {
                                margin: 0 0 2rem;
}
.products_info2 h4 {
                                font-size: 16px;
}
ol {
                                margin: 0 0 2rem;
}
ol li {
                                margin: 0 0 1rem 2rem;
}
.products_info2 ul {
                                margin: 0 0 1rem;
}
.products_info2 ul li {
                                margin: 0 0 0 2rem;
                                list-style-type: disc;
}


/*----info---*/
#page-nav {
	text-align: center;
                                margin: 0 auto;
}
#page-nav a {
                                font-size: 16px;
	display: inline-block;
                                padding: 0 20px;
}

dl {
                                text-align: left;
                                font-size: 16px;
}
dl dt {
                                font-weight: bold;
                                font-size: 13px;
                                padding: 1rem 5px 0;
}
dl dd {
                                padding: 0 5px 1rem;
}
#info h3 {
                                font-size: 150%;
                                margin-bottom: 1rem;
}
#info h4 {
                                font-size: 110%;
	font-weight: bold;
                                border-bottom: 1px dotted;
}
#media h4 {
                                font-size: 110%;
	font-weight: bold;
                                border-bottom: none;
}
#info h5 {
	font-weight: normal;
                                margin-bottom: 0;
}

#info h2 {
                      margin: 0 auto 2rem;          
}
#info ul {
                      margin: 0 auto 2rem;          
}
#info ul li {
                      margin: 0 auto 1rem;          
}

/*----Movie---*/
.movie {
                                position: relative;
                                width: 100%;
                                padding-top: 56.25%;
                                margin: 0 auto;
}
.movie iframe {
                                position: absolute;
                                top: 0;
                                right: 0;
                                width: 100%;
                                height: 100%;
}


/*----profile---*/
#profile_photo_tate {
                                margin: 0 5vw 2em;
                                text-align: center;
                                max-width: 380px;
}
#profile_photo_yoko {
                                margin: 0 auto 2em;
                                text-align: center;
                                max-height: 280px;

}
#profile_photo_yoko img {
                                text-align: center;
                                margin: 0;
                                width: 100%;
                                height: 300px;
                                object-fit: cover;
}

#work {
                                margin: 2em auto;
}


ul#link_list {
                                margin: 3rem 0 0;
                                clear: both;
}
ul#link_list {
                                margin: 0.5em 0;
                                line-height: 1em;
                                padding: 0 0 5px 10px;
}
ul#link_list li::before {
                                content: ">";
                                padding-right: 5px;
}

footer {
                                background: #fff url("../images/line.png") repeat-x top center;
                                background-size: 20px;
                                padding: 40px 15px 60px;
                                text-align: center;
                                line-height: 1.2;
	position: relative;
	z-index: 20;
                                font-size: 80%;
}
footer p {
                                margin: 3rem 0 0
}
footer small {
                                font-size: 80%;
                                line-height: 1.2;
}
footer a.q_a {
                                border: 1px solid;
                                padding: 3px;
                                font-size: 80%;
}
footer a img {
                                border: none;
                                margin: 5px auto 0;
}

div#SNS {
	text-align: center;
	line-height: 0;
	margin: 5px auto;
        width: 205px;
}
#SNS ul li {
	width: 90px!important;
	margin: 0;
	display: inline-block;
	text-align: center;
	line-height: 0;
	padding: 16px 0 0;
                                vertical-align: top;
}
#SNS ul li.twitter_button {
	padding: 0 10px 0 0;
	margin: -5px 0 0 0;
}
iframe.twitter-share-button {
	padding: 20px 0 0;
	width: 90px!important;
}



/*768px以上 ----------------------------------------*/
@media screen and (min-width:768px){

.sp {
	display: none
}
.pc {
	display: block
}
#whatsnew {
                                margin: 0 15px;
}
.index_container div.products {
                                text-align: center;
}
#index_jacket img {
                                display: block;
                                margin: 0 auto 20px;
                                box-shadow: 0 2px 8px rgba(0,0,0,0.2);
                                max-width: 245px;
}
#index_movie, #index_twitter {
                                width: 39%;
                                height: 350px;
                                padding: 2rem 4%;
                                margin: 2rem 1%;
                                background: #fff;
                                position: relative;
                                border-radius: 20px;
                                display: inline-block;
                                vertical-align: top;
}

footer a.q_a {
                                display: inline-block;
                                margin: 0 0.5rem 0 0;
}

#profile_photo_tate {
                                margin: 0 auto 2em;
                                text-align: center;
                                max-width: 380px;
}
#profile_photo_yoko {
                                margin: 0 auto 2em;
                                text-align: center;
                                max-width: 100%;
                                max-height: 680px;
}
#profile_photo_yoko img {
                                width: 100%;
                                height: 500px;
                                object-fit: cover;
}
}

/*990px以上 ----------------------------------------*/
@media screen and (min-width:980px){

/*----index---*/
#index_header {
	width: 936px;
	height: 618px;
                                margin: 105px auto 0;
                                padding: 0;
                                text-align: center;
	border-radius: 20px;
                                border: 1px solid #fff;
                                box-sizing: border-box;
                                max-width: 936px;
}
#index_header::before {
                                text-align: center;
	content: '';
	position: absolute;
	top: 98px;
	left:0; right:0;
	z-index:4;
	width: 950px;
	height: 633px;
                                margin: 0 auto 0;
                                max-width: 950px;
                                max-height: 633px;
                                background: url(../images/index_line.png) no-repeat center top;   /* 背景の画像を指定 */
                                background-size: 100% 100%;
}

/* --- 背景の指定 ------------------------------------------- */
#index_header .src1 {
                                background: url(../images/photo11.jpg) no-repeat center top;   /* 背景の画像を指定 */
                                background-size: cover;
}
#index_header .src2 {
                                background: url(../images/photo12.jpg) no-repeat center top;   /* 背景の画像を指定 */
                                background-size: cover;
}
#index_header .src3 {
                                background: url(../images/photo10.jpg) no-repeat center top;   /* 背景の画像を指定 */
                                background-size: cover;
}
#headerContents {
                                display: block;
				width: 936px;
				height: 618px;
}
#headerContents h1 {
				width: 382px;
                                padding: 150px 60px 0;
}
.index_container {
				margin: 40px auto 0;
                                padding: 40px 0 0;
}
.index_maincontents {
                                width: 980px;
                                margin: 0 auto;
}

#whatsnew {
                                margin: 0 25px;
                                width: 560px;
                                padding: 2rem 0 0;
                                display: inline-block;
                                vertical-align: top;
}
#whatsnew dl {
                                margin: 2rem auto ;
                                height: 300px;
                                overflow: scroll;
				overflow-x: hidden;
}
.index_release {
                                width: 330px;
                                margin: 0 25px 0 0;
				padding: 0;
                                display: inline-block;
}
.index_LineContents {
                                padding: 20px 0;
                                width: 330px;
                                
}
#index_movie, #index_twitter {
                                width: 360px;
                                height: 300px;
                                padding: 2rem 45px;
                                margin: 5rem 25px 5rem 0;
                                background: #fff;
                                position: relative;
                                border-radius: 20px;
                                display: inline-block;
                                vertical-align: top;
}
#index_movie {
                                margin: 5rem 25px;
}


.container {
                                margin: 0 auto;
                                width: 930px;
                                padding: 120px 0 100px;
}
.LineContents {
                                padding: 50px 60px 120px;
                                width: 810px;
}
.LineContents h1 {
				margin: 0 auto 60px;
}
.contents {
                                padding: 80px 0 0;
}

#profile_photo_tate {
                                margin: 0 0 0 50px;
                                float: right;
                                width: 300px;
}
#profile_photo_yoko {
                                margin: 0 auto 50px;
}
footer {
                                padding: 60px 0 100px;
}
.movie {
                                max-width: 640px;
                                max-height: 360px;

}


/*----disco---*/
.jacket {
                                margin: 0 50px 0 0;
                                text-align: center;
                                max-width: 245px;
                                float: left
                                
}
.products, .products_info {
                                width: 395px;
                                float: left;
}

.products, .products_info2 {
                                float: left;
}

}


/*********************/ 
/*タブメニュー 
/*********************/ 
.tab-wrap {
    display: flex;
    flex-wrap: wrap;
                                margin: 1rem auto 0;
}
.tab-label {
    color: #fff;
    margin: 0 1px 0 0;
    padding: 8px 0 5px;
    order: -1;
                                width:16.2%;
                                text-align: center;
                                font-size: 2.5vw;
                                line-height: 1.2;
}
.tab-label:hover {
    opacity: 0.8
}
.tab-content {
                                width: 100%;
                                display: none;
                                background: #fff;
                                box-sizing: border-box;
}
.tab-content section {
                                padding: 10px 10px 20px;
                                max-height: 400px;
                                overflow: auto;
                                overflow-x: hidden;
}
/* アクティブなタブ */
.tab-switch:checked+.tab-label+.tab-content {
     display: block;
}
/* ラジオボタン非表示 */
.tab-switch {
    display: none;
}

#TABcontents ul {
                                margin: 0 0 1em 0;
}

#TABcontents ul li {
                                list-style-type: disc;
                                margin: 0.5em 0 0 1em;
                                padding: 0 0 5px;
                                line-height: 1.4;
}

@media screen and (min-width:980px){
.tab-label {
    padding: 15px 0 10px;
                                width: 114px;
    margin: 0 1px 0 0;
                                font-size: 13px;
}
#TABcontents ul {
                                margin: 0 0 1em 0;
}

#TABcontents ul li {
                                margin: 0.5em 1rem 0 2rem;
}
.tab-content section {
                                padding: 20px 20px 30px;
                                max-height: 400px;
                                overflow: auto;
                                overflow-x: hidden;
}
}
