/*
Theme Name: royface
*/


/*共通css*/

input,textarea {
	appearance: none;
  -webkit-appearance: none;
}

h3:not(#menu h3,#search_list h3),p,.date{
	color:black;
}

h3 {
    font-size: 18px;
	letter-spacing:2px;
}

p {
    font-size: 14px;
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing:1px;
}

li {
    font-size: 14px;
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing:1px;
}

.content h3{
	padding-bottom:10px;
}

.news_content h3{
	font-weight:bold;
}

.more{
	font-family: 'Noto Sans JP', sans-serif;
}

.news_content span{
	font-family: 'Noto Sans JP', sans-serif;
	color:black;
}

.event_list span{
	font-family: 'Noto Sans JP', sans-serif;
}

.event_list a{
	font-family: 'Noto Sans JP', sans-serif;
}

.hana{
	width:15px;
	margin-right:3px;
}

.faq_list h3 img{
	margin-right:10px;
}

#menu li a {
	font-family: 'Noto Sans JP', sans-serif;
}

.menu_click {
	letter-spacing:1.5px;
}

.contents h2 {
	font-weight:bold;
	letter-spacing:2px;
}

#column h3,#download h3{
	font-family: 'Noto Sans JP', sans-serif;
}

.date{
	font-family: 'Noto Sans JP', sans-serif;
}

#single_content h2{
	font-size:27px;
	color:black;
	margin-bottom:30px;
}

.container {
      display: flex;
      flex-direction: column;
      min-height: 100vh;
}

main{
	margin-bottom:50px;
}

#user{
	color:white;
	font-size:22px;
	padding-right:10px;
}

.swpm-login-widget-form a{
	color:black;
	text-decoration:none;
	font-family: 'Noto Sans JP', sans-serif;
}

label{
	font-family: 'Noto Sans JP', sans-serif;
}

.swpm-rember-label{
	font-family: 'Noto Sans JP', sans-serif;
}

.swpm-login-submit input{
	display:block;
	width:50%;
	margin:20px auto;
	background:white;
	border:1px solid black;
	color:black;
	padding:1%;
}

@media screen and (min-width:980px) {

    .sp {
        display: none;
    }
	
	#contact_bana{
		text-align:right;
		padding:25px;
	}

    article {
        padding: 50px 0;
    }

    header {
        width: 100%;
		background-color:#515151;
		border-bottom:1px solid white;
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        align-items: center;
        padding: 20px 0;
    }

    header img {
        width: 200px;
        padding: 0 10px;
    }

    /*shop*/
    .shop {
        width: 300px;
    }

    /*shop*/

    /*faq*/
    #faq {
        padding-top: 100px;
        width: 90%;
        margin: 0 auto;
    }

    #faq details {
        position: relative;
        width: 100%;
    }

    #faq summary {
        position: absolute;
        right: 0;
        bottom: 0;
    }

    #faq details p {
        width: 95%;
        margin: 0 auto;
        padding: 20px 0 10px;
    }

    #faq summary::marker {
        font-size: 20px;
        color: black;
    }

    .faq_list {
        border-top: 1px solid black;
        border-bottom: 1px solid black;
        margin-bottom: 10px;
    }

    .faq_list h3 {
        padding: 10px 0;
    }

    /*faq*/

    /*search*/
    #search {
        width: 90%;
        margin: 100px auto 50px;
        display: flex;
        justify-content: space-between;
        border-bottom: 1px solid black;
    }

    #search ul {
        width: 80%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    #search a {
        text-decoration: none;
		margin-bottom:10px;
		border: 1px solid black;
		border-radius: 20px;
		padding-right: 3px;
		padding-bottom: 2px;
    }

    .search_tag {
        padding: 5px 10px;
		background-color:black;
        border-radius: 20px;
        color: white;
    }

    .search_contents {
        width: 90%;
        margin: 0 auto;
    }

    .search_contents a {
		font-family: 'Noto Sans JP', sans-serif;
        text-decoration: none;
        color: white;
        margin: 0 0 0 auto;
    }

    .search_contents h2, #faq h2 {
		color:black;
        font-size: 24px;
        padding-bottom: 10px;
    }

    #search_list {
        padding: 30px 0;
        color:#6e4042;
    }

    .search_list span {
		font-family: 'Noto Sans JP', sans-serif;
        border: 1px solid white;
        padding: 2px 10px;
        font-size: 14px;
        border-radius: 20px;
		color:white;
    }

    #search_list h2 a {
        color: #ff6e70;
    }

    .remarks, .remarks a {
        color: black;
    }

    .remarks, .remarks a, #search_list h2 a {
        pointer-events: none;
    }

    #search_list .remarks, #faq .remarks {
        padding-bottom: 30px;
    }


    #search_list h3 {
        padding-left: 20px;
        font-size: 16px;
    }

    .search_list {
        width: 100%;
        padding: 10px 10px;
        display: flex;
        align-items: center;
        background-color: black;
    }
	
	.search_list h3{
		color:white;
	}

    .search_list:nth-child(even) {
        background-color: white;
        color: black;
    }
	
	.search_list:nth-child(even) h3{
		color:black;
	}
	
	.search_list:nth-child(even) span{
		color:black;
		border: 1px solid black;
	}

    .search_list:nth-child(even) a {
        color: black;
    }

    /*searchend*/



    /*news*/
    #news #list {
		height:auto;
        padding: 0;
        grid-template-columns: 1fr 1fr 1fr;
    }

    /*newsend*/
    /*login*/
    .swpm-login-widget-form {
        padding-top: 50px;
        width: 300px;
        margin: 0 auto;
		padding-bottom:100px;
    }
	
	.grid_layout{
		display:grid;
		grid-template-columns:1fr 1fr;
	}

    /*loginend*/
    /*column_layout*/
    #column_layout {
        display: flex;
        align-items: flex-start;
    }

    /*column_layoutend*/

    /*menu*/

    #menu {
        width: 200px;
        height: auto;
        background-color: #515151;
        padding: 20px 25px 50px;
        color: white;
    }

    #menu h3 {
        margin-bottom: 25px;
        padding: 50px 0 10px;
        border-bottom: 1px solid white;
    }

    #menu a {
        text-decoration: none;
        color: white;
    }

    #menu li {
        padding-bottom: 10px;
    }

    #menu ul li:last-child {
        padding-bottom: 30px;
    }

    #menu details {
        position: relative;
        width: 200px;
        border-bottom: 1px solid white;
    }

    #menu summary {
        position: absolute;
        right: 0;
        bottom: 0;
    }

    #menu #sns {
        display: none;
    }

    .on::before {
        content: "more";
    }

    .close::before {
        content: "close";
    }


    /*menuend*/

    /*single_content*/
    #single_content {
        width: 70%;
        padding-top: 50px;
        margin: 0 auto;
    }

    /*single_content*/

    /*news_content*/

    .news_content {
        width: 95%;
        text-align: left;
    }

    .news_content img {
        width: 100%;
        height: auto;
    }

    .more {
        color: black;
        text-decoration: none;
    }

    /*news_contentend*/

    /*column*/
    #column {
        width: 80%;
        margin: 0 auto;
    }

    /*column*/

    /*banner*/
    .banner {
        width: 90%;
        height: auto;
        margin: 50px auto 0;
    }

    .banner img {
        width: 100%;
        height: auto;
    }

    /*banner*/

    /*download*/
    #download {
        width: 80%;
        margin: 0 auto;
    }

    /*downloadend*/

    /*contents*/
    .contents {
        width: 90%;
        margin: 0 auto;
    }

    .contents h2 {
        color: black;
        font-size: 24px;
        padding-bottom: 10px;
    }

    #list {
        width: 100%;
		height:auto;
        padding: 50px 0;
        display: grid;
        text-align: center;
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
	
	#list p{
		text-align:left;
	}

    .content {
        position: relative;
        width: 90%;
        height: auto;
        padding: 2.5%;
        margin-bottom: 20px;
        box-shadow: 0 3px 6px rgb(0 0 0 / 16%), 0 3px 6px rgb(0 0 0 / 23%);
        border-radius: 5px;
    }

    .content .more {
        display: block;
        margin-top: 20px;
    }

    .content img {
        width: 100%;
        height: auto;
    }

    .content a:not(.more) {
        position: absolute;
        top: 0;
        display: block;
        width: 100%;
        height: 100%;
        font-size: 0;
    }

    .date {
        display: block;
        width: 100px;
        padding: 2.5px 10px;
        margin: 20px auto;
        border: 1px #6e4042 solid;
        border-radius: 15px;
    }

    /*contentsend*/

    /*event*/
    .event {
        width: 90%;
        margin: 0 auto;
    }

    .event h2 {
        color: ＃ff6e70;
        font-size: 24px;
        padding: 50px 0 10px;
    }

    .event .remarks {
        padding-bottom: 50px;
    }

    .event h2, .event .remarks {
        text-align: center;
    }


    #event_content {
        width: 100%;
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .event_list {
        width: 47.5%;
        height: auto;
        margin-bottom: 5%;
        border-top: 1px solid black;
        border-left: 1px solid black;
        border-right: 1px solid black;
    }

    .event_list div {
        width: 90%;
        padding: 5%;
    }

    .event_list span {
        display: block;
    }

    .event_list h3 {
        font-weight: bold;
    }

    .event_list h3, .event_list span {
        padding-bottom: 5px;
    }

    .event_list a {
        display: block;
        width: 100%;
        padding: 10px 0;
        background-color:black;
        text-align: center;
        color: white;
        text-decoration: none;
    }

    .venue p {
        font-size: 16px;
        font-weight: bold;
    }

    #event_flex_content {
        width: 100%;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    #event_flex_content img {
        width: 47.5%;
        height: auto;
        padding-bottom: 5%;
    }

    .event_img{
        width: 100%;
        height: auto;
    }

    /*eventend*/

    /*footer*/
    footer {
        margin-top: auto;
        width: 100%;
        background-color: #515151;
    }

    #sns {
        display: flex;
        width: 200px;
        margin: 0 auto;
        justify-content: space-around;
    }

    #copyright {
        text-align: center;
        color: white;
        padding: 20px 0;
    }

    /*footerend*/
}





@media screen and (max-width:980px) {

    .pc {
        display: none;
    }
	
	#contact_bana{
		text-align:center;
		padding-top:30px;
	}

    article {
        padding: 50px 0;
    }

    header {
        width: 100%;
		background-color:#515151;
		border-bottom:1px solid white;
        padding: 22px 0;
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
    }

    header img:not(.sp_shop, #sns img,.hana) {
        width: 150px;
        padding: 0 10px;
    }

    header #sns {
        padding-top: 0;
    }

    /*ハンバーガーメニュー*/

    header label {
        width: 30px;
        height: 70px;
        position: absolute;
        top: 20px;
        right: 20px;
        z-index: 1000;
    }

    header .hamburger {
        position: absolute;
        top: 0;
        right: 0;
        width: 80px;
        height: 80px;
        background-color: #515151;
        z-index: 100;
    }

    header .menu {
        height: 2px;
        background-color: white;
        position: absolute;
        right: 20px;
        transition: .3s;
        z-index: 100;
    }

    header .span1 {
        width: 30px;
        top: 30px;
    }

    header .span2 {
        width: 30px;
        top: 40px;
    }

    header .span3 {
        width: 30px;
        top: 50px;
    }

    #check:checked~.hamburger .span2 {
        display: none;
    }

    #check:checked~.hamburger .span1 {
        width: 27px;
        transform: rotate(45deg);
        top: 40px;
        right: 12px;
    }

    #check:checked~.hamburger .span3 {
        width: 27px;
        transform: rotate(-45deg);
        top: 40px;
        right: 12px;
    }

    #check:checked~#hamburger {
        display: inline-block;
        right: 0;
    }

    #check {
        display: none;
    }

    header #hamburger {
        display: none;
        width: 300px;
        height: auto;
        background-color: #515151;
        margin: 0;
        padding: 5px 0 0 20px;
        list-style: none;
        position: absolute;
        top: 0;
        z-index: 10;
        animation: SlideIn 1s;
    }

    /*ハンバーガーメニューアニメーションの設定*/
    @keyframes SlideIn {
        0% {
            opacity: 0;
            transform: translateX(20vw);
        }

        100% {
            opacity: 1;
            transform: translateX(0);
        }
    }

    header #hamburger li {
        margin-top: 20px;
        font-size: 12px;
        line-height: 18px;
    }

    header #hamburger a {
        font-size: 14px;
        margin-top: 10px;
        color: white;
        text-decoration: none;
    }

    /*faq*/
    #faq {
        padding-top: 100px;
        width: 90%;
        margin: 0 auto;
    }

    #faq details {
        position: relative;
        width: 100%;
    }

    #faq summary {
        position: absolute;
        right: 0;
        bottom: 0;
    }

    #faq details p {
        width: 95%;
        margin: 0 auto;
        padding: 20px 0 10px;
    }

    #faq summary::marker {
        font-size: 20px;
        color: black;
    }

    .faq_list {
        border-top: 1px solid black;
        border-bottom: 1px solid black;
        margin-bottom: 10px;
    }

    .faq_list h3 {
        padding: 10px 0;
    }

    /*faq*/

    /*search*/
    #search {
        padding: 20px 0;
        padding-top: 50px;
        width: 95%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        border-bottom: 1px solid black;
    }

    #search h2 {
        width: 100%;

        padding-bottom: 30px;
    }


    #search ul {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
    }

    #search a {
        text-decoration: none;
		border: 1px solid black;
		border-radius: 20px;
		padding-right: 3px;
		padding-bottom: 2px;
		margin-bottom:10px;
		margin-right:3px;
    }

    .search_tag {
        padding: 5px 10px;
        background:black;
        border-radius: 20px;
        color: white;
    }

    .search_contents {
        width: 90%;
        margin: 0 auto;
        text-align: center;
    }

    .search_contents a {
		font-family: 'Noto Sans JP', sans-serif;
        display: block;
        text-decoration: none;
        color: white;
        text-align: right;
    }

    .search_contents h2, #faq h2 {
		color: black;
        font-size: 24px;
        padding-bottom: 10px;
    }

    #search_list {
        padding: 30px 0;
    }

    .search_list span {
		font-family: 'Noto Sans JP', sans-serif;
        border: 1px solid white;
        padding: 2px 10px;
        font-size: 14px;
        border-radius: 20px;
		color:white;
    }

    #search_list h2 a {
        color: ＃ff6e70;
        display: block;
        text-align: center;
    }

    .remarks, .remarks a {
        color: black;
    }
    .remarks a{
        display: block;
    }

    .tag_name{
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
    }

    .remarks, .remarks a, #search_list h2 a {
        pointer-events: none;
    }

    #search_list .remarks, #faq .remarks {
        padding-bottom: 30px;
    }


    .search_list h3 {
        text-align: left;
        padding: 20px 0;
        font-size: 16px;
		color:white;
    }

    .search_list {
        width: 95%;
        padding: 2.5%;
        background-color: black;
    }

    .search_list:nth-child(even) {
        background-color: white;
        color: #6e4042;
    }
	
	.search_list:nth-child(even) span{
		color:black;
		border: 1px solid black;
	}
	
	.search_list:nth-child(even) h3{
		color:black;
	}
    .search_list:nth-child(even) a {
        color: black;
    }

    /*searchend*/



    /*news*/
    #news {
        text-align: center;
    }

    /*newsend*/
    /*login*/
    .swpm-login-widget-form {
        padding-top: 50px;
        width: 250px;
        margin: 0 auto;
    }

    /*loginend*/

    /*menu*/

    #menu {
        width: 230px;
        height: auto;
        background-color: #515151;
        padding: 20px 25px 50px;
        color: white;
    }

    #menu h3 {
        margin-bottom: 25px;
        padding: 50px 0 10px;
        border-bottom: 1px solid white;
    }

    #menu a {
        text-decoration: none;
        color: white;
    }

    #menu li {
        padding-bottom: 10px;
    }

    #menu ul li:last-child {
        padding-bottom: 30px;
    }

    #menu details {
        position: relative;
        width: 230px;
        border-bottom: 1px solid white;
    }

    #menu summary {
        position: absolute;
        right: 0;
        bottom: 0;
    }

    .on::before {
        content: "more";
    }

    .close::before {
        content: "close";
    }

    .shop {
        display: none;
    }

    .sp_shop {
        width: 230px;
        height: auto;
        margin: 40px 0;
    }

    /*menuend*/

    /*single_content*/
    #single_content {
        width: 70%;
        padding-top: 50px;
        margin: 0 auto;
    }

    /*single_content*/

    /*news_content*/

    .news_content {
        width: 100%;
        padding-bottom: 20px;
        text-align: left;
    }

    .news_content img {
        width: 100%;
        height: auto;
    }



    .more {
        color: black;
        text-decoration: none;
    }

    /*news_contentend*/

    /*column*/
    #column {
        width: 95%;
        margin: 0 auto;
    }

    /*column*/

    /*banner*/
    .banner {
        width: 95%;
        height: auto;
        margin: 50px auto 0;
    }

    .banner img {
        width: 100%;
        height: auto;
    }

    /*banner*/

    /*download*/
    #download {
        width: 100%;
    }

    /*downloadend*/

    /*contents*/
    .contents {
        width: 95%;
        margin: 0 auto;
        text-align: center;
    }

    .contents h2 {
        color: black;
        font-size: 24px;
        padding-bottom: 10px;
    }

    #news #list {
        width: 100%;
		height:auto;
        padding: 20px 0;
    }

    #list:not(#news #list) {
        width: 100%;
		height:auto;
        padding: 20px 0;
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
	
	#list p{
		text-align:left;
	}

    .content {
        position: relative;
        width: 90%;
        height: auto;
        padding: 2.5%;
        margin: 2.5%;
        box-shadow: 0 3px 6px rgb(0 0 0 / 16%), 0 3px 6px rgb(0 0 0 / 23%);
        border-radius: 5px;
    }

    .content .more {
        display: block;
        margin-top: 20px;
    }

    .content img {
        width: 100%;
        height: auto;
    }

    .content a:not(.more) {
        position: absolute;
        top: 0;
        display: block;
        width: 100%;
        height: 100%;
        font-size: 0;
    }

    .date {
        display: block;
        width: 100px;
        padding: 2.5px 10px;
        margin: 20px auto;
        border: 1px #6e4042 solid;
        border-radius: 15px;
    }

    /*contentsend*/

        /*event*/
        .event {
            width: 90%;
            margin: 0 auto;
        }
    
        .event h2 {
            color: ＃ff6e70;
            font-size: 24px;
            padding: 50px 0 10px;
        }
    
        .event .remarks {
            padding-bottom: 50px;
        }
    
        .event h2, .event .remarks {
            text-align: center;
        }
    
    
        #event_content {
            width: 100%;
            margin: 0 auto;
        }
    
        .event_list {
            width: 100%;
            height: auto;
            margin-bottom: 5%;
            border-top: 1px solid black;
            border-left: 1px solid black;
            border-right: 1px solid black;
        }
    
        .event_list div {
            width: 90%;
            padding: 5%;
        }
    
        .event_list span {
            display: block;
        }
    
        .event_list h3 {
            font-weight: bold;
        }
    
        .event_list h3, .event_list span {
            padding-bottom: 5px;
        }
    
        .event_list a {
            display: block;
            width: 100%;
            padding: 10px 0;
            background-color:black;
            text-align: center;
            color: white;
            text-decoration: none;
        }
    
        .venue p {
            font-size: 16px;
            font-weight: bold;
        }
    
        #event_flex_content {
            width: 100%;
        }
    
        #event_flex_content img {
            width: 100%;
            height: auto;
            padding-bottom: 5%;
        }
    
        .event_img{
            width: 100%;
            height: auto;
        }
    
        /*eventend*/

    /*footer*/
    footer {
        margin-top: auto;
        width: 100%;
        background-color: #515151;
    }

    #sns {
        padding-top: 150px;
        display: flex;
        width: 200px;
        margin: 0 auto;
        justify-content: space-around;
    }

    #copyright {
        text-align: center;
        color: white;
        padding: 20px 0;
    }

    /*footerend*/
	
	#user{
		padding:30px 0;
	}
}