/*
Theme Name: rhy umeda
Author: Teruhisa Osawa
Version: 1.0
*/
*,*::before,*::after{box-sizing:border-box}ul[class],ol[class]{padding:0}body,h1,h2,h3,h4,p,ul[class],ol[class],figure,blockquote,dl,dd{margin:0}body{min-height:100vh;scroll-behavior:smooth;text-rendering:optimizeSpeed;line-height:1.5}ul[class],ol[class]{list-style:none}a:not([class]){text-decoration-skip-ink:auto}img{max-width:100%;display:block}article>*+*{margin-top:1em}input,button,textarea,select{font:inherit}img:not([alt]){filter:blur(0)}}

*{
box-sizing:border-box;
}
html, body {
height:100%;
font-family: 'Kiwi Maru', serif;
font-feature-settings : "palt"
}
body{
font-size:18px;
color: #000;
-webkit-text-size-adjust: 100%;
position: relative;
right: 0;
overflow-x: hidden;
}

a{
text-decoration:underline;
opacity:1;
line-height:100%;
color:#000;
text-decoration:none;
}
a:hover {
-webkit-transition:0.7s;
-moz-transition:0.7s;
-o-transition:0.7s;
transition:0.7s;
color:#000000;
}
a img:hover {
-moz-opacity:0.5;
opacity:0.5;
}
a:hover{
opacity:0.4;
cursor:pointer;
}
a.link img:hover,
a.link:hover{
opacity:1;
}
p,dt,dd,td,th,div{
line-height:1.8;
}
#main p{
margin-bottom:1rem;
}
img{
max-width:100%;
height:auto;
vertical-align:bottom;
}

a.tel,
a.tel img{
opacity:1;
cursor:default;
}

.en{
font-family: 'Cinzel', serif;
}

.flex1{
display: -webkit-flex;
display: flex;
}
.flex2{
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
justify-content: space-between;
}

/*====================================================
LAYOUT
====================================================*/
#wrapper{
width:100%;
height:100%;
position:relative;
margin:0 auto;
}

.w980{
width:980px;
margin:0 auto;
}

.w720{
width:720px;
margin:0 auto;
}

.w600{
width:600px;
margin:0 auto;
}
/*====================================================
HEADER
====================================================*/
#header{
padding:1rem 0;
}
#header .w980{
position:relative;
}
#header .hd_logo img{
width:200px;
display:inline-block;
}
#header .hd_logo .jp{
display:inline-block;
margin-left:1rem;
}


.col3 ul li{
float:left;
width:32.5%;
margin:0 0 1.5rem 1.25%;
}
.col3 ul li:nth-child(3n+1){
margin-left:0;
}
.col3.topcol3 ul li img{
border:1px solid #ddd;
box-sizing:border-box;
}

.msgtop{
background:#ffedf0;
padding:0.5rem;
text-align:center;
color:#cc0000;
margin-bottom:.5rem;
border-radius:5px;
}
.msgtop .yline{
color:#cc0000;
font-weight:bold;
}
.page .msgtop{
margin-bottom:1rem;
}
a.link {
    text-decoration: underline;
    color:#601572;
}
/*====================================================
SPNAVI
====================================================*/

#spnav{
display:block;
float:right;
}
#sp-btn{
display: inline-block;
position: relative;
width: 45px;
height: 45px;
background:none;
top:0;
float:right;
}
#sp-btn:hover{
opacity:1;
}
#sp-btn-icon{
display: block;
position: absolute;
top: 50%;
left: 0;
width: 45px;
height: 4px;
background: #601572;
transition: .2s;
}
#sp-btn-icon:before, #sp-btn-icon:after{
display: block;
content: "";
position: absolute;
top: 50%;
left: 0;
width: 45px;
height: 4px;
background: #601572;
transition: .3s;
}
#sp-btn-icon:before{
margin-top: -16px;
}
#sp-btn-icon:after{
margin-top: 12px;
}
#sp-btn .close{
background: transparent;
}
#sp-btn .close:before, #sp-btn .close:after{
margin-top: 0;
background: #601572;
}
#sp-btn .close:before{
transform: rotate(-45deg);
-webkit-transform: rotate(-45deg);
}
#sp-btn .close:after{
transform: rotate(-135deg);
-webkit-transform: rotate(-135deg);
}


/*====================================================
MAIN
====================================================*/
#main{
margin-bottom:4rem;
}
#searchbox{
margin:4rem 0;
}
#searchbox h1{
font-size:36px;
text-align:center;
margin-bottom:1rem;
}
.sbox1 ul li{
width:49%;
float:left;
margin-left:2%;
margin-bottom:0.5rem;
font-size:24px;
}
.sbox1 ul li:nth-child(2n+1){
clear:left;
float:left;
margin-left:0;
}
.sbox2{
margin-bottom:2rem;
}
.sbox2 ul li{
width:32%;
float:left;
margin-left:2%;
margin-bottom:0.5rem;
}
.sbox2 ul li:nth-child(3n+1){
clear:left;
float:left;
margin-left:0;
}
#searchbox label {
position: relative;
display: block;
margin-bottom:0.3rem;
}
#searchbox label:hover{
cursor:pointer;
}
#searchbox label input[type="radio"],
#searchbox label input[type="checkbox"] {
position: absolute;
opacity: 0;
}
#searchbox label input[type="radio"] + span,
#searchbox label input[type="checkbox"] + span {
display: block;
color: #000;
background:#fffbf1;
border: 1px solid #000;
border-radius: 0.2rem;
padding: 0.5rem 0.5rem 0.5rem 1rem;
}
#searchbox label input[type="radio"]:checked + span,
#searchbox label input[type="checkbox"]:checked + span {
background-color: #3c1a57;
background:url(https://rhyg.jp/studio/v1/common/img/btnbg2.png) no-repeat left center;
color: white;
padding-left:3rem;
text-align:left;
}
.btn_submit{
text-align:center;
}
.btn_submit a{
width:50%;
margin:0 auto;
display:block;
background:#e77a06;
color:#fff;
font-size:21px;
text-align:center;
padding:1rem 0;
border-radius:0.5rem;
}


#studiolist .item:first-child{
border-top:1px dotted #ccc;
}
#studiolist .item{
border-bottom:1px dotted #ccc;
padding:1.5rem 0;
}
#studiolist .item .img{
width:20%;
float:left;
}
#studiolist .item .txt{
float:left;
width:59%;
margin-left:3%;
}
#studiolist .item .btn{
float:right;
width:18%;
}
#studiolist .item .small{
font-size:14px;
font-weight:normal;
}
#studiolist .item .price{
font-size:24px;
font-weight:bold;
color:#cc0000;
}
#studiolist .item .att{
font-size:14px;
color:#ff0000;
}
#studiolist .item .btn{
margin-top:2rem;
}
#studiolist .item .btn li{
text-align:center;
margin-bottom:1rem;
}
.btnbox a,
#bookings a,
#studiolist .item .btn li.btn_book a,
#studiolist .item .btn li.btn_detail a{
border:1px solid #333;
color:#333;
padding:0.5rem;
display:block;
border-radius:5px;
}
.btnbox a,
#bookings a,
#studiolist .item .btn li.btn_book a{
color:#fff;
border:1px solid #0f655a;
background:#0f655a;
text-align:center;
}
#studiolist .item.umeda .btn li.btn_book a{
border:1px solid #601572;
background:#601572;
}
#studiolist .item.band .btn li.btn_book a{
border:1px solid #e70606;
background:#e70606;
}
#studiolist .item.amagasaki .btn li.btn_book a{
border:1px solid #00aeac;
background:#00aeac;
}
#studiolist .item.kotoen .btn li.btn_book a{
border:1px solid #e77a06;
background:#e77a06;
}
#studiolist .item.koshienguchi .btn li.btn_book a{
border:1px solid #480002;
background:#480002;
}
#studiolist h2{
font-weight:normal;
}
#studiolist h2 .en{
font-size:150%;
font-weight:bold;
padding-right:0.5rem;
}

#topslide{
width:100%;
height:360px;
position:relative;
}
#topslide h1{
text-align:center;
color:#fff;
font-weight:normal;
position: absolute;
width:100%;
top: 50%;
left: 50%;
transform: translateY(-50%) translateX(-50%);
-webkit- transform: translateY(-50%) translateX(-50%);
margin: auto;
font-size:42px;
text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
}
#topslide h1 .small{
font-size:24px;
display:block;
}

#ss_top{
margin-bottom:4rem;
}
#ss_slide{
width:48%;
float:left;
}
#ss_summary{
width:48%;
float:right;
}

#single_studio h1{
font-size:24px;
font-weight:normal;
line-height:1.2;
margin-bottom:1rem;
}
#single_studio h1 .en{
padding:0 0 0 0.5rem;
font-size:36px;
font-weight:600;
}
table{
width:100%;
border-collapse:collapse;
border-left:1px solid #e0d1d2;
border-bottom:1px solid #e0d1d2;
margin:0;
}
table td,
table th{
padding:0.5rem;
border-right:1px solid #e0d1d2;
border-top:1px solid #e0d1d2;
font-size:16px;
font-weight:normal;
}
table th{
white-space:nowrap;
background:#efe5e6;
}
#ss_summary table th{
width:150px;
}
#ss_summary table.tbl_price td{
text-align:center;
}
table.tbl_price.earlymorning th{
background:#fce6e8;
}
table.tbl_price.earlymorning{
border-left: 1px solid #f5d1d3;
border-bottom: 1px solid #f5d1d3;
margin-bottom:0.5rem;
}
table.tbl_price.earlymorning td,
table.tbl_price.earlymorning th{
border-right: 1px solid #f5d1d3;
border-top: 1px solid #f5d1d3;
}
.att3{
background: #fff2f1;
padding: 0.5rem;
border-radius:5px;
color: #cc0000;
line-height:1.3;
font-size:16px;
}
#ss_summary h2{
font-weight:normal;
margin-bottom:1rem;
font-size:24px;
}
#ss_summary h2 .small{
font-size:16px;
padding-left:0.5rem;#single_studio h1
}

#ss_tabmn{
border-bottom:2px solid #601572;
}
#ss_tabmn ul li{
width:32.5%;
margin-left:1.25%;
float:left;
text-align:center;
}
#ss_tabmn ul li:first-child{
margin-left:0;
}
#ss_tabmn ul li a{
background:#efe5e6;
color:#6e5e72;
display:block;
padding:1rem 0;
}
#ss_tabmn li.active a{
background:#601572;
color:#fff;
}

.ss_cont {
display: none;
padding:2rem 0;
}
.ss_cont.active {
display: block;
}

.ss_detail ul{
margin:0;
padding:0 0 0 1.5rem;
}

.btn_book{
margin-bottom:0.5rem;
font-weight:bold;
}
#bookings select,
.btn_book select{
border:2px solid #e77a06;
font-size:21px;
border-radius:3px;
background:#fff0c6;
margin-bottom:0.5rem;
}
#bookings .color1,
.btn_book .color1{
color:#ffbc00;
font-size:14px;
}

#bookings{
background:rgba(241,231,227,0.9);
padding:1rem;
position:fixed;
right:0;
top:25%;
box-shadow: 1px 1px 2px rgb(40,12,64,50%);
z-index:111;
}
#bookings a{
text-align:center;
}
.open #bookings{
top:auto;
bottom:0;
}


dl dt{
font-weight:bold;
}
dl dd{
margin:0 0 1rem 1.5rem;
}

.gmap iframe{
width:100%;
border:0;
height:480px;
}
.btnbox a,
.section .btn_submit input{
background:#0f655a;
padding:1rem;
width:100%;
color:#fff;
border:none;
font-size:24px;
border-radius:0.3rem;
}
.list_bdr{
margin-bottom:2rem;
}
.list_bdr li {
text-align: left;
padding: 1rem 0;
border-bottom: 1px dotted #999;
}

.list_bdr a{
color:#0099ff;
}

.madori_l{
width:60%;
float:left;
}
.madori_r{
width:37%;
float:right;
}

#ftbnr{
padding-top:1.5rem;
background:#efefef;
margin-bottom:2rem;
}

.faq dt{
font-weight:bold;
}
.faq dd{
margin-bottom:2rem;
}
.faq .qaq,
.faq .qaa{
color:#ea8d2a;
font-size:130%;
padding-right:1rem;
font-weight:bold;
}
.faq .qaa{
display:inline-block;
color:#23a713;
}
.faq dd p{
display:inline;
}

.block{
margin-bottom:3rem;
}

.contactbox{
background:#fff3de;
padding:3rem 0;
border-radius:0.5rem;
}
.contactbox input[type='text'],
.contactbox input[type='email'],
.contactbox textarea{
width:100%;
}
.contactbox textarea{
height:160px;
}

.aform th{
white-space:unset;
width:30%;
}

.sl_long{
width:100%;
}
.aform .ipt1{
width:100%;
}
.aform .txa{
width:100%;
height:200px;
}
.acceptance{
padding:1rem;
text-align:center;
}

.addrbox{
border:1px solid #ddd;
border-radius:0.5rem;
padding:1rem;
}
.dl_access dd{
width:40%;
float:right;
margin-bottom:2rem;
}
.dl_access dt{
clear:both;
width:60%;
float:left;
text-align:left;
margin-bottom:2rem;
line-height:1.8;
font-size:18px;
}
.dl_access .num{
font-weight:bold;
font-size:130%;
color:#fff;
background:#ef6300;
padding:0.2em 0.8rem;
border-radius:3rem;
}

.attbox{
border:1px solid #cc0000;
background:#ffffee;
padding:1rem;
}


.faq a,
.blog_single a{
color:#0000ee;
text-decoration:underline;
}


#studionews{
padding:2rem 0;
}
#studionews .ttl{
font-size:21px;
font-weight:bold;
font-weight:normal;
border-bottom: 1px solid #000;
}
#studionews ul{
}
#studionews ul li{
border-bottom:1px dotted #eee;
}
#studionews ul li:last-child{
border-bottom:none;
}
#studionews ul li a{
padding:1rem;
display:block;
}
#studionews ul li a .date{
color:#999;
}

.tags li{
display:inline-block;
color:#666;
background:#f1f1f1;
padding:0.3rem 0.5rem;
border-radius:3px;
margin-right:0.5rem;
margin-bottom:0.5rem;
border:1px solid #aaa;
}
.block {
    margin-bottom: 3rem;
}


.section table .rq {
background: #d01e78;
color: #fff;
font-size: 12px;
padding: 0 0.3rem;
border-radius: 3px;
}
#bookings .ar{
margin-top:1rem;
border-top: 1px solid #d3c7be;
padding-top: 1rem;
}
#bookings .ar a{
border:1px solid #cb154a;
background:#e70657;
}

.porder{
margin-bottom:1rem;
}
.porder .active{
background:#000;
color:#fff;
border-radius:5px;
padding:0.1rem 0.5rem;
}

#single_studio h1 .add_ttl, #studiolist h2 .add_ttl {
display: block;
font-size: 80%;
color: #ff0000;
line-height: 1;
}
/*====================================================
FOOTER
====================================================*/
#footer{
padding:2rem 0;
}
.ftnavi ul{
text-align:center;
margin-bottom:1rem;
}
.ftnavi ul li{
display:inline;
text-align:center;
border-left:1px solid #ddd;
}
.ftnavi ul li:first-child{
border:none;
}
.ftnavi ul li a{
margin:0 1rem;
}


#ftnav ul li a{
display:block;
color: #601572;
border: 1px solid #601572;
padding: 1rem;
text-align:center;
}
#ftnav ul li a:hover{
background:#ffffcc;
opacity:1;
}
#ftnav ul li .ico_tel{
background:url(https://rhyg.jp/koshienguchi/v1/common/img/ico_tel.png) no-repeat left center;
background-size:21px 21px;
padding-left:30px;
}
#ftnav ul li .ico_mail{
background:url(https://rhyg.jp/koshienguchi/v1/common/img/ico_mail.png) no-repeat left center;
background-size:21px 21px;
padding-left:30px;
}

#ftnav ul li .ico_online{
background:url(https://rhyg.jp/koshienguchi/v1/common/img/ico_online.png) no-repeat left center;
background-size:21px 21px;
padding-left:30px;
}
#ftnav ul li .ico_search{
background:url(https://rhyg.jp/koshienguchi/v1/common/img/ico_search.png) no-repeat left center;
background-size:21px 21px;
padding-left:30px;
}


/*====================================================
BASE
====================================================*/
.ctr{text-align:center;}
.tgt{text-align:right;}
.tlt{text-align:left;}
.bold{font-weight:bold;}
.mb02{margin-bottom:0.2rem;}
.mb03{margin-bottom:0.3rem;}
.mb05{margin-bottom:0.5rem;}
.mt05{margin-top:0.5rem;}
.mb1{margin-bottom:1rem;}
.mb15{margin-bottom:1.5rem;}
.mb2{margin-bottom:2rem;}
.mb25{margin-bottom:2.5rem;}
.mb3{margin-bottom:3rem;}
.mb4{margin-bottom:4rem;}
.mb6{margin-bottom:6rem;}
.mb8{margin-bottom:8rem;}
.mt2{margin-top:2rem;}
.pt05{padding-top:0.5rem;}
.pb1{padding-bottom:1rem;}
.pt1{padding-top:1rem;}
.pt2{padding-top:2rem;}
.pt4{padding-top:4rem;}
.pt6{padding-top:6rem;}
.pt8{padding-top:8rem;}
.fff{color:#fff;}
.red{color:#cc0000;}
.big{font-size:150%;}
.med{font-size:120%;}
.txtlt{text-align:left;}
.txtgt{text-align:right;}
.txtctr{text-align:center;}
.txt9{font-size:9px;}
.txt10{font-size:10px;}
.txt11{font-size:11px;}
.txt12{font-size:12px;}
.txt13{font-size:13px;}
.txt15{font-size:15px;}
.txt16{font-size:16px;}
.txt18{font-size:18px;}
.txt20{font-size:20px;}
.txt21{font-size:21px;}
.txt24{font-size:24px;}
.txt25{font-size:25px;}
.txt30{font-size:30px;}
.txt32{font-size:32px;}
.lh1{line-height:1;}
.lh13{line-height:1.3;}
.lh15{line-height:1.5;}
.lh18{line-height:1.8;}
.lh20{line-height:2.0;}
.lh24{line-height:2.4;}
.ls01{letter-spacing:-1px;}
.ls02{letter-spacing:-2px;}
.ls03{letter-spacing:-3px;}
.ls04{letter-spacing:-4px;}
.ls05{letter-spacing:-5px;}
.ls06{letter-spacing:-6px;}
.img100 img,
.img100{
width:100%;
height:auto;
}
.req{
color:#cc0000;
}

strike .strike{
color:#231916;
}
.yline{
color:#000;
background: rgba(0, 0, 0, 0) linear-gradient(transparent 60%, #fffb80 0%) repeat scroll 0 0;
}
.shadow{text-shadow: rgba(0,0,0,0.5) 2px 2px 5px;}

.ffs{ -moz-font-feature-settings: "palt";
-webkit-font-feature-settings: "palt";
font-feature-settings: "palt";}

.none,
.sp{display:none;}
.pc{display:block;}

.hd_navi .pc{display:inline-block;}

.rst{
margin-block-start:0;
margin-block-end:0;
}


/*====================================================
AFTER
====================================================*/
section:after,
.breadcrumb:after,
.cl:after,
.clearfix:after,
#main:after,
#navigation:after,
#footer:after,
#header:after{content:".";display:block;clear:both;height:0;visibility:hidden;font-size:0;}


/*====================================================
MEDIA QUERY
====================================================*/



@media screen and (max-width: 1080px) {
.w980{
width:90%;
}
}

@media screen and (max-width: 980px) {
.col3 ul li{
margin:0 0 1rem 0;
}
#ftbnr .col3 ul li:nth-child(3n+1),
#ftbnr .col3 ul li{
float:left;
width:49%;
margin:0 0 0.5rem 2%;
}
#ftbnr .col3 ul li:nth-child(2n+1){
margin-left:0;
}
#ftbnr{
padding-top:0.5rem;
}
}

@media screen and (max-width: 780px) {
.w720{
width:90%;
}

@media screen and (max-width: 720px) {
body{
font-size:16px;
}
#searchbox h1{
font-size:24px;
}
.sbox1 ul li,
.sbox1 ul li:nth-child(2n+1){
width:100%;
float:none;
margin:0 0 0.5rem 0;
}
.sbox1 ul li{
font-size:18px;
}
.sbox2 ul li{
font-size:18px;
margin-bottom:0.3rem;
}
.btn_submit a{
width:100%;
}
.sbox2{
margin-bottom:1rem;
}
#ss_slide,
#ss_summary{
float:none;
width:100%;
}

.aform td,
.aform th{
width:100%;
display:block;
}

#ftnav .col3 ul li,
#ftnav .col3 ul li:nth-child(3n+1){
clear:left;
width:100%;
}

}



@media screen and (max-width: 640px) {
.contactbox{
padding:2rem;
}
.w600{
width:100%;
}
.hd_navi .pc{display:none;}
#header .hd_logo img{
width:160px;
}

#studiolist .item .txt{
width:67%;
margin-bottom:1rem;
}
#studiolist .item .btn{
clear:left;
float:none;
width:100%;
}
#studiolist .item .btn li{
width:49%;
float:left;
}
#studiolist .item .btn li:first-child{
margin-right:2%;
}
#studiolist .item .txt h2{
font-size:21px;
}
#ss_summary table th{
width:110px;
}

#bookings{
text-align:center;
background:rgba(241,231,227,0.9);
padding:1rem;
position:fixed;
right:0;
left:0;
top:auto;
bottom:0;
width:100%;
box-shadow:0px;
}
#footer{
padding:2rem 0 10rem 0;
}

#ss_tabmn ul li a{
font-size:14px;
}
.dl_access dt,
.dl_access dd{
float:none;
width:100%;
margin:0 0 2rem 0;
}



#topslide h1 .small{
font-size:21px;
}
#topslide h1{
font-size:30px;
}
#topslide .spbr{
display:block;
}
#studionews ul li a .date{
display: block;
padding-bottom: 0.5rem;
}
.msgtop{
letter-spacing:0;
padding:0.5rem 0;
}
.sbox2 ul li:nth-child(3n+1),
.sbox2 ul li{
clear:none;
float:left;
width:49%;
margin-left:2%;
}
.sbox2 ul li:nth-child(2n+1){
margin-left:0;
}



@media screen and (max-width: 480px) {
#header .hd_navi li .spnon{
display:none;
}
#header .hd_navi li.ico_calendar,
#header .hd_navi li.ico_phone{
padding-left:0;
}
#header .hd_navi li a{
width:32px;
height:32px;
}
}