@charset "utf-8";
/* ------------------------------------------------------------ common */
html { background: none; }
body {background: #000;}

figure { margin: 0;}

.flex_wrap { display: flex; justify-content: space-between; align-items: center;}

.flex_wrap .left { order: 1;}

.flex_wrap .right { order: 2;}

/* .notice { padding: 0 0 0 0; } */

.pink_btn a { display: block; text-align: center; font-family: 'Noto-Sans-JP-Medium'; background: #ce1e64; color: #fff; width: 335px; height: 66px; display: flex; justify-content: center; align-items: center; box-shadow: 5px 5px rgba(93,18,51,0.8); margin: 0 auto; font-size: 18px;}

h1 { font-family: "Noto-Sans-JP-Regular",sans-serif ; }
h3,h4,h5 { font-family: "Noto-Sans-JP-Regular",sans-serif ; }


#movie-box { width: 1100px; margin: 100px auto 50px; }
#movie-box .youtube { width: 100%; position: relative; padding-top: 56.25%; }

#movie-box .youtube iframe { position: absolute; top: 0; right: 0; width: 100%; height: 100%;}


#firstview .video_wrap { z-index: 1; }

#twitter { padding: 0 0 50px; }

h3.h3-style { font-size: 35px; text-align: center; margin: 0 ; font-family: 'Noto-Sans-JP-Regular',sans-serif; font-weight: 400; }
h3.h3-style span { display: block; font-size: 18px; padding: 15px 0 0; }
h3.h3-style::after {content: ""; display: inline-block; height:2px; width: 148px; background: #c4911a; margin: 0 0 21px;}

a{transition: 0.5s; opacity: 1;}
a:hover{transition: 0.5s; opacity: 0.6;}
/* ------------------------------------------------------------ fv */
#fv { background: url(../images/fv_bg_1.png) repeat-x center center , url(../images/fv.webp) no-repeat center top ; background-size: 12px , 2360px; position: relative; height: 1236px; box-sizing: border-box;}
#fv h1{text-align: center; width: 441px; height: auto; position: absolute; transform: translateX(-50%); left: 50%; top: 176px;}
#fv img{width: 100%; height: auto;}
#fv .fv_box{position: absolute; transform: translateX(-50%); left: 50%; bottom: 50px; width: 100%;}
#fv .fv_box .logo{width: 100%; max-width: 647px; margin: 0 auto;}
#fv .fv_box .fvbtn {display: block; width: 550px; background: #fff; background-size: 100% 100%; color: #000; font-family: 'Noto-Sans-JP-Regular'; text-align: center; margin: 55px auto 0; font-size: 11px; color: #000; padding: 19px 0 20px; position: relative; line-height: 100%;}
#fv .fv_box .fvbtn:before{content: ""; display: block; background: url(../images/link_icn_1.svg) no-repeat center center; background-size: 100%; width: 36px; height: 7px; top: 50%; transform: translateY(-50%); position: absolute; right: 22px;}
#fv .fv_box .fvbtn span{line-height: 100%; color: #000; font-family: 'Noto-Sans-JP-Regular'; font-size: 22px; display: inline-block; padding: 0 0 9px;}

/* ------------------------------------------------------------ concept */
#concept{background: url(../images/concept_bg.jpg) no-repeat center center; background-size: cover; padding: 80px 0 125px;}
#concept .text_box{text-align: center; padding: 20px 0 0; font-size: 22px; line-height: 200%; text-align: center; font-style: italic;}

/* ------------------------------------------------------------ how_to */
#how_to{background: url(../images/how_to_bg.jpg) no-repeat center center; background-size: cover; padding: 52px 0;}
#how_to .text_tt{padding: 29px 0 0; text-align: center; font-size: 16px; line-height: 187.5%;}
#how_to .flex{display: flex; justify-content: space-between; gap: 30px; padding: 39px 0 0;}
#how_to .flex .box{background: #000; padding: 45px 40px 42px;  } 
#how_to .flex .box .text_box{padding: 20px 0 0;} 
#how_to .flex .box .text_box h4{font-size: 20px; line-height: 170%; text-align: center;}
#how_to .flex .box .text_box h4 span{font-size: 30px; line-height: 113.4%;}
#how_to .flex .box .text_box .text{font-size: 16px; line-height: 200%; padding: 22px 0px 0px 0px;}
#how_to .flex .box .text_box .data_tt{font-size: 14px; line-height: 100%; padding:15px 0 0; }
#how_to .flex .box .text_box .data_tt .big_1{font-size: 30px; line-height: 180%;}
#how_to .flex .box .text_box .data_tt .big_2{font-size: 18px; line-height: 200%;}
#how_to .flex .box .text_box .data_tt .big_3{font-size: 27px; line-height: 200%;}
#how_to .flex .box .text_box .link_tt {display: inline-block; width: 293px; height: auto; background: #fff; color: #000; font-family: 'Noto-Sans-JP-Regular'; line-height: 100%; text-align: center; font-size: 18px; display: block; margin: 24px auto 0; padding: 21px 0 25px; position: relative;}
#how_to .flex .box .text_box .link_tt:before{content: ""; display: block; background: url(../images/link_icn_2.svg) no-repeat center center; background-size: 100%; width: 26px; height: 7px; top: 45%; transform: translateY(-50%); position: absolute; right:14px;}


/* ------------------------------------------------------------ performance */

#performance { padding: 80px 0 0;  background-size: 100% auto; }
#performance .contents h4.title_tt { text-align: center; margin: 20px 0 0; position: relative;}
#performance .contents h4.title_tt:before,
#performance .contents h4.title_tt:after{content: ""; display: block; height: 1px; width: calc(50% - 115px); background: #fff; position: absolute; top: 50%; transform: translateY(-50%);}
#performance .contents h4.title_tt:before{left: 0px;}
#performance .contents h4.title_tt:after{right: 0px;}
#performance .contents h4.title_tt span { display: block; font-size: 30px; line-height: 180%;}
#performance .contents .fir-content div h5 img { padding: 0 20px 0 0 ; } 
#performance .contents .fir-content div h5 { font-size: 36px; line-height: 130%; margin: -37px 0 0 0;}
#performance .contents .fir-content div h5.sec img{ float: left; }
#performance .contents .fir-content div p { font-size: 16px; line-height: 170%; padding: 30px 0 0 ; min-height: 131px;}
#performance .contents .fir-content div { width: 427px; float: left; margin: 0 30px 60px; padding: 0 30px 20px; background: #000;}

.slick-prev, .slick-next { border: 1px solid #fff;}

#performance .contents{padding: 0 0 0;}
#performance .contents .sec-content div img.left { float: left; }
#performance .contents .sec-content div .right { float: right; width: 570px; }
#performance .contents .sec-content div .right h5 img { padding: 0 20px 0 0 ; } 
#performance .contents .sec-content div .right h5 { font-size: 26px; line-height: 130%;  font-family: "Noto-Sans-JP-Light";}
#performance .contents .sec-content div .right p {  font-size: 16px; line-height: 200%; padding: 18px 0 0 ;font-family: 'Noto-Sans-JP-Light',sans-serif;  }
#performance .contents .sec-content .contents { border-bottom: none; padding: 0px;}

#performance .contents .slider-2 div img.left { float: none; }
#performance .contents .slider-2 .slick-slide { width: 460px; margin: 0 50px; position: relative; }
#performance .contents .slider-2 div .right { padding: 28px 0 0; float: none; width: 460px; }

#performance .contents .three-content div img.right { float: right; }
#performance .contents .three-content div .left { float: left; width: 570px; }
#performance .contents .three-content div .left h5 img { padding: 0 20px 0 0 ; } 
#performance .contents .three-content div .left h5 { font-size: 36px; line-height: 130%; }
#performance .contents .three-content div .left p {  font-size: 16px; line-height: 200%; padding: 30px 0 0 ; }
#performance .contents .three-content .contents { padding: 100px 0; }
#performance .contents .three-content .contents:first-child { padding: 0 0 100px; border-bottom: 1px solid #2b2b2b;}
#performance .contents .three-content .contents:first-child p { padding: 30px 0 50px 0; }
#performance .contents .three-content .special { width: 100%; clear: both;  }
#performance .contents .three-content .special div { width: 550px; float: left; text-align: center; }
#performance .contents .three-content .special div p { font-size: 20px; padding: 20px 0 0 ;  }
#performance .contents .three-content h5.special-h5 {  text-align: center; font-size: 40px; font-family: operetta-52, serif; font-weight: 400;}
#performance .contents .three-content h5.special-h5::after { content: ""; display: block; border-bottom: 1px solid #fff; width: 430px; margin: -10px auto 40px;}
#performance .contents .slick-dotted.slick-slider{margin: 45px 0 0;}

#performance .contents_2{padding: 90px 0;}
#performance .contents_2 h4.title_tt { margin: 0px;}
#performance .contents_2 .paid_box .box{width: 919px; margin: 0 auto; padding: 85px 0 67px;}
#performance .contents_2 .paid_box .box .img_box{width: 100%; height: auto;}
#performance .contents_2 .paid_box .box .img_box img{width: 100%; height: auto;}
#performance .contents_2 .paid_box .box h5{padding: 24px 0 0;font-size: 34px; text-align: center; line-height: 158.8%;}
#performance .contents_2 .paid_box .box p{text-align: center; padding: 20px 0 0; font-size: 16px; line-height: 200%;}
#performance .contents_2 .list_box .flex_box{display: flex; flex-wrap: wrap; justify-content: center; gap: 50px 39px; padding: 103px 0 0; border-top: 1px solid #2b2b2b;}
#performance .contents_2 .list_box .box{width: calc((100% - 78px) / 3); height: auto;}
#performance .contents_2 .list_box .box h4{font-size: 16px; text-align: center; padding: 33px 0 0;}
#performance .contents_2 .list_box .box h4 span{text-align: center; font-size: 26px; line-height: 100%; display: inline-block;}
#performance .contents_2 .list_box .box p{padding: 14px 0 0; font-size: 16px; line-height: 200%;}
#performance .contents_2 .list_box .box.box_big{width: 916px; display: flex; align-items: center; margin: 134px auto 0;}
#performance .contents_2 .list_box .box.box_big .img{margin: 0 30px 0 0 ;}
#performance .contents_2 .list_box .box.box_big .text_box h4{text-align: left; padding: 0px;}
#performance .contents_2 .list_box .box.box_big .text_box h4 span{padding: 20px 0 0; font-size: 28px;}

/* ------------------------------------------------------------ #goods */
#goods{background: url(../images/goods_bg.jpg) no-repeat center center; background-size: cover; padding: 71px 0;}
#goods .text_tt{padding: 9px 0 0; text-align: center; font-size: 16px; line-height: 187.5%;}
#goods .flex{display: flex; justify-content: space-between; gap: 30px; padding: 50px 0 0;}
#goods .flex .box{background: #000; padding: 35px 27px 48px; }
#goods .flex .box .text_box{padding: 40px 0 0;}
#goods .flex .box .text_box h4{font-size: 26px; line-height: 113.34%; text-align: center;}
#goods .flex .box .text_box .data{text-align: center; font-size: 30px; line-height: 180%; padding: 5px 0 20px;}
#goods .flex .box .text_box .text{border-top: 1px solid #2b2b2b; padding: 25px 0 0;line-height: 200%;}

/* ------------------------------------------------------------ #special_stage */
#special_stage{padding: 101px 0 0;}
#special_stage .text_tt{padding: 4px 0 0; text-align: center; font-size: 16px; line-height: 187.5%;}
#special_stage .flex{width: 916px; margin: 0 auto; display: flex; gap: 30px; padding: 50px 0 0;}
#special_stage .flex .text h4{line-height: 100%; }
#special_stage .flex .text h4 span{display: inline-block; font-size: 34px; line-height: 160%; margin: 8px 8px 0 0;}
#special_stage .flex .text p{font-size: 16px; line-height: 200%;}


/* ------------------------------------------------------------ #ticket */
#ticket { padding: 123px 0 0; }
#ticket .ticket_bg{background: url(../images/ticket_bg_1.jpg) no-repeat center center; background-size: cover; padding: 55px 0 77px;}
#ticket h4 { font-size: 38px;}
#ticket .ticket-inner { background: #000000; text-align: center; padding: 53px 64px;}
#ticket .ticket-inner h4 { font-size: 30px; text-align: center;}
#ticket .ticket-inner p { padding: 25px 0 0; line-height: 150%; }
#ticket .ticket-inner .notice { padding: 41px 0 0; }

#ticket .btns { text-align: center; padding: 33px 0 0 ;}
#ticket .btn { display: inline-block; padding: 14px 0 15px; background: #fff; width: 305px; margin: 0 10px; font-size: 18px; position: relative;}
#ticket .btn::before { content: ""; display: block; background: url(../images/link_icn_3.svg) no-repeat center center; background-size: 100%; width: 26px; height: 7px; top: 45%; transform: translateY(-50%); position: absolute; right: 14px;}

#ticket .summer{padding: 80px 0 0;}
#ticket .summer img { width: 100%; height: auto; }


/* ------------------------------------------------------------ #gallery */
#gallery{padding: 80px 0 0;}
#gallery .slider{padding: 49px 0 0;}
#gallery .slider li p{text-align: center; padding: 40px 0 0;font-size: 18px;}

/* ------------------------------------------------------------ #qa */
#qa {padding: 65px 0 0;}
#qa h3{padding: 0 0 35px;}
#qa dl { background-color: #131313; margin: 0 0 4px;}
#qa dl dt { position: relative; display: flex; justify-content: flex-start; align-items: flex-start; padding: 28px 76px 24px 28px;}
#qa dl dt::before,
#qa dl dt::after { position: absolute; content: ''; top: 47px; right: 28px; width: 24px; height: 1px; margin: 0 auto; background-color: #616161;}
#qa dl dt::after { transform: rotate(90deg); right: 28px; top: 47px;}
#qa dl dt.isToggle::after { display: none;}
#qa dl dt span { display: inline-block; width: 24px; font-size: 26px; font-family: quasimoda, sans-serif;  font-weight: 500; color: #701385; line-height: 1.4; text-align: center;}
#qa dl dt strong { display: inline-block; width: calc(100% - 24px); padding: 0 0 0 16px; box-sizing: border-box; font-size: 18px; font-family: 'Noto-Sans-JP-Medium'; line-height: 2;}
#qa dl dd { display: none; padding: 0 76px 24px 28px;}
#qa dl dd .flex-wrap { display: flex; justify-content: flex-start; align-items: flex-start;}
#qa dl dd .flex-wrap span { display: inline-block; width: 24px; font-size: 26px; font-family: quasimoda, sans-serif;  font-weight: 500; color: #0c7d99; line-height: 1.3; text-align: center;}
#qa dl dd .flex-wrap strong { display: inline-block; width: calc(100% - 24px); padding: 0 0 0 16px; box-sizing: border-box; font-size: 16px; font-family: 'Noto-Sans-JP-Light'; line-height: 2;}
#qa dl dd .flex-wrap a{ color: #fff; }

/* ------------------------------------------------------------ #outline */
#outline { padding: 80px 0 0px; }
#outline a{ color: #fff; }
#outline .outline {display: flex; justify-content: space-between;}
#outline .outline .left  { width: 526px; height: 393px; position: relative;}
#outline .outline .left iframe { width: 100%; height: 100%; position: absolute; top: 0px; left: 0px;}
#outline .outline .right { width: 532px; }
#outline .outline .right dl dt { font-size: 18px; padding: 18px 0 0 ; border-top: 1px solid #2b2b2b;}
#outline .outline .right dl dd { font-size: 16px; padding: 5px 0 18px; line-height: 200%;}
#outline .outline .right dl dd:last-child{border-bottom: 1px solid #2b2b2b;}
#outline .contact { background: #070707; margin: 50px 0 ;}
#outline .contact h4 { width: 245px; text-align: center; float: left; font-size: 18px; padding: 79px 20px 79px 22px; clear: both; }
#outline .contact .right h5 { font-size: 22px; padding: 0 0 20px;}
#outline .contact .right { width: 650px; float: left; padding: 35px 0; margin: 0 0 0 70px;}
#outline .contact .right p { padding: 0 0 20px; }
#outline table { width: 100%; }
#outline table th,
#outline table td { font-size: 18px; text-align: left; padding: 25px 0; border-bottom: 1px solid #2b2b2b; line-height: 170%;}
#outline table th { width: 280px; padding: 25px 0 25px 35px; }

/* ------------------------------------------------------------ performance */
#kimono { padding: 100px 0 ; }
#kimono #yamaguchi { background: url(../images/yorumode/odorimode.jpg) no-repeat center center; background-size: cover; padding: 100px 0;}
#kimono #yamaguchi img { float: left; padding: 70px 0 0 0;}
#kimono #yamaguchi .right { width: 600px; float: right;  }
#kimono #yamaguchi .right h4 { font-size: 33px; line-height: 170%; padding: 0 0 50px; font-family: "Noto-Sans-JP-Bold"; }
#kimono #yamaguchi .right p { font-size: 16px; line-height: 200%;}
#kimono .profile { padding: 100px 0 0;  }
#kimono .profile div.left { float: left; width: 550px;}
#kimono .profile div.left img.left { float: left; }
#kimono .profile div.left div.name { float: left; width: 280px; padding: 0 0 0 35px; }
#kimono .profile div.left div.name h5 { font-size: 43px; padding: 0 0 20px;}
#kimono .profile div.left div.name h5 span { font-size: 33px; }
#kimono .profile div.left div.name p { line-height: 170%;  }
#kimono .profile div.right { float: right; width: 550px; } 
#kimono .profile div.right p { font-size: 14px; line-height: 190%; }
#kimono .profile div.right h3 { font-size: 36px; }
#kimono .profile div.right h3 small { font-size: 24px; }
#kimono .profile div.right a { color: #fff; display: block; padding: 20px 0 0; }

#js-slider-3 { display: none; }


.project { margin: 0 0 40px;}
.project .p_box {display: flex; justify-content: space-between;}
.project .project_pic { width: 476px;}
.project .project_text { display: flex; justify-content: center; align-items: center; width: calc(100% - 476px); background: #131313; }
.project .project_text h5 { font-size: 24px; margin: 0 0 45px;}
.project .project_text h6 { font-size: 16px; margin: 0 0 25px;}
.project .project_text p { line-height: 2;}
.project .project_text p a { color: #fff;}


#artory { padding: 0 0 0px; }
#artory .inner:first-child { background: url(../images/artory_bg_03.jpg?v=3) no-repeat #131313; background-size: cover; }
#artory #logo { width: 230px; float: left;  text-align: center; padding: 140px 0 0 ; } 
#artory #logo img { vertical-align: middle; }
#artory #right { width: 800px; float: left; padding: 50px 60px 50px 0 ;} 
#artory #right h3 { padding: 0 0 30px; font-size: 24px; }
#artory #right h4 { padding: 0 0 20px; font-size: 14px; font-family: sans-serif;}
#artory #right p { line-height: 2; font-size: 14px;}
#artory #right p a {display: inline-block; padding: 30px 0 0; color: #fff; letter-spacing: 1px; }



#info { padding: 150px 0 0; }
#info .info-inner { width: 1000px; margin: 0 auto; padding: 0 0 50px;}
#info .outline { padding: ; }
#info .outline .left  { width: 500px; float: left;}
#info .outline .left iframe { width: 450px; height: 450px; }
#info .outline .right { width: 500px; float: left; }
#info .outline .right dl dt { font-size: 18px; padding: 30px 0 0 ;}
#info .outline .right dl dd { font-size: 16px; padding: 20px 0 20px 0; line-height: 180%;}
#info .contact h4 { width: 245px; text-align: center; float: left; font-size: 18px; padding: 80px 0;}
#info .contact .right h5 { font-size: 22px; padding: 0 0 20px;}
#info .contact .right { width: 735px; float: left; padding: 35px 0;}
#info .contact .right a { color: #fff; }
#info table { width: 100%; }
#info table th,#info table td { font-size: 18px; text-align: left; padding: 25px 0; border-bottom: 1px solid #2b2b2b; line-height: 170%;}
#info table th { width: 280px; padding: 25px 0 25px 35px; }


#special { padding: 50px 0 0 ; }
#special .content { padding: 2px 0 0; }
#special .content img.left { float: left; }
#special .content div.right { width: 490px; float: right; text-align: left;}
#special .content div.right p.price { font-size: 25px; font-family: "Hannari","游明朝体", "Yu Mincho", Yu Mincho,serif ; padding: 0 0 20px;}
#special .content div.right p.price span { font-size: 40px; font-family: "Hannari","游明朝体", "Yu Mincho", Yu Mincho,serif ;  }
#special .content div.right h5 { padding: 0 0 20px; font-size: 20px; line-height: 180%;}
#special .content div.right p.text { line-height: 180%; }
#qa .notice p { font-size: 14px; color: #b4b4b4 ; padding: 50px 0 20px; text-align: left; }


/* ------------------------------------------------------------ sns */
#sns { background: #070707; text-align: center; padding: 120px 0 155px;}
#sns h2 { font-family: 'Noto-Sans-JP-Medium'; color: #fff; padding: 0 0 40px; font-size: 37px;}
#sns .sns_btn { display: flex; justify-content: center; align-items: center; margin: 0 0 70px;}
#sns .sns_btn li { width: 340px; background: #fff; margin: 0 0 0 20px; border-radius: 45px; text-align: left;}
#sns .sns_btn li:first-child { margin: 0;}
#sns .sns_btn li a { display: block; line-height: 90px; font-size: 18px; font-family: 'Noto-Sans-JP-Medium';}
#sns .sns_btn li.line a { background: url(../images/line.png) no-repeat 33px center; background-size: 50px auto; padding: 0 0 0 115px;}
#sns .sns_btn li.twitter a { background: url(../images/x.png) no-repeat 30px center; background-size: 40px auto; padding: 0 0 0 20px; text-align: center;}
#sns .sns_btn li.instagram a { background: url(../images/insta.png) no-repeat 33px center; background-size: 50px auto; padding: 0 0 0 95px;}
#sns .flex_wrap { display: flex; justify-content: space-evenly; align-items: center;}
#sns .bnr li { 	width: 268px; } 
#sns .bnr li a { color: #fff; }

#sns figcaption { padding: 10px 0 0; font-size: 12px; text-align: center;}

/* ------------------------------------------------------------ footer */
footer { background: #070707; text-align: center; color: #fff; padding: 0 0 110px;}
footer small { display: inline-block; font-size: 12px; font-family: 'Noto-Sans-JP-Light'; margin: 50px 0 0; color: #7d8184;}
footer ul { text-align: center; margin: 0 0 100px;}
footer li { display: inline-block;}
footer li:not(:last-child) { padding: 0 20px 0 0; margin: 0 20px 0 0; border-right: 1px solid #7d8184;}
footer li a { font-size: 14px; color: #7d8184 !important;}

#opphoto { padding: 100px 0 100px; }
#opphoto h3 { font-size: 36px; text-align: center; padding: 0 0 30px;}
#opphoto p { padding: 10px 0 0; text-align: center;}
#opphoto h3.h3-style { font-size: 35px; text-align: center; margin: 0 ; font-family: 'Noto-Sans-JP-Regular',sans-serif; font-weight: 400; }


p#toTopBtn { display: none; position: fixed; bottom: 50px; right: 50px; background: #fff; text-align: center;}
p#toTopBtn:hover a { display: block; width: 100%; height: 100%;}

.photos { padding: 50px 0 0 0; clear: both; }




/* ------------------------------------------------------------ mobile ------------------------------------------------------------ */
@media only screen and (max-width: 640px) { 
	/* ------------------------------------------------------------ common */
	
	#firstview { min-height: inherit; }
	#fv { width: 100%; background: url(../images/fv_sp.webp) no-repeat center top; background-size: cover; min-height: inherit; height: calc(100vh - 100px); }
	#fv #fv-inner h1{width: 63%; top: 8%; }
	#fv #fv-inner h1 img{width: 100%; height: auto;}
	#fv #fv-inner .fvbtn {width: 70.8%; height: auto; font-size: 16px; display: block; height: auto; line-height: 100%; padding: 11px 0 16px;}
	#fv #fv-inner .fv_box{width: 100%; height: auto; bottom: 0px;}
	#fv .fv_box .logo{width: 100%; max-width: none; margin: 0 auto;}
	#fv #fv-inner .fv_box .logo{width: 78%; margin: 0 auto;}
	#fv #fv-inner .fv_box .logo img{width: 100%; height: auto;}
	
	#fv #fv-inner h1 img{width: 100%; height: auto;}
	#fv #fv-inner .fv_box .fvbtn {width: 72%; padding: 11px 0 16px;margin: 20px auto 0; font-size: 11px;}
	#fv #fv-inner .fv_box .fvbtn:before{width: 27px; height: 5px; right: 22px;}
	#fv #fv-inner .fv_box .fvbtn span{linedisplay: block; width: 100%; text-align: center; font-size: 16px; padding: 0 0 5px;}

	#fv .copy { width: 100%; bottom: 135px; }
	
	
	.tw-btn { text-align: center; padding: 50px 0; }
	.tw-btn a { background: #1d9bf0; color: #fff; display: inline-block; padding: 15px 50px; font-size: 16px; font-family: 'Noto-Sans-JP-Light',sans-serif; }
	.tw-btn a img { padding: 0 10px 0 0; width: 30px;}
	
	#movie-box { width: inherit; margin: 20px 5% 30px; }
	
	/* ------------------------------------------------------------ conceept */
	
	h3.h3-style { font-size: 21px; text-align: center; margin: 0 ; font-family: 'Noto-Sans-JP-Light',sans-serif; font-weight: 400; }
	h3.h3-style span { display: block; font-size: 14px; padding: 0; }
	h3.h3-style::after {content: ""; display: inline-block; height:2px; width: 148px; background: #c4911a; margin: 0 0 10px;}
	
	#concept { text-align: center; background: url(../images/concept_bg_sp.jpg?v=1) no-repeat center bottom; background-size: 100%; padding: 60px 0 42px;}
	#concept .text_box{ padding: 31px 0 0; font-size: 16px; line-height: 187.5%; }
	
	/* ------------------------------------------------------------ how_to */
	#how_to{background: url(../images/how_to_bg_sp.jpg) no-repeat center center; background-size: cover; padding: 58px 0 33px;}
	#how_to .text_tt{padding: 0; text-align: left; font-size: 13px; line-height: 164.3%;}
	#how_to .flex{display: block; padding: 19px 0 0;}
	#how_to .flex .box{padding: 20px 25px 26px; } 
	#how_to .flex .box:last-child{margin: 20px 0 0;}
	#how_to .flex .box img{width: 100%; height: auto;}
	#how_to .flex .box .text_box{padding: 20px 0 0;} 
	#how_to .flex .box .text_box h4{font-size: 15px; line-height: 160%;}
	#how_to .flex .box .text_box h4 span{font-size: 22px; line-height: 109.1%;}
	#how_to .flex .box .text_box .text{font-size: 14px; line-height: 171.4%; padding:14px 0 0;}
	#how_to .flex .box .text_box .data_tt{font-size: 11px; line-height: 100%; padding:15px 0 0; }
	#how_to .flex .box .text_box .data_tt .big_1{font-size: 19px; line-height: 180%; display: inline-block;}
	#how_to .flex .box .text_box .data_tt .big_2{font-size: 11px; line-height: 200%; margin: 0;}
	#how_to .flex .box .text_box .data_tt .big_3 {font-size: 17px;}
	#how_to .flex .box .text_box .link_tt {width: 89.5%; height: auto; line-height: 100%; font-size: 16px; margin: 38px auto 0; padding: 22px 0;}
	#how_to .flex .box:last-child  .text_box .data_tt .big_1{display: inline-block; padding: 0 0 5px;}

	/* ------------------------------------------------------------ performance */
	
	#performance { padding: 0; padding: 40px 0 0; }
	
	#performance .contents{padding: 20px 0 0;}
	#performance .contents h4.title_tt {margin: 0; }
	#performance .contents h4.title_tt:before,
	#performance .contents h4.title_tt:after{ width: calc(50% - 64px); }
	#performance .contents h4.title_tt span { font-size: 18px; line-height: 180%;}
	#performance .contents .free_box{padding: 26px 0 0;}
	#performance .contents .slick-dotted.slick-slider {margin: 0;}
	#performance .contents .fir-content div h5 img { padding: 0 20px 0 0 ; width: 20%; height: auto;} 
	#performance .contents .fir-content div h5 { font-size: 25px; line-height: 130%; margin: inherit;}
	#performance .contents .fir-content div h5.sec img{ float: left; }
	#performance .contents .fir-content div p { font-size: 14px; line-height: 170%; padding: 0 ; min-height: inherit;}
	#performance .contents .fir-content div { width: 90%; float: inherit; margin: 0 0 20px; padding: 5%; background: #000;}
	
	#performance .contents .sec-content div img.left { float: inherit; width: 100%; height: auto;}
	#performance .contents .sec-content div .right { float: inherit; width: 100%; padding: 20px 0 60px;}
	#performance .contents .sec-content div .right h5 img { padding: 0 10px 0 0 ; width: 20%; height: auto;} 
	#performance .contents .sec-content div .right h5 { font-size: 18px; line-height: 130%; }
	#performance .contents .sec-content div .right p {  font-size: 14px; line-height: 200%; padding: 20px 0 0 ; }
	#performance .contents .sec-content .contents { padding: 30px 0 0; border-bottom: 1px solid #2b2b2b;}
	
	#performance .contents .three-content div img.right { float: inherit; width: 100%; height: auto; padding: 0 0 20px;}
	#performance .contents .three-content div .left { float: inherit; width: inherit; }
	#performance .contents .three-content div .left h5 img { padding: 0 20px 0 0 ; width: 20%; height: auto;} 
	#performance .contents .three-content div .left h5 { font-size: 36px; line-height: 130%; }
	#performance .contents .three-content div .left p {  font-size: 14px; line-height: 200%; padding: 30px 0 0 ; }
	#performance .contents .three-content div .left a img { width: 100%; height: auto; }
	#performance .contents .three-content .contents { padding: 50px 0; }
	#performance .contents .three-content .contents:first-child { padding: 0 0 50px; border-bottom: 1px solid #2b2b2b;}
	#performance .contents .three-content .contents:first-child p { padding: 30px 0 50px 0; }
	#performance .contents .three-content .special { width: 100%; clear: both;  }
	#performance .contents .three-content .special div { width: 100%; float: inherit; text-align: center; padding: 0 0 30px;}
	#performance .contents .three-content .special div p { font-size: 18px; padding: 20px 0 0 ;  }
	#performance .contents .three-content .special div img { width: 100%; height: auto; }
	#performance .contents .three-content h5.special-h5 {  text-align: center; font-size: 30px; font-family: operetta-52, serif; font-weight: 400;}
	#performance .contents .three-content h5.special-h5::after { content: ""; display: block; border-bottom: 1px solid #fff; width: 95%; margin: -8px auto 40px;}
	
	#performance .contents .slider-2 div img.left { float: none; }
	#performance .contents .slider-2 .slick-slide { width: 300px; margin: 0 20px; position: relative; }
	#performance .contents .slider-2 .contents { border: none; }
	#performance .contents .slider-2 div .right { padding: 20px 0 0; float: none; width: 300px; border: none;}
	
	#performance .contents_2{padding: 40px 0 60px;}
	#performance .contents_2 .paid_box .box{width: 100%; margin: 0 auto; padding: 31px 0 30px;}
	#performance .contents_2 .paid_box .box .img_box{width: 100%; height: auto;}
	#performance .contents_2 .paid_box .box .img_box img{width: 100%; height: auto;}
	#performance .contents_2 .paid_box .box h5{padding: 20px 0 0;font-size: 22px; text-align: center; line-height: 109.1%;}
	#performance .contents_2 .paid_box .box p{text-align: left; padding: 20px 0 0; font-size: 14px; line-height: 171.4%;}
	#performance .contents_2 .list_box .flex_box{display: flex; gap: 0; padding: 30px 0;}
	#performance .contents_2 .list_box .box{width: auto; height: auto; }
	#performance .contents_2 .list_box .slick-slide{margin: 0 10px;}
	#performance .contents_2 .list_box .box img{width: 100%; height: auto;}
	#performance .contents_2 .list_box .box h4{font-size: 14px; padding: 22px 0 0;}
	#performance .contents_2 .list_box .box h4 span{font-size: 20px; line-height: 100%; display: inline-block;}
	#performance .contents_2 .list_box .box p{padding: 16px 0 0; font-size: 16px; line-height: 200%;}
	#performance .contents_2 .list_box .box.box_big{width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; margin: 80px 0 0;}
	#performance .contents_2 .list_box .box.box_big .img{margin: 0 20px 0 0; width: calc(100% - 220px);}
	#performance .contents_2 .list_box .box.box_big h4{font-size: 12px; text-align: left; padding: 10px 0 0;}
	#performance .contents_2 .list_box .box.box_big h4 span{font-size: 24px; padding: 0 0 10px;}
	#performance .contents_2 .list_box .box.box_big p {font-size: 12px; line-height: 183.3%;}
	
	/* ------------------------------------------------------------ #goods */
	#goods{background: url(../images/goods_bg_sp.jpg) no-repeat center center; background-size: cover; padding: 29px 0 44px;}
	#goods .text_tt{padding: 0; text-align: left; font-size: 13px; line-height: 176.9%;}
	#goods .flex{display: block; padding: 33px 0 0;}
	#goods .flex .box{ padding: 20px 25px 26px; }
	#goods .flex .box:last-child{margin: 10px 0 0;}
	#goods .flex .box .img img{width: 100%; height: auto;}
	#goods .flex .box .text_box{padding: 20px 0 0;}
	#goods .flex .box .text_box h4{font-size: 18px; line-height: 113.34%; }
	#goods .flex .box .text_box .data{font-size: 22px; line-height: 180%; padding: 3px 0 10px;}
	#goods .flex .box .text_box .text{padding: 10px 0 0;line-height: 171.4%; font-size: 14px;}
	
	/* ------------------------------------------------------------ #special_stage */
	#special_stage{padding: 60px 0 0;}
	#special_stage .text_tt{padding: 0px 0 0; text-align: left; font-size: 13px; line-height: 187.5%;}
	#special_stage .flex{width: 100%; margin: 0 auto; display: block; padding: 30px 0 0;}
	#special_stage .flex .img{width: 79%; margin: 0 auto;}
	#special_stage .flex .img img{width: 100%; height: auto;}
	#special_stage .flex .text h4{line-height: 100%; font-size: 16px; text-align: center; padding: 20px 0 0; }
	#special_stage .flex .text h4 span{ font-size: 34px; line-height: 160%; margin: 8px 8px 0 0;}
	#special_stage .flex .text p{font-size: 13px; line-height:177%; padding: 10px 0 0;}
	
	/* ------------------------------------------------------------ #ticket */
	#ticket { padding: 60px 0 0; }
	#ticket .ticket_bg{background: url(../images/ticket_bg_1_sp.jpg) no-repeat center center; background-size: cover; padding: 40px 0 43px;}
	#ticket h4 { font-size: 38px;  }
	#ticket .inner { width: 94%; }
	#ticket .ticket-inner { margin: 10px 0 0; padding: 28px 10px;}
	#ticket .ticket-inner img{width: 100%; height: auto;}
	#ticket .ticket-inner h4 { font-size: 22px; line-height: 109.1%;}
	#ticket .ticket-inner p { padding: 20px 0 0; line-height: 171.4%; font-size: 14px; text-align: left;}
	#ticket .ticket-inner .notice { padding: 30px 14px 0; }
	#ticket .btns { padding: 22px 0 0;}
	#ticket .btn {width: 80%; margin: 0 3px 11px; font-size: 14px; padding: 13px 0 13px;}
	
	#ticket .summer {padding: 40px 0 0;}
	#ticket .summer img{width: 100%; height: auto;}
	
	
	
	#kimono { padding: 50px 0 ; }
	#kimono #yamaguchi { background: url(../images/yorumode/odorimode.jpg) no-repeat; background-size: 150% auto; padding: 50px 0 0; text-align: center;}
	#kimono #yamaguchi img { float: inherit; padding: 0 0 40px; width: 60% ; height: auto;}
	#kimono #yamaguchi .right { width: 100%; float: inherit;  }
	#kimono #yamaguchi .right h4 { font-size: 18px; line-height: 170%; padding: 0 0 25px; text-align: left;}
	#kimono #yamaguchi .right p { font-size: 13px; line-height: 200%; text-align: left; font-family: 'Noto-Sans-JP-Light',sans-serif; }
	#kimono .profile { padding: 50px 0 0;  }
	#kimono .profile div.left { float: inherit; width: 100%;}
	#kimono .profile div.left img.left { float: left; width: 30%; height: auto;}
	#kimono .profile div.left img.ukoon { width: 100%; height: auto;} 
	#kimono .profile div.left div.name { float: left; width: 60%; padding: 0 0 0 5%; }
	#kimono .profile div.left div.name h5 { font-size: 20px; padding: 0 0 10px;}
	#kimono .profile div.left div.name h5 span { font-size: 12px; }
	#kimono .profile div.left div.name p { line-height: 170%; font-size: 12px;  }
	#kimono .profile div.right { float: inherit; width: 100%; } 
	#kimono .profile div.right p { font-size: 13px; line-height: 190%; padding: 10px 0 0; font-family: 'Noto-Sans-JP-Light',sans-serif;}
	#kimono .profile div.right h3 { font-size: 20px; }
	#kimono .profile div.right h3 small { font-size: 16px; }
	
	
	#js-slider-3 { display: block; }
	#kimono #js-slider-3 .profile div.left { float: inherit; width: 300px;}
	#kimono #js-slider-3 .slick-slide { width: 300px;  margin: 0 20px; position: relative;  }
	
	.project { margin: 0 0 20px;}
	.project .p_box {display: block;}
	.project .project_pic { width: 100%;}
	.project .project_pic img { width: 100%; height: auto; }
	.project .project_text { display: block; width: 100%; padding: 40px 20px; box-sizing: border-box;}
	.project .project_text h5 { font-size: 18px; line-height: 1.4; margin: 0 0 25px;}
	.project .project_text h6 { font-size: 14px; margin: 0 0 25px; }
	.project .project_text p { line-height: 28px; font-size: 14px; }

	#artory { padding: 0 ; }
	#artory #logo { width: 100%; float: none; text-align: center; padding: 40px 0 25px; } 
	#artory #logo img { vertical-align: middle; }
	#artory #right { width: 95%; float: none; padding: 5% 0 10px 5%; } 
	#artory #right h3 { padding: 0 0 10px; text-align: left; font-size: 18px; text-align: center;}
	#artory #right h3 small { font-size: 12px; }
	#artory #right h4 { padding: 0 0 10px; text-align: left; font-size: 13px; line-height: 20px; text-align: center;}
	#artory #right p { font-size: 13px; line-height: 28px;}
	#artory p { font-size: 13px; line-height: 24px; padding: 2% 2% 5% 5%;}
	#artory p a {display: inline-block; padding: 20px 0 0; color: #fff; font-size: 12px; letter-spacing: 1px; }

	/* ------------------------------------------------------------ #outline */
	#outline { padding: 40px 0 0; }
	#outline .info-inner { width: 100%; margin: 0 auto; }
	#outline .outline { display: block;}
	#outline .outline .left  { margin: 30px 0 0; width:100%; height: auto; padding-top:75%;}
	#outline .outline .right { width: 100%; float: inherit; }
	#outline .outline .right dl dt { font-size: 16px; padding: 15px 0 0;}
	#outline .outline .right dl dd { font-size: 14px; padding: 10px 0 15px; line-height: 180%;}
	#outline .contact { background: #131313; margin: 20px 0 ; padding: 5%;}
	#outline .contact h4 { width: inherit; text-align: center; float: inherit; font-size: 18px; padding: 0; }
	#outline .contact .right h5 { font-size: 22px; padding: 0 0 20px; line-height: 130%;}
	#outline .contact .right { width: auto; float: left; padding: 20px 0; margin: 0;}
	#outline .contact .right p { font-size: 14px;}
	#outline table { width: 100%; }
	#outline table th,
	#outline table td { display: block; font-size: 14px; text-align: left; padding: 12px 0 20px; border-bottom: 1px solid #2b2b2b;}
	#outline table th { width: inherit; padding: 20px 0 0; border-bottom: none; font-weight: bold;}
	
	/* ------------------------------------------------------------ #info */
	#info { padding: 90px 0 10px; }
	#info .info-inner { width: 100%; margin: 0 auto; }
	#info .outline { padding: ; }
	#info .outline .left  { width: inherit; float: inherit; position: relative; width:100%; height:0; padding-top:75%;}
	#info .outline .left iframe { position:absolute; top:0; left:0; width:100%; height:100%;}
	#info .outline .right { width: 100%; float: inherit; }
	#info .outline .right dl dt { font-size: 16px; padding: 30px 0 0 ;}
	#info .outline .right dl dd { font-size: 14px; padding: 10px 0 10px 0; line-height: 180%;}
	#info .contact { background: #131313; margin: 20px 0 ; padding: 5%;}
	#info .contact h4 { width: inherit; text-align: center; float: inherit; font-size: 18px; padding: 0; }
	#info .contact .right h5 { font-size: 16px; padding: 0 0 20px; line-height: 140%; text-align: center;}
	#info .contact .right { width: inherit; float: left; padding: 20px 0;}
	#info .contact .right p { font-size: 14px;}
	#info .contact .right a { color: #fff; }
	
	#info table { width: 100%; }
	#info table th,#info table td { display: block; font-size: 14px; text-align: center; padding: 12px 0 20px; border-bottom: 1px solid #2b2b2b;}
	#info table th { width: inherit; padding: 20px 0 0; border-bottom: none; font-family: "Noto-Sans-JP-Bold",sans-serif ; text-align: center; }
	
	
	#artory .inner:first-child { background: url(../images/artory_bg_04.jpg?v=3) no-repeat center top #131313; background-size: cover;}
	
	/* ------------------------------------------------------------ #gallery */
	#gallery img { width: 90vw; height: auto;}
	#gallery { padding: 40px 0 0; }
	#gallery .slider { padding: 0;}
	#gallery h3 { font-size: 21px; text-align: center; padding: 0 0 30px; line-height: 140%;}
	#gallery .slider li p { font-size: 12px; width: 100%; line-height: 140%; padding: 20px 0 0;}
	#gallery h3.h3-style { font-size: 21px; text-align: center; margin: 0 ; font-family: 'Noto-Sans-JP-Light',sans-serif; font-weight: 400; }
	#gallery h3.h3-style span { font-size: 14px; }
		
	/* ------------------------------------------------------------ qa */
	#qa {padding: 50px 0 0;}
	#qa h2 {margin: 0 auto 24px;font-size: 14px;}
	#qa h2 span {margin: 0 0 16px;font-size: 40px;letter-spacing: 4px;}
	#qa h3 {padding: 0px 0 20px;}
	#qa dl {margin: 0 0 4px;}
	#qa dl dt {padding: 12px 44px 12px 12px;}
	#qa dl dt::before,
	#qa dl dt::after {top: 27px;right: 16px;width: 18px;height: 1px;}
	#qa dl dt::after {top: 27px;right: 16px;}
	#qa dl dt span {width: 24px;font-size: 22px;line-height: 1.4;}
	#qa dl dt strong {width: calc(100% - 24px);padding: 0 0 0 12px;font-size: 14px;line-height: 1.7;}
	.iPhone #qa dl dt strong {padding: 4px 0 0 12px;}
	#qa dl dd {padding: 0 44px 12px 12px;}
	#qa dl dd .flex-wrap span {width: 24px;font-size: 22px;line-height: 1.4;}
	#qa dl dd .flex-wrap strong {width: calc(100% - 24px);padding: 0 0 0 12px;font-size: 14px;line-height: 1.7;}
	.iPhone #qa dl dd .flex-wrap strong {padding: 4px 0 0 12px;}
	#qa .notice p {padding: 50px 0 0px;}
/* ------------------------------------------------------------ sns */
	#sns {background: #070707;text-align: center;padding: 30px 0 55px;}

	#sns h2 {font-family: 'Noto-Sans-JP-Medium';color: #fff;padding: 0 0 20px;font-size: 20px;line-height: 1.4;}

	#sns .sns_btn {display: flex;justify-content: center;align-items: center;flex-wrap: wrap;}

	#sns .sns_btn li {width: 48.5%;margin: 0 0 3%;border-radius: 45px;text-align: left;}

	#sns .sns_btn li:first-child {margin: 0 3% 3% 0;}

	#sns .sns_btn li a {line-height: 1.2;font-size: 12px;}

	#sns .sns_btn li.line a {background: url(../images/line.png) no-repeat 25px center;background-size: 30px auto;padding: 10px 0 10px 65px;}

	#sns .sns_btn li.twitter a {background: url(../images/x.png) no-repeat 25px center;background-size: 26px auto;padding: 10px 0 10px 65px; text-align: left;}

	#sns .sns_btn li.instagram a {background: url(../images/insta.png) no-repeat 15px center;background-size: 30px auto;padding: 10px 0 10px 55px;}
	
	#sns .bnr {flex-wrap: wrap;}
	
	#sns .bnr li {width: calc((100% - 10px) / 2);}
	#sns .bnr li img {max-width: 100%; height: auto; }
	#sns .bnr li:nth-child(2n + 2) {margin: 0 0 0 10px;}
	#sns figcaption {padding: 10px 0 20px;line-height: 1.4;}

/* ------------------------------------------------------------ footer */
	footer { padding: 0 0 55px; }
	footer h2 { padding: 0 0 20px; }

	footer h2 img { width: 30%; height: auto;}
	footer small { font-size: 12px; margin: 0; font-family: 'Noto-Sans-JP-Light';}
	footer ul {margin: 0 0 30px;}
	footer li { display: block; }
	footer li:not(:last-child) { padding: 0; margin: 0 0 10px; border-right: none;}
	#opphoto img { width: 90vw; height: auto;}
	#opphoto { padding: 50px 0 50px; }
	#opphoto h3 { font-size: 21px; text-align: center; padding: 0 0 30px; line-height: 140%;}
	#opphoto p { font-size: 12px; width: 86vw; line-height: 140%; margin: 0 auto; text-align: center;}
	#opphoto h3.h3-style { font-size: 21px; text-align: center; margin: 0 ; font-family: 'Noto-Sans-JP-Light',sans-serif; font-weight: 400; }
	#opphoto h3.h3-style span { font-size: 14px; }
	
	p#toTopBtn { display: none; position: fixed; bottom: 0; margin: 0 auto; background: url(../images/bg.png); text-align: center; width: 100%; left: 0; right:0; padding: 20px 0 30px; }
	p#toTopBtn img {width: 70%; height: auto;}


	p#toTopBtn a {display: inline;}

	.photos { padding: 20px 0 0 0; width: 100%; height: auto; }
	.photos img { width:100%; height: auto; }
}
