@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
    /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
    /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
    /*必要ならばここにコードを書く*/
}

:root {
	--link-color: #75b8ca;
	--base-color: #FAF3EA;
	--primary-color: #FF8D99;
	--primary-color2: #ff7880;
    --border-color: #ddd;
	--base-font-color: #666;
}

*{
    box-sizing: border-box;
}
a{
    color: var(--link-color);
    text-decoration: none;
    transition: all .3s;
}
button:hover,
a:hover{
    color: var(--link-color);
    opacity: 0.7;
}
a:visited{
    background: none;
}
ul.reset,
ol.reset{
	margin: 0;
	padding: 0;
}
ul.reset li,
ol.reset li{
	list-style: none;
}
button{
    padding: 5px;
    border: none;
    background: none;
    outline: none;           /* フォーカス時の枠も消したい場合 */
    -webkit-appearance: none; /* SafariやiOSの独自スタイル解除 */
    -moz-appearance: none;    /* Firefoxの独自スタイル解除 */
    appearance: none;         /* 標準のappearanceも解除 */
    color: #fff;
    font-weight: bold;
    background: var(--primary-color);
    border: 2px solid var(--primary-color);
    border-radius: 3px;
    box-shadow: none;
    cursor: pointer;
    transition: all .3s;
}
button:hover{
    color: #fff;
}
input{
    border-color: var(--border-color)!important;
}
input::placeholder {
  color: #bbb;
  font-size: 14px;
}
/* .wp-block-heading{
    font-family: "BIZ UDMincho", serif;
    font-weight: 700;
    font-style: normal; 
} */
.author-info{
    display: none;
}
.biz-udmincho-bold,
.f1{
    font-family: "BIZ UDMincho", serif;
    font-weight: 700;
    font-style: normal; 
}
.biz-udgothic-regular,
.f2{
    font-family: "BIZ UDGothic", sans-serif;
    font-weight: 400;
    font-style: normal;
}


/* ベース */
body{
    color: var(--base-font-color);
    font-family: 'BIZ UDPGothic', "Yu Gothic", YuGothic, Meiryo, sans-serif;
    font-weight: 400;
    font-style: normal;
    background: var(--base-color);
}
#container{
}
.main {
    padding: 20px;
}

/* ヘッダー */
#header{
    position: relative;
    background: var(--primary-color);
    overflow: hidden;
}
.header-in .member{
    display: flex;
    gap: 10px;
    position: absolute;
    top: 20px;
    right: 20px;
}
.header-in .member a{
    color: var(--base-font-color);
    width: 85px;
    height: 30px;
    line-height: 30px;
    font-size: 14px;
    text-align: center;
    background: #fff;
    border-radius: 3px;
}
.logo-header{
    /* border-bottom: 1px solid var(--border-color); */
}
.logo-text {
    padding: 10px;
}
.tagline:empty{
    margin: 0;
}
#header .bottom{
    position: relative;
    padding: 2px 0;
}
#header .bottom:before{
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    width: 5000px;
    height: 100%;
    background: #fff;
    transform: translateX(-50%);
}
#header .bottom .inr{
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    position: relative;
    padding: 5px 0;
    z-index: 1;
}
#header .bottom .left{
    width: calc(100% - 320px);
    font-size: 15px;
    font-weight: bold;
}
#header .bottom .right{
    width: 300px;
}
#header .bbp-search-form{
    position: relative;
}
#header #bbp_search{
    height: 35px;
}
#header .bbp-search-form:before{
  content: '\f002'; 
  position: absolute;
  top: 2px;
  right: 0;
  width: 40px;
  height: 100%;
  color: var(--primary-color);
  text-align: center;
  font-family: 'FontAwesome';
  box-sizing: border-box;
}
#header #bbp_search_submit{
    position: absolute;
    top: 3px;
    right: 0;
    width: 40px;
    text-indent: -9999px;
    background: none;
    border: none;
}

@media screen and (max-width:1030px) {
    #header .bottom{
        padding-left: 10px;
        padding-right: 10px;
    }
    #header .bottom .inr>*{
        width: 100%;
    }
}

@media screen and (max-width:767px) {
    .header-in .member{
        top: 25px;
    }
    .header-in .member a{
        width: 60px;
        height: 20px;
        line-height: 20px;
        font-size: 12px;
    }
    .logo-header{
        text-align: left;
    }
}

/* メインカラム */
.mv{
    padding-top: 24px;
    overflow: hidden;
    background: var(--base-color);
}
.mv .slider{
    margin: 0 auto;
    max-width: 1020px;
}
.mv .slick-list{
    overflow: visible;
}
.mv .slick-list .box{
    padding: 0 10px;
    width: 100%;
}
.mv .slick-list .box span{
    display: block;
    position: relative;
    padding: 0 10px;
}
.mv .slick-list .box span:before{
    content: '';
    display: block;
    padding-top: 50%;
}
.mv .slick-list .box img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.mv .slick-arrow {
    top: 50%;
    width: 57px;
    height: 57px;
    background: rgba(255,255,255,0.4);
	border-radius: 100%;
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.15);
	z-index: 1;
}
.mv .slick-arrow:before {
	content: '\f054';
    color: var(--primary-color2);
}
.mv .slick-prev:before {
	content: '\f053';
}
#main>.tab{
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 20px;
    font-size: 16px;
}
#main>.tab span{
    display: block;
    width: 50%;
    font-weight: bold;
    text-align: center;
}
#main>.tab span.current{
    position: relative;
    padding: 8px;
    color: #fff;
    background: var(--primary-color);
}
#main>.tab span.current:before{
    content: '';
    position: absolute;
    left: 50%;
    bottom: -10px;
    width: 20px;
    height: 15px;
    clip-path: polygon(0 0, 50% 100%, 100% 0);
    background: var(--primary-color);
    transform: translateX(-50%);
}
#main>.tab a{
    display: block;
    padding: 8px;
    background: #F0F8FF;
}

@media screen and (max-width:1000px) {
    .mv .slick-arrow{
        right: 0;
    }
    .mv .slick-prev{
        right: auto;
        left: 0;
    }
}

@media screen and (max-width:500px) {
    .mv .slick-arrow {
        width: 30px;
        height: 30px;
    }
    .mv .slick-arrow:before {
        font-size: 12px;
    }
}

/* サイドバー */
.sidebar h2,
.sidebar h3 {
    background: none;
    padding: 0;
    padding-bottom: 10px;
    margin: 16px 0;
    color: var(--base-font-color);
    font-size: 16px;
    border-bottom: 1px solid var(--border-color);
}
.sidebar .widget{
    margin-bottom: 3em;
}
.sidebar .link a{
    position: relative;
    padding-right: 15px;
}
.sidebar .link a:before{
    content: '\f054';
    position: absolute;
    top: -1px;
    right: 0;
    font-size: 12px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}
.widget#text-2{
    position: relative;
    margin: -20px;
    margin-bottom: 50px;
    background: var(--primary-color2);
}
.widget#text-2:before{
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 20px;
    background: var(--base-color);
    transform: translateY(100%);
}
.widget#text-2 a{
    display: block;
    padding: 10px;
    color: #fff;
    font-weight: bold;
    text-align: center;
}
.sidebar .tag .link{
    margin-top: 20px;
    text-align: right;
    font-size: 16px;
}
.sidebar .tag a{
    color: var(--primary-color);
}
.sidebar .tagcloud a {
    padding: 3px 10px;
    color: var(--primary-color);
    font-size: 14px;
    background: #FFF0F2;
    border: none;
    border-radius: 20px;;
    justify-content: space-between;
    transition: all 0.3s ease-in-out;
}
.sidebar .fa-tag:before {
    content: "#";
}
.sidebar .bbp-forums-widget{
    padding: 0;
}
.sidebar .bbp-forums-widget li{
    margin-bottom: 5px;
    list-style: none;
}
#bbp_forums_widget-2 a{
    color: var(--base-font-color);
    font-size: 14px;
}

@media screen and (max-width: 1023px) {
    #sidebar-menu-content{
        overflow: hidden;
        overflow-y: scroll;
    }
    #sidebar-menu-content *{
        max-width: 100%;
    }
    .sidebar-scroll {
        padding-top: 30px;
    }
    .sidebar {
        padding: 15px;
    }
    .widget#text-2{
        margin: 0;
        margin-bottom: 30px;
    }
    .widget#text-2:before{
        display: none;
    }
}

/* フッター */
.footer{
    color: #fff;
    background: var(--primary-color);
}
.footer-bottom {
    margin-top: 0;
    padding: 0;
}
.footer-bottom.cf:after{
    display: none;
}
.footer-bottom-logo{
    position: static;
    float: none;
}
.footer .logo a{
    color: #fff;
}
.footer-bottom-logo img{
    display: block;
}
.footer-bottom-logo .logo-image,
.footer-bottom-logo img{
    height: 30px;
}
.footer .copyright{
    margin: 0;
    font-size: 10px;
}
#navi-footer li{
    margin: 0 5px;
    border: none;
}
#navi-footer a{
    color: #fff;
    font-size: 12px;
} 

@media screen and (max-width:767px) {
    /* .footer-bottom.fdt-up-and-down .footer-bottom-content{
        padding-bottom: 50px;
    } */
    .navi-footer-in > .menu-footer li.menu-item{
        flex: none!important;
        width: auto!important;
    }
}

/* 下層ページ */
.entry-title{
    margin-bottom: 40px;
}
/* .single-post .entry-title{
    font-family: "BIZ UDMincho", serif;
    font-weight: 700;
    font-style: normal; 
} */

@media screen and (max-width:767px) {
    .entry-title{
        margin-bottom: 30px;
    }
}

/* 掲示板 */
div.bbp-breadcrumb{
    float: none;
}
.type-topic>li{
    float: none;
    width: 100%;
    text-align: left;
}
#bbpress-forums.daily .bbp-topics li.bbp-body{
    counter-reset: order;
}
#bbpress-forums.daily li.bbp-body ul.topic .text{
    position: relative;
}
#bbpress-forums.daily li.bbp-body ul.topic .text:before{
    counter-increment: order;
    content: counter(order) '位';
    position: absolute;
    top: 0;
    left: 0;
    padding: 0 5px;
    min-width: 50px;
    color: #fff;
    font-size: 12px;
    text-align: center;
    background: #B3B3B3;
    border-radius: 3px;
}
#bbpress-forums.daily li.bbp-body ul.topic:nth-last-of-type(-n+10) .text:before{
    background: #E8BE8B;
}
#bbpress-forums.daily li.bbp-body ul.topic:nth-of-type(1) .text:before{
    background: #FF787F;
}
#bbpress-forums.daily li.bbp-body ul.topic:nth-of-type(2) .text:before{
    background: #FF8D99;
}
#bbpress-forums.daily li.bbp-body ul.topic:nth-of-type(3) .text:before{
    background: #FFAAB3;
}
.bbp-topic-title .text{
    color: var(--link-color);
    font-weight: bold;
}
.recommend-post .text span,
.bbp-topic-permalink .text span{
    display: block;
    margin-bottom: 10px;
    color: var(--base-font-color);
    font-size: 12px;
}
.daily .bbp-topic-permalink .text span{
    padding-left: 70px;
}
#sidebar .recommend-post .text span,
#sidebar .bbp-topic-permalink .text span{
    margin-bottom: 0px;
    font-size: 13px;
    font-weight: bold;
}
#sidebar .bbp-topic-permalink .text span.count{
    font-size: 10px;
    font-weight: normal;
}
#sidebar .recommend-post .link{
    text-align: right;
}
#sidebar .recommend-post .link a{
    color: var(--base-font-color);
}
.bbp-topic-permalink.flex{
    display: flex;
    gap: 20px;
}
div#bbpress-forums a.bbp-topic-permalink:before{
    display: none;
}
.recommend-post .image,
.bbp-topic-permalink .image{
    display: inline-block;
    width: 60px;
    height: 60px;
    background: #eee;
}
.recommend-post .image img,
.bbp-topic-permalink .image img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.tagcloud a {
    flex: none;
    justify-content: flex-start;
}
.widget .topic-list{
    counter-reset: order;
    padding: 10px;
}
.widget .topic-list li{
    padding: 5px 0;
    border-bottom: #eee 1px solid;
}
.widget .topic-list li a{
    display: flex;
    gap: 10px;
}
.widget .topic-list li .image{
    position: relative;
}
.widget .topic-list li .image:before{
    counter-increment: order;
    content: counter(order);
    position: absolute;
    top: -3px;
    left: -3px;
    width: 17px;
    height: 17px;
    color: #fff;
    font-size: 10px;
    text-align: center;
    line-height: 17px;
    background: var(--primary-color);
    border-radius: 100%;
}
.recommend-post .topic-list li .image:before{
    display: none;
}
.widget .topic-list .text span{
    display: block;
}
.single .topic-header{
    display: flex;
    gap: 15px;
    margin-bottom: 15px;
    font-weight: bold;
    font-size: 20px;
}
.single .topic-header .image{
    display: inline-block;
    width: 100px;
    height: 100px;
    background: #eee;
}
.single .topic-header .image img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.d4p-attachment-addfile,
.bbp-attachments-form>label{
    display: none!important;
}
#bbpress-forums div.bbp-forum-content, 
#bbpress-forums div.bbp-reply-content, 
#bbpress-forums div.bbp-topic-content {
    margin-left: 0;
}
body.page-id-130 .widget#text-2,
body.page-id-130 .widget#text-3,
body.page-id-130 .widget#text-4,
body.single-forum .widget#text-2,
body.single-forum .widget#text-3,
body.single-forum .widget#text-4{
    display: none;
}
.bbp-pagination{
    margin-bottom: 0;
}
.bbp-pagination .bbp-pagination-links:not(:empty){
    margin-bottom: 15px;
    padding: 10px 0;
    text-align: center;
}
.bbp-pagination-links {
    display: flex;
    justify-content: center;
    float: none;
}
#bbpress-forums .bbp-pagination-links a, 
#bbpress-forums .bbp-pagination-links span.current{
    float: none;
    display: flex;
    justify-content: center;
    align-items: center;
}
div.bbp-template-notice.info,
div.bbp-template-notice,
div.indicator-hint {
    background: none;
    border: none;
}
div.bbp-template-notice.info{
    padding: 0;
}
.bbp-template-notice.info ul{
    padding: 0;
}
.bbp-template-notice.info li{
    list-style: none;
}
.bbp-forum-content ul.sticky,
.bbp-topics ul.sticky,
.bbp-topics ul.super-sticky,
.bbp-topics-front ul.super-sticky {
    background: none !important;
}
#bbpress-forums ul.bbp-forums,
#bbpress-forums ul.bbp-lead-topic,
#bbpress-forums ul.bbp-replies,
#bbpress-forums ul.bbp-search-results,
#bbpress-forums ul.bbp-topics{
    border: none;
}
#bbpress-forums li.bbp-body ul.forum,
#bbpress-forums li.bbp-body ul.topic{
    padding: 10px 0;
    border: none;
    border-bottom: 1px dotted var(--border-color);
}
.page-numbers {
    width: 36px;
    height: 36px;
    color: var(--base-font-color);
    font-size: 12px;
    line-height: 34px;
    opacity: 1;
    border: 1px solid #efefef;
    border-radius: 0;
}
.page-numbers.current {
    font-weight: bold;
    background: none!important;
    border-color: #fff!important;
}
.page-numbers:hover {
    background-color: #f5f8fa!important;
    transition: all 0.3s ease-in-out!important;
    color: var(--cocoon-text-color)!important;
    border: 1px solid #efefef!important;

}
.bbp-breadcrumb {
    margin-bottom: 20px;
}
.bbp-breadcrumb .bbp-breadcrumb-root{
    display: inline-block;
    position: relative;
    width: 18px;
    height: 18px;
    text-indent: -9999px;
}
.bbp-breadcrumb .bbp-breadcrumb-root:before{
  content: '\f015'; 
  position: absolute;
  top: 0;
  right: 0;
  width: 18px;
  height: 100%;
  text-align: center;
  text-indent: 0;
  font-size: 20px;
  font-family: 'FontAwesome';
}
#bbpress-forums fieldset.bbp-form label{
    display: block;
    margin-bottom: 10px;
}
#bbpress-forums fieldset.bbp-form input[type=password]{
    height: 46px;
    line-height: 46px;
}
#bbpress-forums div.bbp-forum-header,
#bbpress-forums div.bbp-reply-header, 
#bbpress-forums div.bbp-topic-header {
    background-color: #fff;
}
#bbpress-forums .bbp-topic-reply-link,
#bbpress-forums .bbp-reply-to-link{
    position: relative;
    padding-left: 20px;
    font-size: 13px;
}
#bbpress-forums .bbp-topic-reply-link:before,
#bbpress-forums .bbp-reply-to-link:before{
  content: '\f122'; 
  position: absolute;
  top: -2px;
  left: 0;
  width: 18px;
  height: 100%;
  text-align: center;
  text-indent: 0;
  font-size: 14px;
  font-family: 'FontAwesome'; 
}
body.page .bbp-reply-form code,
body.page .bbp-topic-form code,
body.reply-edit .bbp-reply-form code,
body.single-forum .bbp-topic-form code,
body.single-topic .bbp-reply-form code,
body.topic-edit .bbp-topic-form code{
    background: var(--base-color);
}
div#bbpress-forums div.odd, 
div#bbpress-forums ul.odd {
    background-color: #fff;
}
.bbp-form br{
    display: none;
}
#bbpress-forums fieldset.bbp-form {
    border: none;
    padding: 0;
}
.bbp-topic-form .note,
.bbp-topic-form .category{
    margin-top: 15px;
    margin-bottom: 30px;
}

/* ユーザーページ */
#main .um-form input[type=number],
#main .um-form input[type=password],
#main .um-form input[type=search],
#main .um-form input[type=tel],
#main .um-form input[type=text] {
    height: 45px!important;
}
body.um-page-user div.uimob960 .um-profile-photo a.um-profile-photo-img{
    top: 0!important;
}
body.um-page-user .user-detail{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px 0;
    margin-bottom: 50px;
    padding-bottom: 40px;
    border-bottom: 1px solid var(--border-color);
}
body.um-page-user .user-detail .box{
    width: 48%;
}
body.um-page-user .user-detail .full{
    width: 100%;
}
body.um-page-user .user-detail .profile{
    margin-bottom: 20px;
    padding-bottom: 40px;
    border-bottom: 1px solid var(--border-color);
}
body.um-page-user .user-detail dl{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
body.um-page-user .user-detail dt{
    position: relative;
    font-weight: bold;
}
body.um-page-user .user-detail dt:after{
    content: ': ';
    display: inline-block;
    padding-left: 10px;
}
body.um-page-user .treatment dt{
    width: 100%;
}
body.um-page-user .treatment dd{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 5px 0;
    width: 100%;
}
body.um-page-user .treatment dd ul{
    width: 36%;
}
body.um-page-user .treatment dd p{
    width: 62%;
}
body.um-page-user .treatment dd p:not(:empty){
    padding-left: 15px;
    border-left: 1px dotted var(--border-color);
}
body.um-page-user .sns{
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
body.um-page-user .chart {
    margin: 0 auto;
    margin-bottom: 80px;
    max-width: 600px;
}
.page-id-10 .um-center{
    display: none;
}
body.um-page-user .acf-input .acf-label,
body.um-page-user .acf-input thead{
    display: none;
}
body.um-page-user .acf-fields>.acf-field{
    padding: 10px;
}
body.um-page-user .acf-field[data-width]+.acf-field[data-width] {
    border-left: 1px dotted #eee;
}
/* .um a.um-button,
.um a.um-button.um-disabled:active,
.um a.um-button.um-disabled:focus,
.um a.um-button.um-disabled:hover, */
.um input[type=submit].um-button,
.um input[type=submit].um-button:focus{
    background: var(--primary-color)!important;
}
.um a.um-button:hover,
.um a.um-button{
    box-shadow: none;
}
body.um-page-user .acf-form-fields{
    margin-bottom: 30px;
    padding: 20px;
    background: var(--base-color);
    border-radius: 8px;
}

@media screen and (max-width:767px) {
    body.um-page-user .acf-form-fields {
        padding: 5px;
    }
    body.um-page-user .user-detail .box{
        width: 100%;
    }
    body.um-page-user .treatment dd ul,
    body.um-page-user .treatment dd p{
        width: 100%;
    }
    body.um-page-user .treatment dd p:not(:empty){
        margin-top: 10px;
        padding-top: 15px;
        padding-left: 0;
        border: none;
        border-top: 1px dotted var(--border-color);
    }
    body.um-page-user .acf-field-6822fe96fce93,
    body.um-page-user .acf-field-6822fedcfce94{
        width: 100%!important;
    }
    body.um-page-user .acf-form .acf-field{
        width: 100%!important;
    }
    body.um-page-user .acf-table .acf-field-6822ffef041af{
        width: calc(100% - 80px)!important;
    }
    body.um-page-user .acf-table .acf-field-6823000a041b0{
        width: 80px!important;
    }
    body.um-page-user .acf-table .acf-field-6849b62f9491a,
    body.um-page-user .acf-table .acf-field-6849b66c9491b{
        width: calc(50% - 50px)!important;
    }
    body.um-page-user .acf-table .acf-field-6849b6789491c{
        width: 100px!important;
    }
}

/* キーワード一覧 */
body.topic-tag-list .entry-content code{
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}
body.topic-tag-list .entry-content code a{
    display: inline-block;
    position: relative;
    padding: 5px;
    padding-left: 10px;
    width: calc(20% - (80px / 5));
    font-size: 14px!important;
}
body.topic-tag-list .entry-content code a:before{
  content: '\f0da'; 
  position: absolute;
  top: 6px;
  left: 0;
  color: #000;
  font-family: 'FontAwesome'; 
  font-size: 13px;
}

/* 新規トピック作成 */
body.new-topic .entry-title{
    font-family: 'BIZ UDPGothic', "Yu Gothic", YuGothic, Meiryo, sans-serif;
    font-weight: 400;
    font-style: normal; 
}

/* 会社概要 */
body.company .wp-block-column:last-child{
    padding-left: 30px!important;
}
body.company .entry-content dt{
    font-weight: bold;
}
body.company .entry-content dd{
    margin-left: 0;
}
body.company .entry-content dd:not(:last-child){
    margin-bottom: 30px;
}

@media screen and (max-width:767px) {
    body.company .wp-block-column:last-child{
        padding-left: 0!important;
    }
}

/* お問い合わせ */
body.contact .wp-block-columns:not(:first-of-type) .wp-block-heading{
    margin-top: 30px;
}

/* 利用規約 */
body.agreement .wp-block-heading:not(:first-of-type){
    margin-top: 50px;
}
body.agreement article ol ol{
    padding-left: 20px;
}
body.agreement article li{
    margin-bottom: 10px;
}
body.agreement article li li{
    margin-bottom: 2px;
}