@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: source-han-sans-japanese, sans-serif; font-weight: 500; font-style: normal; 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: source-han-sans-japanese, sans-serif; font-weight: 400; font-style: normal; }
h3,h4,h5 { font-family: source-han-sans-japanese, sans-serif; font-weight: 400; font-style: normal; }


#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; }
a{transition: 0.5s; opacity: 1;}
a:hover{transition: 0.5s; opacity: 0.6;}


h3{text-align: center; color: #fff; font-size: 18px; font-family: source-han-sans-japanese, sans-serif; font-weight: 500; font-style: normal; line-height: 110%;}
h3 span{font-family: garamond-premier-pro, serif; font-weight: 400; font-style: normal; font-size: 35px; line-height: 140%; display: inline-block; padding: 0 0 18px; }
/* ------------------------------------------------------------ header */
header{position: fixed;width: 100%; height: auto; min-width: 1200px; text-align: right; z-index: 100; transition: all 0.5s; }
header .header_box{position: relative;}
header.scroll{transition: all 0.5s; background: #000;}
header h1{display: block; padding: 13px 0 13px 58px; text-align: left;}
header h1 a{display: block; width: 131px; height: auto; position: relative;}
header h1 a img{display: block; width: 100%; height: auto; transition: 0.5s;}
header .link_btn{position: absolute; right: 0px; top: 0px; vertical-align: top;}
header .link_btn a{ display:block; width: 188px; height: auto; margin: 0 0 0 auto;}
header .link_btn img{width: 100%; height: auto}

/* ------------------------------------------------------------ fv */
#fv { background: url(../images/fv_1.jpg) no-repeat center top 69%; background-size: 100%; position: relative;  box-sizing: border-box; padding: 146px 0 92px;}
#fv h2{text-align: center; width: 619px; height: auto; margin: 0 auto;}
#fv img{width: 100%; height: auto;}
#fv .fv_box .logo{text-align: center; padding: 530px 0 0;}
#fv .fv_box .logo p.text_1{font-family: shippori-mincho, sans-serif; font-weight: 400; font-style: normal; font-size: 36px; line-height: 119.43%;}
#fv .fv_box .logo p.text_2{font-family: source-han-sans-japanese, sans-serif; font-weight: 400; font-style: normal;font-size: 24px; line-height: 145.8%; padding: 26px 0 0;}
#fv .fv_box .fvbtn{display: block; width: 410px; margin: 26px auto 0; font-size: 22px; line-height: 154.55%; padding: 17px 0 19px; background: #fff; color: #000; text-align: center; font-family: source-han-sans-japanese, sans-serif; font-weight: 400; font-style: normal;position: relative;}
#fv .fv_box .fvbtn:before{ content: ""; display: block; background: url(../images/link_icn_1.svg) no-repeat center center; background-size: 100%; width: 38px; height: 8px; position: absolute; top: 50%; transform: translateY(-50%); right: 16px; }


/* ------------------------------------------------------------ #about */
#about{padding: 60px 0 77px; background: url(../images/about_bg_1.jpg) no-repeat center center; background-size: cover;}
#about .about_box{width: 100%; height: auto; text-align: center; padding: 50px 0 0;}
#about .about_box p{width: 100%; font-size: 24px; line-height: 225%; padding: 50px 0 0;}
#about .about_box p br.SP_br{display: none;}


/* ------------------------------------------------------------ #affair */
#affair{padding: 105px 0 0; background: url(../images/affair_bg_1.jpg) no-repeat top center; background-size: 100%;}
#affair h4{text-align: center; width: 100%;}
#affair .img{padding: 56px 0 37px; margin: 0 auto; max-width: 1100px; width: 100%;}
#affair .img .flex{display: flex; justify-content: space-between; padding: 68px 0 0;}
#affair .img .flex h5{font-size: 26px; line-height: 138.45%; color: #fff;}
#affair .img .flex h5 span{font-size: 36px; line-height: 119.5%; color: #fff; font-family: shippori-mincho, sans-serif; font-weight: 500; font-style: normal; display: block; padding: 0 0 15px;}
#affair .img .flex p{line-height: 150%; font-size: 16px; width: 548px;}

#affair .banquet{padding: 40px 0 0;}

#affair .banquet .img.img_1 .flex p{width: 468px;}
#affair .profile{border-top: 1px solid #fff; padding: 46px 0 0;}
#affair .profile .flex{display: flex;}
#affair .profile .flex h5{font-size: 36px; font-family: garamond-premier-pro, serif; font-weight: 400; font-style: normal; margin: 0 37px 0 0 ;}
#affair .profile .flex .text_box{width: 583px; height: auto; margin: 0 79px 0 0 ;}
#affair .profile .flex .text_box p.name{font-size: 18px; line-height: 160%;}
#affair .profile .flex .text_box p.name span{font-size: 30px; font-family: source-han-sans-japanese, sans-serif; font-weight: 500; font-style: normal; display: inline-block; padding: 0 15px 0 0;}
#affair .profile .flex .text_box p.big_text{font-size: 20px; font-family: source-han-sans-japanese, sans-serif; font-weight: 500; font-style: normal; line-height: 180%; }
#affair .profile .flex .text_box p.text{font-size: 16px; line-height: 150%; padding: 20px 0 0;}

#affair .incense{padding: 79px 0 0;}
#affair .incense .img .flex p{width: 468px;}


#affair .view{padding: 96px 0 0;}
#affair .view .img .flex p{ width: 491px;}
#affair .view .img .flex h5 span{font-size: 30px; line-height: 119.5%; ;}
#affair .view .flex_2{border-top: 1px solid #fff; display: flex; justify-content: space-between; padding: 68px 0 0;}
#affair .view .flex_2 .content_box{width: 704px;}
#affair .view .flex_2 .content_box .text_box h5{font-family: shippori-mincho, sans-serif; font-weight: 500; font-style: normal; font-size: 30px; line-height: 120%;}
#affair .view .flex_2 .content_box .text_box p{line-height: 156%; padding: 30px 0 0; font-size: 18px;}
#affair .view .flex_2 .content_box .text_box p a{color: #fff;}
#affair .view .flex_2 .content_box .box{padding: 56px 0 0;}
#affair .view .flex_2 .content_box .box .flex_3{display: flex; justify-content: space-between;}
#affair .view .flex_2 .content_box .box .flex_3:last-child{margin: 31px 0 0;}
#affair .view .flex_2 .content_box .box .flex_3 .tt{width: calc(100% - 230px); height: auto;}
#affair .view .flex_2 .content_box .box .flex_3 .tt h6{font-size: 21px; line-height: 138.1%; font-family: shippori-mincho, sans-serif; font-weight: 500; font-style: normal; white-space: nowrap; }
#affair .view .flex_2 .content_box .box .flex_3 .tt p{font-size: 14px; line-height: 150%; padding: 25px 0 0;}
#affair .view .flex_2.flex_box_1{padding: 68px 0 69px;}
#affair .view .flex_2.flex_box_1 .content_box .text_box p{font-size: 16px; line-height: 150%;}
#affair .view .flex_2.flex_box_1 .content_box .text_box p span{ font-size: 13px;}
#affair .view .flex_2.flex_box_2{flex-direction: row-reverse; padding: 68px 0 43px}
#affair .view .flex_2.flex_box_2 .content_box{width: 605px; }
#affair .view .flex_2.flex_box_3 .content_box{width: 643px; margin:0 auto 0 55px; }

#affair .ink{padding: 130px 0 0;}
#affair .ink .flex_ink{display: flex; justify-content: space-between;}
#affair .ink .flex_ink h4{width: auto}
#affair .ink .flex_ink .list_box{ width: 865px; }
#affair .ink .flex_ink .list_box .flex{display: flex; justify-content: space-between;}
#affair .ink .flex_ink .list_box .flex .text_box{width: 459px; height: auto;}
#affair .ink .flex_ink .list_box .flex .text_box h5{font-size: 24px; line-height: 160%; font-family: source-han-sans-japanese, sans-serif; font-weight: 500; font-style: normal;}
#affair .ink .flex_ink .list_box .flex .text_box p{line-height: 150%; font-size: 16px; padding: 20px 0 0;}
#affair .ink .flex_ink .list_box .flex:not(:first-child){padding: 72px 0 0;}

/* ------------------------------------------------------------ #guest */
#guest{padding: 104px 0 0;}
#guest .flex{display: flex; flex-wrap: wrap; width: 810px; margin: 0 auto; justify-content: center; padding: 60px 0 0; gap: 80px 63px;}
#guest .flex .box{width: 228px; }
#guest .flex .box img{width: 100%; height: auto;}
#guest .flex .box h4{padding: 17px 0 0;font-size: 24px; line-height: 100%; font-family: source-han-sans-japanese, sans-serif; font-weight: 500; font-style: normal;}
#guest .flex .box .click_text{cursor: pointer;}
#guest .flex .box p.tt_1{font-family: source-han-sans-japanese, sans-serif; font-weight: 500; font-style: normal; padding: 10px 0 0; line-height: 150%;}
#guest .flex .box .click_text p.tt_2{ padding: 27px 0 0; line-height: 150%;}
#guest .flex .box .click_text p.tt_2{ height: calc(1.5em * 4 + 27px); overflow: hidden; cursor: pointer; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4;box-sizing: border-box; }
#guest .flex .box .click_text.open p.tt_2{ -webkit-line-clamp: 1000000000000000; }
#guest .flex .box .click_text.open p.tt_2::after{ content: ""; }

#guest .flex .box .click_text p.tt_3{ padding: 0 20px 0 0 ; position: relative; line-height: 150%; text-align: right; margin: 10px 0 0; }
#guest .flex .box .click_text p.tt_3:before{ content: ""; display: block; width: 10px ;height: 10px; right: 0px; top: 50%; transform: translateY(-50%) rotateZ(-45deg); position: absolute; border-right: 1px solid #fff; border-bottom: 1px solid #fff; }
/* ------------------------------------------------------------ #ticket */
#ticket{padding: 99px 0 0;}
#ticket .bg_box{background: url(../images/ticket_bg_1.jpg) no-repeat center center; background-size: cover; padding: 61px 0 31px;}
#ticket .bg_box .box{background: #000; margin: 27px 0 0 ; padding: 45px 44px 33px;}
#ticket .bg_box .img{}
#ticket .bg_box .img img{width: 100%; height: auto;}
#ticket .bg_box .fvbtn{display: block; width: 543px; margin:54px auto 0; font-size: 22px; line-height: 163.6%; padding: 14px 0; background: #fff; color: #000; text-align: center; font-family: source-han-sans-japanese, sans-serif; font-weight: 400; font-style: normal;position: relative;}
#ticket .bg_box .fvbtn:before{ content: ""; display: block; background: url(../images/link_icn_1.svg) no-repeat center center; background-size: 100%; width: 38px; height: 8px; position: absolute; top: 50%; transform: translateY(-50%); right: 16px; }

/* ------------------------------------------------------------ #map */
#map{padding: 37px 0 0;}
#map .summer{padding: 28px 0 0}
#map .summer img{width: 100%; height: auto;}

/* ------------------------------------------------------------ #qa */
#qa {padding: 65px 0 0; }
#qa h3{margin: 0 0 60px;}
#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: source-han-sans-japanese, sans-serif; font-weight: 500; font-style: normal; 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: source-han-sans-japanese, sans-serif; font-weight: 200; font-style: normal; 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; padding: 60px 0 0;}
#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; }
#info table td .flex{display: flex; flex-wrap: wrap; gap: 10px; width: 620px;}
#info table td .flex a{display: block;}


#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: source-han-sans-japanese, sans-serif; font-weight: 500; font-style: normal; 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: source-han-sans-japanese, sans-serif; font-weight: 500; font-style: normal;}
#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: source-han-sans-japanese, sans-serif; font-weight: 200; font-style: normal; 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: source-han-sans-japanese, sans-serif; font-weight: 400; font-style: normal;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; }

	h3{ font-size: 14px;}
	h3 span{ font-size: 21px; padding: 0 0 7px;}
	
	h3.h3-style::after {width: 100px; }
	/* ------------------------------------------------------------ header */
	header{ min-width: auto; }
	header h1{ padding: 8px 0 8px 5%;}
	header h1 a{width: 71px;}
	header .link_btn a{width: 108px;}
	
	/* ------------------------------------------------------------ fv */
	#fv { background: url(../images/fv_1.jpg) no-repeat center top 48%; background-size: 114%; position: relative;  box-sizing: border-box; padding: 16.7% 0 77px;}
	#fv h2{text-align: center; width: 70.8%; height: auto; margin: 0 auto;}
	#fv img{width: 100%; height: auto;}
	#fv .fv_box .logo{text-align: center; padding: 56.2% 0 0;}
	#fv .fv_box .logo p.text_1{font-size: 22px; line-height: 119.43%;}
	#fv .fv_box .logo p.text_2{font-size: 11px; line-height: 145.8%; padding: 11px 0 0;}
	#fv .fv_box .fvbtn{display: block; width: 71%; margin: 7.7% auto 0; font-size: 16px; line-height: 168.7%; padding: 16px 0 17px;}
	#fv .fv_box .fvbtn:before{ width: 28px; height: 6px; right: 14px;}
	
	
	/* ------------------------------------------------------------ #about */
	#about{padding: 13px 0 40px; background: url(../images/about_bg_1_sp.jpg) no-repeat center center; background-size: cover;}
	#about .about_box .img_box{width: 100%; height: auto;}
	#about .about_box .img_box img{width: 100%; height: auto;}
	#about .about_box{ padding: 28px 0 0;}
	#about .about_box p{font-size: 16px; line-height: 186.5%; padding: 33px 0 0;}
	#about .about_box p br.SP_br{display: inline-block;}
	
	
	/* ------------------------------------------------------------ #affair */
	#affair{padding: 60px 0 0; background: url(../images/affair_bg_1_sp.jpg) no-repeat top center; background-size: 100%;}
	#affair img{width: 100%; height: auto;}
	#affair h4{text-align: center; width: 60px; height: auto; margin: 0 auto;}
	#affair h4 img{width: 100%; height: auto;}
	#affair .img{padding: 64px 0 30px;}
	#affair .img img{width: 100%; height: auto;}
	#affair .img .flex{display: block; padding: 22px 0 0; width: 90%; margin: 0 auto;}
	#affair .img .flex h5{font-size: 16px; line-height: 175%; width: 100%;}
	#affair .img .flex h5 span{font-size: 28px; line-height: 121.4%; padding: 0 0 18px; text-align: center;}
	#affair .img .flex p{line-height: 171.4%; font-size: 14px; width: 100%; padding: 10px 0 0;}
	
	#affair .banquet{padding: 40px 0 0;}
	
	#affair .banquet .img.img_1 .flex p{width: 100%;}
	#affair .profile{ padding: 40px 0 0;}
	#affair .profile .flex{display: block;}
	#affair .profile .flex h5{font-size: 21px; margin: 0; text-align: center; line-height: 138.1%;}
	#affair .profile .flex img{width: 63.3%; height: auto; margin: 0 auto; display: block; padding: 20px 0 0;}
	#affair .profile .flex .text_box{width: 100%; height: auto; margin: 0;}
	#affair .profile .flex .text_box p.name{font-size: 14px; line-height: 171.4%; text-align: center;}
	#affair .profile .flex .text_box p.name span{font-size: 30px; padding: 0;}
	#affair .profile .flex .text_box p.big_text{font-size: 16px; line-height: 175%; }
	#affair .profile .flex .text_box p.text{font-size: 14px; line-height: 171.4%; padding: 20px 0 0;}
	#affair .profile .flex .text_box_sp{padding: 45px 0 0;}
	
	#affair .incense{padding: 40px 0 0;}
	#affair .incense .img .flex p{width: 100%;}
	
	#affair .view{padding: 48px 0 0;}
	#affair .view .img .flex p{ width: 100%;}
	#affair .view .img .flex h5 span{font-size: 30px; line-height: 119.5%; ;}
	#affair .view .flex_2{ display: block; padding: 34px 0 0;}
	#affair .view .flex_2 .content_box{width: 100%; margin: 20px 0 0;}
	#affair .view .flex_2 .content_box .text_box h5{font-size: 22px; line-height: 120%;}
	#affair .view .flex_2 .content_box .text_box p{ padding: 18px 0 0; font-size: 14px;}
	#affair .view .flex_2 .content_box .box{padding: 30px 0 0;}
	#affair .view .flex_2 .content_box .box .flex_3{display: block;}
	#affair .view .flex_2 .content_box .box .flex_3:last-child{margin: 31px 0 0;}
	#affair .view .flex_2 .content_box .box .flex_3 .tt{width: 100%; height: auto; padding: 15px 0 0;}
	#affair .view .flex_2 .content_box .box .flex_3 .tt h6{font-size: 18px; line-height: 138.1%; white-space: inherit; }
	#affair .view .flex_2 .content_box .box .flex_3 .tt p{font-size: 14px; line-height: 150%; padding: 15px 0 0;}
	#affair .view .flex_2.flex_box_1{padding: 30px 0 35px;}
	#affair .view .flex_2.flex_box_1 .content_box .text_box p{font-size: 14px; line-height: 171.4%;}
1#affair .view .flex_2.flex_box_1 .content_box .text_box p span{ font-size: 11px;}
	#affair .view .flex_2.flex_box_2{padding: 34px 0 21px}
	#affair .view .flex_2.flex_box_2 .content_box{width: 100%; }
	#affair .view .flex_2.flex_box_3 .content_box{width: 100%; margin:20px 0 0; }
	
	#affair .ink{padding: 65px 0 0;}
	#affair .ink .flex_ink{display: block;}
	#affair .ink .flex_ink h4{width: 60px; }
	#affair .ink .flex_ink .list_box{ width: 100%; padding: 64px 0 0;}
	#affair .ink .flex_ink .list_box .flex{display: block;}
	#affair .ink .flex_ink .list_box .flex .text_box{width: 100%; height: auto; padding: 10px 0 0;}
	#affair .ink .flex_ink .list_box .flex .text_box h5{font-size: 18px; }
	#affair .ink .flex_ink .list_box .flex .text_box p{line-height: 150%; font-size: 13px; padding: 10px 0 0;}
	#affair .ink .flex_ink .list_box .flex:not(:first-child){padding: 36px 0 0;}
	
	/* ------------------------------------------------------------ #guest */
	#guest{padding: 52px 0 0;}
	#guest .flex{width: 100%; padding: 30px 0 0; gap: 30px 10px;}
	#guest .flex .box{width: calc(50% - 5px); height: auto;}
	#guest .flex .box img{width: 100%; height: auto;}
	#guest .flex .box h4{padding: 17px 0 0;font-size: 18px; line-height: 100%; }
	#guest .flex .box p.tt_1{padding: 10px 0 0; font-size: 13px;}
	#guest .flex .box .click_text p.tt_2{ padding: 20px 0 0; font-size: 13px;height: calc(1.5em * 4 + 20px);}
	#guest .flex .box .click_text p.tt_3{ padding: 0 15px 0 0 ; font-size: 13px; }
	#guest .flex .box .click_text p.tt_3:before{ width: 7px ;height: 7px; }
	
	/* ------------------------------------------------------------ #ticket */
	#ticket{padding: 50px 0 0;}
	#ticket .bg_box{background: url(../images/ticket_bg_1_sp.jpg) no-repeat center center; background-size: cover; padding: 30px 0 15px;}
	#ticket .bg_box .box{ margin: 20px 0 0 ; padding: 0; background: none;}
	#ticket .bg_box .img img{width: 100%; height: auto;}
	#ticket .bg_box .fvbtn{ width: 86%; margin:27px auto 0; font-size: 16px; line-height: 163.6%; padding: 14px 0;}
	#ticket .bg_box .fvbtn:before{width: 28px; height: 6px; right: 14px;}
	
	/* ------------------------------------------------------------ #map */
	#map{padding: 37px 0 0;}
	#map .summer{padding: 14px 0 0}
	
	/* ------------------------------------------------------------ #kimono */
	#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: source-han-sans-japanese, sans-serif; font-weight: 200; font-style: normal; }
	#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: source-han-sans-japanese, sans-serif; font-weight: 200; font-style: normal;}
	#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 { float: none; padding: 20px 0; width: 100%;}
	#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; }
	#info table td a{width: calc(50% - 5px); height: auto;}
	#info table td a img{width: 100%; height: auto; display: block;}	
	#info table td .flex{display: flex; flex-wrap: wrap; gap: 10px; width: 100%;}
	#info table td .flex a{display: block;}
	#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: source-han-sans-japanese, sans-serif; font-weight: 200; font-style: normal; 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 {margin: 0px 0 30px;}
	#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: source-han-sans-japanese, sans-serif; font-weight: 500; font-style: normal;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: source-han-sans-japanese, sans-serif; font-weight: 200; font-style: normal;}
	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: source-han-sans-japanese, sans-serif; font-weight: 200; font-style: normal; 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; }
}
