/*
Theme Name: Lightning Child
Theme URI: ★ テーマの公式サイトなどのURL（空欄でも可） ★
Template: lightning
Description: ★ テーマの説明（空欄でも可） ★
Author: ★ テーマ作成者の名前（空欄でも可） ★
Tags: 
Version: 0.5.1
*/
/*全体外観*/
/*オーバーレイ*/
.next-overlay.overlay-open {
  text-align: center;
}
.overlay-open-buntton {
  display: inline-block;
  background-color: #1e73be;
  color: #fff;
  padding: 0.5vw 1vw;
  border-radius: 5px;
  width: 100%;
  max-width: 300px;
  text-align: center;
  box-shadow: 0 5px 1px 0px #103f68;
  transition: all 0.1s;
  cursor: pointer;
}
.overlay-open-buntton:hover {
  opacity: 0.9;
  box-shadow: 0 2px 1px 0px #103f68;
  transform: translate(0,3px);
}
.overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  z-index: 9999;
}
.overlay-container {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #dfdddd;
  border-radius: 5px;
  z-index: 99999;
  padding: 2rem;
}
.overlay-close {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	font-size: 1vw;
	text-align: center;
	background-color: #595959;
	border-radius: 0 0 5px 5px;
	color: #fff; 
	padding: 0.5vw;
	cursor: pointer;
}
.overlay-close:hover {
  opacity: 0.8;
}
.or-cap,.usermeta_or-cap {
  text-align: center;
  margin-bottom: 1vw;
}
.single-surf_teacher_profile .or-cap,.single-su_teacher_profile .or-cap,.single-o_teacher_profile .or-cap {
  display: none;
}
/*トグルボックス*/
.toggle-button {
    display: inline-block;
}
.toggle-button {
    background-color: #838383;
    color: #fff;
    padding: 0 1vw;
    border-radius: 5px;
    text-shadow: 1px 1px 1px #053a59;
    cursor: pointer;
}
.toggle-button:hover {
    background-color: #0aa5ff;
}
.toggle-container {
    display: none;
}
/*注意ボックス*/
.attention-container {
  border: 3px solid #e86565;
  border-radius: 10px;
  margin: 2vw 0;
}
.attention-title {
    background-color: #e86565;
    text-align: center;
    color: #fff;
    font-size: 1.5vw;
    margin-top: -1px;
    margin-left: -1px;
    border-radius: 5px 5px 0 0;
}
.attention-box {
  padding: 1.5vw 2vw;
  font-size: 1.2vw;
}
.login-cap {
  background-color: #1e73be;
  color: #fff;
  padding: 0.3vw 0.5vw;
  margin: 0 0.5vw;
  border-radius: 5px;
  font-size: 1vw;
}
.attention-box a {
  color: #1e73be;
  text-decoration: underline;
}
.attention-box a:hover {
  opacity: 0.6;
}


h2 {
    margin-bottom: 0;
}
.ltg-slide picture img{height:100%;}
.bold-red{color:#f00;font-weight:bold;}
.bold-blue{color:#1e73be;font-weight:bold;}
.underline {text-decoration: underline;}
.br {
    margin-top: 3vw;
    margin-bottom: 3vw;
    display: block;
    height: 5px;
}
.lfont {
    font-size: 1.5vw;
}
/*body*/
.site-body {
	padding-top: 0.5em;
    padding-bottom: 1vw;
}

.vk-mobile-nav-menu-btn {
    display: block !important;
    right: 5px;
    left: auto;
}
.footer-nav {
    font-weight: bold;
}
#menu-item-183 a {
    color: #f00;
}
@media (min-width:992px){
	body.device-pc .vk-mobile-nav {
		display: block;
	}
}

/*ヘッダー*/
.site-header-logo {
    margin: 0;
    padding: 0;
}
.description-container {
    max-width: 1140px;
	margin:auto;
}
.scrolled .description-container {
    display: none;
}
.page-header {
    display: none;
}
h1.site-logo {
    margin: 0;
    padding-left: 1em;
    line-height: 1;
}
h1.site-logo a {
    display: block;
    line-height: 1;
}
h1.site-logo img {
    max-height: 60px;
    display: block;
}
.catch-copy {
    padding: 0 0.5em;
    font-size: 1.5vw;
	margin-bottom: 0.8em;
}

/*トップオリジナルメニュー*/
.top-menu-container {
  text-align: center;
  display: flex;
  justify-content: center;
}
.top-menu-container p{
	margin-bottom:0;
}
.top-menu-item {
    display: inline-block;
    margin: 5px;
	position: relative;
}
.top-menu-item a:not(.no-button) {
    display: block;
    border: 2px solid #41a6ee;
    padding: 5px 10px;
	cursor: pointer;
	font-weight:bold;
	box-shadow: 0px 3px 3px 1px #15374f;
}
.top-menu-item a:not(.no-button):hover {
    color: #41a6ee;
    background-color: #fff254;
}

.top-menu-item ul {
    display: none;
    position: absolute;
    background: #fff;
    width: 100%;
    top: 0;
    margin-top: 38px;
    z-index: 1;
    padding: 5px;
}
.top-menu-item li {
    list-style: none;
}


/*body2*/
.entry-header {
    margin-bottom: 0;
}

.site-body-bottom {
    margin-bottom: 106px;
}

.entry-body {
    margin-top: 1em;
    margin-bottom: 1em;
}
.entry-meta {
    display: none;
}

.vk_posts.next-prev {
    display: none;
}

/*フッター*/
.site-footer-copyright p:nth-child(2) {
    display: none;
}

.container.site-footer-copyright {
    padding: 0;
}

.footer-nav a:hover {
    color: #2a88ff !important;
}

footer.site-footer {
    position: fixed;
    bottom: 0;
    text-align: center;
    width: 100%;
    z-index: 9;
    background-color: #fff;
}

.insurance-container {
    text-align: left;
}

.footer-insurance a {
    color: #41a6ee !important;
}
.footer-insurance a:hover {
    color: #f00 !important;
}


/*.page-id-8 .rooms ,.page-id-174 .rooms,.page-id-180 .rooms,.page-id-204 .rooms*/ 
.rooms{
    display: none;
}

#service-a:not(.home #service-a) {
    display: none;
}



/*モバイルナビメニュー*/
.surf-menu {
    padding-left: 0 !important;
}
.surf-menu li {
    list-style: none;
    margin: 0;
}
.surf-menu li a {
    color: #333;
    border-bottom: 1px solid #ccc;
    display: block;
    padding-top: .7em;
    padding-bottom: .7em;
    padding-left: var(--vk-margin-list-menu-left-first);
    text-decoration: none;
    font-size: 1.1vw;
}

.ummyprofile,.ummyprofile_edit{
	margin-bottom:5px;
}
.ummyprofile a::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f007";
    color: #555;
    margin-right: 0.3vw;
}
.ummyprofile_edit a::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f304";
    color: #555;
    margin-right: 0.3vw;
}
.overlay-open.sub-menu {
  margin-bottom: 0 !important;
}

/*全体装飾*/
.pop-up-on .pop-up {
    display: none;
    position: absolute;
    background-color: #eee;
    padding: 1em;
    white-space: nowrap;
}
.pop-up-on a + .pop-up {
	text-align: left;
}
.pop-up-on a:hover + .pop-up {
    display: block;
}
.pop-up-on:hover .pop-up {
    display: block;
}

span.reservation-button {
    margin-right: 3.8em !important;
    display: inline-block;
}
span.reservation-button a {
    padding: 0 5px;
    display: inline-block;
    border-radius: 5px;
    border: 2px solid;
    text-decoration: none;
    color: #ff92c9;
}
span.reservation-button a:hover {
    background-color: #fff;
    border-color: #000;
    color: #000;
}
a.disable {
    pointer-events: none;
}
.reservation-button {
    display: flex;
    justify-content: space-around;
}
.reservation-button a {
    display: inline-block;
    padding: 0.5em 1em;
    border: 2px solid;
    border-radius: 5px;
    width: 95%;
    font-size: 0.8em;
    text-align: center;
}
.img-title-box {
    position: relative;
}
.room-title {
    position: absolute;
    bottom: 1vw;
    left: 1vw;
    color: #fff;
    text-shadow: 1px 1px 1px #000;
	white-space: pre;
}
.room-title.black {
    color: #000;
    text-shadow: 1px 1px 1px #cacaca;
}


/*固定ページ*/
.page-header {
    min-height: 4rem !important;
}
.page-header-inner.container {
    margin: 0em auto;
}
.page-header-title {
    font-size: 1.2em !important;
}

/*トップページ*/
.room-index-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.room-box {
    flex-basis: 33%;
    padding: 1em;
}
.room-box img {
    width: 100%;
}
.room-box-flex-container {
    display: flex;
}
.room-box-flex-item {
    width: 50%;
	border: 1px solid;
}

.caption div {
    display: inline-block;
}
.caption.reservation-button {
    white-space: nowrap;
}
.caption p {
    display: none;
}
.reservation-button a {
    border-color: #f00;
}


.rent-container {
    margin-bottom: 2vw;
}
.rent-flex-container {
    display: flex;
}
.rent-flex-container p {
    display: none;
}
.rent-flex-box {
    flex-basis: 100%;
    text-align: center;
    box-shadow: 0 0 0 0.1px black;
}
.rent-imge {
    position: relative;
    overflow: hidden;
    padding-top: 70%;
    margin: 10px 5px;
}
.rent-imge img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.rent-content {
    border-top: 2px solid #ddd;
    padding-top: 1vw;
    padding-bottom: 1vw;
}




/*部屋詳細ページ（投稿詳細）*/
.detail-price {
    font-size: 2vw;
    text-align: right;
    margin-bottom: 1vw;
    border-bottom: 5px solid #e4bb25;
}


.form-rest .rest-none{
	display:none;
}

.reserve-flex-container {
    display: flex;
    justify-content: space-evenly;
}
.reserve-flex-item {
    flex-basis: 45%;
}
.form-flex-container {
    display: flex;
    justify-content: space-between;
}
.form-flex-container.reverse {
    flex-flow: row-reverse;
}
.form-flex-item {
    flex-basis: 48%;
}

.section-site-container {
    display: flex;
    justify-content: space-between;
}
.section-site-left {
    flex-basis: 60%;
}
.section-site-right {
    flex-basis: 35%;
}

.section-site-cap {
    border: 2px solid #5397de;
    padding: 1vw;
    background-color: #f6fbff;
    margin: 1vw 0;
}
.section-site-cap-title {
    font-size: 1.8vw;
    border-bottom: 2px solid #5397de;
    margin-bottom: 1vw;
    color: #5397de;
}
.section-site-attention {
    border: 2px solid #f45f50;
    padding: 1vw;
    background-color: #fff7f6;
    margin: 1vw 0;
}
.section-site-attention-title {
    font-size: 1.8vw;
    border-bottom: 2px solid #f45f50;
    margin-bottom: 1vw;
    color: #f45f50;
}
.section_sites {
    font-size: 1.8vw;
    border-left: 10px solid #aed9f8;
    display: block;
    background-color: #eaf3f6;
    padding-left: 1vw;
    margin-top: 2vw;
    margin-bottom: 1vw;
}
.border-line {
    background-color: #cee0e6;
    height: 2px;
    margin: 1vw 0;
}


.reservation-button-container {
    display: flex;
    justify-content: center;
}
.reservation-button-container .calc-button a {
    display: inline-block;
    background-color: #41a6ee;
    color: #fff;
    padding: 1vw 2vw;
    border-radius: 5px;
    font-size: 1.5vw;
    margin: 0 1em;
    text-shadow: 1px 1px 1px #29648e;
}
.reservation-button-container .reservation-button a {
    display: inline-block;
    background-color: #f4a619;
    color: #fff;
    padding: 1vw 2vw;
    border-radius: 5px;
    width: auto;
    text-shadow: 1px 1px 1px #875c0c;
    font-size: 1.5vw;
    border: none;
    margin: 0 1em;
}
.reservation-button-container .calc-button a:hover, .reservation-button-container .reservation-button a:hover {
    opacity: 0.6;
}


.form-col3-container {
    display: flex;
    justify-content: space-between;
}
.form-col3-item {
    flex-basis: 32%;
}


.flex-container.section-site {
    display: flex;
}
.flex-container.section-site .flex-item {
    flex-basis: 50%;
    padding: 1vw;
    flex-direction: column;
    display: flex;
}

.calendar-img {
    text-align: right;
    margin-top: auto;
}
.calendar-img img {
    max-width: 120px;
}
.flex-item p {
    margin-bottom: 0;
}

.flex-container.section-site a {
    color: #007bff;
}
.flex-container.section-site a:hover {
    opacity: 0.8;
}

.map-label {
    display: flex;
    justify-content: space-between;
}


.google-calendar iframe {
    width: 100%;
    padding: 2vw;
}
div#google-calendar {
    margin-top: -50vw;
    margin-bottom: 50vw;
}

/*予約上注意*/
/*テーブル*/
table.blue-bold,table.green-bold{
  margin-bottom: 0;
}
table.blue-bold td {
  border: 2px solid #007bc4;
}
table.blue-bold td {
  border: 2px solid #007bc4;
}
.green-bold {
  color: #258d70;
  font-weight: bold;
}
table.green-bold td {
  border: 2px solid #258d70;
}
.table_cap1,.table_cap2 {
  margin-bottom: 2vw;
}
.hotel_attention_title {
  font-size: 2.5rem;
  text-align: center;
  color: #f00;
  font-weight: bold;
  margin-bottom: 2vw;
}
.hotel_attention_flexbox {
  display: flex;
  flex-wrap: wrap;
}
.hotel_attention_left {
  flex-basis: 40%;
}
.hotel_attention_right {
  flex-basis: 60%;
}
/*キャンペーン*/
.campaign_container {
  background: #f1ed1b;
  border: 3px dashed #f00;
  padding: 1vw;
  margin-bottom: 2vw;
}
.blue-bold {
  color: #007bc4;
  font-weight: bold;
}
.red-bold {
  color: #f00;
  font-weight: bold;
}

/*お問い合わせ*/


/*予約*/
.contact-scroll-box {
    height: 150px;
    overflow-y: scroll;
    padding: 1em;
    border: 1px solid #cdcdcd;
	margin-bottom:2em;
}
.contact-scroll-item {
    margin-right: 8px;
}
.group-name {
    display: inline-block;
    width: 30%;
}
.group-age {
    display: inline-block;
    width: 20%;
}
.group-relationship {
    display: inline-block;
}
.contact-scroll-box.scroll-x {
    overflow-x: auto;
    white-space: nowrap;
}
.contact-flex-container {
    display: flex;
    white-space: normal;
}
.contact-flex-item {
    flex: 0 0 auto;
    margin-right: 8px;
}
.corona-name{
	width: 30%;
}
.corona-temperature.pop-up-on {
    position: relative;
}
.corona-temperature .pop-up {
    z-index: 1;
    left: 0;
    bottom: -60%;
}
.contact-img {
    display: inline-block;
}
.contact-img img {
    max-width: 150px;
    margin: 0.5em;
    border: 1px solid #d6d6d6;
}
.infection-control-container {
    border: 3px solid #f00;
    padding: 1em;
	color: #f00;
}
.attempt {
    border: 2px solid #f00;
    /*height: 150px;*/
    /*overflow-y: scroll;*/
    padding: 1em;
}
.contact-flex-cap {
    font-size: 0.8em;
    color: #000;
}
.date-box {
    width: 48%;
    display: inline-block;
    padding: 5px;
}
.infection-control-cap {
    font-size: 10px;
}
.border1 {
    border-bottom: 3px solid #000;
    margin-bottom: 2em;
}

a.hotel-link {
    color: #4194ff;
    font-weight: bold;
}
a.hotel-link:hover {
    color: #f00;
}

.transportation-container {
    height: 160px;
    overflow-y: scroll;
    border: 1px solid #000;
    padding: 0.3em;
}
.transportation-container a {
    color: #1f6fd2;
    font-weight: bold;
}
.transportation-container a:hover {
    color: #f00;
}

.hb_single_room .title {
    position: relative;
}
.hb_single_room .title a#hb_room_load_booking_form {
    position: absolute;
    top: 0;
    right: 2.3vw;
}

/*感染対策*/
.wpcf7-form-control-wrap.checkbox-536 {
    white-space: normal;
    color: #000;
}

/*商品一覧ページ*/
.page-title {
    display: none;
}
/*商品ページ*/
.single-hb_room .hb_related_other_room {
    display: none;
}
.hb_single_room_tabs li:nth-child(2), .hb_single_room_tabs li:nth-child(4) {
    display: none !important;
}
.title-price {
    color: #2385dc !important;
}
.hb_single_room .price span.unit {
    color: #2385dc !important;
}
.single .entry-summary .price {
    margin-right: 1em;
}

/*ヘッダー前カタログ除去とスクロール時のヘッダー*/
.header_scrolled .site-header .site-logo, .header_scrolled .site-header .catch-copy {
    display: none;
}
.home .rooms:not(.entry-body .rooms),.post-type-archive .rooms:not(.entry-body .rooms),.single .rooms {
    display: none !important;
}

/*woocommerce-wp-hotel-booking関連*/
.cart-icon:before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f07a";
}
.quantity_badge {
         display: inline-block;
         font-size: 1.0em;
         width:1.3em;
         height:1.3em;
         background-color: #ff0000;
         border-radius:50%;
         text-align: center;
         line-height: 1.3em;
         color: #ffffff;
 }

/*商品注文ページ*/
p#billing_number_of_guests_field {
    clear: both !important;
}

/*カートページ*/
.woocommerce table.shop_table {
    margin: 0px;
}
.cart_totals h2 {
    display: none;
}
tr.cart-subtotal {
    display: none;
}


/*料金計算ページ*/
table.price-calc {
    width: 60%;
}
.th1 {
    width: 60%;
    background-color: #2984b0;
    color: #fff;
    font-size: 105%;
}
.th2 {
    width: 20%;
    background-color: #2984b0;
    color: #fff;
    font-size: 105%;
}
.th3 {
    width: 20%;
    background-color: #2984b0;
    color: #fff;
    font-size: 105%;
}
.price-calc .total {
    text-align: right;
}
.price-calc .tax {
    text-align: right;
    border-top: 4px double #b6b6b6;
}
.tr-total {
    text-align: right;
}

.nop_total, .price_total {
    text-align: right;
}

.calc-buttons {
    width: 60%;
    text-align: right;
}
.clrea-button {
    display: inline-block;
    background-color: #616161;
    padding: 0.5em 1em;
    border-radius: 5px;
    color: #fff;
    cursor: pointer;
}
.clrea-button:hover {
    color: #616161;
    background-color: #fff;
    border: 2px solid #616161;
}


/*各部屋の予約関連*/
.border-container {
    border: 2px solid #d6d6d6;
    padding: 1vw;
}

.tab-wrap p {
    display: none;
}

.panel{
    display:none;
}
.panel.is-show{
    display:block;
}

.tab-wrap {
    margin: 3vw 0;
}
.tab-group {
    display: flex;
    justify-content: center;
    margin: 2vw 0;
}
.panel-group {
    border: 2px solid #d6d6d6;
    padding: 1vw;
}
.tab {
    background-color: #bcbec0;
    padding: 1vw 2vw;
    color: #fff;
    text-shadow: 1px 1px 3px #173d57;
    transition: all 0.2s;
    cursor: pointer;
    position: relative;
    width: 25vw;
    text-align: center;
}
.tab.is-active {
    background-color: #41a6ee;
}
.tab:hover {
    opacity: 0.8;
    background-color: #41a6ee;
}

.tab-popup {
    position: absolute;
    top: 50%;
    transform: translate(0, -52%);
    background-color: #ffb545;
    padding: 3px 5px;
    border-radius: 5px;
    font-size: 1.2vw;
    text-shadow: 1px 1px 2px #65481c;
    display: none;
}
.tab.is-active .tab-popup {
    display: block;
}



/*各部屋の料金計算*/
.plan-table {
    width: 80%;
}
.plan-table th, .plan-table td,.plan-table2 th, .plan-table2 td {
    font-size: 1.5vw;
    text-align: center;
}
.plan-table th,.plan-table2 th {
    background-color: #e5f4ff;
}


.type-text ul {
    margin: 0;
    padding: 0;
}
.type-text li {
    list-style: none;
    line-height: 1.3;
    margin: 0;
    font-size: 1.2vw;
	white-space: nowrap;
}


/*会計ページ*/
.postid-446.header_scrolled #site-header {
    position: static;
}

.price-box {
    border: 2px solid #b0b0b0;
    display: inline-block;
}
.price-label {
    font-size: 2vw;
    background-color: #d5eaff;
    display: inline-block;
    padding: 0.5vw 1vw;
}
.price-total {
    font-size: 2vw;
    background-color: #f4f4f4;
    display: inline-block;
    padding: 0.5vw 1vw;
}
.price-title {
    font-size: 1.5vw;
    margin: 1vw;
	    margin-left: 0;
    border-left: 5px solid #ff3737;
    padding: 0.3vw 1vw;
    background-color: #ffefef;
}


/*お会計説明ページ*/
.jump-container {
    display: flex;
    justify-content: center;
}
.jump-button a {
    display: block;
    background-color: #00A2A8;
    padding: 1vw;
    margin: 1vw;
    border-radius: 5px;
    color: #fff;
    text-shadow: 1px 1px 2px #000;
    box-shadow: 0px 4px 1px 0px #004447;
    transition: all 0.2s;
}
.jump-button a:hover {
    box-shadow: 0px 2px 1px 0px #004447;
    transform: translate(0px, 2px);
    opacity: 0.8;
}

.payment-attention {
	font-size: 1.5vw;
	color: #f00;
	font-weight: bold;
}
.payment-cap {
	padding: 0;
}
.payment-cap li {
	list-style: none;
}
.paypay-attention {
    padding: 1vw;
}
.paypay-attention a {
    font-size: 1.5vw;
    text-decoration: underline;
    color: #3c8de4;
    margin: 1vw 0;
    display: block;
}
.paypay-attention a:hover {
    opacity: 0.6;
}
.paypay-attention a:after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f35d";
    margin-left: 5px;
}


.stripe-button-container [name="item_amount"] {
    width: 20vw;
    display: block;
}
.history_back a {
    text-decoration: underline;
    color: #989898;
}
.history_back a:hover {
    color: #1689da;
}

.credit-detail {
    margin: 2vw 0;
}
.credit-cap1 {
    margin-bottom: 1vw;
    border-bottom: 3px solid #656565;
    display: inline-block;
}
.credit-label {
    font-size: 1.5vw;
}
.credit-contents {
    font-size: 2.5vw;
}
.history_back {
    display: inline-block;
}
form.stripe {
    display: inline-block;
    margin: 0 1vw;
}
.stripe-button-el span {
    background-color: #d86262 !important;
    background-image: none !important;
    box-shadow: 0 0 0 2px #fff !important;
    font-size: 1.5vw !important;
    padding: 5px 10px!important;
    height: auto !important;
    width: auto !important;
}
.stripe-button-el span:hover {
    background-color: #f28383 !important;
}

.stripe-attention-container {
    border: 3px solid #de4b4b;
    padding: 1vw;
}
.stripe-attention-container p {
    display: none;
}
.stripe-attention-title {
    font-size: 2vw;
    background-color: #de4b4b;
    color: #fff;
    padding-left: 1vw;
}
.stripe-attention-contents {
    padding: 2vw;
    line-height: 2;
}
.stripe-attention-contents li {
    list-style: none;
    text-align: center;
    display: inline-block;
    min-width: 120px;
}
.stripe-attention-contents img {
    display: block;
    text-align: center;
    margin: auto;
}


/*明細関連*/
.price-detail-container {
    margin: 2vw 0;
    border: 2px solid #eaeaea;
    padding: 2vw;
}
.price-detail-title {
    font-size: 2vw;
    border-bottom: 4px double;
    display: inline-block;
    margin-bottom: 1vw;
}

/*PayPay関連*/
.paypay-container .explanation-container {
    display: flex;
}
.slick-prev:before, .slick-next:before {
    color: #000 !important;
}
.paypay-img {
    max-width: 270px;
    display: inline-block;
    vertical-align: top;
    padding: 1em;
    border: 1px solid #dedede;
    width: 40%;
}
.paypay-cap {
    display: inline-block;
    width: 60%;
    vertical-align: top;
    padding: 1em;
    border: 1px solid #dedede;
}
.slick-prev:before, .slick-next:before {
    color: #000;
    font-size: 3vw;
}
.slick-prev {
    left: -15px;
}
.slick-next {
    right: 0;
}
.slick-slide {
    height: auto !important;
}

/*銀行振込とテーブル*/
.bank-transfer-container {
    display: flex;
}
.bank-transfer-container .completion_notice {
    padding: 1vw;
}
#wpcf7-f465-p446-o1 {
    text-align: center;
}
#wpcf7-f465-p446-o1 input {
    background-color: #03988a;
    border: none;
    transition: all 0.3s;
}
#wpcf7-f465-p446-o1 input:hover {
    background-color: #fff;
    border: 2px solid #03988a;
    color: #03988a;
}

.explanation-container table {
    width: auto;
}
.explanation-container th, .explanation-container td {
    font-size: 1.5vw;
    padding: 1vw 3vw;
	white-space: nowrap;
}
.explanation-container th {
    background-color: #d5eaff;
}
.explanation-container td {
    text-align: center;
}
.bank_transfer_name, .bank_transfer_price {
    display: none;
}


/*各サービス予約希望ページ*/
.reserve-connect-container .top-menu-item {
    display: flex;
    margin-bottom: 1vw;
    align-items: center;
}
.reserve-connect-container i {
    font-size: 3vw;
    margin-left: 1vw;
}
h1.reserve-connect-h1 {
    margin-bottom: 0;
}
.reserve-connect-container .top-menu-item a:not(.no-button) {
    min-width: 14vw;
    text-align: center;
}

/*サーフィン教室ページ（先生一覧ページ）*/
.teacher_index_ul {
    display: flex;
    padding: 0;
    flex-wrap: wrap;
}
.teacher_index_li {
    list-style: none;
    flex-basis: 33%;
}
.teacher_index_li figure {
    position: relative;
    overflow: hidden;
    padding-top: 60%;
    margin: 10px 5px;
}
.teacher_index_li figure img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
	transition: all 0.2s;
}
.teacher_index_li figure img:hover {
    border: 5px solid;
}


.reservation-button-container {
    display: none;
}

.surf-regist-button-container, .su-regist-button-container, .o-regist-button-container {
  display: flex;
  justify-content: center;
  margin: 1vw auto 2vw;
}
.teacher-regist-button a {
    display: block;
    background-color: #4179de;
    color: #fff;
    padding: 0.5vw 1vw;
    border-radius: 5px;
    box-shadow: 0px 4px 3px 0px #1e3a6b;
    margin: 0 5px;
	transition: all 0.2s;
}
.student-regist-button a {
    display: block;
    background-color: #de9141;
    color: #fff;
    padding: 0.5vw 1vw;
    border-radius: 5px;
    box-shadow: 0px 4px 3px 0px #754c22;
    margin: 0 5px;
	transition: all 0.2s;
}
.teacher-regist-button a:hover,.student-regist-button a:hover {
    opacity: 0.7;
}

.page-template-surfpage .next-overlay.overlay-open,
.page-template-skill_up_school .next-overlay.overlay-open,
.page-template-other_school .next-overlay.overlay-open {
  margin-bottom: 3vw;
}


/*先生詳細ページ（プロフィール）*/
.single-surf_teacher_profile .um-cover, .single-surf_teacher_profile .um-header, .single-surf_teacher_profile .um-profile-navbar, .single-surf_teacher_profile .um-profile-nav {
    display: none;
}
.single-surf_teacher_profile .entry img,.single-su_teacher_profile .entry img,.single-o_teacher_profile .entry img {
    width: 100%;
}


.free_paid_container {
    display: inline-block;
    margin: 1vw 0;
    font-size: 1.5vw;
}
.free_paid_label {
    background-color: #337ab7;
    display: inline-block;
    padding: 0.5vw 1vw;
    color: #fff;
    text-shadow: 1px 1px 2px #000;
}
.free_paid_content {
    background-color: #e8f0ff;
    display: inline-block;
    padding: 0.5vw 1vw;
}
.usermeta-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    flex-basis: 50%;
    position: relative;
    overflow-y: auto;
	border: 1px solid #ddd;
}
.usermeta-flex-item {
    flex-basis: 30%;
}
.usermeta-box {
    margin-bottom: 2vw;
}
.usermeta-label {
    border-bottom: 2px solid #9e9e9e;
    font-size: 1.5vw;
}
.usermeta-contents {
    padding: 1vw 0.3vw;
    background-color: #f4f4f4;
}

.usermeta-contents ul {
    margin: 0;
}

.profile-edit-link {
    text-align: right;
}
.profile-edit-link a {
    color: #41a6ee;
    text-decoration: underline;
}
.profile-edit-link a:hover {
    opacity: 0.6;
}

/*プロフィールページ*/
.profile-edit-link.profile-page {
  text-align: center;
  margin: 1vw auto 0;
}
.um-viewing .um-main-meta {
  display: none;
}
.um-viewing .um-field-label {
  background-color: #2d7ca8;
  padding: 1vw !important;
  color: #fff !important;
  text-shadow: 1px 1px 1px #1c4c66;
  margin-bottom: 0 !important;
}
.um-viewing .um-field-area {
  background-color: #f2f3f4;
  padding: 1vw;
}
.um-viewing .um-field-label::before {
  display: none !important;
}
.um-viewing .birth-date-label::before {
  display: none !important;
}
.um-editing .um-profile-meta {
  display: none;
}
.um-editing .profile-edit-link {
  display: none;
}
.um-editing .um-header::after {
  content: "クリックで写真の変更・削除";
  text-align: center;
  display: block;
  margin-top: 1vw;
  font-size: 1.5vw;
}
.um-cover,.um-meta-text,.um-profile-navbar,.um-profile-nav,.um-profile-edit {
  display: none;
}
.um-profile-meta {
  text-align: center;
  padding-right: 0 !important;
}
.um-name {
  float: none !important;
  margin-right: 0 !important;
}
.um-main-meta .um-clear {
  display: none;
}
.um-profile-photo {
  float: none !important;
  margin: auto !important;
}
.um-profile-photo a.um-profile-photo-img {
  position: relative !important;
}



.usermeta-flex-container {
    display: flex;
}
.userimgage-container {
    flex-basis: 50%;
}
.userimage-main {
    border: 1px solid #ddd;
}
.usermeta-flex-container .image-wrap {
    position: relative;
    overflow: hidden;
    flex-basis: 100%;
    border: 1px solid #ddd;
}
.usermeta-flex-container .image-wrap:before {
    content: '';
    display: block;
    padding-top: 56.25%;  /* 16:9 */
}
.usermeta-flex-container .image-wrap img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
}

.userimage-sub {
    display: flex;
}
.usermeta-container table {
    position: absolute;
    display: flex;
    flex-direction: column;
}
.usermeta-container th {
    width: 35%;
    background-color: #f2f2f2;
}
.usermeta-container td {
    width: 65%;
}

/*サービス画像がない場合の処理*/
.usermeta-flex-container.image-none .userimgage-container {
    display: none;
}

.usermeta-flex-container.image-none .usermeta-container table {
    position: relative;
    margin: 0;
}

.usermeta-flex-container.image-none .usermeta-container {
    border: none;
    flex-basis: 100%;
}



/*プロフィール編集画面*/
.um-profile .um-profile-body {
    max-width: 1500px;
}


/*各教室ボタン*/
.school-button-container {
    display: flex;
    max-width: 1140px;
    margin: 1vw auto;
}

.group-school,.group-forum,.group-regist {
    display: flex;
}

.school-button a {
    background-color: #fff;
    border: 2px solid #ff0eaa;
    padding: 0.5vw 1vw;
    margin: 5px;
    border-radius: 5px;
    box-shadow: 0 5px 1px 0px #530538;
    font-weight: bold;
	display: block;
	transition: all 0.2s;
    font-size: 1vw;
}
.forum-button a {
    border-color: #555;
    box-shadow: 0 5px 1px 0px #494949;
}
.school-button a:hover {
    transform: translate(0px,3px);
    box-shadow: 0 2px 0 0 #494949;
}
.forum-button.active a {
    background-color: #eaeaea;
    border-radius: 0;
}

.school-button-container .teacher-regist-button a {
    font-size: 1vw;
    margin: 5px;
    box-shadow: 0 5px 1px 0px #223f73;
    border: 2px solid #4179de;
}
.school-button-container .student-regist-button a {
    font-size: 1vw;
    margin: 5px;
    box-shadow: 0px 5px 1px 0px #754c22;
    border: 2px solid #de9141;
}

/*メッセージ関連*/
.message-button-container {
  display: flex;
  margin: 1vw;
  justify-content: center;
}
.message-button-container > div {
  margin: 0 1vw;
}
.message-button a {
  font-size: 1.5vw;
  background-color: #fff !important;
  color: #e36969 !important;
  text-shadow: none;
  padding: 0.5vw 1vw;
  border-radius: 10px;
  border: 2px solid #e36969;
  transition: all 0.1s;
  font-weight: bold;
}
.message-button a:hover {
  background-color: #e36969 !important;
  color: #fff !important;
  text-decoration: none !important;
  text-shadow: 1px 1px 1px #6a2e2e;
}
.mail-box-button a {
  font-size: 1.5vw;
  background-color: #fff;
  color: #716969;
  padding: 0.5vw 1vw;
  border-radius: 10px;
  text-decoration: none;
  border: 2px solid #716969;
  transition: all 0.1s;
  text-shadow: none;
  font-weight: bold;
}
.mail-box-button a:hover {
  background-color: #716969;  
  color: #fff;
  text-shadow: 1px 1px 1px #3f3b3b;
}

.mail-box-cap {
  padding: 2vw;
  border: 2px solid #000;
  margin: 2vw 0;
}

.load-conv.read.list-group-item.active .text-muted {
  color: #fff !important;
}

.btn.btn-info.btn-sm.mm-reply:after {
  content: "返信";
}
.btn.btn-sm.btn-default.mm-status::after {
  content: "アーカイブ";
}
.btn.btn-primary.btn-sm.mm-compose {
  display: none;
}
.col-md-12.hidden-xs.hidden-sm {
  display: none;
}
.col-md-12.col-xs-12.col-sm-12 {
  display: none;
}

/*--------------------------------各会員登録関連-----------------------------*/
/*必須・任意ラベル*/
.required .um-field-label:before {
    content: "【必須】";
    color: #f00;
    font-weight: bold;
    display: inline-block;
}
.not-required .um-field-label:before,.birth-date-label:before {
    content: "【任意】";
    font-weight: bold;
	color:#555;
}
.extra_part_container .um-field-label:after {
    content: "【メッセージ利用の場合は必須】";
    color: #28a745;
}
.extra_part_container .um-field-label:after {
    content: "【メッセージ利用の場合は必須】";
    color: #28a745;
}
.extra_part .um-field-image .um-field-label:before {
    content: "【任意】";
    color: #555555;
}
.page-id-1293 {
	
}

.um-field-birthdate_y .um-field-label:before,
.um-field-birthdate_y .um-field-label:after,
.um-field-birthdate_m .um-field-label:before,
.um-field-birthdate_m .um-field-label:after,
.um-field-birthdate_d .um-field-label:before,
.um-field-birthdate_d .um-field-label:after
 {
    display: none;
}


/*先生種別非表示*/
.um-field-teacher_role {
  display: none;
}

/*ラジオボタン*/
.um-field-radio .um-field-area {
    display: flex;
    flex-flow: column;
}
/*テキストボックス・ドロップダウン*/
.select2-container,
.um-field-nickname input,
.um-field-user_email input,
.um-field-user_password input,
.um-field-phone_number input,
.um-field-last_name input
{
    max-width: 300px;
}
.um-field-address input {
    max-width: 500px;
}

#um_field_474_user_password .um-field-area,#um_field_474_user_password input{
	max-width:100%;
	width: 100%;
}

/*年月日3カラム*/
.private-container .um-col-131, .private-container .um-col-132, .private-container .um-col-133 {
    width: 15% !important;
}
.private-container .um-col-132 {
    margin: 0 1vw !important;
}

/*会員種別関連*/
.part-label {
    margin-top: 5px;
    margin-bottom: 5px;
}
.part-label:before {
    border: 3px solid;
    padding-left: 50px;
    content: "";
    margin-right: 10px;
}
.blue-part-label:before{
	border-color:#1e73be;
}
.red-part-label:before {
    border-color: #f00;
}
.green-part-label:before {
    border-color: #28a745;
}
.extra_part_container {
    border: 2px solid #28a745;
    padding: 2vw;
    margin: 2vw 0;
}

.um-field-password .um-field-area {
  display: inline-block;
}
.toggle-pass {
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translate(0,-50%);
}

/*全会員登録一覧ページ*/
.regist-table1 th {
  background-color: #efefef;
}
.regist-table1 th,.regist-table1 td {
  border: 1px solid #ddd;
}
.regist-table1 td:first-child {
  width: 30%;
  text-align: center;
}
.regist-table1 td:last-child {
  width: 70%;
}

.regist-table2 {
  text-align: center;
}
.regist-table2 tr:first-child,.regist-table2 tr th:first-child {
  background-color: #efefef;
}
.regist-table1 a,.regist-table2 a {
  color: #1e73be;
  text-decoration: underline;
}
.regist-table1 a:hover, .regist-table2 a:hover {
    opacity: 0.6;
}


/*--------------------------------bbpressデザインセット-----------------------------*/
/* ##配色
 * 
 * - white: white
 * - gray: whitesmoke
 * - black: slategray
 * - sub: #DFDFDF
 * - main: #4C4C4C
 * 
 * 上のカラーコードで検索かけて一括変換すればお好みの色に変えられます。cssの辛いとこね、これ
 *
*/

/*bbPressフォーラム一覧画面*/
/*
#bbpress-forums ul.bbp-forums {
  border: none;
}

#bbpress-forums li.bbp-header, #bbpress-forums li.bbp-footer, #bbpress-forums li.bbp-body li.bbp-forum-reply-count, #bbpress-forums li.bbp-body li.bbp-forum-freshness {
  display: none;
}

#bbpress-forums li.bbp-body ul.forum {
  border-top: none;
  background: white;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

#bbpress-forums li.bbp-forum-info {
  -webkit-box-flex: 2;
  -ms-flex-positive: 2;
  flex-grow: 2;
}

#bbpress-forums .bbp-forum-info .bbp-forum-content {
  position: relative;
  display: inline-block;
  padding: .5em 1em .5em 5px;
  min-width: 200px;
  max-width: 100%;
  border-radius: 3px;
  color: slategray;
  background: whitesmoke;
}

#bbpress-forums .bbp-forum-info .bbp-forum-content::before {
  content: "";
  position: absolute;
  top: -20px;
  left: 30px;
  margin-left: -15px;
  border: 10px solid transparent;
  border-bottom: 10px solid whitesmoke;
}

#bbpress-forums .bbp-forum-info a.bbp-forum-title {
  display: block;
  font-size: 1.2em;
  font-weight: 900;
  color: #4C4C4C;
  カテゴリー名の文字色
  text-decoration: none;
  padding: 15px 15px 15px 0;
}

#bbpress-forums li.bbp-body li.bbp-forum-topic-count {
  text-align: center;
  vertical-align: middle;
  margin-top: 15px;
  width: 25px;
  min-width: 25px;
  height: 25px;
  line-height: 25px;
  border-radius: 50%;
  background: whitesmoke;
  color: slategray;
}
*/

/*フォーラム一覧では説明除去*/
.forum-archive .bbp-forum-content {
    display: none;
}

/*------------------------------bbPressトピック一覧画面----------------------------*/
#bbpress-forums li.bbp-body {
    margin-top: 1vw;
    margin-bottom: 1vw;
    padding: 1vw;
}
/*トピックではヘッダーフッター非表示*/
.bbp-topics .bbp-header,
.post-type-archive-topic .bbp-header,
.bbp-replies .bbp-header,
.bbp-replies .bbp-footer 
{
    display: none;
}

/*flexでブロック表示*/
.bbp-topics .bbp-body {
    display: flex;
    flex-wrap: wrap;
}
.bbp-topics .bbp-body .topic {
    flex-basis: 24%;
    flex-direction: column;
    border: 1px solid #ddd;
	margin: 0 0 1vw 1% !important;
}
/*画像をトリミング*/
.bbp-topics .bbp-body .topic li {
    width: 100%;
}
.bbp-topics .bbp-body .topic .image-wrap {
    position: relative;
    overflow: hidden;
    padding-top: 56%;
}
.bbp-topics .bbp-body .topic li img {
    max-width: 100% !important;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/*ホバー吹き出し*/
.bsp-preview .bsp-previewtext {
    left: 0;
    top: -80%;
    width: 100%;
    height: auto;
    background-color: #488dbe;
    font-size: 1vw;
    padding: 1vw;
}
.bsp-preview .bsp-previewtext::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid #488dbe;
}
/*返信カウント位置変更（右下へ）*/
.bbp-topics .topic {
    position: relative;
}
.bbp-topics .bbp-topic-reply-count {
    position: absolute;
    bottom: 5px;
    right: 5px;
    margin-top: 0 !important;
}
/*新しいトピックボタン*/
.new-topic-button a {
    background-color: #3395d6;
    padding: 0.5vw 1vw;
    margin: 5px;
    border-radius: 20px;
    font-weight: bold;
    display: block;
    color: #fff;
    text-shadow: 1px 1px 1px #205a7f;
}
.new-topic-button a:hover {
    opacity: 0.8;
}
.new-topic-button.student a {
    background-color: #f49343;
    text-shadow: 1px 1px 1px #73451e;
}
/*購読ボタン*/
.post-985 .entry-body {
    margin-top: 0;
}


/*お気に入り・購読の高さ合わせとホバーでヘルプ*/
.single-topic .subscription-toggle {
    line-height: 1.8;
}
#bbpress-forums .subscription-toggle {
    top: 0;
}
#favorite-toggle a:after,#subscription-toggle a:after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;content: "\f059";
    margin-left: 3px;
}
#favorite-toggle,#subscription-toggle {
    position: relative;
}
.favorite-cap,.subscription-cap {
    position: absolute;
    white-space: nowrap;
    right: 0;
    display: none;
    background-color: #3b3b3b;
    color: #fff;
    padding: 0 1vw;
    border-radius: 5px;
	top: 25px;
}
#favorite-toggle:hover .favorite-cap,#subscription-toggle:hover .subscription-cap {
    display: block;
}



.bbp-template-notice, #bbpress-forums li.bbp-topic-title p.bbp-topic-meta, #bbpress-forums li.bbp-topic-voice-count, #bbpress-forums li.bbp-topic-freshness, #bbpress-forums .bbp-pagination {
  display: none;
}

#bbpress-forums ul.bbp-topics, #bbpress-forums li.bbp-header {
  border: none;
}

#bbpress-forums div.odd, #bbpress-forums ul.odd {
  background: white;
}

#bbpress-forums li.bbp-body ul.topic {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

#bbpress-forums li.bbp-body ul.topic li.bbp-topic-title {
  -webkit-box-flex: 2;
  -ms-flex-positive: 2;
  flex-grow: 2;
}

#bbpress-forums li.bbp-body ul.topic li.bbp-topic-title a.bbp-topic-permalink {
  display: block;
  font-weight: 900;
  color: #4C4C4C;
  /*カテゴリー名の文字色*/
  text-decoration: none;
  padding: 15px 15px 15px 0;
}

#bbpress-forums li.bbp-body ul.topic li.bbp-topic-reply-count {
  text-align: center;
  vertical-align: middle;
  margin-top: 15px;
  width: 25px;
  min-width: 25px;
  height: 25px;
  line-height: 25px;
  border-radius: 50%;
  background: whitesmoke;
  color: slategray;
}


/*トピック作成フォーム*/

#bbpress-forums div.bbp-topic-form form#new-post fieldset.bbp-form {
  background: white;
  border: none;
  padding: 0;
}

#bbpress-forums div.bbp-topic-form form#new-post fieldset.bbp-form legend {
  position: relative;
  padding: 10px 40px 10px 10px;
  margin: 0 0 1em;
  line-height: 20px;
  background: #e9f6ff;
  border-left: 40px solid #3395d6;
}

#bbpress-forums div.bbp-topic-form form#new-post fieldset.bbp-form legend::before {
  content: "\f5ad";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 2em;
  color: white;
  position: absolute;
  left: -32px;
}

/*生徒用*/
.postid-1082 #bbpress-forums div.bbp-topic-form form#new-post fieldset.bbp-form legend,
.postid-1090 #bbpress-forums div.bbp-topic-form form#new-post fieldset.bbp-form legend,
.postid-1094 #bbpress-forums div.bbp-topic-form form#new-post fieldset.bbp-form legend{
    background-color: #f6e2d2;
    border-left: 40px solid #f49343;
}

#bbpress-forums div.bbp-topic-form form#new-post fieldset.bbp-form label, #bbpress-forums div.bbp-topic-form form#new-post fieldset.bbp-form select, #bbpress-forums div.bbp-topic-form form#new-post fieldset.bbp-form br {
  display: none;
}

#bbpress-forums div.bbp-topic-form form#new-post fieldset.bbp-form>div>p:nth-of-type(1)::before{
  content: "タイトル";
}

#bbpress-forums div.bbp-topic-form form#new-post fieldset.bbp-form>div>div.bbp-the-content-wrapper::before {
  content: "本文";
}

#bbpress-forums div.bbp-topic-form form#new-post fieldset.bbp-form>div>p:nth-of-type(1)::before,
#bbpress-forums div.bbp-topic-form form#new-post fieldset.bbp-form>div>div.bbp-the-content-wrapper::before {
  color: slategray;
  line-height: 50px;
  background: #DFDFDF;
  padding: .5em 1.5em;
  border-radius: 30px;
}

#bbpress-forums div.bbp-topic-form form#new-post fieldset.bbp-form input#bbp_topic_title, #bbpress-forums div.bbp-topic-form form#new-post fieldset.bbp-form textarea#bbp_topic_content {
  width: 100%;
  background: whitesmoke;
  border: none;
  box-shadow: none;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}

#bbpress-forums div.bbp-topic-form form#new-post fieldset.bbp-form .bbp-submit-wrapper {
  float: none;
  text-align: center;
}

#bbpress-forums div.bbp-topic-form form#new-post fieldset.bbp-form .bbp-submit-wrapper button#bbp_topic_submit {
  width: 100%;
  max-width: 600px;
  margin: auto;
  background: #4C4C4C;
  color: white;
  border: none;
  border-radius: 3px;
}

/*トピック作成時ログインフォーム*/
#new-post .bbp-form .bbp-form {
  display: none;
}
/* 名前を非表示 */
/* メールアドレスを非表示 */
/* ウェブサイトを非表示 */
fieldset.bbp-form fieldset.bbp-form p:nth-child(2),
fieldset.bbp-form fieldset.bbp-form p:nth-child(3),
fieldset.bbp-form fieldset.bbp-form p:nth-child(4) 
{
	display: none;
}


/*トピック詳細画面*/
/*トピック詳細ではパンくず非表示*/
.single-topic #breadcrumb {
    display: none;
}

#bbpress-forums ul.bbp-replies {
  border: none;
}

#bbpress-forums div.bbp-reply-header {
  background-color: white;
  border-top: none;
}

#bbpress-forums div.bbp-reply-author {
  width: 20%;
}

#bbpress-forums .bbp-author-role, #bbpress-forums .bbp-reply-ip, #bbpress-forums .bbp-reply-permalink, #bbpress-forums span.bbp-admin-links {
  display: none;
}

#bbpress-forums .bbp-meta {
  text-align: right;
}

#bbpress-forums .bbp-body span.bbp-reply-post-date {
  color: #ccc;
}

#bbpress-forums div.bbp-reply-author img.avatar {
  margin: 0 auto;
  border-radius: 50%;
}

#bbpress-forums div.bbp-reply-author a.bbp-author-name {
  color: slategray;
  text-decoration: none;
}

#bbpress-forums div.bbp-reply-content {
  position: relative;
  display: inline-block;
  padding: 30px;
  margin-left: 20px;
  min-width: 200px;
  max-width: calc( 80% - 20px);
  border-radius: 3px;
  color: slategray;
  background: whitesmoke;
}

#bbpress-forums div.bbp-reply-content::before {
  content: "";
  position: absolute;
  left: -20px;
  top: 30px;
  border: 10px solid transparent;
  border-right: 10px solid whitesmoke;
}

@media(max-width:480px) {
  #bbpress-forums .bbp-body div.bbp-reply-author {
    margin: 0;
    min-height: 85px;
  }
  #bbpress-forums .bbp-body div.bbp-reply-content {
    margin: 0;
  }
  #bbpress-forums .bbp-body div.bbp-reply-content p {
    padding: .5em 1em;
    margin: 0;
  }
  #bbpress-forums div.bbp-reply-content::before {
    top: -20px;
    left: 20px;
    border: 10px solid transparent;
    border-bottom: 10px solid whitesmoke;
  }
}


/*返信フォーム*/

#bbpress-forums div.bbp-reply-form form#new-post fieldset.bbp-form legend {
  position: relative;
  padding: 10px 40px 10px 10px;
  margin: 0 0 1em;
  line-height: 20px;
  background: #DFDFDF;
  border-left: 40px solid #4C4C4C;
}

#bbpress-forums div.bbp-reply-form form#new-post fieldset.bbp-form legend::before {
  content: "\f5ad";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 2em;
  color: white;
  position: absolute;
  left: -32px;
}

#bbpress-forums div.bbp-reply-form form#new-post fieldset.bbp-form {
  border: none;
  padding: 0;
  background: white;
}

#bbpress-forums div.bbp-reply-form form#new-post fieldset.bbp-form textarea#bbp_reply_content {
  width: 100%;
  background: whitesmoke;
  border: none;
  box-shadow: none;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}

#bbpress-forums div.bbp-reply-form form#new-post fieldset.bbp-form .bbp-submit-wrapper {
  float: none;
  text-align: center;
}

#bbpress-forums div.bbp-reply-form form#new-post fieldset.bbp-form .bbp-submit-wrapper button#bbp_reply_submit {
  width: 100%;
  max-width: 600px;
  margin: auto;
  background: #4C4C4C;
  color: white;
  border: none;
  border-radius: 3px;
}

/*匿名投稿を可能にする時用*/
fieldset.bbp-form p.form-allowed-tags {
  display: none;
}


/*オリジナルCSS*/
#bbpress-forums {
    font-size: 1.2vw !important;
    line-height: 1.8;
}
#bbpress-forums a {
    font-size: 1.2vw;
}

.bsp_button1 {
    font-size: 1.2vw !important;
}
.bsp-center {
    margin-bottom: 2vw;
}

.forum-cap-title {
    display: inline-block;
    background-color: #ce4c4c;
    padding: 0 1vw;
    color: #fff;
}
.forum-cap-container {
    height: 30%;
    overflow-y: scroll;
    border: 1px solid #ddd;
    padding: 2vw;
    margin-bottom: 2vw;
}

.bbp-topics {
    border: 1px solid #ddd !important;
	margin-top: 2vw !important;
}

/*トピックフォームのラベルを表示*/
#bbpress-forums [for="bbp_topic_subscription"], #bbpress-forums [for="bbp_topic_tags"] {
    display: inline-block !important;
}

/*エディターのビジュアルのみ表示*/
#bbp_topic_content-html,#bbp_reply_content-html {
    display: none;
}
#qt_bbp_topic_content_toolbar,#qt_bbp_reply_content_toolbar {
    display: none;
}
textarea#bbp_topic_content,textarea#bbp_reply_content {
    display: none;
}
/*画像アップロードの比率除去*/
.mce-container-body .mce-formitem:last-child {
    display: none;
}

.prev_button a:before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f3e5";
	margin-right: 5px;
}
.prev_button a {
	font-size: 1.5vw !important;
}
.bbp-submit-wrapper button:hover {
    background-color: #0aa5ff !important;
}

/*掲示板エディター高さ調整*/
.mce-edit-area {
    height: 20vw !important;
}
.mce-edit-area iframe {
    height: 100% !important;
}

/*掲示板専用メニュー*/
.bbp-user-edit-link,.bbp-user-profile-link {
    display: none;
}


/*ログインフォーム*/
.um-login.um-474 .required .um-field-label::before {
  display: none;
}

/*会員登録後先生用説明ページ*/
.service-edit-button a {
  font-size: 1.5vw;
  padding: 1vw;
  display: inline-block;
  background-color: #4089d6;
  border-radius: 10px;
  margin-bottom: 2vw;
  color: #fff;
}
.service-edit-button a:hover {
  background-color: #6798cb;
}

/*------------------------------コメント評価関連----------------------------*/
.required-field-message {
    display: none;
}
#add_comment_rating_wrap {
    width: auto;
    margin-bottom: 1vw;
}
#add_post_rating {
    bottom: -1vw;
}
.logged-in-as {
    display: none;
}

.comment-attention {
    color: #f00;
    margin-bottom: 1vw;
}

/*ワーケーションページ*/
.worcaition-flex-container {
    display: flex;
}
.worcaition-flex-image {
    position: relative;
    overflow: hidden;
    padding-top: 56%;
    border: 1px solid #ddd;
    border-collapse: collapse;
}
.worcaition-flex-image img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
    height: 100%;
    object-fit: scale-down;
}
.worcaition-flex-item {
    flex-basis: 25%;
    display: flex;
    flex-direction: column;
}
.worcaition-flex-item p {
    display: none;
}
.worcaition-flex-contents {
    border: 1px solid #ddd;
    flex-grow: 1;
    padding: 1vw;
}

/*---------------------------------------メディアクエリ-----------------------------------------*/
@media (min-width:781px){
	.pc-none{display:none;}
	
	
	#vk-mobile-nav {
		width: 25%;
		margin-left: 75%;
	}
	.plan-table.fixed {
		position: fixed;
		top: 4vw;
		width: 32%;
		right: 16.3vw;
	}
	.plan-table.fixed.none {
		opacity: 0;
		z-index: -1;
	}
}

@media (max-width:780px){
	.sp-none{display:none;}
	
	body.device-pc .vk-mobile-nav {
		display: block;
	}
	.site-body-container {
		padding-bottom: 10em;
	}
	
	/*トップページ*/
	.rent-flex-container {
		flex-wrap: wrap;
	}
	.rent-flex-box {
		flex-basis: 33.3333%;
	}
	
	
	#wpcf7-f23-p8-o2, #wpcf7-f173-p174-o2 {
		width: 95%;
	}
	.contact-img img {
		width: 100%;
		padding: 0.5em;
		max-width: 100%;
		margin: auto;
	}
	.contact-flex-container {
		flex-flow: column;
	}
	.corona-name {
		width: 100%;
	}
	
	
	table.price-calc {
		width: 100%;
	}
	.th1 {
		width: 40%;
	}
	.th2 {
		width: 25%;
	}
	.th3 {
		width: 22%;
	}
	
	.top-menu-container {
		display: flex;
		overflow-x: auto;
		white-space: nowrap;
		overflow-scrolling: touch;
		-webkit-overflow-scrolling: touch;
	}
	.top-menu-item {
		white-space: nowrap;
	}
	.swiper-wrapper {
		height: auto;
	}
	
	.top-menu-arrow {
		display: flex;
		justify-content: space-between;
		margin-bottom: -6px;
		position: relative;
		z-index: 1;
	}
	.top-menu-arrow-left:before {
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		content: "\f137";
	}
	.top-menu-arrow-right::before {
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		content: "\f138";
	}
	
	.ltg-slide-text-title {
		font-size: 3vw;
	}
	
	.site-body {
		padding: 0;
	}
	.site-body-container {
		padding: 5px;
	}
	.room-box {
		width: 33%;
		padding: 5px;
		flex-basis: 50%;
	}
	.room-title {
		font-size: 2vw;
	}
	.room-box-cap {
		font-size: 1.6vw;
	}
	.reservation-button {
		font-size: 1.5vw;
		margin-top: auto;
	}
	.room-box-flex-item {
		display: flex;
		flex-direction: column;
	}

	
	.footer-nav-list {
		display: flex;
		overflow-x: auto;
		white-space: nowrap;
		overflow-scrolling: touch;
		-webkit-overflow-scrolling: touch;
	}
	.footer-nav-list li {
		white-space: nowrap;
		margin-right: 5px;
		border-right: 1px solid #cecece;
		padding-right: 5px;
	}
	
	/*支払い方法説明ページ*/
	.jump-container {
		display: block;
	}
	.jump-button a {
		width: 60%;
		margin: 3vw auto;
		text-align: center;
		padding: 3vw 0;
	}
	
	.paypay-container .explanation-container {
		display: block;
	}
	.paypay-img {
		max-width: 100%;
		width: 100%;
	}
	.slick-slide img {
		width: 90%;
		margin: auto;
	}
	.slick-slide span {
		font-size: 6vw;
	}
	.slick-prev:before, .slick-next:before {
		font-size: 10vw;
	}
	/*予約ページ・区画詳細ページ*/
	.tab-popup {
		top: -6px;
		left: 50%;
		transform: translate(-50%,-50%);
	}
	.flex-container.section-site {
		display: block;
		margin-top: 1vw;
		padding: 3vw;
	}
	.reserve-flex-container {
		display: block;
	}
	.form-flex-container {
		display: block;
	}
	.reserve-flex-item:last-child {
		display: none;
	}
	#add_comment_rating_wrap label {
		display: block;
		margin-top: 3vw;
	}
	#add_post_rating {
		bottom: -5vw;
	}
	.review-title-form {
		margin-top: 5vw;
	}
	
	/*ワーケーションページ*/
	.worcaition-flex-container {
		flex-wrap: wrap;
	}
	.worcaition-flex-item {
		flex-basis: 50%;
	}
	/*先生生徒関連*/
	.school-button-container {
		flex-wrap: wrap;
	}
	.group-school {
		flex-basis: 100%;
	}
	/*会員登録関連*/
	.private-container .um-col-131, .private-container .um-col-132, .private-container .um-col-133 {
		width: 100% !important;
	}
}