/*
Theme Name: one-standcross_220926
Version: 2.0.1

*/

@charset "UTF-8";



/* ===== 2026-10-23 カスタマイザー追加CSSをここへ移設（インライン出力の削減） ===== */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');
/* === 広告ページ 美容セクション === */
.md-beauty-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;list-style:none;margin:30px 0 24px;padding:0;}
.md-beauty-grid li{margin:0;}
.md-beauty-grid a{display:block;border-radius:10px;overflow:hidden;border:1px solid #e7e4f4;box-shadow:0 6px 18px rgba(90,80,160,.10);transition:.3s;background:#fff;}
.md-beauty-grid a:hover{transform:translateY(-4px);box-shadow:0 12px 26px rgba(90,80,160,.18);}
.md-beauty-grid img{width:100%;height:auto;display:block;}
.md-beauty-text{font-size:14px;line-height:2.1;}
@media(max-width:820px){.md-beauty-grid{grid-template-columns:repeat(2,1fr);gap:10px;}}
.md-beauty-sec{padding:90px 6vw !important;box-sizing:border-box !important;}
@media(max-width:820px){.md-beauty-sec{padding:60px 6vw !important;}}
/* 広告ページ全体の統一（グレー背景・左右寄せ解消） */
body.page-id-28 section.bg_gray_right,body.page-id-28 section.bg_gray_left{
background:radial-gradient(1100px 560px at 10% 6%,rgba(112,150,235,.08),transparent 60%),radial-gradient(1000px 560px at 90% 94%,rgba(150,112,235,.10),transparent 60%),#f6f6fb !important;
width:100% !important;max-width:none !important;margin:0 !important;
padding:90px 6vw !important;box-sizing:border-box !important;float:none !important;}
body.page-id-28 section.bg_gray_right>*,body.page-id-28 section.bg_gray_left>*{margin-left:0 !important;}
@media(max-width:820px){body.page-id-28 section.bg_gray_right,body.page-id-28 section.bg_gray_left{padding:60px 6vw !important;}}
/* 作例画像の全表示＋カード統一 */
body.page-id-28 ul.advertis_sample li .advertis_sample_photo{height:auto !important;max-height:none !important;overflow:visible !important;}

body.page-id-28 .advertis_sample li{height:auto !important;margin-bottom:32px !important;}
body.page-id-28 .advertis_sample li img{width:100% !important;height:auto !important;display:block;border-radius:10px;border:1px solid #e7e4f4;box-shadow:0 6px 18px rgba(90,80,160,.10);background:#fff;}
/* END 広告ページ 美容セクション */
/* === 料金ページ 人物レタッチ新プラン === */
.md-badge{display:inline-block;font-size:11px;font-weight:600;color:#5a4fa8;background:#f3f1fb;border:1px solid #e2dcf5;border-radius:999px;padding:3px 12px;margin-left:12px;vertical-align:middle;letter-spacing:.02em;}
.md-kv-price{margin:6px 0 14px !important;}
.md-kv-price strong{font-size:30px;font-weight:700;background:linear-gradient(120deg,#3d9be0,#7b5bd6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.md-kv-price span{font-size:12.5px;color:#7d86a8;margin-left:10px;}
.md-kv-bt a{background:linear-gradient(120deg,#3d9be0,#7b5bd6) !important;color:#fff !important;border:none !important;}
.md-optli{width:100% !important;}
.md-options{background:rgba(253,252,255,.92);border:1px solid #e7e4f4;border-radius:14px;padding:26px 28px;}
.md-options h4{font-size:15px;font-weight:700;color:#1f2430;margin:0 0 14px;}
.md-options h4 span{font-size:11px;font-weight:500;color:#8a90ab;margin-left:10px;}
.md-opt-row{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px dashed #e2dcf5;padding:10px 2px;font-size:13.5px;color:#333c4c;}
.md-opt-row:last-of-type{border-bottom:none;}
.md-opt-row small{font-size:11.5px;color:#8a90ab;font-weight:400;}
.md-opt-price{font-weight:700;color:#5a4fa8;white-space:nowrap;margin-left:16px;}
.md-opt-note{font-size:11.5px;color:#8a90ab;margin:10px 0 0;}
.md-set{margin-top:18px;background:#fff;border:1.4px solid #d9d2f2;border-radius:12px;padding:20px 22px;box-shadow:0 4px 14px rgba(90,80,160,.06);}
.md-set-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:14px;}
.md-set-label{font-size:11px;font-weight:600;letter-spacing:.1em;background:linear-gradient(120deg,#3d9be0,#7b5bd6);color:#fff;border-radius:6px;padding:5px 10px;flex-shrink:0;margin-top:2px;}
.md-set-name{font-size:16px;font-weight:700;color:#1f2430;}
.md-set-sub{font-size:12px;color:#7d86a8;margin-top:3px;line-height:1.7;}
@media(max-width:820px){.md-badge{display:block;width:fit-content;margin:8px 0 0;}.md-options{padding:20px;}}
html body #wrapper .item_list_bt li, html body .item_list_bt li{background:transparent !important;box-shadow:none !important;border:none !important;}
html body #wrapper .item_list_bt li a, html body .item_list_bt li a{display:flex !important;flex-direction:column;justify-content:center;align-items:center;height:100%;box-sizing:border-box;padding:12px 10px !important;background:#fff !important;color:#5a4fa8 !important;border:1.4px solid #d9d2f2 !important;border-radius:12px !important;text-decoration:none !important;box-shadow:0 3px 10px rgba(90,80,160,.07) !important;transition:.3s !important;line-height:1.5 !important;}
html body #wrapper .item_list_bt li a:hover, html body .item_list_bt li a:hover{background:linear-gradient(120deg,#3d9be0,#7b5bd6) !important;color:#fff !important;border-color:transparent !important;}
html body .item_list_bt li.md-kv-bt a{background:linear-gradient(120deg,#3d9be0,#7b5bd6) !important;color:#fff !important;border:none !important;}
html body .item_list_bt li.md-kv-bt a:hover{opacity:.88;}
html body #wrapper .item_list_bt li.md-kv-bt a, html body .item_list_bt li.md-kv-bt a{background:linear-gradient(120deg,#3d9be0,#7b5bd6) !important;color:#fff !important;border-color:transparent !important;}
.md-set ul.item_list_bt{display:flex !important;gap:14px;flex-wrap:wrap;margin:0 !important;}
.md-set ul.item_list_bt li{width:calc(50% - 7px) !important;margin:0 !important;height:auto !important;}
@media(max-width:820px){.md-set ul.item_list_bt li{width:100% !important;}}
/* END 料金ページ 人物レタッチ新プラン */
/* === 全ページブランド統一（TOPベース） === */
section.bg_black,section.bg_black_plane{background:radial-gradient(1100px 560px at 10% 6%,rgba(112,150,235,.10),transparent 60%),radial-gradient(1000px 560px at 90% 94%,rgba(150,112,235,.12),transparent 60%),#f6f6fb !important;}
section.bg_black .contents_heading_white,section.bg_black_plane .contents_heading_white,section.bg_black .service_sample_title,section.bg_black .contents_heading_line_white,section.bg_black_plane .contents_heading_line_white{color:#1f2430 !important;border-color:#1f2430 !important;}
section.bg_black .contents_heading_sub_white,section.bg_black_plane .contents_heading_sub_white{color:#7d86a8 !important;}
section.bg_black .service_sample_text,section.bg_black p,section.bg_black_plane p,section.bg_black dt,section.bg_black dd{color:#454f63 !important;}
section.bg_black .service_sample_title{border-color:#c9c2e8 !important;}
.strengths_top,.sub_heading_blue{background:linear-gradient(120deg,#3d9be0,#7b5bd6) !important;}
.strengths_top{border-radius:12px 12px 0 0 !important;}
.strengths_bottom{background:#fff !important;border:1px solid #e7e4f4 !important;border-top:none !important;border-radius:0 0 12px 12px !important;box-shadow:0 6px 18px rgba(90,80,160,.08) !important;}
.strengths_bottom,.strengths_bottom p,.strengths_bottom div,section.bg_black .strengths_bottom p{color:#454f63 !important;}
a.bt_ani.btn-flat{background:linear-gradient(120deg,#3d9be0,#7b5bd6) !important;color:#fff !important;}
a.bt_ani.btn-flat:hover{color:#fff !important;opacity:.88;}
/* END 全ページブランド統一 */
/* === 軽量画像への差し替え（表示速度改善） === */
body.home .index_service_list a.index_service_item:nth-of-type(1){background-image:url('/wp-content/uploads/2026/08/card-retouch-optimized.jpg') !important;}
body.home .index_service_list a.index_service_item:nth-of-type(2){background-image:url('/wp-content/uploads/2026/08/card-creative-optimized.jpg') !important;}
/* END 軽量画像への差し替え */
/* === レタッチ事例 モバイル写真拡大 === */
@media(max-width:820px){
body.page-id-34 .bg_black ul{max-width:100% !important;width:100% !important;margin-left:0 !important;margin-right:0 !important;}
body.page-id-34 .bg_black ul li{max-width:none !important;width:100% !important;}
body.page-id-34 .bg_black .twentytwenty-wrapper,body.page-id-34 .bg_black .service_sample_photo{max-width:none !important;width:100% !important;}
body.page-id-34 .service_sample_title,body.page-id-34 .service_sample_text{padding-left:6vw !important;padding-right:6vw !important;box-sizing:border-box !important;}
}
/* END レタッチ事例 モバイル写真拡大 */

/* === 価値を高めるセクション（ロゴグラデ全開） === */
body.home section.bg_dark{background:linear-gradient(120deg,#b7dcf2,#cfc2ec) !important;}
body.home .index_about{background:rgba(253,252,255,.88) !important;border-radius:14px;box-shadow:0 8px 32px rgba(120,110,180,.10);}
body.home .index_about img{filter:none !important;}
body.home .index_about .index_about_logo{filter:none !important;}
body.home .index_about .index_about_title{color:#1a1e26 !important;}
body.home .index_about p{color:#333c4c !important;}
/* END 価値を高めるセクション */

/* === ローディング残留対策（タップ吸い込み修正） === */
#loading.loaded{opacity:0 !important;visibility:hidden !important;pointer-events:none !important;}
#mobile_logo{pointer-events:none !important;}
#mobile_logo a{pointer-events:auto !important;}
/* END ローディング残留対策 */



/* === お客様の声ボタン中央寄せ === */
.md-voice-sec .bt_cover{display:flex !important;justify-content:center !important;margin-top:52px !important;}
/* END 声ボタン中央 */

/* === フッター余白・フロー数字・モバイルバー調整 === */
#footer_inner,#footer_bottom_nav{padding-left:6vw !important;padding-right:6vw !important;box-sizing:border-box !important;}
@media(max-width:820px){
.flow_number_bottom{font-size:32px !important;}
.flow_title{font-size:21px !important;}
/* モバイル固定バーの配色は末尾「スマホ下部の固定バー」で指定 */
}
/* END フッター余白・フロー数字・モバイルバー調整 */

/* === 見出しサイズ調整（お問い合わせの流れ等の白見出し） === */
.contents_heading_white{font-size:clamp(24px,3.2vw,36px) !important;font-weight:700 !important;letter-spacing:.04em !important;line-height:1.5 !important;}
@media(max-width:820px){.contents_heading_white{font-size:22px !important;}}
/* END 見出しサイズ調整 */

/* === 料金ページ洗練 === */
#main_bottom_black{background:#fff !important;color:#54607a !important;border:1px solid #e6eaf1 !important;border-radius:16px !important;max-width:960px !important;margin:0 auto !important;padding:26px 30px !important;box-sizing:border-box !important;}
#main_bottom_black p{color:#54607a !important;font-size:13.5px !important;line-height:1.9 !important;}
body #wrapper .quick-nav a, body .quick-nav a{border-radius:999px !important;border:1.4px solid #d9d2f2 !important;background:#fff !important;color:#5a4fa8 !important;font-weight:600 !important;transition:all .2s ease !important;}
body #wrapper .quick-nav a:hover, body .quick-nav a:hover{background:linear-gradient(120deg,#3d9be0,#a83fb0) !important;color:#fff !important;border-color:transparent !important;}
@media(max-width:820px){.shop-hero-note{margin-left:16px !important;margin-right:16px !important;}.shop-cta-band{margin-left:16px !important;margin-right:16px !important;}#main_bottom_black{margin-left:16px !important;margin-right:16px !important;}}
/* END 料金ページ洗練 */

/* === ブログサイドバー モバイル整形 === */
@media(max-width:820px){
#blog_side{float:none !important;width:100% !important;max-width:460px;margin:48px auto 0 !important;padding:0 22px !important;box-sizing:border-box !important;list-style:none !important;}
#blog_side .blog_side_banner .banner_image,#blog_side .blog_side_banner a.banner_image{height:auto !important;}
#blog_side .blog_side_banner .banner_image img{width:100% !important;height:auto !important;object-fit:contain !important;display:block !important;}
#blog_side ul.category_name li a,#blog_side ul.monthly_article li a{display:block !important;padding:10px 2px !important;border-bottom:1px solid #e6eaf1 !important;text-decoration:none !important;}
#blog_side h3.blog_side_title{margin:2.2em 0 .8em !important;}
}
/* END ブログサイドバー */
/* === ヒーロー洗練（薄紫白トーン＋人物1枚） === */
.bg_gray{background:radial-gradient(900px 420px at 85% 0%,rgba(123,91,214,.07),transparent),radial-gradient(760px 400px at 0% 8%,rgba(61,155,224,.06),transparent),#f7f8fc !important;}
#hero{background:radial-gradient(1000px 480px at 85% -8%,rgba(123,91,214,.10),transparent),radial-gradient(820px 440px at 0% 6%,rgba(61,155,224,.08),transparent),#f7f8fc !important;position:relative !important;overflow:hidden !important;}
#hero-grid{display:none !important;}
#hero-overlay{display:none !important;}
#hero::after{content:"" !important;position:absolute !important;top:0;right:0;bottom:0;width:56% !important;background:url('https://one-standcross.com/wp-content/uploads/2026/04/hero-retouch-portrait.jpg') center 22%/cover no-repeat !important;-webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.35) 26%,#000 62%) !important;mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.35) 26%,#000 62%) !important;z-index:1 !important;pointer-events:none;}
#hero-content{position:relative !important;z-index:3 !important;}
#hero-content h1{color:#1a1e26 !important;}
#hero-content > div:first-of-type{color:#8a5cd0 !important;}
#hero-content p{color:#54607a !important;}
#hero .hero-btn-primary{background:linear-gradient(135deg,#3d9be0,#8a4fd0 55%,#a83fb0) !important;box-shadow:0 10px 24px rgba(120,90,210,.26) !important;border-radius:999px !important;color:#fff !important;}
#hero-service-bar{background:transparent !important;padding:8px 0 14px !important;gap:20px !important;position:relative !important;z-index:3 !important;}
#hero-service-bar .hero-service-item{background:#fff !important;border:1px solid #e7e9f2 !important;border-radius:16px !important;box-shadow:0 10px 26px rgba(60,70,120,.08) !important;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;}
#hero-service-bar .hero-service-item:hover{box-shadow:0 14px 32px rgba(90,80,190,.16) !important;border-color:#d9d2f2 !important;transform:translateY(-2px);}
#hero-service-bar .hero-service-name{color:#1a1e26 !important;}
#hero-service-bar .hero-service-desc{color:#7a8496 !important;}
#hero-service-bar .hero-service-arrow{color:#a9a2c8 !important;}
@media(max-width:820px){#hero::after{left:0 !important;right:auto !important;top:0 !important;bottom:auto !important;width:100% !important;height:auto !important;aspect-ratio:1/1 !important;transform:none !important;background-position:74% center !important;background-size:cover !important;background-repeat:no-repeat !important;-webkit-mask-image:linear-gradient(to bottom,#000 82%,transparent 100%) !important;mask-image:linear-gradient(to bottom,#000 82%,transparent 100%) !important;}#hero-overlay{display:none !important;}#hero-content{padding-top:calc(100vw + 8px) !important;text-align:center !important;}#hero-content .hero-cta-wrap{display:flex !important;justify-content:center !important;}#hero-content .hero-btn-primary{margin-left:auto !important;margin-right:auto !important;}}
/* END ヒーロー洗練 */


/* === ブランド統一 v1（ロゴに寄せる：フォント/字間/軽量化/角丸） === */
body,button,input,select,textarea,h1,h2,h3,h4,.contents_heading,.contents_heading_sub,#g_nav a{font-family:'Poppins','Hiragino Kaku Gothic ProN','Yu Gothic','Yu Gothic Medium',Meiryo,-apple-system,system-ui,sans-serif !important;}
.contents_heading_sub{letter-spacing:.14em !important;font-weight:500 !important;}
.contents_heading{font-weight:600 !important;letter-spacing:.03em;}
#g_nav a,#nav a,nav a{letter-spacing:.05em;}
.cta-button,.bt_ani,.btn-flat,button,input[type="submit"]{border-radius:999px !important;}
/* END ブランド統一 */

/* === ヘッダー洗練（ナビ軽量化・CTAアウトライン） === */
header nav a,header .drawer-nav a{font-size:15px !important;font-weight:500 !important;letter-spacing:.05em;color:#2a2a2a;transition:color .2s ease;}
header nav a:hover,header .drawer-nav a:hover{color:#7b5bd6;}
header .cta-button{position:relative;top:-2px;background-color:#fff !important;background-image:linear-gradient(#fff,#fff),linear-gradient(135deg,#3d9be0,#a83fb0) !important;background-origin:border-box !important;-webkit-background-clip:padding-box,border-box !important;background-clip:padding-box,border-box !important;border:1.6px solid transparent !important;color:#7a4fce !important;box-shadow:none !important;font-size:12.5px !important;font-weight:600 !important;letter-spacing:.08em !important;padding:11px 24px !important;transition:color .2s ease,box-shadow .2s ease,background-image .2s ease;}
header .cta-button span{color:#7a4fce !important;transition:color .2s ease;}
header .cta-button:hover{background-image:linear-gradient(135deg,#3d9be0,#a83fb0),linear-gradient(135deg,#3d9be0,#a83fb0) !important;color:#fff !important;box-shadow:0 6px 16px rgba(120,90,210,.26) !important;}
header .cta-button:hover span{color:#fff !important;}
header .cta-button img{display:none !important;}
/* END ヘッダー洗練 */


/* === ブログ本文の可読性改善 (行間・段落余白) === */
#blog_contents #text p{line-height:1.95 !important;margin-bottom:1.6em !important;}
#blog_contents #text li{line-height:1.9 !important;margin-bottom:.6em !important;}
#blog_contents #text ul,#blog_contents #text ol{margin-bottom:1.6em !important;}
#blog_contents #text h2{margin-top:2.2em !important;margin-bottom:.8em !important;}
#blog_contents #text h3{margin-top:1.6em !important;margin-bottom:.6em !important;}
#blog_contents #text table{margin:1.2em 0 2em !important;}

#main_bottom_o {

    max-width: 1200px;
    margin: 100px auto;
    padding: 50px;
    background: #EAEAEA;
    box-sizing: border-box;
}
#wpmem_login,
#wpmem_reg {width: 100% !important;}

#wpmem_login label,
#wpmem_reg label{text-align: left !important;}

#wpmem_msg, .wpmem_msg {
    width: 100% !important;
}

.o_login_form button {
  display: block;
  cursor: pointer;
        background-color: transparent;
        border: none;
        cursor: pointer;
        outline: none;
        padding: 0;
        appearance: none;
    margin: 0 auto;
    color: blue;
    font-size: 120%;
}
.o_login_form_in {
width: 100%;
}
#main_bottom_o .login_status {
  text-align: center;
}

#main_bottom_o .login_status a {
  display: inline-block;
  margin-top: 5px;
}


/* 入力欄やファイルボタンがはみ出さないように */
.table_contact td input,
.table_contact td textarea,
.table_contact td select,
.table_contact td .wpcf7-form-control {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* 添付ファイルボタンが長すぎるのを防止 */
input[type="file"] {
  width: 100%;
  max-width: 100%;
}

/* モバイル用の行間調整 */
@media (max-width: 768px) {
  .table_contact td {
    padding: 10px 0;
  }
  .table_contact td > * {
    margin-top: 8px;
    margin-bottom: 8px;
  }
}
@keyframes pulse {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.05); }
  100% { transform: scale(1); }
}

@keyframes shine {
  0%   { left: -75%; }
  100% { left: 125%; }
}

.cta-button {
  position: relative;
  overflow: hidden;
  animation: pulse 1.5s ease-in-out infinite;
  transition: transform 0.3s ease;
}

.cta-button::before {
  content: '';
  position: absolute;
  top: 0; left: -75%;
  width: 50%; height: 100%;
  background: linear-gradient(120deg, rgba(255,255,255,0.3), rgba(255,255,255,0));
  transform: skewX(-25deg);
  animation: shine 2.5s infinite;
}
.nav-menu li .dropdown {
/* ポスター専用レイアウト */
.advertis_sample_photo.poster {
  aspect-ratio: 210 / 297;   /* A判縦比率 */
  background: #f5f5f5;
  overflow: hidden;
  display: block;
}


}/* close-dangling-fix */
/* === 見出しサイズ全体調整 2026-08 === */
.contents_heading{font-size:34px !important;letter-spacing:.04em;}
.contents_heading_sub{font-size:12px !important;letter-spacing:.2em;}
.sub_heading{font-size:19px !important;}
h1#page_title{font-size:28px !important;}
.hero-grid-cell h1{font-size:36px !important;}
@media(max-width:768px){
.contents_heading{font-size:25px !important;}
.contents_heading_sub{font-size:11px !important;}
.sub_heading{font-size:16px !important;}
h1#page_title{font-size:23px !important;}
.hero-grid-cell h1{font-size:27px !important;}
}


/* === 冒頭囲い＆strengthsカード刷新 2026-08 === */
#main_bottom_black{border:1px solid #e7e4f4 !important;border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(90,80,160,.06);padding:32px 34px 34px !important;margin-bottom:56px !important;line-height:2.05 !important;color:#454f63;}
.strengths_top{background:#fff !important;background-image:none !important;border:1px solid #e7e4f4;border-bottom:none;border-radius:14px 14px 0 0 !important;padding:30px 20px 0 !important;position:relative;overflow:hidden;}
.strengths_top::after{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(120deg,#3d9be0,#7b5bd6);}
.strengths_top img{display:none !important;}
.strengths_title{color:#1f2430 !important;font-size:16.5px !important;font-weight:700 !important;letter-spacing:.02em;}
.strengths_title::before{background:linear-gradient(120deg,#3d9be0,#7b5bd6) !important;}
.strengths_bottom{background:#fff !important;border:1px solid #e7e4f4 !important;border-top:none !important;border-radius:0 0 14px 14px !important;padding:14px 22px 28px !important;color:#454f63 !important;font-size:13px !important;line-height:2.05 !important;box-shadow:0 12px 22px -10px rgba(90,80,160,.15) !important;}


/* === 冒頭囲い 案B構成 === */
#main_bottom_black{text-align:center;}
#main_bottom_black .intro-en{font-family:'Poppins',sans-serif;font-size:10.5px;letter-spacing:.22em;color:#8a7fc9;font-weight:600;margin-bottom:10px;}
#main_bottom_black .intro-title{font-size:19px;color:#1f2430;font-weight:700;line-height:1.8;margin-bottom:14px;}
#main_bottom_black p{font-size:13.5px;line-height:2.1;color:#454f63;}
#main_bottom_black .intro-badges{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:20px;}
#main_bottom_black .intro-badges span{font-size:12px;color:#5a4fa8;background:#f3f1fb;border:1px solid #e2dcf5;border-radius:999px;padding:7px 18px;font-weight:600;}
@media(max-width:768px){#main_bottom_black .intro-title{font-size:16.5px;}}

/* ===== 会員ページ デザイン統一 ここから ===== */
#main_bottom_o{
  max-width:720px !important;
  margin:0 auto 110px !important;
  padding:44px 46px !important;
  background:#fff !important;
  border:1px solid #e6eaf1 !important;
  border-radius:16px !important;
  box-shadow:0 2px 14px rgba(31,36,48,.05) !important;
  box-sizing:border-box !important;
}
#main_bottom_o fieldset{border:0;padding:0;margin:0;}
#main_bottom_o #wpmem_login::before{
  content:"MEMBER";
  display:block;text-align:center;
  font-family:'Poppins',sans-serif;font-size:10.5px;letter-spacing:.22em;
  color:#8a7fc9;font-weight:600;margin-bottom:10px;
}
#main_bottom_o legend{
  display:block;width:100%;float:none;
  font-size:19px;font-weight:700;color:#1f2430;
  text-align:center;line-height:1.7;margin:0 0 26px;padding:0;
}
#main_bottom_o .div_text{margin-bottom:18px;}
#main_bottom_o label{
  display:block;font-size:12.5px;font-weight:600;color:#54607a;
  margin:0 0 6px;text-align:left !important;
}
#main_bottom_o input[type="text"],
#main_bottom_o input[type="email"],
#main_bottom_o input[type="password"]{
  width:100% !important;box-sizing:border-box;
  background:#fff;border:1px solid #dfe4ee;border-radius:10px;
  padding:12px 14px;font-size:14px;color:#1f2430;
  transition:border-color .2s, box-shadow .2s;
}
#main_bottom_o input[type="text"]:focus,
#main_bottom_o input[type="password"]:focus{
  outline:none;border-color:#8a7fc9;box-shadow:0 0 0 3px rgba(138,127,201,.15);
}
#main_bottom_o #wpmem_login_form fieldset > p{
  text-align:left;margin:0 0 6px;font-size:12.5px;line-height:1.7;color:#54607a;
}
#main_bottom_o #wpmem_login_form fieldset > p img{display:block;margin:6px 0 8px;}
#main_bottom_o #wpmem_login_form fieldset > p label{
  display:block;font-weight:500;font-size:12.5px;margin:0;
}
#main_bottom_o #siteguard_captcha{display:block;max-width:220px;margin:0 0 4px;}
#main_bottom_o .button_div{
  display:flex;align-items:center;justify-content:flex-end;
  gap:12px;flex-wrap:wrap;margin-top:28px;
}
#main_bottom_o .button_div label{
  display:inline-block;margin:0;font-weight:500;font-size:12.5px;color:#54607a;
}
#main_bottom_o input.buttons{
  display:inline-block;cursor:pointer;
  background-image:linear-gradient(90deg,#29A7E0 0%,#92308E 100%);
  background-color:transparent;border:0;color:#fff;
  font-size:14px;font-weight:600;letter-spacing:.04em;
  padding:13px 46px;border-radius:999px;
  box-shadow:0 4px 14px rgba(146,48,142,.22);
  transition:opacity .2s, transform .2s;
}
#main_bottom_o input.buttons:hover{opacity:.88;transform:translateY(-1px);}
#main_bottom_o .link-text{
  text-align:right;margin-top:12px;font-size:12.5px;color:#54607a;
}
#main_bottom_o .link-text a{
  color:#5a4fa8;text-decoration:none;
  border-bottom:1px solid #e2dcf5;padding-bottom:1px;
}
#main_bottom_o .link-text a:hover{border-bottom-color:#5a4fa8;}
#main_bottom_o p{font-size:13.5px;line-height:2;color:#54607a;text-align:center;}
#main_bottom_o > a{color:#5a4fa8;}
@media(max-width:768px){
  #main_bottom_o{margin:0 16px 70px !important;padding:28px 20px !important;}
  #main_bottom_o legend{font-size:16.5px;margin-bottom:20px;}
  #main_bottom_o .button_div{justify-content:center;}
  #main_bottom_o .link-text{text-align:center;}
  #main_bottom_o input.buttons{width:100%;padding:13px 20px;}
}
#main_bottom_o .login_status{
  text-align:center;font-size:14px;line-height:2;color:#54607a;margin:0;
}
#main_bottom_o .login_status::before{
  content:"MEMBER";
  display:block;font-family:'Poppins',sans-serif;font-size:10.5px;letter-spacing:.22em;
  color:#8a7fc9;font-weight:600;margin-bottom:12px;
}
#main_bottom_o .login_status a{
  display:inline-block;margin-top:14px;
  color:#5a4fa8;text-decoration:none;
  border:1px solid #d9d3f0;border-radius:999px;
  padding:9px 28px;font-size:12.5px;font-weight:600;
  transition:background .2s,border-color .2s;
}
#main_bottom_o .login_status a:hover{background:#f3f1fb;border-color:#b7abe6;}
#main_bottom_o .wp-block-paragraph:empty{display:none;margin:0;}
/* ===== 会員ページ デザイン統一 ここまで ===== */

/* ===== ページタイトル デザイン統一 ここから ===== */
#page_main, #page_main_bottomless, #page_main_short{background:transparent !important;}
#page_title{
  background:transparent !important;background-image:none !important;
  color:#1f2430 !important;
  padding:0 !important;
  margin:170px auto 0 !important;
  font-size:32px !important;font-weight:600 !important;letter-spacing:.06em !important;
  line-height:1.5 !important;text-align:center !important;
}
#page_title::after{
  content:"";display:block;width:64px;height:4px;border-radius:999px;margin:18px auto 0;
  background:linear-gradient(90deg,#29A7E0 0%,#92308E 100%);
}
#page_main_bottomless #page_title,
#page_main_short #page_title{margin-bottom:110px !important;}
@media(max-width:768px){
  #page_title{font-size:23px !important;margin:120px auto 0 !important;}
  #page_title::after{width:48px;height:3px;margin-top:14px;}
  #page_main_bottomless #page_title,
  #page_main_short #page_title{margin-bottom:70px !important;}
}
/* ===== ページタイトル デザイン統一 ここまで ===== */

/* ===== 私たちについて（ABOUT）ここから ===== */
.md-about-sec{padding:0 24px;margin:0 auto 96px;}
.md-about-inner{max-width:960px;margin:0 auto;}
.md-about-en{font-family:'Poppins',sans-serif;font-size:10.5px;letter-spacing:.22em;color:#8a7fc9;font-weight:600;text-align:center;margin:0 0 10px;}
.md-about-h2{font-size:22px;font-weight:700;color:#1f2430;text-align:center;line-height:1.7;margin:0 0 36px;letter-spacing:.02em;}
.md-about-h3{font-size:18px;font-weight:700;color:#1f2430;text-align:center;line-height:1.7;margin:0 0 28px;}
.md-stats{display:flex;flex-wrap:wrap;gap:16px;list-style:none;margin:0;padding:0;}
.md-stat{flex:1 1 calc(25% - 12px);min-width:180px;background:#fff;border:1px solid #e6eaf1;border-radius:16px;padding:28px 16px;text-align:center;box-shadow:0 2px 14px rgba(31,36,48,.04);}
.md-stat-num{display:block;font-family:'Poppins',sans-serif;font-size:34px;font-weight:700;line-height:1.2;letter-spacing:-.01em;background:linear-gradient(90deg,#29A7E0 0%,#92308E 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#5a4fa8;}
.md-stat-num small{font-size:15px;font-weight:600;margin-left:2px;}
.md-stat-label{display:block;margin-top:12px;font-size:12.5px;line-height:1.8;color:#54607a;font-weight:600;}
.md-stats-note{margin:18px 0 0;font-size:11.5px;line-height:1.9;color:#8b93a6;text-align:center;}
.md-msg{background:#fff;border:1px solid #e6eaf1;border-radius:16px;padding:44px 48px;box-shadow:0 2px 14px rgba(31,36,48,.04);}
.md-msg-body p{font-size:14px;line-height:2.15;color:#54607a;margin:0 0 18px;text-align:left;}
.md-msg-body p:last-child{margin-bottom:0;}
.md-msg-sign{margin:30px 0 0;padding-top:22px;border-top:1px solid #eef1f6;text-align:right;line-height:1.8;}
.md-msg-sign span{display:block;font-size:11.5px;color:#8b93a6;letter-spacing:.04em;}
.md-msg-sign strong{font-size:17px;color:#1f2430;font-weight:700;letter-spacing:.08em;}
.md-team{margin-top:28px;background:#f7f8fb;border-radius:16px;padding:38px 40px;}
.md-team-list{display:flex;flex-wrap:wrap;gap:14px;list-style:none;margin:0;padding:0;}
.md-team-list li{flex:1 1 calc(33.333% - 10px);min-width:200px;background:#fff;border:1px solid #e6eaf1;border-radius:14px;padding:22px 18px;text-align:center;}
.md-team-num{display:block;font-family:'Poppins',sans-serif;font-size:28px;font-weight:700;color:#5a4fa8;line-height:1.2;}
.md-team-num small{font-size:13px;margin-left:2px;}
.md-team-role{display:block;margin-top:6px;font-size:14px;font-weight:700;color:#1f2430;}
.md-team-desc{display:block;margin-top:8px;font-size:12px;line-height:1.8;color:#54607a;}
.md-team-note{margin:22px 0 0;font-size:13px;line-height:2;color:#54607a;text-align:center;}
.md-promise{display:flex;flex-wrap:wrap;gap:16px;list-style:none;margin:0;padding:0;}
.md-promise li{flex:1 1 calc(33.333% - 11px);min-width:250px;background:#fff;border:1px solid #e6eaf1;border-radius:16px;padding:26px 24px;position:relative;overflow:hidden;box-shadow:0 2px 14px rgba(31,36,48,.04);}
.md-promise li::before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,#29A7E0 0%,#92308E 100%);}
.md-promise h3{font-size:14.5px;font-weight:700;color:#1f2430;margin:6px 0 12px;line-height:1.7;}
.md-promise p{font-size:12.5px;line-height:2;color:#54607a;margin:0;}
.md-about-sec--cta .md-about-inner{background:linear-gradient(180deg,#f7f6fc 0%,#fbfbfe 100%);border:1px solid #e9e5f6;border-radius:20px;padding:52px 40px;text-align:center;}
.md-final-h2{font-size:24px;font-weight:700;color:#1f2430;line-height:1.7;margin:0 0 16px;}
.md-final-lead{font-size:13.5px;line-height:2.1;color:#54607a;margin:0 0 28px;}
.md-final-note{margin:18px 0 0;font-size:12px;color:#8b93a6;}
.md-about-sec--cta .bt_cover{display:flex;justify-content:center;}
@media(max-width:768px){
  .md-about-sec{padding:0 16px;margin-bottom:64px;}
  .md-about-h2{font-size:18px;margin-bottom:26px;}
  .md-about-h3{font-size:16px;}
  .md-stat{flex:1 1 calc(50% - 8px);min-width:0;padding:22px 10px;}
  .md-stat-num{font-size:26px;}
  .md-stat-num small{font-size:12px;}
  .md-stat-label{font-size:11.5px;}
  .md-msg{padding:28px 22px;}
  .md-msg-body p{font-size:13.5px;line-height:2.05;}
  .md-team{padding:26px 18px;}
  .md-team-list li{flex:1 1 100%;}
  .md-promise li{flex:1 1 100%;min-width:0;padding:22px 20px;}
  .md-about-sec--cta .md-about-inner{padding:34px 20px;}
  .md-final-h2{font-size:19px;}
}
.md-stat,.md-promise li,.md-team-list li,.md-about-inner,.md-msg,.md-team{box-sizing:border-box;}
#main_bottom_about{
  max-width:960px !important;margin:0 auto 96px !important;
  padding:46px 48px 40px !important;background:#fff !important;
  border:1px solid #e6eaf1 !important;border-radius:16px !important;
  box-shadow:0 2px 14px rgba(31,36,48,.04) !important;box-sizing:border-box !important;
}
#main_bottom_about .about_title{font-size:26px !important;margin:0 0 14px !important;color:#1f2430 !important;letter-spacing:.04em !important;}
#main_bottom_about .about_subtitle{font-size:17px !important;line-height:1.9 !important;color:#1f2430 !important;}
#main_bottom_about .about_text{font-size:13.5px !important;line-height:2.15 !important;color:#54607a !important;margin:0 0 30px !important;}
@media(max-width:768px){
  #main_bottom_about{margin:0 16px 64px !important;padding:28px 20px 26px !important;}
  #main_bottom_about .about_title{font-size:21px !important;}
  #main_bottom_about .about_subtitle{font-size:15px !important;}
}
/* ===== 私たちについて（ABOUT）ここまで ===== */

/* ===== ブログ デザイン統一 ここから ===== */
#blog_wrapper{gap:40px;margin:0 auto 110px !important;flex-wrap:nowrap;box-sizing:border-box;}
#blog_contents{flex:1 1 0;min-width:0;width:auto !important;list-style:none;}
#blog_side{flex:0 0 300px;list-style:none;}

/* 一覧カード */
.blog_archive{list-style:none;margin:0;padding:0 !important;background:transparent !important;width:auto !important;display:flex;flex-direction:column;gap:18px;}
.blog_archive > .col_blog{
  padding:0 !important;margin:0 !important;list-style:none;
  background:#fff;border:1px solid #e6eaf1;border-radius:16px;overflow:hidden;
  box-shadow:0 2px 14px rgba(31,36,48,.04);
  transition:transform .25s, box-shadow .25s, border-color .25s;
}
.blog_archive > .col_blog:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(31,36,48,.09);border-color:#d9d3f0;}
.blog_archive > .col_blog > a{display:flex;gap:22px;align-items:stretch;padding:18px;text-decoration:none;}
.blog_archive_photo{flex:0 0 240px;margin:0 !important;border-radius:12px;overflow:hidden;background:#f2f4f8;aspect-ratio:16/10;}
.blog_archive_photo img{display:block !important;width:100% !important;height:100% !important;object-fit:cover;}
.blog_archive_content{flex:1 1 auto;min-width:0;width:auto !important;display:flex;flex-direction:column;padding:4px 6px 4px 0;}
.blog_archive_meta{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap;}
.blog_archive_date{font-family:'Poppins',sans-serif;font-size:11.5px;color:#8b93a6;letter-spacing:.06em;margin:0 !important;padding:0 !important;}
.blog_archive_cat{font-size:11px;font-weight:700;color:#5a4fa8;background:#f3f1fb;border:1px solid #e2dcf5;border-radius:999px;padding:4px 12px;line-height:1.4;}
.blog_archive_heading{font-size:16.5px !important;font-weight:700;color:#1f2430;line-height:1.65;margin:0 0 10px !important;}
.blog_archive_text{font-size:12.5px !important;line-height:1.95;color:#54607a;font-weight:400;margin:0 !important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.blog_archive_more{display:inline-block;margin-top:auto;padding-top:14px;font-size:12px;font-weight:700;color:#5a4fa8;}
.blog_archive_more::after{content:" →";}

/* サイドバー */
.blog_side_title{
  font-size:14px !important;font-weight:700;color:#1f2430;
  margin:0 0 16px !important;padding:0 0 10px !important;position:relative;
  border-bottom:1px solid #e6eaf1 !important;border-image:none !important;background:none !important;
}
.blog_side_title::after{content:"";position:absolute;left:0;bottom:-1px;width:44px;height:2px;border-radius:999px;background:linear-gradient(90deg,#29A7E0 0%,#92308E 100%);}
#blog_side .latest{list-style:none;margin:0 0 40px;padding:0;}
#blog_side .latest > li{border-bottom:1px solid #eef1f6;}
#blog_side .latest > li:last-child{border-bottom:0;}
#blog_side .latest > li > a{display:flex;gap:12px;align-items:flex-start;padding:12px 0;text-decoration:none;}
#blog_side .latest_image{width:76px !important;height:76px !important;flex:0 0 76px;border-radius:8px;overflow:hidden;background:#f2f4f8;margin:0 !important;}
#blog_side .latest_image img{width:76px !important;height:76px !important;object-fit:cover;display:block;}
#blog_side .latest_heading{flex:1 1 auto;min-width:0;font-size:12px;line-height:1.75;color:#1f2430;text-decoration:none !important;border:0 !important;}
#blog_side .latest > li > a:hover .latest_heading{color:#5a4fa8;}
#blog_side .category_name{list-style:none;margin:0 0 40px;padding:0;}
#blog_side .category_name li{margin:0;}
#blog_side .category_name a{display:block;padding:10px 2px;font-size:12.5px;color:#54607a;text-decoration:none;border-bottom:1px solid #eef1f6;transition:color .2s,padding-left .2s;}
#blog_side .category_name a:hover{color:#5a4fa8;padding-left:6px;}

/* 記事ページ */
.md-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:11.5px;color:#8b93a6;margin:0 0 18px;}
.md-breadcrumb a{color:#8b93a6;text-decoration:none;}
.md-breadcrumb a:hover{color:#5a4fa8;}
.md-breadcrumb span{color:#c3c9d6;}
.md-post-meta{display:flex;align-items:center;gap:10px;margin:0 0 14px;flex-wrap:wrap;}
.md-post-date{font-family:'Poppins',sans-serif;font-size:12px;color:#8b93a6;letter-spacing:.06em;}
.md-post-cat{font-size:11px;font-weight:700;color:#5a4fa8;background:#f3f1fb;border:1px solid #e2dcf5;border-radius:999px;padding:4px 12px;}
#single > h2{border:0 !important;padding:0 !important;font-size:27px !important;font-weight:700;color:#1f2430;line-height:1.6 !important;text-align:left !important;margin:0 0 22px !important;}
#single > img,#single > .wp-post-image{display:block;width:100%;height:auto;border-radius:14px;margin:0 0 8px;}
.md-toc{background:#f7f8fb;border:1px solid #e6eaf1;border-radius:14px;padding:22px 26px;margin:28px 0 36px;}
.md-toc-title{font-size:13.5px;font-weight:700;color:#1f2430;margin:0 0 12px;display:flex;align-items:center;gap:8px;}
.md-toc-title::before{content:"";width:16px;height:2px;border-radius:999px;background:linear-gradient(90deg,#29A7E0 0%,#92308E 100%);}
.md-toc-list{list-style:none;margin:0;padding:0;counter-reset:toc;}
.md-toc-list li{margin:0 !important;padding:0 !important;}
.md-toc-list a{display:block;padding:7px 0;font-size:12.5px;line-height:1.7;color:#54607a;text-decoration:none;transition:color .2s;}
.md-toc-list a:hover{color:#5a4fa8;}
.md-toc-h2 > a{font-weight:600;color:#1f2430;}
.md-toc-h2{counter-increment:toc;}
.md-toc-h2 > a::before{content:counter(toc) ". ";color:#8a7fc9;font-family:'Poppins',sans-serif;font-weight:700;}
.md-toc-h3 > a{padding-left:20px;font-size:12px;}
.md-toc-h3 > a::before{content:"– ";color:#c3c9d6;}
#text{max-width:720px;font-size:15px;}
#text p{font-size:14.5px !important;line-height:2.05 !important;color:#3d4657;margin:0 0 26px !important;}
#text h2{border:0 !important;padding:0 0 12px !important;font-size:20px !important;font-weight:700;color:#1f2430;line-height:1.6 !important;text-align:left !important;margin:54px 0 22px !important;position:relative;border-bottom:1px solid #e6eaf1 !important;}
#text h2::after{content:"";position:absolute;left:0;bottom:-1px;width:52px;height:3px;border-radius:999px;background:linear-gradient(90deg,#29A7E0 0%,#92308E 100%);}
#text h3{border:0 !important;padding:0 0 0 13px !important;font-size:16.5px !important;font-weight:700;color:#1f2430;line-height:1.7 !important;text-align:left !important;margin:38px 0 16px !important;position:relative;}
#text h3::before{content:"";position:absolute;left:0;top:.32em;bottom:.32em;width:4px;border-radius:999px;background:linear-gradient(180deg,#29A7E0 0%,#92308E 100%);}
#text h4{font-size:15px !important;font-weight:700;color:#1f2430;margin:28px 0 12px !important;}
#text ul,#text ol{margin:0 0 26px;padding-left:1.4em;}
#text li{font-size:14.5px;line-height:2;color:#3d4657;margin:0 0 8px;}
#text img{max-width:100%;height:auto;border-radius:12px;}
#text a{color:#5a4fa8;}
#text strong{color:#1f2430;}
#text blockquote{margin:0 0 26px;padding:18px 22px;background:#f7f8fb;border-left:3px solid #d9d3f0;border-radius:0 10px 10px 0;font-size:14px;line-height:2;color:#54607a;}
#text table{width:100%;border-collapse:collapse;margin:0 0 26px;font-size:13.5px;}
#text th,#text td{border:1px solid #e6eaf1;padding:10px 14px;line-height:1.9;}
#text th{background:#f7f8fb;font-weight:700;color:#1f2430;}

@media(max-width:900px){
  #blog_wrapper{flex-direction:column;gap:56px;margin-bottom:80px !important;}
  #blog_side{flex:1 1 auto;width:100%;}
  .blog_archive > .col_blog > a{flex-direction:column;gap:14px;padding:14px;}
  .blog_archive_photo{flex:none;width:100%;aspect-ratio:16/9;}
  .blog_archive_heading{font-size:15.5px !important;}
  #single > h2{font-size:21px !important;}
  #text{max-width:100%;}
  #text p,#text li{font-size:14px !important;}
  #text h2{font-size:18px !important;margin-top:44px !important;}
  #text h3{font-size:15.5px !important;}
  .md-toc{padding:18px 18px;}
}
/* ===== ブログ デザイン統一 ここまで ===== */


/* ===== 内部リンク（関連記事・外注ガイド） ここから ===== */
.md-linkbox{box-sizing:border-box;margin:56px 0 0;}
.md-linkbox *,.md-linkbox *::before,.md-linkbox *::after{box-sizing:border-box;}
.md-linkbox-label{font-size:15px;font-weight:700;color:#1f2430;margin:0 0 16px;padding-left:12px;border-left:4px solid #7b5bd6;line-height:1.5;}
.md-linkbox-guide{background:#f7f6fd;border:1px solid #e2dcf5;border-radius:14px;padding:22px 24px;}
.md-linkbox-list{list-style:none;margin:0;padding:0;}
.md-linkbox-list li{margin:0;padding:0;border-top:1px solid #e2dcf5;}
.md-linkbox-list li:first-child{border-top:none;}
.md-linkbox-list a{display:block;padding:12px 30px 12px 0;position:relative;font-size:15px;line-height:1.65;color:#2b3040;text-decoration:none;}
.md-linkbox-list a::after{content:"\203A";position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#7b5bd6;font-size:20px;line-height:1;}
.md-linkbox-list a:hover{color:#5a4fa8;}
.md-linkbox-cards{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:16px;}
.md-linkbox-cards li{width:calc(50% - 8px);margin:0;padding:0;}
.md-linkbox-cards a{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #e6eaf1;border-radius:12px;padding:10px;text-decoration:none;height:100%;transition:box-shadow .2s ease,transform .2s ease;}
.md-linkbox-cards a:hover{box-shadow:0 8px 20px rgba(31,36,48,.10);transform:translateY(-2px);}
.md-linkbox-thumb{flex:0 0 84px;width:84px;height:84px;border-radius:8px;overflow:hidden;background:#eef0f6;display:block;}
.md-linkbox-thumb img{width:84px !important;height:84px !important;object-fit:cover;display:block;border-radius:8px;}
.md-linkbox-ttl{flex:1 1 auto;min-width:0;font-size:14px;line-height:1.6;color:#2b3040;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.md-linkbox-cards a:hover .md-linkbox-ttl{color:#5a4fa8;}
@media screen and (max-width:767px){
.md-linkbox{margin-top:40px;}
.md-linkbox-guide{padding:18px 16px;}
.md-linkbox-cards li{width:100%;}
.md-linkbox-thumb{flex:0 0 72px;width:72px;height:72px;}
.md-linkbox-thumb img{width:72px !important;height:72px !important;}
}
/* 記事内の画像がカラム幅を超えて横スクロールが出るのを防ぐ */
ul#blog_wrapper li#blog_contents #single img,
#single img{max-width:100% !important;height:auto;}
/* ===== 内部リンク ここまで ===== */


/* ===== メール受信に関する注意書き ここから ===== */
.md-mail-note{display:block;box-sizing:border-box;margin:10px 0 0;padding:11px 15px;background:#fdf8f1;border:1px solid #f0e3d0;border-left:3px solid #d99a4e;border-radius:8px;color:#6a5a49;font-size:12.5px;line-height:1.8;font-weight:400;text-align:left;}
.md-mail-note strong{color:#b3701f;font-weight:700;}
.flow_contact_textarea .md-mail-note{margin-top:14px;}
#form_contents_text .md-mail-note{max-width:640px;margin:14px auto 0;}
@media screen and (max-width:767px){
.md-mail-note{font-size:12px;padding:10px 12px;line-height:1.75;}
}
/* ===== メール受信に関する注意書き ここまで ===== */


/* ===== 問い合わせフォームのプルダウン ここから ===== */
.table_contact select{box-sizing:border-box;width:100%;max-width:340px;padding:10px 14px;border:1px solid #d9dee8;border-radius:8px;background:#fff;color:#333c4c;font-size:14px;line-height:1.5;}
.table_contact select:focus{outline:none;border-color:#7b5bd6;box-shadow:0 0 0 3px rgba(123,91,214,.12);}
@media screen and (max-width:767px){
.table_contact select{max-width:100%;}
}
/* ===== 問い合わせフォームのプルダウン ここまで ===== */


/* ===== 料金ページ アミューズメント広告の画像（縦長ポスターを他と同じ高さに） ===== */
.shop_item_photo img.md-amu-img{width:100%;height:auto;max-height:300px;object-fit:cover;object-position:top center;border-radius:inherit;}
@media screen and (max-width:767px){
.shop_item_photo img.md-amu-img{max-height:220px;}
}


/* ===== セクション見出し デザイン統一（上下線→グラデ下線） ここから ===== */
.contents_heading_line,
.contents_heading_line_white{
  border-top:none !important;
  border-bottom:none !important;
  padding:0 !important;
  font-weight:700 !important;
  letter-spacing:.06em;
  line-height:1.5 !important;
}
.contents_heading_line::after,
.contents_heading_line_white::after{
  content:"";display:block;width:56px;height:4px;border-radius:999px;margin:16px auto 0;
  background:linear-gradient(90deg,#29A7E0 0%,#92308E 100%);
}
@media screen and (max-width:768px){
  .contents_heading_line::after,
  .contents_heading_line_white::after{width:44px;height:3px;margin-top:12px;}
}
/* ===== セクション見出し デザイン統一 ここまで ===== */


/* ===== 著者プロフィール（ブログ記事末） ここから ===== */
.md-author{box-sizing:border-box;margin:48px 0 0;padding:24px 26px;background:#fff;border:1px solid #e6eaf1;border-radius:14px;}
.md-author *,.md-author *::before,.md-author *::after{box-sizing:border-box;}
.md-author-label{font-size:13px;font-weight:700;letter-spacing:.08em;color:#7b5bd6;margin:0 0 14px;}
.md-author-inner{display:flex;gap:18px;align-items:flex-start;}
.md-author-avatar{flex:0 0 72px;width:72px;height:72px;border-radius:50%;background:#f4f2fb;border:1px solid #e2dcf5;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.md-author-avatar img{width:52px;height:auto;display:block;}
.md-author-body{flex:1 1 auto;min-width:0;}
.md-author-name{margin:0 0 8px;font-size:17px;font-weight:800;color:#1a1e26;line-height:1.5;}
.md-author-name span{display:block;font-size:12px;font-weight:600;color:#8b93a6;margin-top:2px;letter-spacing:.02em;}
.md-author-bio{margin:0 0 12px;font-size:13.5px;line-height:1.85;color:#4d5563;}
.md-author-links{margin:0;display:flex;gap:16px;flex-wrap:wrap;}
.md-author-links a{font-size:13px;font-weight:700;color:#5a4fa8;text-decoration:none;}
.md-author-links a::after{content:" →";}
.md-author-links a:hover{text-decoration:underline;}
@media screen and (max-width:767px){
.md-author{padding:20px 16px;}
.md-author-inner{gap:14px;}
.md-author-avatar{flex-basis:56px;width:56px;height:56px;}
.md-author-avatar img{width:40px;}
.md-author-name{font-size:16px;}
.md-author-bio{font-size:13px;}
}
/* ===== 著者プロフィール ここまで ===== */

/* ===== 2026-10 スマホ表示の修正 ここから ===== */

/* 1. 下層ページの見出しが幅40%に制限され、数文字ずつ折り返していた */
@media screen and (max-width:1024px){
  #page_main #page_title,
  #page_main_short #page_title,
  #page_main_bottomless #page_title{
    max-width:90% !important;
    padding:26px 24px !important;
    line-height:1.45 !important;
    box-sizing:border-box !important;
  }
}
@media screen and (max-width:767px){
  #page_main #page_title,
  #page_main_short #page_title,
  #page_main_bottomless #page_title{
    max-width:92% !important;
    padding:20px 16px !important;
  }
}

/* 2. 横スクロール前提の表（min-width 指定あり）が縦1列に崩れていた */
@media screen and (max-width:1024px){
  table[style*="min-width"] th,
  table[style*="min-width"] td{
    display:table-cell !important;
    width:auto !important;
    margin:0 !important;
    padding:10px 12px !important;
    text-align:left !important;
    box-sizing:border-box;
    word-break:normal !important;
    overflow-wrap:break-word;
  }
  /* 2列だけの表はスクロールさせず画面幅に収める */
  table[style*="min-width"]:not(:has(tr > *:nth-child(3))){ min-width:0 !important; }
  table[style*="min-width"]:not(:has(tr > *:nth-child(3))) th,
  table[style*="min-width"]:not(:has(tr > *:nth-child(3))) td{
    white-space:normal !important;
    padding:9px 10px !important;
  }
}

/* 3. 横スクロールできる箇所を分かるように（端まで送ると影は自動で消える） */
@media screen and (max-width:1024px){
  #wrapper div[style*="overflow-x"]{
    position:relative;
    -webkit-overflow-scrolling:touch;
    background-image:
      linear-gradient(to right,#fff,rgba(255,255,255,0)),
      linear-gradient(to left,#fff,rgba(255,255,255,0)),
      linear-gradient(to right,rgba(26,30,38,.18),rgba(26,30,38,0)),
      linear-gradient(to left,rgba(26,30,38,.18),rgba(26,30,38,0));
    background-position:left center,right center,left center,right center;
    background-repeat:no-repeat;
    background-size:26px 100%,26px 100%,12px 100%,12px 100%;
    background-attachment:local,local,scroll,scroll;
  }
}
@media screen and (max-width:540px){
  #wrapper div[style*="overflow-x"]:has(tr > *:nth-child(3))::before,
  #wrapper div[style*="overflow-x"]:has(> svg)::before{
    content:"\2190 \0020 横にスクロールできます \0020 \2192";
    position:sticky;left:0;
    display:block;width:-webkit-fit-content;width:fit-content;
    margin:0 0 6px;padding:3px 10px;
    font-size:11px;letter-spacing:.04em;color:#5a6275;
    background:#eef1f7;border-radius:99px;
  }
}

/* 4. 長いURLが折り返されず画面外に出ていた */
#wrapper{ overflow-wrap:break-word; }

/* 5. 「表示価格はすべて税込です」バッジの文字色が本文色に上書きされ読めなかった */
#main_bottom_black p[style*="linear-gradient"]{ color:#fff !important; }

/* ===== 2026-10 スマホ表示の修正 ここまで ===== */

/* ===== スマホ下部の固定バー（電話／お問い合わせ） ここから ===== */
@media screen and (max-width:1024px){
  #floating_btn{
    background:rgba(255,255,255,.97) !important;
    border-top:1px solid #e6eaf1 !important;
    box-shadow:0 -4px 16px rgba(60,70,120,.10) !important;
    padding-bottom:env(safe-area-inset-bottom) !important;
  }
  #floating_btn li{
    width:50% !important; height:54px !important;
    padding:0 !important; border-right:0 !important; box-sizing:border-box !important;
  }
  #floating_btn li a{
    position:absolute !important; inset:0 !important;
    display:flex !important; align-items:center !important; justify-content:center !important;
    gap:8px !important; text-decoration:none !important; transition:opacity .25s !important;
  }
  #floating_btn li a:hover{ opacity:.88 !important; }
  /* 元のアイコン画像は読み上げ用に残しつつ非表示にし、マスクで着色する */
  #floating_btn li a img{
    position:absolute !important; inset:auto auto 0 0 !important;
    width:1px !important; height:1px !important; max-width:1px !important;
    opacity:0 !important; margin:0 !important; pointer-events:none !important;
  }
  #floating_btn li a::before{
    content:""; display:block; flex:0 0 20px; width:20px; height:20px;
    background:currentColor;
    -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
    -webkit-mask-position:center; mask-position:center;
    -webkit-mask-size:contain; mask-size:contain;
  }
  #floating_btn li a::after{ font-size:13px; font-weight:700; letter-spacing:.06em; line-height:1; }
  /* 左：お電話（サブ） */
  #floating_btn li:nth-child(1) a{ color:#2b3346 !important; background:transparent !important; }
  #floating_btn li:nth-child(1) a::before{
    -webkit-mask-image:url(/wp-content/themes/one-standcross__220926/img/common/icon_tel.svg); mask-image:url(/wp-content/themes/one-standcross__220926/img/common/icon_tel.svg);
  }
  #floating_btn li:nth-child(1) a::after{ content:"お電話"; }
  /* 右：お問い合わせ（メイン・ブランドグラデーション） */
  #floating_btn li:nth-child(2) a{
    color:#fff !important;
    background:linear-gradient(90deg,#29A7E0 0%,#92308E 100%) !important;
  }
  #floating_btn li:nth-child(2) a::before{
    -webkit-mask-image:url(/wp-content/themes/one-standcross__220926/img/common/icon_mail.svg); mask-image:url(/wp-content/themes/one-standcross__220926/img/common/icon_mail.svg);
  }
  #floating_btn li:nth-child(2) a::after{ content:"お問い合わせ"; }
}
/* ===== スマホ下部の固定バー ここまで ===== */

/* ===== 2026-10 ブライダル料金セクションの整理 ここから ===== */
.shop_item_textarea .md-lead{
  margin:0 0 26px !important;
}
.shop_item_textarea .md-lead p{
  margin:0 !important;
  font-size:14px;
  line-height:1.95;
  color:#4a5064;
}
.shop_item_textarea .md-lead strong{
  color:#2b3346;
}
.shop_item_textarea .md-plan-desc{
  margin:6px 0 14px !important;
  padding:0 0 0 12px;
  border-left:2px solid #e3e7f2;
  font-size:13px;
  line-height:1.9;
  color:#5a6275;
}
.shop_item_textarea .md-plan-desc b{
  color:#92308E;
  font-weight:700;
}
.shop_item_textarea .md-notes{
  margin:30px 0 0 !important;
  padding:16px 18px !important;
  list-style:none !important;
  background:#f7f8fc;
  border-radius:10px;
}
.shop_item_textarea .md-notes li{
  position:relative;
  margin:0 0 8px !important;
  padding:0 0 0 16px !important;
  font-size:12.5px;
  line-height:1.85;
  color:#5a6275;
  background:none !important;
}
.shop_item_textarea .md-notes li:last-child{
  margin-bottom:0 !important;
}
.shop_item_textarea .md-notes li::before{
  content:"";
  position:absolute;
  left:2px;
  top:.78em;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#b9c0d4;
}
@media screen and (max-width:767px){
  .shop_item_textarea .md-plan-desc{ font-size:12.5px; }
  .shop_item_textarea .md-notes{ padding:14px 14px !important; }
}
/* ===== 2026-10 ブライダル料金セクションの整理 ここまで ===== */

.shop_item_textarea .md-notes li:only-child{
  padding-left:0 !important;
}
.shop_item_textarea .md-notes li:only-child::before{
  display:none !important;
}

/* ===== 2026-10 FAQ キーワード絞り込み ここから ===== */
.faq_search{ margin:0 0 26px; }
.faq_search input[type="search"]{
  width:100%; box-sizing:border-box;
  padding:14px 18px;
  font-size:15px; line-height:1.6;
  color:#2b3346;
  border:1px solid #d8def0; border-radius:10px;
  background:#fff;
  -webkit-appearance:none; appearance:none;
  transition:border-color .2s, box-shadow .2s;
}
.faq_search input[type="search"]::placeholder{ color:#9aa3bb; }
.faq_search input[type="search"]:focus{
  outline:none; border-color:#7b5bd6;
  box-shadow:0 0 0 3px rgba(123,91,214,.14);
}
.faq_search_count{
  margin:10px 2px 0 !important;
  font-size:13px; line-height:1.7; color:#5a6275;
}
@media screen and (max-width:767px){
  .faq_search{ margin:0 0 20px; }
  .faq_search input[type="search"]{ padding:12px 14px; font-size:16px; }
  .faq_search_count{ font-size:12px; }
}
/* ===== 2026-10 FAQ キーワード絞り込み ここまで ===== */

