@charset "UTF-8";

/*!
Theme Name: 蓬莱
Theme URL: 
Description: 占いサイト用ワードプレステーマ
Version: 1.0.1
Tags: 占い,電話占い
Author: はっす→
Template: 
*/


/*=======================================
スタイル名（日本語） - スタイル名（英語） -
=======================================*/


/*  スタイル名（日本語） - スタイル名（英語） -
=======================================*/


/*  スタイル名（日本語） - スタイル名（英語） - */


/*@import url(/wp-content/themes/hourai/css/normalize.css);*/

html,
body {
    margin-top: 0px !important;
    font-size: 14px;
    position: relative;
    overflow-x: hidden;
    font-family: 'AvenirNextLTW01-Regular', Arial, 'AxisStd-Light', "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    background: #fff
}

h2 {
    font-size: 2.2rem;
}

h3 {
    font-size: 2rem;
}

img {
    max-width: 100%;
    height: auto;
}

.area-head,
.area-body {
    width: 100%;
}


/*=======================================
archive.php
=======================================*/

#archive_content {
    margin-left: 10%;
}


/*=======================================
single.php
=======================================*/

.site-main h1 {
    padding: 0.4em 0.5em;
    /*文字の上下 左右の余白*/
    color: #494949;
    /*文字色*/
    background: #fdfdfd;
    /*背景色*/
    border-bottom: solid 3px #d7d7d7;
    /*下線*/
    width: 80%;
    margin: 1em auto 1em auto;
}

.site-main h2 {
    background: #dfefff;
    box-shadow: 0px 0px 0px 5px #dfefff;
    border: dashed 1px #96c2fe;
    padding: 0.2em 0.5em;
    color: #454545;
    width: 80%;
    margin: 1em auto 1em auto;
}

.site-main h3 {
    background: linear-gradient(transparent 70%, #a7d6ff 70%);
    width: 80%;
    margin: 1em auto 1em auto;
}

.site-main h4 {
    border-bottom: solid 3px #cce4ff;
    position: relative;
    width: 80%;
    margin: 1em auto 1em auto;
}

.site-main h4:after {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 3px #5472cd;
    bottom: -3px;
    width: 20%;
}

.site-main h5 {
    width: 80%;
    margin: 1em auto 1em auto;
}

.entry-content .container {
    text-align: center;
}

.nav-links {
    text-align: center;
}

.nav-previous,
.nav-next {
    width: 50%;
    border: 1px solid #999;
    text-align: center;
    margin: 10px auto 10px;
    border-radius: 4px;
    padding: 10px 0;
}

.article-date {
    text-align: right;
    margin-right: 20%;
}

.article-cat {
    text-align: right;
    margin-right: 20%;
}

.article-cat li {
    list-style: none;
}

.article-tag {
    text-align: right;
    margin-right: 20%;
}

.article-tag ul {
    list-style: none;
}

.entry-thumbnail {
    text-align: center;
    width: 60%;
    margin: auto;
}

.entry-thumbnail img {
    border-radius: 8px;
}


/*=======================================
page.php
=======================================*/

time.size-tiny.entry-date {
    display: none !important;
}

h1.heading-big.entry-title {
    color: #000000a8 !important;
    text-align: center !important;
}

@media (min-width: 1200px) .container {
    max-width: 70%;
}

.screen-reader-text {
    font-size: 1.1em;
}


/*=======================================
リンク - Link -
=======================================*/

a,
a:active {
    color: black;
    text-decoration: none;
}

a:hover,
a:active,
a:focus,
a:link {
    color: #c66a6ad1;
}


/*=======================================
その他 - Other -
=======================================*/

#message_area {
    text-align: center;
    margin-top: 2em;
}


/*  TOPへ戻るリンク - Back To Top Link -
=======================================*/

#pageTop {
    width: 70px;
    height: 60px;
    background: #333;
    opacity: 0.7;
    position: fixed;
    bottom: -5px;
    right: 10px;
    border-radius: 5px;
    color: white;
    text-align: center;
    line-height: 60px;
}

#pageTop:hover {
    cursor: pointer;
    text-decoration: none;
}


/*  もっと見るリンク - Link More -
=======================================*/

.link-more {
    padding: 5px 10px;
    box-sizing: border-box;
    font-size: 0.7rem;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    position: relative;
    right: 0;
    background: black;
    border: 1px solid black;
    color: white !important;
    float: right;
}

.link-more:hover {
    text-decoration: none;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    background: white;
    color: black !important;
    border: 1px solid black;
    box-sizing: border-box;
}

.link-more:before {
    content: '＞';
}

.link-more>i {
    margin-right: 5px;
}

body.theme1 .link-more {
    background: black;
    border: 1px solid black;
    color: white;
}

body.theme1 .link-more:hover {
    background: white;
    color: black;
    border: 1px solid black;
    box-sizing: border-box;
}

.fix-width {
    width: 100%;
}


/*=======================================
フォント - Fonts -
=======================================*/


/* serif */

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


/* sans serif */

.fnt-2 {
    font-family: 'Josefin Sans', sans-serif;
}


/* number */

.fnt-3 {
    font-family: 'Noto Sans', sans-serif;
}

.bold {
    font-weight: bold;
}

.wf-mplus1p {
    font-family: "M PLUS 1p" !important;
    font-weight: 300 !important;
}


/*=======================================
色 - Color -
=======================================*/


/*  背景色 - Background Color -
=======================================*/

.bgColor-main {
    background: white;
}

.bgColor-sub1 {
    background: #fdf7fa;
}


/*=======================================
ボーダー - Border -
=======================================*/

.bd-top {
    border-top: 3px solid black;
}

.bd-color-theme1 {
    border-color: black;
}


/*=======================================
ユーティリティ - Utility -
=======================================*/

.txt-right {
    text-align: right;
}

.txt-left {
    text-align: left;
}

.txt-center {
    text-align: center;
}

.mt15 {
    margin-top: 15px;
}

.br {
    padding: 1em 0;
}


/*=======================================
サイト幅 - Site Width -
=======================================*/

.ctn-area>.container.fill-width {
    width: 100%;
    padding: 0 0;
    margin: 0 0 1.1em 0;
    max-width: 100%;
    position: relative;
}

.slides li {
    position: relative;
}

.slides li p,
.ctn-area>.container.fill-width p {
    position: absolute;
    color: white;
    font-weight: bold;
    font-size: 5em;
    font-family: Quicksand, sans-serif;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    margin: 0;
    padding: 0;
    text-align: center;
    width: 70%;
}

@media screen and (max-width: 800px) {
    .slides li p,
    .ctn-area>.container.fill-width p {
        position: absolute;
        color: white;
        font-weight: bold;
        font-size: 3em;
        font-family: Quicksand, sans-serif;
        top: 50%;
        left: 50%;
        -ms-transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        margin: 0;
        padding: 0;
        text-align: center;
        width: 70%;
    }
}

@media screen and (max-width: 640px) {
    .slides li p,
    .ctn-area>.container.fill-width p {
        position: absolute;
        color: white;
        font-weight: bold;
        font-size: 1.5em;
        font-family: Quicksand, sans-serif;
        top: 50%;
        left: 50%;
        -ms-transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        margin: 0;
        padding: 0;
        text-align: center;
    }
}

.contents-section {
    padding: 20px 0;
}

#mainVisual {
    background: darkgray;
}

.img-responsive {
    display: block;
    opacity: .7;
    width: 100%;
}


/*=======================================
ヘッダー - Header -
========================================*/

#header {
    height: 90px;
}

#header .header-group {
    height: 90px;
    display: table;
    width: 100%;
}

.header-group .v-middle {
    display: table-cell;
    vertical-align: middle;
}

@media screen and (max-width: 360px) {
    .header-group .v-middle {
        display: table-cell;
        vertical-align: top;
    }
}

.headLogo {
    width: 500px;
}

.headLogo img {
    width: 240px;
}

.head_user_name {
    padding-left: 1em;
}

.header_login {
    background: linear-gradient(to bottom, mediumturquoise, #3ab3ae);
    margin: 0 10px;
    height: 46px;
    line-height: 46px;
    text-align: center;
    font-size: 15px;
    text-decoration: none;
    border-radius: 5px;
    letter-spacing: 1px;
    transition: 0.2s;
    padding: 10px;
    color: white !important;
}

@media ( min-width: 360px) {
    .header_login {
        background: linear-gradient(to bottom, mediumturquoise, #3ab3ae);
        margin: 0 0;
        height: 46px;
        line-height: 46px;
        text-align: center;
        font-size: 15px;
        text-decoration: none;
        border-radius: 5px;
        letter-spacing: 1px;
        transition: 0.2s;
        padding: 10px;
        color: white !important;
    }
}

.header_regist {
    background: linear-gradient(to bottom, #d22b14, #b3403a);
    margin: 0 10px;
    height: 46px;
    line-height: 46px;
    text-align: center;
    font-size: 15px;
    text-decoration: none;
    border-radius: 5px;
    letter-spacing: 1px;
    transition: 0.2s;
    padding: 10px;
    color: white !important;
}

#search_area_header {
    display: inline-flex;
}


/*  下層ページ - Under Page -
=======================================*/

.page-under #header {
    border-bottom: 1px solid #00000014;
}


/*=======================================
ナビゲーション - Nav -
=======================================*/


/*  ピル型ナビゲーション - Nav Pills -
=======================================*/

.nav-sp {
    padding-left: 0;
    margin-bottom: 0;
    display: block;
}

.nav-pills>li {
    border-right: 1px solid #aaa;
}

.nav-pills>li:last-child {
    border-right: none;
}

.nav-pills>li>a {
    padding-top: 5px;
    padding-bottom: 2px;
    border-radius: none;
}

.nav-pills>li>a:hover {
    background: none;
    text-decoration: underline;
}

.nav>li>a {
    position: relative;
    display: block;
    padding: 20px 15px;
}

.nav-sp>li>a:hover {
    text-decoration: none;
    background-color: #eee;
}

.v-middle ul {
    flex-wrap: wrap;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
}

.v-middle ul li {
    border-right: 1px solid #aaa;
    list-style: none;
    float: left;
    padding: 0 1em;
    font-family: sans-serif;
}


/*  SNSナビゲーション - Nav SNS -
=======================================*/

.nav-sns .items {
    font-size: 20px;
}


/*=======================================
パネル - Panel -
=======================================*/

.page-cast-list .panel {
    min-height: 280px;
}

.panel {
    border-radius: 0;
    box-shadow: none;
}

.panel-naked {
    padding: 0;
    background: none;
    box-shadow: none;
}

.panel-naked .panel-body {
    padding: 0;
    margin-bottom: 10px;
}

.panel .panel-foot {
    font-weight: bold;
}


/*  シンプルパネル - Simple Panel -
=======================================*/

.panel-simple .panel-title {
    font-size: 1rem;
    text-align: center;
    padding: 5px 0;
}

.panel-simple .panel-body {
    padding: 0;
}

.panel-simple .panel-img {
    border: 1px solid black;
}

.product-list .panel-body {
    background: black;
}


/* プロダクトリスト用パネル */

.product-list .panel-link,
.product-list .panel-link:hover {
    transition: all 0.5s;
}

.product-list .panel-link:hover {
    opacity: 0.7;
}


/*  ランキング用パネル - Ranking Panel -
=======================================*/

.panel-ranking .panel-head h3 {
    font-size: 1rem;
    margin: 0;
}

.panel-ranking .panel-head .lsf-icon {
    font-size: 1.5rem;
}

.panel-ranking .panel-body .innrTxt {
    text-align: center;
}

.panel-ranking.panel-ranking-no1 .panel-head h3 {
    font-size: 1.5rem;
}

.panel-ranking.panel-ranking-no2 .panel-head h3 {
    font-size: 1.3rem;
}

.panel-ranking.panel-ranking-no3 .panel-head h3 {
    font-size: 1.1rem;
}

#top-ranking .panel {
    min-height: 200px;
    margin-bottom: 0;
}


/*  リスト用パネル - List Panel -
=======================================*/

.panel-list {
    border-bottom: 1px solid #dfdfdf;
    margin-bottom: 20px;
}

.panel-list .date {
    font-size: 1rem;
    color: #bbb;
}

.panel-list .panel-title {
    margin-top: 0;
    margin-bottom: 10px;
    font-size: 2rem;
}

.panel-list .panel-txt {
    font-size: 1.2rem;
    padding-top: 10px;
}

.panel-list .panel-body {
    margin-bottom: 0;
}

.panel-list .panel-foot {
    padding: 10px 0;
    padding-bottom: 20px;
    position: relative;
    overflow: hidden;
}


/*  no-imageパネル - No Image Panel -
=======================================*/

.panel.panel-no-image {
    background: black;
    min-height: 700px;
    text-align: center;
    color: white;
    line-height: 700px;
    font-size: 3em;
}

.panel.panel-no-image:after {
    content: 'NO IMAGE';
}

.panel.panel-no-img {
    background: black;
    text-align: center;
    color: white;
    display: block;
}

.panel.panel-small {
    height: 250px;
    line-height: 250px;
}


/*=======================================
ボタン - Button -
=======================================*/

.btn {
    border-radius: 0;
    transition: 0.5s;
}

.btn:hover {
    transition: 0.5s;
}

.btn-big {
    padding: 20px 80px;
}

.btn-default {
    color: white !important;
    background-color: black;
    border-color: black;
}

.btn-default:hover {
    color: black !important;
    background-color: white;
}

.btn-nagative {
    color: black !important;
    background-color: #f1f1f1;
    border-color: #f1f1f1;
}

.btn-nagative:hover {
    color: black !important;
    background-color: white;
}

.btn-flex {
    width: 100%;
}

.btn-vertical {
    width: 25%;
    margin: 0 auto;
}

.btn-vertical .btn {
    display: block;
    margin-bottom: 30px;
}


/*=======================================
404
=======================================*/

.not_found_page {
    padding: 2em 5em;
    text-align: center;
}


/*=======================================
archive
=======================================*/

.archive_title {
    font-size: 1.5rem;
    display: inline;
    margin-bottom: .5rem;
    font-weight: 500;
    line-height: 1.2;
    margin-top: 0;
}

.archive_post {
    margin: 3em 5em;
}

.archive_title_space {
    padding: 0 1em;
}

.archive_detail_link {
    text-align: center;
}

.archive_action_btn {
    display: inline-block;
    background-color: mediumturquoise;
    color: #FFF;
    width: 60%;
    padding: 1em;
    text-decoration: none;
    border-radius: 4px;
    box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.12), 0 3px 20px 0 rgba(0, 0, 0, 0.12), 0 5px 6px -2px rgba(0, 0, 0, 0.2);
    -webkit-tap-highlight-color: transparent;
    transition: .3s ease-out;
    text-align: center;
    margin: 1.5em;
}

.archive_user_image {
    width: 60%;
    margin: 0 auto;
}


/*=======================================
ページネーション - Pagination -
=======================================*/

.pagenation {
    overflow: hidden;
    margin-top: 20px;
}

.pagenation ul {
    float: left;
    position: relative;
    left: 50%;
    list-style: none;
    padding-left: 0;
}

.pagenation ul li {
    float: left;
    position: relative;
    right: 50%;
    padding: 2px 10px;
    border-right: 1px solid black;
}

.pagenation ul li:last-child {
    border-right: none;
}

.pagenation ul li.active {
    color: #888;
}

.pagenation li a,
.pagenation li span {
    border: none;
    border-radius: 0;
    color: black;
}

.pagenation li a:hover,
.pagenation li a:active,
.pagenation li a:focus,
.pagenation li a:visited,
.pagenation li span:hover {
    border-radius: 0;
    color: black;
}

.swiper-slide {
    text-align: center;
}

.swiper-slide img {
    max-width: 300px;
}

@media screen and (max-width: 600px) {
    .swiper-slide img {
        /*max-width: 150px;*/
    }
}


/*=======================================
ラベル - Label -
=======================================*/

.label {
    padding: 3px 8px;
    border-radius: 0;
}

.label-theme1 {
    background: #ccc;
}

.label-theme2 {
    background: #ac0000;
}

.label-theme3 {
    background: #0971B2;
}

.panel-list .panel-head .label {
    font-size: 0.8rem;
    margin-right: 5px;
}


/*=======================================
テーブル - Table -
========================================*/

table {
    border: 1px solid black;
    margin: 0 auto;
    font-size: 1rem;
    margin-bottom: 20px;
}

table tr {
    border-bottom: 1px solid black;
}

table tr:last-child {
    border-bottom: none;
}

table tr td,
table tr th {
    padding: 10px 30px;
}

table tr th {
    border-right: 1px solid black;
    font-weight: normal;
    text-align: center;
}


/*=======================================
フォントアイコン - Font Awsome -
=======================================*/

.fa.fa-left {
    margin-right: 10px;
}

.fa,
.fas {
    font-size: 30px !important;
    margin-top: 15px;
    margin-bottom: 15px;
}

@media screen and (max-width: 680px) {
    #login_button {
        font-size: 10px;
    }
    #login_button .fa,
    #login_button .fas {
        font-size: 30px !important;
        margin-top: 0px;
        margin-bottom: 15px;
    }
}

@media screen and (max-width: 450px) {
    #sph_logout {
        display: none;
    }
    #login_button .fa,
    #login_button .fas {
        font-size: 30px !important;
        margin-top: 10px;
        margin-bottom: 15px;
    }
}

#login_button.fas {
    font-size: 50px !important;
    margin-top: 15px;
    margin-bottom: 15px;
}


/*=======================================
スマホメニュー - SmartPhone Menu -
=======================================*/

.sub-title {
    font-size: 10px;
}

.sp-menu-page {
    position: fixed;
    top: 0;
    right: -180px;
    width: 180px;
    height: 100%;
    background: #ddd;
    z-index: 99999;
    box-shadow: rgba(79, 79, 79, 0.0666667) 4px 0px 5px 0px inset;
    -webkit-box-shadow: rgba(79, 79, 79, 0.0666667) 4px 0px 5px 0px inset;
    -moz-box-shadow: rgba(79, 79, 79, 0.0666667) 4px 0px 5px 0px inset;
}

.sp-menu-close-area {
    display: none;
    width: 100%;
    height: 120%;
    background: rgba(0, 0, 0, 0.5);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 999999;
}

.sp-menu-page ul {
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.10);
}

.sp-menu-page li {
    list-style: none;
    color: #fff;
    text-transform: uppercase;
    font-weight: bold;
    cursor: pointer;
    border-bottom: 1px solid rgba(255, 255, 255, 1);
    text-align: center;
}

.sp-menu-page a {
    text-transform: uppercase;
    font-weight: bold;
    cursor: pointer;
    text-decoration: none;
    padding: 20px 40px;
    display: block;
}


/*=======================================
slider
=======================================*/

.swiper-button-prev:after,
.swiper-container-rtl .swiper-button-next:after {
    color: darkgray;
}

.swiper-button-next:after,
.swiper-container-rtl .swiper-button-prev:after {
    color: darkgray;
}

.img-responsive {
    border-radius: 5px;
}

.swiper-my-pagination .swiper-pagination-bullet {
    width: auto;
    height: auto;
    border-radius: 0;
}

.swiper {
    margin: 3em auto 0 auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
    max-width: 100%;
    min-width: 60%;
}

.swiper-pagination-bullet img {
    position: relative;
    overflow: hidden;
    height: 80px;
    width: fit-content;
}

.swiper-container-horizontal>.swiper-my-pagination.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0;
}

.swiper-my-pagination img {
    box-shadow: none;
    margin: 0;
    vertical-align: bottom;
    width: 100%;
}

.swiper-my-pagination {
    display: table;
    width: 60% !important;
    margin: auto !important;
}

.swiper-my-pagination {
    display: table;
    table-layout: fixed;
}

.swiper-my-pagination .swiper-pagination-bullet {
    display: table-cell;
    padding: 2px;
    background: transparent;
    opacity: 1;
}

.swiper-my-pagination .swiper-pagination-bullet-active {
    background: transparent;
    opacity: 0.6;
}

.innrTxt {
    text-align: center;
}

.slider_image {
    width: 100%;
    height: 250px;
}

.single_image {
    border-radius: 10px;
}


/*=======================================
ユーザー詳細画面　情報
=======================================*/

#class-summary {
    width: 70%;
    margin: auto;
}

@media screen and (max-width: 736px) {
    #class-summary {
        width: 100%;
        margin: auto;
    }
}

.menu_area {
    margin-top: 15px;
    width: 100%;
}

.user_detail_info {
    padding-top: 2em;
    list-style: none;
}

.user_detail_info_item {
    min-width: 150px;
    display: inline-block;
}

.detail_subtitle {
    text-align: center;
    color: #555;
}

.details-inner {
    border: 2px solid mediumaquamarine;
    border-radius: 10px;
    padding: 1.5em 1.5em 0 1.5em;
    margin-top: 2em;
}

.details-inner-text,
.details-inner-text-readmore {
    padding: 1em 1em 0 1em;
}

.details-inner-phrase {
    border-bottom: 1px solid #0000001c;
    text-align: center;
    color: #555;
    margin-bottom: 1em;
    font-family: sans-serif;
}

.details-inner-omit-profile {
    margin: 10px 0px;
    padding-left: 1em;
    color: #555;
    font-family: sans-serif;
}

.omit-profile-red {
    color: #fe6970;
    padding-right: 10px;
}

.omit-profile {
    color: #555;
    padding-right: 10px;
}

.details-inner-phrase:before {
    content: '';
    position: initial;
    top: 7px;
    left: 0;
    display: inline-block;
    width: 12px;
    height: 11px;
    background-image: url(/wp-content/themes/hourai/images/common/ico-comment.png);
    background-size: 100%;
    background-repeat: no-repeat;
}

.details-inner-title {
    border-bottom: 2px solid darkgrey;
    text-align: center;
    padding: 10px 0px;
    font-weight: normal;
    font-size: 15px;
    color: #444;
    font-family: sans-serif;
}

.details-inner-pr {
    padding: 1em;
    color: #555;
    font-family: sans-serif;
}

.details-inner-profile-list {
    width: 100%;
}

.details-inner-profile-list {
    border-collapse: collapse;
    border-spacing: 0;
    border: none;
}

.details-inner-profile-list tr {
    height: 55px;
    border-bottom: 1px solid #0000001c;
    font-family: sans-serif;
}

.details-inner-profile-list th {
    padding-left: 20px;
    font-weight: normal;
    border: none;
    text-align: left;
}

.details-inner-profile-list td {
    width: 50%;
    padding-right: 20px;
    padding-top: 5px;
    padding-bottom: 5px;
    color: #59b294;
    ;
    font-family: sans-serif;
}

.profile_sns {
    font-size: 2.3em;
}

.profile_sns a {
    margin-right: 15px;
}


/*=======================================
検索フォーム
=======================================*/

.searh_form {
    text-align: center;
}

.searh_form form {
    left: 0;
    right: 0;
    padding: 2em 0;
    /* background: whitesmoke; */
    /* position: absolute; */
    max-width: 70%;
    margin: auto;
    border-radius: 10px;
    border: medium solid whitesmoke;
}

#search_area {
    /* padding-top: 8em; */
}

#search_input {
    padding: 10px;
    box-sizing: border-box;
    border: 1px solid #999;
    border-radius: 5px;
    width: 50%;
}

#search_button {
    width: 50%;
    height: 50px;
    background-color: mediumturquoise;
    font-size: 1.5em;
    color: white;
    border-radius: 5px;
}

.search_form_cat_area select {
    width: 60%;
    border: 1px solid black;
    padding: 1em;
    border-radius: 5px;
    margin-bottom: 1em;
}

.search_form_cat_area,
.search_form_tag_area {
    margin: 1em 0;
    font-size: 1.4em;
}

.search_form_cat_area label,
.search_form_tag_area label {
    margin-right: 0.7em;
}

.search_form_tag_area input[type=checkbox] {
    margin-right: 0.4em;
}

@media screen and (max-width: 736px) {
    #search_area {
        padding-top: 1em;
        /*margin-bottom: 5em;*/
    }
    .searh_form form {
        left: 0;
        right: 0;
        padding: 2em 0;
        /* background: whitesmoke; */
        /* position: absolute; */
        max-width: 95%;
        margin: auto;
        border-radius: 10px;
        border: medium solid whitesmoke;
    }
    #search_input {
        padding: 10px;
        box-sizing: border-box;
        border: 1px solid #999;
        border-radius: 5px;
        width: 95%;
    }
    #search_button {
        width: 100%;
        height: 50px;
        background-color: mediumturquoise;
        font-size: 1.5em;
        color: white;
        border-radius: 5px;
        margin-top: 1em;
    }
    .search_form_category_area select {
        height: 3.5em;
        width: 95%;
    }
}

.result_none_message,
.terms_category,
.terms_tag,
.terms_keyword,
.result_count {
    text-align: center;
    color: #555;
    margin-bottom: 1.3em;
}

.search_form_searchbtn_area {
    width: 90%;
    display: block;
    margin: auto;
}


/*=======================================
会社概要
=======================================*/

.company {
    width: 90%;
}

.company th,
.company td {
    border: 1px solid #ccc;
    padding: 20px;
}

.company th {
    font-weight: bold;
    background: mediumturquoise;
    color: white;
}

@media screen and (max-width: 767px) {
    .company,
    .company tr,
    .company td,
    .company th {
        display: grid;
    }
    .company th {
        width: auto;
    }
}


/*=======================================
利用規約
=======================================*/

.rule_area {
    border-radius: 15px;
    margin: auto;
    background: #f5f5dc3d;
    border: 2px solid #e5eeef;
    padding: 20px;
    text-align: center;
    width: 95%;
    color: #555;
}

.rule {
    margin: 0;
    padding: 0;
    border: none;
    text-align: left;
}

.rule h1 {
    margin: 0 0 30px 0;
    font-size: 2em;
    line-height: 140%;
}

.rule h2 {
    margin: 30px 0 20px 0;
    font-size: 1.2em;
    line-height: 100%;
    color: #555;
}

.rule ol {
    margin: 20px 0 0 40px;
}

.rule ol li {
    list-style: outside decimal;
    font-size: 0.95em;
    line-height: 140%;
    margin: 10px 0 0 0;
}

.rule ol li ol {
    margin-bottom: 20px;
}

.rule ol li ol li {
    font-size: 100%;
}

.rule p.tR {
    margin: 30px 0 0 0;
    font-size: 0.95em;
    line-height: 140%;
    text-align: right;
}

.rule p {
    margin: 20px 0;
    font-size: 0.95em;
    line-height: 1.6;
}


/*=======================================
利用料金
=======================================*/

.row-head {
    border-collapse: collapse;
    vertical-align: middle;
    width: 100%;
}

.row-head th,
.row-head td {
    border: 1px solid #dbe1e8;
    padding: 8px;
}

.row-head th {
    background: #f9fafc;
}

.row-head label {
    line-height: 34px;
    margin: 0;
}

@media only screen and (max-width: 800px) {
    .row-head thead {
        display: none;
    }
    .row-head tr,
    .row-head td {
        display: block;
        width: auto;
    }
    .row-head tr {
        border: 1px solid #dbe1e8;
        border-radius: 5px;
        box-shadow: 3px 3px rgba(0, 0, 0, .1);
        margin-bottom: 20px;
        padding: 8px 8px 0;
    }
    .row-head td {
        border: none;
        border-bottom: 1px solid #dbe1e8;
        display: flex;
        justify-content: space-between;
        text-align: right;
    }
    .row-head td:last-child {
        border-bottom: none;
    }
    .row-head td::before {
        content: attr(aria-label);
        display: inline-block;
        font-weight: bold;
        float: left;
        text-align: left;
        padding-right: 20px;
        white-space: nowrap;
    }
    .row-head td.bt-area::before {
        display: none;
    }
    .row-head td.bt-area a {
        background: #007aff;
        border-radius: 5px;
        color: #fff;
        display: inline-block;
        flex: 1;
        height: 40px;
        margin: 0 2px;
        overflow: hidden;
        width: auto;
    }
    .row-head td.bt-area a::before {
        align-items: center;
        content: attr(aria-label);
        display: flex;
        font-size: 14px;
        height: 100%;
        justify-content: center;
        line-height: 40px;
        width: 100%;
    }
    .row-head.header-check tr {
        padding-left: 40px;
        position: relative;
    }
    .row-head.header-check td:first-child {
        align-items: center;
        background: #fff;
        border-right: 1px solid #dbe1e8;
        border-bottom: none;
        bottom: 0;
        display: flex;
        justify-content: center;
        left: 0;
        padding: 0;
        position: absolute;
        text-align: center;
        top: 0;
        width: 40px;
    }
    .row-head.header-check td:first-child::before {
        display: none;
    }
    .row-head td:first-child {
        font-weight: bolder;
        color: darkseagreen;
    }
}


/* 
BUTTON
================================================ */

.btn {
    color: #fff;
    font-size: 1.0em;
    text-decoration: none;
    background: mediumturquoise;
    border-radius: 5px;
    box-shadow: 0 3px #449f49;
    position: relative;
    display: inline-block;
    top: -2px;
    padding: 15px;
    text-align: center;
    margin: 10px 0;
}

.btn:hover {
    box-shadow: 0 1px #449f49;
    top: 1px;
}

.not_login_warn {
    margin: 0 auto;
    text-align: center;
    font-family: sans-serif;
}

.suggest_regist_btn {
    background: linear-gradient(to bottom, #d22b14, #b3403a);
    color: white;
    width: 50%;
    padding: 20px;
    box-sizing: border-box;
    border-radius: 5px;
    margin-top: 2em;
    margin-bottom: 2em;
}

.suggest_login_btn {
    background: mediumturquoise;
    color: white;
    width: 50%;
    padding: 20px;
    box-sizing: border-box;
    border-radius: 5px;
    margin-top: 2em;
    margin-bottom: 2em;
}

.mailbox_btn,
.favorite_btn {
    background: mediumturquoise;
    color: white;
    width: 50%;
    padding: 20px;
    box-sizing: border-box;
    border-radius: 5px;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    font-size: 15px;
}

.suggest_inquery_btn {
    background: mediumturquoise;
    color: white;
    width: 50%;
    padding: 20px;
    box-sizing: border-box;
    border-radius: 5px;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    font-size: 15px;
}

.suggest_buy_btn {
    background: #e6bb0c;
    color: white;
    width: 50%;
    padding: 20px;
    box-sizing: border-box;
    border-radius: 5px;
    margin-top: 0.5em;
    margin-bottom: 2em;
    font-size: 15px;
}


/* 
LARGE DISPLAY
================================================ */

@media ( min-width: 700px) {
    .flexbox {
        -webkit-flex-direction: row;
        flex-direction: row;
    }
    .plan-table {
        margin-left: 3%;
    }
    .plan-table:first-of-type {
        margin-left: 0;
    }
}


/*=======================================
トップページ - Top Page -
=======================================*/

.ctn-area .area-head .title,
.ctn-area .area-body .title {
    margin-bottom: 30px;
    position: relative;
}

.ctn-area .area-head .subTitle,
.ctn-area .area-body .subTitle {
    font-size: 1rem;
    margin-left: 15px;
}

@media screen and (max-width: 850px) {
    .ctn-area .area-head .subTitle,
    .ctn-area .area-body .subTitle {
        font-size: 1rem;
        margin-left: 15px;
        content: "\A";
        white-space: pre;
    }
}

.ctn-area .area-head .subTitle:before,
.ctn-area .area-head .subTitle:after,
.ctn-area .area-body .subTitle:before,
.ctn-area .area-body .subTitle:after {
    content: ' ー ';
}

.ctn-area.center .area-head {
    text-align: center;
}


/*  トップバナー - Top Baner -
=======================================*/

.flexslider-top-main {
    position: relative;
    width: 100%;
    justify-content: flex-end;
}


/* スライダーコントロール - Flex Slider Controll - */

.flexslider-top-main .flex-control-nav {
    bottom: 5px;
}

.flex-direction-nav a {
    display: none;
}

.titleBack {
    width: 0;
    height: 0;
    border-bottom: 70px solid rgba(88, 88, 88, 0.5);
    border-left: 190px solid transparent;
    position: absolute;
    bottom: 0;
    z-index: 10;
}

.titleBack .innrTxt {
    position: absolute;
    right: 10px;
    width: 170px;
    text-align: right;
    bottom: -70px;
    color: white;
    line-height: 1em;
}

.map .area-body {
    padding: 50px;
}


/*  本日出勤のキャスト - Todays Cast -
=======================================*/

#top-today-cast .panel {
    min-height: 260px;
    overflow: hidden;
    display: block;
}


/*=======================================
下層ページ - Sub Page -
=======================================*/

.page-under {}

.ctn-main {
    padding-bottom: 30px;
}

.page-title {
    padding: 20px;
}


/*=======================================
投稿ページ - post content -
=======================================*/

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

.post-contents:first-child .post-title h1 {
    margin-top: 0;
}


/*=======================================
サイドバー - Sidebar -
=======================================*/


/* ウィジェットタイトル - widget title - */

#sidebar-blog h2.widget-title {
    font-size: 1.2em;
}

#sidebar-blog ul {
    list-style: none;
    padding-left: 15px;
}


/*=======================================
検索フォーム - Search Form -
=======================================*/

#searchform input[type="text"] {
    width: 60%;
    border: 1px solid black;
    padding: 1em;
    box-sizing: border-box;
    border-radius: 5px;
    margin-bottom: 2em;
}

#searchform input[type="submit"] {
    background: black;
    vertical-align: top;
    color: white;
}


/*=======================================
料金表
=======================================*/

body {
    font-family: "Open Sans", sans-serif;
    line-height: 1.25;
}

.price_list {
    border-collapse: collapse;
    margin: 0 auto;
    padding: 0;
    width: 650px;
    table-layout: fixed;
    color: dimgray;
}

.price_list tr {
    background-color: #fff;
    padding: .35em;
    border-bottom: 1px dotted darkgray;
}

.price_list tr:last-child {
    border-bottom: 2px solid dimgray;
}

.price_list th,
.price_list td {
    padding: 1em 10px 1em 1em;
}

.price_list tbody th {
    color: black;
}

.price_list tr th {
    border-right: none;
}

.txt {
    text-align: left;
    font-size: .85em;
}

.price {
    text-align: right;
}

@media screen and (max-width: 769px) {
    .price_list {
        border: 0;
        width: 100%
    }
    .price_list th {
        display: block;
        border-right: none;
        border-bottom: 2px solid gray;
        padding-bottom: .6em;
        margin-bottom: .6em;
    }
    .price_list thead {
        border: none;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
    }
    .price_list tr {
        display: block;
        margin-bottom: 2em;
        border-bottom: 2px solid gray;
    }
    .price_list td {
        border-bottom: 1px solid #bbb;
        display: block;
        font-size: .8em;
        text-align: right;
        position: relative;
        padding: .625em .625em .625em 4em;
        border-right: none;
    }
    .price_list td::before {
        content: attr(data-label);
        font-weight: bold;
        position: absolute;
        left: 10px;
    }
    .price_list td:last-child {
        border-bottom: 0;
    }
}


/*=======================================
新規登録
=======================================*/

.my_signup_form {
    width: 50%;
    margin: 0 auto;
}

.my_signup_form label {
    width: 100%;
}

.my_signup_form input {
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
    border: 1px solid #999;
    border-radius: 5px;
}

.my_submit_btn,
.my_signup_form button[type="submit"] {
    background: mediumturquoise;
    color: white;
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
    border-radius: 5px;
}


/*=======================================
ユーザー情報変更
=======================================*/

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

.my_change_table {
    border: none;
}

.my_change_table th,
.my_change_table td {
    border: none;
}

.my_change_table tr {
    border-bottom: 1px solid #adb5bd;
}

.my_change_table input[type="text"],
.my_change_table input[type="date"] {
    border-radius: 5px;
    height: 35px;
    width: 90%;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.my_change_table select {
    border-radius: 5px;
    width: 90%;
}

.my_change_table textarea {
    border-radius: 5px;
    height: 100px;
    width: 90%;
}


/* 画像を3枚表示する際は「display: none;」を削除する  */

.my_change_image2,
.my_change_image3 {
    display: none;
}


/* 各画像の選択ボタンの先頭に文字列を表示する場合は「content」の文字列に設定する  */

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

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

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

.my_change_tag {
    padding-right: 1em;
}

@media screen and (max-width: 680px) {
    .my_change_tag {
        padding-right: 1em;
        display: inline-block;
        width: 100%;
    }
}

.my_change_submit_btn {
    background: mediumturquoise;
    color: white;
    width: 50%;
    padding: 10px;
    box-sizing: border-box;
    border-radius: 5px;
}

.confirm_change_btn {
    margin: 2em 0;
    background: #e9b10b;
    color: white;
    width: 50%;
    padding: 10px;
    box-sizing: border-box;
    border-radius: 5px;
}

.required_area {
    margin-left: 0.7em;
    background: #ffaab6;
    padding: 3px 10px;
    border-radius: 5px;
    color: #fff;
    display: inline-flex;
}

#schedule_list_area {
    font-size: 17px;
}

#schedule_list_area span {
    margin-top: 0.4em;
}

#schedule_list_area input[type="text"] {
    border-radius: 5px;
}

#schedule_submit_area {
    margin-top: 2em;
    margin-bottom: 1em;
}


/*=======================================
ログイン
=======================================*/

.go_to_home_link {
    text-decoration: none;
}

.loginform_area {
    left: 0;
    right: 0;
    padding-bottom: 20px;
    background: whitesmoke;
    position: absolute;
    max-width: 70%;
    margin: auto;
    border-radius: 10px;
}

.my_login_form {
    width: 50%;
    margin: 0 auto;
}

.my_login_form label {
    width: 100%;
}

.my_login_form input {
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
    border: 1px solid #999;
    border-radius: 5px;
}

.my_login_form button[type="submit"] {
    background: mediumturquoise;
    color: white;
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
    border-radius: 5px;
}

.my_login_form_top {
    margin: 0 auto;
    width: 100%;
    padding: 2em 0 0 0;
    padding-top: 2em;
    box-sizing: border-box;
    text-align: center;
}

.my_login_form_top input {
    padding: 10px;
    box-sizing: border-box;
    border: 1px solid #999;
    border-radius: 5px;
}

.my_login_form_top button[type="submit"] {
    width: 35%;
    height: 50px;
    background-color: mediumturquoise;
    font-size: 1.5em;
    color: white;
    border-radius: 5px;
}

.sns_login_area {
    text-align: center;
    padding-bottom: 3em;
}

#twitter_login_area {
    padding-right: 3em;
}

#line_login_area {}

#twitter_login_btn {}

#line_login_btn {
    width: 150px;
}

@media screen and (max-width: 736px) {
    .loginform_area {
        left: 0;
        right: 0;
        padding-bottom: 20px;
        background: whitesmoke;
        position: absolute;
        max-width: 95%;
        margin: auto;
        border-radius: 10px;
    }
    .my_login_form_top input {
        padding: 10px;
        box-sizing: border-box;
        border: 1px solid #999;
        border-radius: 5px;
        min-width: -webkit-fill-available;
    }
    .my_login_form_top button[type="submit"] {
        background: mediumturquoise;
        color: white;
        padding: 10px;
        box-sizing: border-box;
        border-radius: 5px;
        display: block;
        margin: 1em auto;
        width: inherit;
    }
}


/*=======================================
商品詳細
=======================================*/


/*=======================================
メッセージを送るボタン
=======================================*/

.detail_action_btn {
    display: inline-block;
    background-color: mediumturquoise;
    color: #FFF;
    width: 160px;
    padding: 0.8em;
    text-decoration: none;
    border-radius: 4px;
    box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.12), 0 3px 20px 0 rgba(0, 0, 0, 0.12), 0 5px 6px -2px rgba(0, 0, 0, 0.2);
    -webkit-tap-highlight-color: transparent;
    transition: .3s ease-out;
}

.detail_action_btn:hover {
    cursor: pointer;
    text-decoration: none;
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
}

.detail_action_btn:hover,
.detail_action_btn:a:focus {
    color: gray;
}

.detail_action_btn:hover,
.detail_action_btn: a:link,
.detail_action_btn: a:visited {
    color: #847171;
}


/*=======================================
Message
=======================================*/

.one_message {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    max-width: 1024px;
    margin: 50px auto;
    padding: 0 10px;
}

.one_message .user_message,
.one_message .cast_message {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.one_message .user_message {
    flex-direction: row-reverse;
    margin-top: 20px;
    padding-bottom: 1.5em;
}

.one_message .user_message .message_area,
.one_message .cast_message .message_area,
{
    width: 63%;
}

.one_message .user_message .message,
.one_message .cast_message .message {
    width: 100%;
    position: relative;
    padding: 25px;
    background-color: #ffefc6;
    font-size: 14px;
    color: #231815;
    border-radius: 12px;
    box-sizing: border-box;
    margin-bottom: 1em;
}

.one_message .user_message .message::before,
.one_message .cast_message .message::before {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    border-radius: 50%;
    transform: rotate(45deg);
    top: 22px;
    border-right: 25px solid transparent;
    border-bottom: 25px solid transparent;
}

.one_message .user_message .message::after,
.one_message .cast_message .message::after {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    border-radius: 50%;
    transform: rotate(45deg);
    top: 40px;
    border-right: 25px solid transparent;
    border-bottom: 25px solid transparent;
}

.one_message .cast_message .message::before {
    left: -15px;
    border-left: 25px solid #ffefc6;
    border-top: 25px solid transparent;
}

.one_message .cast_message .message::after {
    left: -25px;
    border-left: 25px solid #ffffff;
    border-top: 25px solid transparent;
}

.one_message .user_message .message {
    background-color: #fde5e5;
}

.one_message .user_message .message::before {
    left: auto;
    right: -15px;
    border-left: 25px solid transparent;
    border-top: 25px solid #fde5e5;
}

.one_message .user_message .message::after {
    left: auto;
    right: -25px;
    border-left: 25px solid transparent;
    border-top: 25px solid #ffffff;
}

.message_stamp {
    font-size: 0.8em;
    color: lightslategray;
    padding-bottom: 10px;
}

#send_head {
    padding-bottom: 0.5em;
    display: block;
}

.form_area {
    text-align: center;
    width: 100%;
}

#message_text_area {
    border-radius: 5px;
    border-color: lightblue;
    width: 70%;
}

@media screen and (max-width: 769px) {
    #message_text_area {
        border-radius: 5px;
        border-color: lightblue;
        width: 90%;
    }
}

.send_button {
    position: relative;
    display: inline-block;
    padding: 0.25em 0.5em;
    text-decoration: none;
    color: #FFF;
    background: mediumturquoise;
    border-radius: 5px;
    box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
    min-height: 45px;
    min-width: 150px;
    font-size: 1.5em;
    margin-top: 1em;
}

.send_button:active {
    /*押したとき*/
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.30);
}

@media screen and (max-width: 1024px) {
    .one_message .user_message .message,
    .one_message .cast_message .message {
        padding: 15px;
        font-size: 14px;
        margin-bottom: 1em;
    }
    .one_message .user_message .message::before,
    .one_message .cast_message .message::before {
        top: 8px;
    }
    .one_message .user_message .message::after,
    .one_message .cast_message .message::after {
        top: 20px;
    }
}

@media screen and (max-width: 420px) {
    .one_message {
        margin: 30px auto;
    }
    .one_message .user_message {
        margin-top: 15px;
    }
    .one_message .user_message .message,
    .one_message .cast_message .message {
        padding: 10px 15px;
        font-size: 12px;
    }
}

.talk_error_area {
    text-align: center;
    margin: auto;
    margin-bottom: 2em;
    color: indianred;
}

.photo_attach_area {
    width: 180px;
    height: auto;
}

.delete_link {
    font-size: 18px;
    margin-left: 8px;
}

@media screen and (max-width: 680px) {
    .delete_link {
        display: block;
    }
}

.dialog.open {
    z-index: 200;
    opacity: 1;
}

@media (min-width: 768px) .dialog {}

.dialog {
    position: fixed;
    display: flex;
    align-items: center;
    top: 0;
    left: 0;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 200;
    color: #fff;
    height: 100%;
    padding: 0 1em;
    z-index: -100;
    opacity: 0;
    transition-duration: 0.5s;
    -moz-transition-duration: 0.5s;
    -webkit-transition-duration: 0.5s;
    -o-transition-duration: 0.5s;
    -ms-transition-duration: 0.5s;
}

.dialog>div {
    width: 100%;
    max-height: calc( 100% - 2em);
    overflow-y: scroll;
    overflow-x: hidden;
    padding: 1em;
    background-color: #000;
    position: relative;
    text-align: center;
    font-size: 23px;
}

.dialog_close {
    font-size: 2em;
    position: absolute;
    top: 0.5em;
    right: 0.5em;
}

#dialog_link {
    text-align: center;
    text-decoration: none;
    display: block;
    width: 100%;
    position: relative;
    padding: 1em;
    border-radius: 0.2em;
    font-size: 1em;
    line-height: 1;
    font-weight: bold;
    color: #fff;
    border: none;
    background-color: #ffa000;
    box-shadow: 0 2px 2px #333;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
}


/*=======================================
購入
=======================================*/

.buy_page .trade_title {
    color: #000000a8 !important;
    text-align: center !important;
}

.buy_page .stripe-button-el {
    width: 400px;
}

.buy_page .btn_link {
    font-family: "Yu Gothic", YuGothic, Verdana, 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', Meiryo, sans-serif;
    text-align: center;
    padding-top: 40px;
    padding-bottom: 40px;
}

.btn_link_trade_bank,
.btn_link_trade_stripe {
    display: inline-block;
    text-align: left;
    background-color: mediumturquoise;
    color: #FFF !important;
    text-decoration: none;
    padding: 10px 50px;
    border-radius: 5px;
    border-bottom: 4px solid #0f4e3d;
}

.btn_link_trade_bank:active,
.btn_link_trade_stripe:active {
    transform: translateY(4px);
    border-bottom: none;
}

.buy_page .bank,
.buy_page .stripe {
    padding: 2em;
    text-align: center;
    border: medium solid whitesmoke;
    border-radius: 10px;
    margin-top: 1em;
}


/*====================================================================
以下は不要です。
====================================================================*/

body {
    font-family: YuGothic, "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 400;
    margin: 0;
}

.section {
    width: 100%;
    height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.section p._a {
    font-size: 12px;
    font-weight: bold;
    padding: 0 10px;
}

.section p._a .link {
    position: relative;
    display: inline-block;
    padding-left: 12px;
    margin: 0;
    color: #607D8B;
}

.section p._a .link:before {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 8px;
    border-color: transparent transparent transparent #607D8B;
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -6px;
}


/*=======================================
フッター - Footer -
=======================================*/

footer {
    padding: 30px;
    padding-bottom: 10px;
    border-top: 1px solid #00000014;
}

#footer-nav {
    text-align: center;
    position: relative;
}

#footer-nav ul {
    position: absolute;
    /*left: 20%;*/
}

#footer-nav ul li {
    left: -50%;
}

.footLogo {
    padding-top: 20px;
    padding-bottom: 15px;
}

.footLogo img {
    width: 120px;
    margin: 0 auto;
}

.copyright {
    text-align: center;
    font-size: 0.7rem;
}

#footer-menu {
    position: fixed;
    left: 0;
    z-index: 100;
    padding: 0;
    bottom: 0;
    width: 100%;
    background-color: lightslategray;
}

#footer-menu ul {
    display: flex;
    padding: 0;
    width: 320px;
    margin: 0 auto;
    list-style: none;
}

#footer-menu li {
    width: 20%;
    text-align: center;
    float: left;
    cursor: pointer;
    list-style: none;
}

#footer-menu li a {
    width: 100%;
    display: block;
    color: #EEE !important;
}

.area_scroll_slide_menu {
    overflow: auto;
    height: 76%;
    width: 100%;
}

#top_area_of_slide_menu {
    background-color: #FFFFFF;
    height: 14vw;
}

#top_area_of_slide_menu #logo {
    width: 170px;
    padding: 0 0px 0 15px;
    margin: 1.5% 0 0 0;
}

@media screen and (max-width: 680px) {
    #top_area_of_slide_menu #logo {
        width: 150px;
        padding: 0 0px 0 15px;
        margin: 1.5% 0 0 0;
    }
}

@media screen and (max-width: 500px) {
    #top_area_of_slide_menu #logo {
        width: 100px;
        padding: 0 0px 0 15px;
        margin: 1.5% 0 0 0;
    }
}

#top_area_of_slide_menu #login_button {
    width: 11%;
    height: auto;
    float: right;
    margin: 2.3vw 2vw 0 0;
    text-align: center;
}

#menu_list_of_slide_menu ul,
#menu_list_of_slide_menu li {
    list-style: none;
}

#menu_list_of_slide_menu a {
    width: 100%;
    display: block;
    text-decoration: none;
}

#menu_list_of_slide_menu li {
    height: 14vw;
}

.item_slidemenu {
    padding: 4% 0 0 0;
}

.font_slide_menu {
    color: white;
    font-size: 4.5vw;
    margin: 0 3vw;
    vertical-align: middle;
    letter-spacing: 1vw;
}

.hr_slidemenu {
    margin: 25px 0;
    border-top: 1px solid #666464;
}

.bg_color_menu_button {
    background-color: lightslategray !important;
}

.footer_slide_menu {
    background-color: silver !important;
    left: 0px;
    right: 0px;
}


/*=======================================
Contact Form 7
=======================================*/

.wpcf7-form {
    width: 50%;
    margin: 0 auto;
}

.wpcf7-form label {
    width: 100%;
}

.wpcf7-form input,
.wpcf7-form textarea {
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
    border: 1px solid #999;
    border-radius: 5px;
}

.wpcf7-form input[type="submit"] {
    background: mediumturquoise;
    color: white;
}


/*=======================================
スマホメニュー - SmartPhone Menu -
=======================================*/

#sp-menu {
    /*display: none;*/
    position: relative;
    width: 80px;
    height: 70px;
    margin: 10px 0;
    border-radius: 50%;
    background: #fff;
    float: right;
}

#sp-menu:hover {
    background: #fafafa;
}

#panel-btn-icon {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 25px;
    height: 3px;
    margin: -1px 0 0 -7px;
    background: black;
    transition: .2s;
}

#panel-btn-icon:before,
#panel-btn-icon:after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 25px;
    height: 3px;
    background: black;
    transition: .3s;
}

#panel-btn-icon:before {
    margin-top: 5px;
}

#panel-btn-icon:after {
    margin-top: 13px;
}

#sp-menu .close {
    background: transparent;
}

#sp-menu .close:before,
#sp-menu .close:after {
    margin-top: 0;
}

#sp-menu .close:before {
    transform: rotate(-135deg);
    -webkit-transform: rotate(-135deg);
}

#sp-menu .close:after {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
}


/*=======================================
メディアクエリ - Media Query -
=======================================*/

.nav-sns {
    width: 50%;
}

@media screen and (min-width: 769px) {
    .headLogo img {
        margin-top: -5px;
    }
}

@media screen and (max-width: 768px) {
    /* ヘッダーナビゲーション */
    #header nav {
        display: none;
    }
    #sp-menu {
        display: block;
    }
    /* sns */
    .nav-sns {
        display: none !important;
        float: right;
        margin-top: 11px;
        /*margin-right: 15px;*/
    }
    .full-width .container,
    .full-width .container .row,
    .full-width .container .row>div {
        width: 100%;
        padding: 0;
        margin: 0;
    }
    .page-top .ctn-area .area-body .row {
        margin-right: -5px;
    }
    .page-top .ctn-area .area-body .row div[class^="col"] {
        padding-right: 5px;
    }
    .page-top .ctn-area .area-head .title .link-more {
        padding-right: 15px;
    }
    .map iframe {
        height: 250px;
    }
    .footer-group {
        display: none;
    }
    .footLogo {
        padding-top: 10px;
    }
    /* btn */
    .btn-vertical {
        width: 40%;
    }
    #top-ranking .panel {
        min-height: 200px;
    }
}

@media screen and (max-width: 736px) {
    /* 736px以下用（スマートフォン用）の記述 */
    #top-access .btn-default {
        margin: 0 !important;
        margin-bottom: 15px !important;
        padding: 10px;
    }
    .map iframe {
        width: 100% !important;
    }
}

@media screen and (max-width: 480px) {
    html,
    body {
        font-size: 12px;
    }
    .contents-section {
        padding-left: 15px;
        padding-right: 15px;
    }
    .map .area-body {
        padding: 20px;
    }
    .page-top .ctn-area .area-head .title {
        text-align: left;
    }
    .page-top .ctn-area .area-head .subTitle {
        margin-left: 0;
        display: block;
    }
    .page-top .ctn-area .area-head .title .link-more {
        top: 0;
    }
    .page-top .ctn-area .area-body .row {
        margin-right: 0;
    }
    .page-top .ctn-area .area-body .row div[class^="col"] {
        padding-right: 0;
    }
    .hide-sp {
        display: none;
    }
    /*top ranking*/
    #top-ranking .panel {
        min-height: 200px;
    }
    /* ボタン */
    .btn {
        padding: 10px;
    }
    .btn-big {
        padding: 20px 80px;
    }
    .btn-flex {
        font-size: 15px;
        margin: 10px 0 !important;
    }
    .btn-vertical {
        width: 100%;
    }
    /* table */
    table {
        width: 100%;
    }
    table tr th,
    table tr td {
        padding: 5px;
    }
    .titleBack {
        border-left-style: none !important;
        border-left: none !important;
        border-bottom-width: 30px !important;
    }
    .titleBack .innrTxt {
        bottom: -40px;
        right: 5px;
    }
    .wpcf7-form {
        width: 100%;
        margin: 0 auto;
    }
    /* product-list */
    .product-list .panel-simple {
        min-height: 220px;
    }
    /* serach form */
    #searchform input[type="text"] {
        padding: 11.5px;
    }
    #top-today-cast .panel {
        min-height: 180px;
    }
    #top-today-cast .titleBack .innrTxt {
        margin-bottom: 8px;
    }
}

@media screen and (max-width: 375px) {
    #top-today-cast .panel {
        min-height: 160px;
        margin-bottom: 0;
    }
}

@media screen and (max-width: 320px) {
    /* product-list */
    .product-list .panel-simple {
        min-height: 170px;
    }
    /*top ranking*/
    #top-ranking .panel {
        min-height: 210px;
    }
    #top-today-cast .panel {
        min-height: 140px;
    }
    #top-today-cast .titleBack .innrTxt {
        font-size: 11px;
    }
}

.row-head {
    border-collapse: collapse;
    vertical-align: middle;
    width: 100%;
}

.row-head th,
.row-head td {
    border: 1px solid #dbe1e8;
    padding: 8px;
}

.row-head th {
    background: #f9fafc;
}

.row-head label {
    line-height: 34px;
    margin: 0;
}

@media only screen and (max-width: 800px) {
    .row-head thead {
        display: none;
    }
    .row-head tr,
    .row-head td {
        display: block;
        width: auto;
    }
    .row-head tr {
        border: 1px solid #dbe1e8;
        border-radius: 5px;
        box-shadow: 3px 3px rgba(0, 0, 0, .1);
        margin-bottom: 20px;
        padding: 8px 8px 0;
    }
    .row-head td {
        border: none;
        border-bottom: 1px solid #dbe1e8;
        display: flex;
        justify-content: space-between;
        text-align: right;
    }
    .row-head td:last-child {
        border-bottom: none;
    }
    .row-head td::before {
        content: attr(aria-label);
        display: inline-block;
        font-weight: bold;
        float: left;
        text-align: left;
        padding-right: 20px;
        white-space: nowrap;
    }
    .row-head td.bt-area::before {
        display: none;
    }
    .row-head td.bt-area a {
        background: #007aff;
        border-radius: 5px;
        color: #fff;
        display: inline-block;
        flex: 1;
        height: 40px;
        margin: 0 2px;
        overflow: hidden;
        width: auto;
    }
    .row-head td.bt-area a::before {
        align-items: center;
        content: attr(aria-label);
        display: flex;
        font-size: 14px;
        height: 100%;
        justify-content: center;
        line-height: 40px;
        width: 100%;
    }
    .row-head.header-check tr {
        padding-left: 40px;
        position: relative;
    }
    .row-head.header-check td:first-child {
        align-items: center;
        background: #fff;
        border-right: 1px solid #dbe1e8;
        border-bottom: none;
        bottom: 0;
        display: flex;
        justify-content: center;
        left: 0;
        padding: 0;
        position: absolute;
        text-align: center;
        top: 0;
        width: 40px;
    }
    .row-head.header-check td:first-child::before {
        display: none;
    }
    .row-head td:first-child {
        font-weight: bolder;
        color: darkseagreen;
    }
}


/*=======================================
ユーザー一覧
=======================================*/

.user-list {
    width: 90%;
    margin: auto;
}

@media screen and (max-width: 1024px) {
    .user-list {
        width: 90%;
        margin: auto;
    }
}

@media screen and (max-width: 800px) {
    .user-list {
        width: 100%;
        margin: auto;
    }
}

.grid {
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    margin: 0 8px;
    box-sizing: border-box;
}

.user-card.is-basic {
    vertical-align: top;
    box-sizing: border-box;
    display: block;
}

.user-card {
    margin-top: 8px;
    padding: 8px;
    width: 300px;
    box-sizing: border-box;
    display: block;
    margin: 0px 2%;
}

@media screen and (max-width: 1155px) {
    .user-card {
        margin-left: 85px;
    }
}

@media screen and (max-width: 1024px) {
    .user-card {
        margin-left: 65px;
    }
}

@media screen and (max-width: 880px) {
    .user-card {
        margin-left: 50px;
    }
}

@media screen and (max-width: 855px) {
    .user-card {
        margin-left: 40px;
    }
}

@media screen and (max-width: 830px) {
    .user-card {
        margin-left: 40px;
    }
}

@media screen and (max-width: 805px) {
    .user-card {
        margin-left: 30px;
    }
}

@media screen and (max-width: 740px) {
    .user-card {
        margin-left: 30px;
    }
}

@media screen and (max-width: 710px) {
    .user-card {
        margin-left: 10px;
    }
}

@media screen and (max-width: 695px) {
    .user-card {
        margin-left: 0px;
    }
}

@media screen and (max-width: 675px) {
    .user-card {
        margin-left: 5px;
    }
}

@media screen and (max-width: 655px) {
    .user-card {
        margin-left: 0px;
    }
}

@media screen and (max-width: 645px) {
    .user-card {
        width: 500px;
        margin-left: 50px;
    }
}

@media screen and (max-width: 560px) {
    .user-card {
        width: 500px;
        margin-left: inherit;
    }
}

.user-card_transition-bg {
    display: none;
    position: absolute;
    border-radius: 10px;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: #efefef;
    z-index: -1;
}

.link-area:link,
.link-area:active,
.link-area:visited,
.link-area:hover {
    color: #fe6970;
    text-decoration: none;
}

a:visited {
    color: #b5414f;
}

a:link {
    color: #fe6970;
    text-decoration: none;
}

.link-area {
    display: block;
    background-color: #fff;
    border-radius: 10px;
}

.user-card_main-area {
    position: relative;
    font-family: sans-serif;
}

.user-card.is-basic .user-card_main-area:before {
    border-radius: 0 0 10px 10px;
}

.user-card_main-area:before {
    content: '';
    display: block;
    position: absolute;
    top: 75.5%;
    left: 0;
    width: 100%;
    height: 24.5%;
    background: -owg-linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.5));
    background: -webkit-linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.5));
    background: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.5));
    background: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.5));
}

.user-card.is-basic .user-card_main-photo {
    border-radius: 10px;
    height: 300px;
}

@media screen and (max-width: 1024px) {
    .user-card.is-basic .user-card_main-photo {
        border-radius: 10px;
        /*height: 220px;*/
    }
}

@media screen and (max-width: 800px) {
    .user-card.is-basic .user-card_main-photo {
        border-radius: 10px;
        /*height: 200px;*/
    }
}

@media screen and (max-width: 736px) {
    .user-card.is-basic .user-card_main-photo {
        border-radius: 10px;
    }
}

@media screen and (max-width: 645px) {
    .user-card.is-basic .user-card_main-photo {
        border-radius: 10px;
        width: 100%;
        height: 500px;
    }
}

@media screen and (max-width: 600px) {
    .user-card.is-basic .user-card_main-photo {
        border-radius: 10px;
        width: 100%;
        height: auto;
    }
}

.grid img {
    max-width: 100%;
}

.user-card_main-area:hover img {
    opacity: 1;
    -webkit-animation: flash 1.5s;
    animation: flash 1.5s;
}

@-webkit-keyframes flash {
    0% {
        opacity: .4;
    }
    100% {
        opacity: 1;
    }
}

@keyframes flash {
    0% {
        opacity: .4;
    }
    100% {
        opacity: 1;
    }
}

.user-card_main-photo {
    border-radius: 10px 10px 0 0;
    min-width: 100%;
}

img {
    vertical-align: middle;
    border: 0;
}

.grid img {
    max-width: 100%;
}

.user-card-newface-flag {
    position: absolute;
    top: 0;
    left: 12px;
    width: 32px;
    height: 42px;
}

.user-card .user-card_lower-area {
    position: absolute;
    width: 100%;
    bottom: 0;
    display: -webkit-box;
    display: flex;
    display: -webkit-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
}

.user-card .user-card_lower-area .user-card_lower-icons {
    height: 23px;
}

.user-card .user-card_lower-area .user-card_lower-icons .user-card_lower-right-icons {
    position: absolute;
    top: 3px;
    right: 0;
    width: 19px;
    height: 15px;
}

.user-card_sub-photos {
    position: relative;
    color: #fff;
    width: 19px;
    line-height: 15px;
}

.size3 {
    font-size: 13px;
}

.user-card_sub-photos:after {
    content: '';
    display: inline-block;
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    left: -15px;
    width: 11px;
    height: 10px;
    background-image: url();
    background-size: 100%;
    background-repeat: no-repeat;
}

.user-card.is-basic .user-card_lower-area .newface_1day-line {
    height: 23px;
    line-height: 23px;
    text-align: center;
    color: #fff;
    background-color: rgba(58, 213, 154, 0.8);
}

.user-card.is-basic .user-card_lower-area .lower-line {
    margin-bottom: -1px;
    border-radius: 0 0 10px 10px;
}

.text-bold {
    font-weight: bold;
}

.size4,
.error-headings,
.error-description {
    font-size: 12px;
}

.user-card.is-basic .user-card_main-area.newface_1day-frame:after {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    /*border: 3px solid #3ad59a;*/
    border-radius: 10px;
}

.user-card.is-basic .user-card_sub-area {
    box-shadow: none;
    background: #f5f5dc8c;
    margin-top: 5px;
    border-radius: 10px;
}

.user-card_sub-area {
    position: relative;
    width: 100%;
    padding: 8px;
}

.size3 {
    font-size: 13px;
}

.online-badge.is-in-24h {
    background-color: #FFCE00;
}

.online-badge {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 5px;
    margin-right: 5px;
}

.offline-badge.is-in-24h {
    background-color: #919190;
}

.offline-badge {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 5px;
    margin-right: 5px;
}

.user-card.is-basic .user-card_profiles {
    display: inline-block;
    font-weight: bold;
    color: #fe6970;
    font-family: sans-serif;
}

.user-card_profiles {
    -webkit-box-flex: 8;
    flex: 8;
}

.user-card.is-basic .user-card_tweet {
    position: relative;
    padding-left: 15px;
    padding-top: 5px;
    padding-bottom: 5px;
    width: 100%;
    min-height: 20px;
    line-height: 1.2;
    color: #555;
    font-family: sans-serif;
}

.size4,
.error-headings,
.error-description {
    font-size: 12px;
}

.user-card.is-basic .user-card_tweet:before {
    content: '';
    position: absolute;
    top: 7px;
    left: 0;
    display: inline-block;
    width: 12px;
    height: 11px;
    background-image: url(/wp-content/themes/hourai/images/common/ico-comment.png);
    background-size: 100%;
    background-repeat: no-repeat;
}

.user-card .user-card_upper-right-icons {
    position: absolute;
    top: 5px;
    right: 5px;
    height: 20px;
    text-align: right;
}

.user-card .affinities-count {
    position: relative;
    font-size: 11px;
    opacity: 1.0;
}

.affinities-count {
    position: absolute;
    color: #fff !important;
    vertical-align: middle;
    text-align: center;
    opacity: 0.8;
}

.user-card .affinities-count .affinities-label {
    float: left;
    padding-top: 3px;
    padding-right: 3px;
    color: forestgreen;
}

.user-card .affinities-count .affinities-num {
    float: right;
    width: 110px;
    height: 20px;
    font-size: 14px;
    font-weight: bold;
    border-radius: 12px;
    background-color: rgba(157, 218, 38, 0.75);
    margin: 0 5px;
}

.user-card_sub-photos:after {
    content: '';
    display: inline-block;
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    left: -15px;
    width: 11px;
    height: 10px;
    background-image: url();
    background-size: 100%;
    background-repeat: no-repeat;
}

.user-card.is-basic .user-card_tweet:before {
    content: '';
    position: absolute;
    top: 7px;
    left: 0;
    display: inline-block;
    width: 12px;
    height: 11px;
    background-image: url(/wp-content/themes/hourai/images/common/ico-comment.png);
    background-size: 100%;
    background-repeat: no-repeat;
}


/*=======================================
pagination
=======================================*/

.pager {
    margin: 2em;
}

.pager ul.pagination {
    text-align: center;
    margin: auto;
    padding: 0;
    width: fit-content;
}

.pager .pagination li {
    display: inline;
    margin: 0 2px;
    padding: 0;
    display: inline-block;
    background: #66cdaabf;
    width: 40px;
    height: 40px;
    text-align: center;
    position: relative;
    border-radius: 20px;
}

.pager .pagination li a {
    vertical-align: middle;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    display: table;
    color: #fff;
    text-decoration: none;
    border-radius: 20px;
}

.pager .pagination li a span {
    display: table-cell;
    vertical-align: middle;
}

.pager .pagination li a:hover,
.pager .pagination li a.active {
    color: #555;
    background: #4cf7bdf2;
}

@media only screen and (max-width: 767px) {
    .pager .pagination li {
        display: none;
    }
    .pager .pagination li.pre,
    .pager .pagination li.next {
        display: inline-block;
        width: 160px;
        height: 50px;
        text-align: center;
    }
    .pager .pagination li.pre a,
    .pager .pagination li.next a {
        width: 160px;
        text-align: center;
    }
    .pager .pagination li.pre span::after {
        content: "前の10件をみる";
    }
    .pager .pagination li.next span::before {
        content: "次の10件をみる";
    }
}


/*=======================================
WP-members
=======================================*/

#wpmem_login,
#wpmem_reg {
    width: 70%;
    margin: auto;
}

@media screen and (max-width: 769px) {
    #wpmem_login,
    #wpmem_reg {
        width: 90%;
        margin: auto;
    }
}

#wpmem_login legend,
#wpmem_reg legend {
    display: none !important;
}

#wpmem_login fieldset,
#wpmem_reg fieldset {
    padding-left: 2em !important;
}

.div_text #username.textbox,
.div_text #user_email.textbox,
.div_text #log.textbox,
.div_text #log.textbox {
    border-radius: 5px;
}

.button_div .buttons {
    background-color: mediumturquoise;
    padding: 1em 3em;
    border-radius: 5px;
    color: white;
    font-size: 1em;
    width: 100%;
    font-weight: bold;
    box-sizing: border-box;
}

#wpmem_reg input:before {
    content: 'aaaaaa';
}

.wpmem_msg {
    width: 74% !important;
    margin: auto !important;
}

#wpmem_login.button_div,
#wpmem_login.div_text,
#wpmem_reg.div_text {
    margin: auto !important;
}

#wpmem_login_form .button_div,
#wpmem_login_form .div_text,
#wpmem_register_form .button_div,
#wpmem_register_form .div_text {
    margin: auto !important;
}

#wpmem_login_form fieldset,
#wpmem_register_form fieldset {
    text-align: center;
}


/*=======================================
home.php
=======================================*/

.seetting_warning_area {
    width: 65%;
    margin: 2em auto 1em auto;
    padding: 1em 2em;
    background: #120c0c;
    opacity: 0.6;
    color: white;
    font-size: 14px;
    border-radius: 20px;
}

@media screen and (max-width: 736px) {
    .seetting_warning_area {
        width: 98%;
        margin: 2em auto 1em auto;
        padding: 1em 2em;
        background: #120c0c;
        opacity: 0.6;
        color: white;
        font-size: 14px;
        border-radius: 20px;
    }
}

.setting_warning_title {
    font-size: 18px;
    font-weight: bold;
}

.setting_btn {
    margin-top: 10px;
    border-radius: 30px;
    color: indianred;
    background: white;
    padding: 5px 10px;
}


/*=======================================
MTS Simple Booking
=======================================*/

.monthly-calendar table {
    width: 80% !important;
    border: 1.2px solid #aaa;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 6px;
    overflow: hidden;
}

.monthly-calendar table thead th,
.monthly-calendar table tbody th,
.monthly-calendar table tbody td {
    padding: .6em 3em;
    border-bottom: 1px solid #aaa;
}

.monthly-calendar table thead th+th,
.monthly-calendar table tbody td {
    //border-left: 1px solid #aaa;
}

.monthly-calendar table tbody tr:last-child th,
.monthly-calendar table tbody tr:last-child td {
    border-bottom: none;
}

.monthly-calendar th.week-title {
    background: seashell;
}

.day-calendar table tbody tr:first-child {
    background: seashell;
}

#booking-form {
    margin-left: 2.5em;
    width: 80%;
}

#booking-form #action-button button[type="submit"] {
    background: linear-gradient(to bottom, mediumturquoise, #3ab3ae);
    margin: 0 0;
    /* height: 46px; */
    /* line-height: 46px; */
    text-align: center;
    font-size: 15px;
    text-decoration: none;
    border-radius: 5px;
    letter-spacing: 1px;
    transition: 0.2s;
    padding: 10px 30px;
    color: white !important;
}

.glsr-review {
    background: floralwhite;
    padding: 10px 1em;
    border-radius: 5px;
    margin-left: 10%;
    margin-right: 10%;
}

.glsr-review-title .glsr-tag-value {
    font-size: 1.5em;
    text-align: left;
    margin: 0px 0px 20px 0px;
    background: none !important;
}

@media screen and (max-width: 640px) {
    .glsr-review {
        margin-left: 5%;
        margin-right: 5%;
    }
    .faq dl {
        width: 80%;
        margin-left: 5%;
        margin-right: 5%;
    }
}

#uranai_content {
    width: 90%;
}

.faq dl {
    width: 80%;
    margin-left: 10%;
    margin-right: 10%;
}

.faq dt {
    font-size: 15px;
    font-weight: bold;
    margin-bottom: 10px;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: #FDE8F9;
    border-left-width: 7px;
    border-left-style: solid;
    border-left-color: #FDE8F9;
    padding-top: 2px;
    padding-left: 8px;
    padding-bottom: 2px;
}

.faq dd {
    font-size: 100%;
    line-height: 1.8;
    margin-bottom: 30px;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: #999999;
    padding-right: 15px;
}

#search_select {
    width: 60%;
    border: 1px solid black;
    padding: 1em;
    border-radius: 5px;
    margin-bottom: 1em;
}