@charset "UTF-8";
/*
Template: arkhe
Theme Name: Arkhe Child
Theme URI: https://arkhe-theme.com/ja/
Description: Arkhe用子テーマ
Version: 1.0.0
Text Domain: arkhe
License: GNU General Public License
License URI: http://www.gnu.org/licenses/gpl.html
*/
/* =========================
   Base Styling
========================= */
body {
    font-size: 1.2rem;
    font-family: 'Noto Sans JP', sans-serif;
    color: #444;
    line-height: 1.85;
    letter-spacing: 0.8px;
    word-break: break-word;
}

li {
    list-style: none;
    padding-left: 0;
}

.nsl-container {
    text-align: center !important;
}

:root {
  --base-color: #2dc69f;
  --accent-color: #ff7f6f;
  --sub-color:#ffb500;
  --font-size-base: 16px;
}

/* =========================
   color
========================= */

/* topic */
.is-btn-fill .ark-block-button__link {
    background: #2dc69f;
}
.arkb-button--5 .ark-block-button__link {
  background: #ff7f6f !important;
  color: #ffffff !important;
}

/* main button */
.wp-block-button:not(.is-style-outline) .wp-block-button__link {
    background-color: var(--sub-color);
}

/* sun button */
.is-btn-outline .ark-block-button__link {
    box-shadow: inset 0 0 0 1px var(--base-color);
    color: var(--base-color);
}

/* title */
.ark-block-heading .ark-block-heading__line:before {
    background-color: var(--base-color);
}

/* header menu */
.c-gnav__li.-current,.c-gnav__li.focus,.c-gnav__li:hover {
    color: var(--base-color);
}

/* footer */
.l-footer {
    background: var(--base-color);
}
.c-fixBtn {
    background: var(--base-color);
}

/* =========================
   bbPress Layout & Structure
========================= */
.bbp-forums {
    padding: 30px 25px 90px;
    box-sizing: border-box;
    height: 100%;
    border-radius: 12px;
    position: relative;
}

.bbp-forums .bbp-header,
.bbp-forums .bbp-footer {
    background-color: #ffd47b !important;
}

#bbpress-forums li.bbp-body ul.forum {
    background-color: #ffedc7 !important;
}

.bbp-replies .bbp-header,
.bbp-replies .bbp-footer {
    background: var(--base-color) !important;
    color: #fff;
}

.bbp-replies .bbp-reply-header {
    background: #f7ffe6 !important;
}

.bbp-replies .bbp-reply-author,
.bbp-replies .bbp-reply-content,
.bbp-form {
    font-size: 1rem;
    line-height: 1.5;
}

.bbp-replies .bbp-meta,
.bbp-replies .bbp-admin-links a {
    font-size: 0.8rem;
}

/* =========================
   Topics & Forums
========================= */
.bbp-topic-wrapper .entry-title,
.bbp-forum-content .entry-title,
.bbp-topics-front .entry-title,
.bbp-forum-front .entry-title,
.c-pageTitle__main{
    font-size: 1.5rem;
    font-weight: normal;
    color: #696969;
}

.bbp-topic-wrapper .entry-title::before,
.bbp-topics-front .entry-title::before {
    content: "\f075";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    margin-right: 0.5em;
    color: var(--base-color) ;
}

.bbp-forum-content .entry-title::before,
.bbp-forum-front .entry-title::before{
    content: "\f086";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    margin-right: 0.5em;
    color: var( --sub-color:);
}

.bbp-forum-title {
    font-weight: bold;
    text-decoration: none;
    font-size: 1rem;
    color: #565656;
    display: inline-block;
    position: relative;
}

.bbp-forum-title::before {
    content: "▶";
    color: var(--sub-color) ;
    margin-right: 0.4em;
    font-size: 0.9em;
}

.bbp-forum-content {
    padding-left: 15px !important;
    font-size: 0.8rem !important;
}

.bbp-topic-box {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 1px;
    border-bottom: 1px solid var(--base-color);
}

.bbp-topic-meta-c {
    width: 60px;
    flex-shrink: 0;
}

.bbp-topic-content-c {
    flex: 1;
    min-width: 0;
}

.bbp-topic-meta-c .bbp-author-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.bbp-topic-started-in-label {
    display: block;
    margin: 10px 0 5px;
}

.bbp-topic-started-in-label a {
    background: var(--accent-color:);
    color: #fff;
    text-decoration: none;
    padding: 3px 10px;
    border-radius: 10px;
}

.bbp-topic-started-in-label a:hover {
    background: #f56a6a;
}

.bbp-author-link,
.bbp-topic-freshness a {
    color: #696969;
    text-decoration: none;
}

.bbp-topic-voice-count,
.bbp-topic-reply-count {
    color: #696969;
    padding-right: 7px;
}

.bbp-topic-voice-count i,
.bbp-topic-reply-count i,
.bbp-topic-freshness i {
    color: #696969;
    padding-right: 3px;
}

.bbp-topic-permalink {
    font-size: 1rem;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.bbp-topic-excerpt {
    font-size: 0.8rem;
    padding: 8px 0;
}

.bbp-form select,
.bbp-form input[type="text"] {
     height: 35px!important;
}
.bbp-forum-info .bbp-forums-list{
    display:none;
}

.arkb-tabBody .bbp-search-form{
    display:none;
}

/* =========================
   Widgets
========================= */
.bbp-topics-widget .bbp-forum-title {
    font-weight: normal;
}

.bbp-topics {
    border: 0 solid transparent;
    border-top: 1px solid #e1e1e1;
    border-bottom: 1px solid #e1e1e1;
    box-shadow: none !important;
    border-radius: 0;
}

.bbp-topics a {
    text-decoration: none;
    font-size: 1rem;
    color: var(--base-color) ;
}

.bbp-topics .bbp-header,
.bbp-topics .bbp-footer {
    background: transparent !important;
}

.bbp-pagination {
    display: none;
}

.bbp-search-form input {
    border-radius: 5px;
}

.bbp-search-form .button {
    background-color: #ffd47b !important;
}

.bbp-topic-wrapper .bbp-search-form {
    display: none;
}

.bbp-topics-front .bbp-breadcrumb {
    display: none;
}

.bbp-forums-widget {
    padding-left: 5px;
}

.widget-topik {
    background-color: #f4fff4;
}

.widget-topik .arkb-tabBody {
    padding: 10px 15px 10px;
}

.widget-topik .arkb-tabBody ul {
    padding-left: 0;
}

.widget-topik .bbp-topics-widget li a.bbp-forum-title::before,a.bbp-reply-topic-title::before {
    content: "\f075";
    font-family: "Font Awesome 6 Free";
    color: var(--base-color) ;
    margin-right: 0.4em;
    position:relative;
    top:-1px;
    font-size: 0.8em;
    display: inline-block;
    vertical-align: middle;
}
a.bbp-reply-topic-title{
    text-decoration:none;
}

ul.bbp-replies-widget{
  padding-left:10px;  
}

.widget-box {
    padding: 10px 15px 20px;
    border: 1px solid var(--base-color) ;
    border-radius: 5px;
}

.c-widget__title,
h2.widgettitle {
    font-size: 1rem;
    position: relative;
    display: inline-block;
    padding-left: 0.8em;
}

.c-widget__title::before,
h2.widgettitle::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.45rem;
    height: 1em;
    border-left: 2px solid var(--base-color);
    margin-right: 0.4em;
    display: inline-block;
    vertical-align: middle;
}

h2.widgettitle::before {
    top: 0.35rem;
}

/* =========================
   Arkhe Tabs
========================= */
.arkb-tabBody {
    padding: 5px;
}

.arkb-tabBody p{
    font-size:1rem;
}

.arkb-tabList__button {
    font-weight: bold;
}

.arkb-tabList__button[aria-selected=true] {
    color: var(--base-color) ;
}

.arkb-tabList__button:hover {
    background: #e0fcf4;
	border-radius: 10px 10px 0 0;
}

.ark-block-tab.is-style-box > .arkb-tabList .arkb-tabList__button[aria-selected=true] {
    background-color: var(--base-color) ;
    color: #fff;
	border-radius: 10px 10px 0 0;
    position: relative;
}

.ark-block-tab.is-style-box > .arkb-tabList .arkb-tabList__button[aria-selected=true]::after {
    content: "";
    position: absolute;
    bottom: -6px;
    left: 50%;
    transform: translateX(-50%);
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid var(--base-color) ;
}

/* =========================
   Topic UI Components
========================= */
#subscription-toggle a,
#favorite-toggle a {
    text-decoration: none;
    border: 1px solid;
    margin: 5px;
    padding: 2px 10px;
    border-radius: 3px;
}

#subscription-toggle a:hover,
#favorite-toggle a:hover,
.is-favorite a,
.is-subscribed a {
    border: 1px solid;
    background: #428db9;
    color: #fff;
    padding: 2px 10px;
    border-radius: 3px;
}

#bbpress-forums .subscription-toggle{
    float: right;
    position: relative;
    top: -2px;   /* ← 上にずらす */
    right: 5px;  /* ← 右に寄せる（floatと併用注意） */
}

.link-button{
    display:flex;
    flex-direction:row-reverse;
    position:relative;
    width:100%;
   
}

.link-button .subscription-toggle{
    top: -8px!important;   /* ← 上にずらす */
}

/* =========================
   Tags
========================= */
#bbpress-forums div.bbp-topic-tags p {
    margin-top: 10px;
    font-size: 0.7rem;
}

#bbpress-forums div.bbp-topic-tags a {
    text-decoration: none;
    border: 1px solid var(--sub-color) ;
    background: var(--sub-color);
    color: #fff;
    font-weight: bold;
    padding: 0 6px;
    border-radius: 10px;
}

/* =========================
   Custom Rule Box
========================= */
.mama-rule {
    background: #fefdfc;
    display: inline-block;
    position: relative;
    text-align: center;
    min-width: 215px;
    height: 40px;
    line-height: 40px;
    border: 1px solid var(--sub-color);
    border-radius: 3px;
    padding: 0 20px;
    font-weight: 600;
    margin-right: 20px;
}

.mama-rule a {
    color: var(--sub-color);
    text-decoration: none;
}

.mama-rule:before {
    content: "";
    display: inline-block;
    border: 10px solid transparent;
    border-left-color: var(--sub-color);
    position: absolute;
    right: -20px;
    top: 50%;
    margin-top: -9px;
}

.mama-rule:after {
    content: "";
    display: inline-block;
    border: 9px solid transparent;
    border-left-color: #fefdfc;
    position: absolute;
    right: -18px;
    top: 50%;
    margin-top: -8px;
}

/* =========================
   Breadcrumbs & Utility
========================= */
.bbp-breadcrumb a {
    text-decoration: none;
    color: #818181;
}

li.bbp-forum-info {
    width: 70%;
    padding-left: 5px;
}

.bbp-submit-wrapper {
    font-size: 1.2rem;
}

.bbp-submit-wrapper button {
    padding: 5px 20px;
    border-radius: 5px;
    border: 1px solid var(--base-color) ;
    background: var(--base-color);
    color: #fff;
    font-weight: bold;
}

.bbp-submit-wrapper button:hover {
    border: 2px solid var(--base-color) ;
    background: #fff;
    color: var(--base-color) ;
    font-weight: bold;
}

/* =========================
   Post Views Styling
========================= */
.post-views {
    display: inline;
    color: #696969;
    margin-right: 10px;
}

.post-views .post-views-icon::before {
    position: relative;
    top: -2px;
}


/* =========================
   My Page
========================= */
h3.mypage{
    position: relative;
    padding-left: 1em;
    font-size: 1.1rem;
    font-weight: bold;
    margin-bottom: 1em;
    border-left: 4px solid var(--base-color) ;
    line-height: 1.4;
}
.um-points{
    margin:2e0px;
}

@media (max-width: 768px) {
    .um-profile-two-column {
        flex-direction: column;
    }
}
	
	.um-edit-button-inline {
    text-align: center;
}

.um-edit-button-inline .um-button {
    background-color: #666;
    color: #fff;
    padding: 8px 16px;
    border-radius: 6px;
    display: inline-block;
    text-decoration: none;
    font-size: 0.95rem;
}
	.my-list-scroll {
    max-height: 250px;
    overflow-y: auto;
    padding-right: 10px; /* スクロールバー分の余裕 */
    border: 1px solid #ccc;
    border-radius: 8px;
    background: #f9f9f9;
}
.my-list-scroll ul {
    list-style: disc;
    padding-left: 1.2em;
    margin: 0.5em 0;
}
.my-list-scroll li {
    margin-bottom: 8px;
    font-size: 0.95rem;
}

.my-list-scroll {
    max-height: 250px;
    overflow-y: auto;
    padding: 10px;
    background: #f9f9f9;
    border: 1px solid #ccc;
    border-radius: 8px;
}

.my-list-scroll ul {
    list-style: disc;
    padding-left: 1.2em;
    margin: 0;
}

.my-list-scroll li {
    margin-bottom: 8px;
    font-size: 0.95rem;
    line-height: 1.4;
}

/* =========================
   fixed footer
========================= */

/* 固定フッターメニューのスタイル */
.fixed-menu {
  position: fixed; /* 画面の特定位置に固定 */
  bottom: 0; /* 画面の下端に配置 */
  left: 0; /* 左端に配置 */
  width: 100%; /* 横幅を画面全体に広げる */
  z-index: 1000; /* 他の要素よりも上に表示 */
  background-color: #fdfdfd; /* 背景色 */
  box-shadow: 0 -1px 5px rgba(0, 0, 0, 0.1); /* 上方向に薄い影を追加 */
  text-align: center; /* メニュー内のコンテンツを中央揃えに */
  transition: transform 0.3s ease; /* メニューが表示・非表示になるときのアニメーション効果 */
}

.p-fixBtnWrap {
	bottom: 12%;}

/* =========================
   ログイン・新規登録
========================= */
.um-login{
    max-width:450px;
}







/* =========================
   MyASP
========================= */

.regist_form{
    font-size:1rem;
    max-width:600px;
    margin:0 auto;
}

.regist_form h2{
    font-size:1rem;
}

.regist_form input{
    height:35px;
}


form.myForm .required .my_column.my_left label:first-child:after{
font-size:0.7rem;
    }

.regist_form [type=submit]{
    background:var(--base-color) ;
    border-radius:10px;
    font-size:1rem;
    color:#fff;
}
.regist_form [type=submit]:hover{
    background:#a3bf68;
}


/* =========================
   事業者用プロフィールページ
========================= */

.mprofile-container {
  margin: 2em auto;
  padding: 2em;
  background: #fff;
  border: 1px solid #ccc;
  max-width: 800px;
}

.mprofile-header {
  display: flex;
  gap: 1.5em;
  align-items: center;
  margin-bottom: 2em;
}

.mprofile-photo img.profile-image {
  width: 150px;
  height: 150px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid #ddd;
}

.mprofile-meta {
  flex: 1;
}

.mprofile-name {
  font-size: 1.5em;
  margin: 0;
}

.mprofile-category,
.mprofile-location {
  font-size: 1em;
  color: #666;
}

.mprofile-body {
  margin-bottom: 2em;
}

.mprofile-info .mprofile-row {
  margin-bottom: 1em;
}

.mprofile-map iframe {
  width: 100%;
  height: 300px;
  border: 0;
}

.mprofile-shop-posts {
  margin-top: 3em;
}

.mprofile-shop-title {
  font-size: 1.4em;
  margin-bottom: 1em;
  border-bottom: 2px solid #ccc;
  padding-bottom: 0.5em;
}

.mprofile-shop-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  list-style: none;
  padding: 0;
  margin: 0;
}

.mprofile-shop-item {
  width: calc(33.333% - 0.67em);
  background: #f9f9f9;
  border: 1px solid #ddd;
  border-radius: 4px;
  overflow: hidden;
  text-align: center;
}

.mprofile-shop-thumb img {
  width: 100%;
  height: auto;
  display: block;
}

.mprofile-shop-name {
  padding: 0.5em;
  font-size: 0.95em;
  color: #333;
}


/* =========================
   事業者用マイページ
========================= */

/* 投稿一覧セクション */
.bizmypage-section {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
  padding: 1.5em;
  margin-top: 2em;
}

.bizmypage-title {
  font-size: 1.4em;
  font-weight: 600;
  border-left: 4px solid #f29600;
  padding-left: 0.6em;
  margin-bottom: 1.2em;
  color: #333;
}

.bizmypage-subtitle {
  font-size: 1.1em;
  font-weight: 600;
  margin-top: 1.5em;
  margin-bottom: 0.8em;
  color: #444;
  border-bottom: 1px solid #f0f0f0;
  padding-bottom: 0.4em;
}

.bizmypage-shoplist {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5em;
}

.bizmypage-shoplist li {
  padding: 0.5em 0;
  font-size: 1em;
  border-bottom: 1px solid #f4f4f4;
}

.bizmypage-shoplist a {
  color: #0073aa;
  text-decoration: none;
}

.bizmypage-shoplist a:hover {
  color: #005580;
  text-decoration: underline;
}

/* ボタン */
.bizmypage-section .button {
  background: var(--sub-color);
  color: #fff;
  padding: 0.5em 1.2em;
  border-radius: 4px;
  font-weight: 600;
  margin-bottom: 1em;
  display: inline-block;
  text-decoration: none;
  transition: background 0.2s;
}

.bizmypage-section .button:hover {
  background: #e18700;
}

/* プロフィールカード */
.um-profile-card {
  border: 1px solid #eee;
  border-radius: 8px;
  padding: 1.5em;
  background: #fcfcfc;
  margin-top: 2em;
  display: flex;
  align-items: center;
  gap: 1.5em;
}

.um-profile-card .um-profile-photo img {
  border-radius: 50%;
  border: 1px solid #ddd;
  width: 90px;
  height: 90px;
  object-fit: cover;
}

.um-profile-card .um-profile-meta h3 {
  margin: 0;
  font-size: 1.3em;
  font-weight: 600;
  color: #222;
}

.um-profile-card .um-profile-meta p {
  margin: 0.4em 0 0;
  font-size: 0.95em;
  color: #555;
}

/* ウェルカムブロック */
.bizmypage-welcome {
  background: #fef9f5;
  border-left: 5px solid #f29600;
  padding: 1.5em;
  margin-bottom: 2em;
  border-radius: 8px;
}

.bizmypage-welcome h2 {
  font-size: 1.5em;
  font-weight: 600;
  margin-bottom: 0.6em;
  color: #333;
}

.bizmypage-welcome p {
  font-weight: 600;
  margin-bottom: 0.5em;
  color: #555;
}

.bizmypage-welcome ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.bizmypage-welcome li {
  padding-left: 1.4em;
  position: relative;
  margin-bottom: 0.4em;
  font-size: 0.95em;
  color: #444;
}

.bizmypage-welcome li::before {
  content: "📌";
  position: absolute;
  left: 0;
  top: 0;
  color: #f29600;
}

/*プロフィールブロック*/

.mypage-profile-container {
  padding: 1.5em 0 0;
  background: none;
  box-shadow: none;
  border: none;
  border-radius: 0;
  margin: 0;
}

.mypage-profile-header {
  display: flex;
  align-items: center;
  gap: 1.5em;
  margin-bottom: 1.5em;
}

.mypage-profile-photo img.mypage-profile-image {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid #ccc;
}

.mypage-profile-meta {
  flex: 1;
}

.mypage-profile-name {
  font-size: 1.4em;
  font-weight: 600;
  margin: 0;
  color: #333;
}

.mypage-profile-category,
.mypage-profile-location {
  font-size: 0.95em;
  color: #666;
  margin-top: 0.3em;
}

.mypage-profile-body {
  margin: 1em 0;
  line-height: 1.7;
  color: #444;
}

.mypage-profile-map {
  margin-bottom: 1.5em;
}

.mypage-profile-info {
  border-top: 1px solid #eee;
  padding-top: 1.2em;
  margin-top: 1.5em;
}

.mypage-profile-row {
  margin-bottom: 0.7em;
  font-size: 0.95em;
}

.mypage-profile-row strong {
  color: #222;
  margin-right: 0.5em;
}

.mypage-profile-row a {
  color: #0073aa;
  text-decoration: none;
}

.mypage-profile-row a:hover {
  text-decoration: underline;
  color: #005580;
}


/* =========================
   shopページ
========================= */

/* ギャラリー周り */
.shop-gallery {
  margin-bottom: 2em;
}
.shop-gallery .swiper {
  width: 100%;
  max-width: 720px;
  margin: 0 auto 1em;
}
.shop-gallery .swiper-slide img {
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 6px;
}
.swiper-button-prev,
.swiper-button-next {
  color: #555;
}
.swiper-pagination-bullet {
  background: #ccc;
}
.swiper-pagination-bullet-active {
  background: #0073aa;
}

/* === ショップ情報ボックス === */
.shop-price,
.shop-date,
.shop-location,
.shop-stock {
  display: flex;
  align-items: flex-start;
  gap: 1em;
  font-size: 16px;
  line-height: 1.8;
  padding: 0.6em 0;
  border-bottom: 1px solid #eee;
}

.shop-price strong,
.shop-date strong,
.shop-location strong,
.shop-stock strong {
  min-width: 6em;
  font-weight: bold;
  color: #222;
}

/* 注意事項 */
.shop-notice {
  margin-top: 1.5em;
  background: #fffbea;
  border-left: 4px solid #f1c40f;
  padding: 1em;
  border-radius: 6px;
  color: #555;
  font-size: 15px;
  line-height: 1.6;
}

/* ボタン */
.shop-button {
  margin-top: 2em;
  text-align: center;
}
.shop-button .btn {
  display: inline-block;
  padding: 0.8em 2em;
  background: #0073aa;
  color: #fff;
  border-radius: 5px;
  font-weight: bold;
  text-decoration: none;
  transition: background 0.3s;
}
.shop-button .btn:hover {
  background: #005e8a;
}


/* サービス提供者セクション全体 */
.shop-provider-container {
  background-color: #f9f9f9; /* やさしいグレー背景 */
  border-radius: 8px;
  padding: 1.5em;
  margin-top: 2em;
  border: 1px solid #ddd;
}

/* セクションタイトル */
.shop-provider-container h2 {
  font-size: 1.3em;
  font-weight: 600;
  color: #444;
  margin-bottom: 1em;
  border-left: 4px solid #8bc34a;
  padding-left: 0.5em;
}

/* 名前の見出し（例：美腸コーチ：ゆき） */
.mypage-profile-name {
  font-size: 1.1em;
  font-weight: 600;
  margin-bottom: 0.2em;
}

/* カテゴリ（例：ウェルネス） */
.mypage-profile-category {
  font-size: 0.9em;
  color: #666;
  margin-bottom: 0.5em;
}

/* 本文・紹介文 */
.mypage-profile-body {
  font-size: 0.95em;
  line-height: 1.8;
  color: #333;
  margin-bottom: 1em;
}

/* 情報リスト（Webサイトなど） */
.mypage-profile-info p {
  font-size: 0.9em;
  margin: 0.4em 0;
}

/* 画像調整 */
.mypage-profile-image {
  border-radius: 50%;
  max-width: 100px;
  height: auto;
}



/* =========================
   スマホ用デザイン
========================= */
/* スマホ（768px以下）のフォントサイズ調整 */
@media screen and (max-width: 768px) {
  h1 { font-size: 1.2em; }
  h2 { font-size: 1.1em; }
  h3 { font-size: 1.1em; }
  h4 { font-size: 1em; }
  h5 { font-size: 1em; }
  h6 { font-size: 0.95em; }
	
.bbp-login-form label{
    width:200px;	
	}
	
	
	
	


}


