/* Google Fonts 読み込み */
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;500;700&display=swap');


/* =========================
   全体　コンテンツ幅
   ========================= */

  .body {
    background-color: #FAFAFA;;
   }


/* メインコンテンツの白を消す */
.main,
.content,
.container,
.main-scroll {
  background: transparent !important;
}



/* =========================================================
   Font Awesome（全体フォントより優先）
   ========================================================= */
.fa,
.fas,
.far{
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900 !important; /* 細くしたければ 400 */
}
.fab{
  font-family: "Font Awesome 5 Brands" !important;
  font-weight: 500 !important;
}

.mobile-menu-buttons .menu-icon i,
.mobile-menu-buttons .menu-icon span {
  font-size: 22px !important;
}

.fa-instagram {
  font-size: 25px !important;
}



/* =========================
   全体　余白
   ========================= */

/*ヘッダーフッターまわりの調整*/
.breadcrumb,
.article-header,
.article-footer {
display: none;
}

.header-container-in {
padding-top: 10px;
padding-bottom: 10px;
}

/*セクションまわりの細々とした余白の調整（全ページ共通)*/
.main {
	border: none;
padding-bottom:0!important;
margin-bottom:0!important;
margin-left:0!important;
margin-right:0!important;
}

/*フルワイドと余白の調整*/
.wp-block-cover, .n2-section-smartslider {
margin-bottom:0!important;
margin-top:0!important;
padding-bottom:0!important;
bottom: 0;
}

.wp-block-columns {
margin-bottom:0!important;
}

.entry-content, .content {
padding-top:0!important;
padding-bottom:0!important;
margin-top:0!important;
margin-bottom:0!important;
}

.content-bottom {
margin:0;
}

.article {
padding-bottom:0px!important;
margin-bottom:0px!important;
}

/* TOPページのみ main の上余白を削除 */
.home .main{
  padding-top:0 !important;
}

/* 段落下の余白 */
.entry-content p, .wp-block-paragraph {
    margin-bottom: 10px !important;
}

p.index {
  margin-top: 10px !important;
}



/*チェックリストの余白*/
/* チェックリスト全体の余白 */
.class .wp-block-list{
    margin: 0 !important;
    padding-left: 0;
}

/* li同士の余白 */
.class .wp-block-list li{
    margin: 0 !important;
    padding: 2px 0 !important;
    line-height: 1.8;
}



/* =========================
   チェックリストの調整
   ========================= */


/* チェックマークを小さく */
.class .wp-block-list.is-style-vk-check-mark li::before{
    font-size: 14px !important;   /* お好みで12〜14px */
}

/* チェックマーク */
.class .wp-block-list.is-style-vk-check-mark li::before{
    font-size: 14px !important;
    line-height: 1;
    top: 0.7em;      /* 少し下げる */
}

/* チェックリスト全体を少し右へ */
.class .wp-block-list.is-style-vk-check-mark{
    padding-left: 20px;
}

/* チェックリストの文字サイズ */
.class .wp-block-list.is-style-vk-check-mark li{
    font-size: 14px;
}




/* =========================
   全体　基本設定
   ========================= */

/*SNSシェア非表示*/
.page .sns-share,
.page .sns-follow {
display: none ;
}

.veu_socialSet.veu_socialSet-position-after.veu_contentAddSection {
	display: none;
}

/*水平スクロールバー非表示*/
body {
overflow-x:clip;
font-size: 12px;
}

/*フルワイド*/
.fullwide {
width: 100vw;
margin: 0 calc(50% - 50vw);
padding: 0 calc(50vw - 50%);
}



/* =========================
   全体　見出しリセット（全hタグ）
   ========================= */
h1, h2, h3, h5, h6{
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
  padding: 5px 0px 0px 0px !important;
  margin: 0 0 1em !important;
  color: inherit !important;
}

/* h2だけの設定 */
h2 {
  font-family: serif !important;
  font-weight: 500 !important;
  font-size: 24px !important;
  line-height: 1.2 !important;
  letter-spacing: 2px !important;
  color: #4A4A4A !important;
}

h2.serif {
  font-family: serif !important;
  font-weight: 400 !important;
  font-size: 25px !important;
  line-height: 1.5 !important;
  letter-spacing: 1px !important;
  color: #4A4A4A !important;
}

/* h2の下に短いライン */
h2 {
  position: relative;
  padding-bottom: 10px !important;
}

h2::after {
  content: "";
  display: block;
  width: 80px;
  height: 1px;
  background: #CB717F;
  border-radius: 999px;
  margin: 10px auto 0;
}


/* h3だけの設定 */

/* ==========================
   h3見出し（ピンク三角）
========================== */

.article h3{
    position: relative;
    padding-left: 1.3rem !important;
    margin-bottom: 18px;
    border: none !important;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.4;
}

/* 三角アイコン */
.article h3::before{
    content: "\f0da";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #CB717F;
    font-size: 20px;

    position: absolute;
    left: 0;
    top: 55%;
    transform: translateY(-45%);
}


/* =========================
   全体　フォント関連
   ========================= */

   p {
    font-size: 16px;
}


/* フォント指定 */
body,
h1, h3, h5, h6,
p, a, li {
  font-family: "Zen Maru Gothic", sans-serif !important;
  font-weight: 400 !important;
  line-height: 1.65;
  letter-spacing: 0.07em;
}

body,
h1, h3, h4, h5, h6 {
  color: #322924 !important;
}




/* =========================
   TOPページ　youtube
   ========================= */


/* YouTube動画を中央寄せ */
.wp-block-embed-youtube .wp-block-embed__wrapper .video-container,
.wp-block-embed-youtube .wp-block-embed__wrapper .video{
  margin-left: auto !important;
  margin-right: auto !important;
}

/* iframeも中央基準に */
.wp-block-embed-youtube .wp-block-embed__wrapper iframe{
  display: block;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 100%;
}

/* YouTube全体をコンテンツ幅いっぱいに */
.wp-block-embed-youtube {
  width: 100%;
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
}

/* wrapperも全幅 */
.wp-block-embed-youtube .wp-block-embed__wrapper {
  width: 100%;
}

/* ここが重要：video-container の固定幅と中央マージンを解除 */
.wp-block-embed-youtube .wp-block-embed__wrapper .video-container {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* iframeを親いっぱいに */
.wp-block-embed-youtube iframe {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9;
  display: block;
}


/* =========================
   TOPページ　NEWS
   ========================= */

/* NEWS欄全体の余白調整 */
.info-list {
  padding: 0 !important;
}

/* タイトルの余白 */
.info-list-item-content {
    margin-bottom: 0;
}

.info-list-item {
    padding: 8px 0;
    font-size: 16px;
    line-height: 1.5;
}


/* =========================
   TOPページ　クラス説明のデザイン
   ========================= */

/* ラベル風 */
.classlabel {
  display: inline-block;
  background: #B5C5C4;
  color: #fff;
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 50px;
  line-height: 1;
  letter-spacing: 0.05em;
}

.entry-content p.classlabel {
  margin-bottom: 0 !important;
}



/* instagramフィード調整*/
#sb_instagram .sbi_follow_btn a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0px;
}

#sb_instagram .sbi_follow_btn svg.fa-instagram {
  width: 16px !important;
  height: 16px !important;
  font-size: 16px !important;
  vertical-align: middle !important;
}


/* =========================================================
note RSS カルーセル
PC：3件表示 / スマホ：2件表示
========================================================= */

.note-carousel{
  position: relative;
  width: 100%;
}

.note-track{
  overflow: hidden !important;
  width: 100%;
}

.note-card-grid{
  --note-gap: 18px;

  display: flex !important;
  gap: var(--note-gap) !important;
  overflow: visible !important;

  padding: 0 !important;
  margin: 0 !important;

  transform: translate3d(0,0,0);
  transition: transform .35s ease;
  will-change: transform;
}

/* PC：3件表示 */
.note-card{
  flex: 0 0 calc((100% - var(--note-gap) * 2) / 3) !important;
  max-width: calc((100% - var(--note-gap) * 2) / 3) !important;

  display: block !important;
  text-decoration: none !important;
  color: inherit !important;

  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 14px;
  overflow: hidden;
  background: #fff;

  transition: transform .15s ease, box-shadow .15s ease, color .15s ease;
}

/* スマホ：2件表示 */
@media (max-width: 600px){
  .note-card-grid{
    --note-gap: 12px;
  }

  .note-card{
    flex-basis: calc((100% - var(--note-gap)) / 2) !important;
    max-width: calc((100% - var(--note-gap)) / 2) !important;
  }
}

.note-card-thumb{
  display: block !important;
  width: 100% !important;
  aspect-ratio: 16 / 10;
  background-size: cover !important;
  background-position: center !important;
  background-color: #f2f5f5;
}

.note-card-thumb.is-noimg{
  background-image: linear-gradient(135deg, rgba(158,202,203,0.20), rgba(216,230,232,0.15));
}

.note-card-body{
  display: block;
  padding: 5px 10px 10px 12px;
}

.note-card-date{
  display: block;
  font-size: 12px;
  opacity: .65;
  margin-bottom: 1px;
}

.note-card-title{
  display: block;
  font-size: 13px !important;
  font-weight: 500;
  letter-spacing: 1px;
  line-height: 1.3;
}

.note-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0,0,0,0.10);
}

.note-card:hover .note-card-title,
.note-card:hover .note-card-date{
  color: #666666 !important;
}

/* 少ない時は中央寄せ */
.note-carousel.is-few .note-card-grid{
  justify-content: center !important;
  transform: none !important;
}

.note-carousel.is-few .note-nav-btn,
.note-carousel.is-few .note-dots{
  display: none !important;
}

/* 矢印 */
.note-nav-btn{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;

  width: 38px;
  height: 38px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.10);
  background: rgba(255,255,255,0.92);
  box-shadow: 0 8px 18px rgba(0,0,0,0.10);
  cursor: pointer;

  display: grid;
  place-items: center;
  padding: 0;
}

.note-nav-btn.is-prev{
  left: -10px;
}

.note-nav-btn.is-next{
  right: -10px;
}

.note-nav-btn svg{
  width: 16px;
  height: 16px;
  opacity: .75;
}

.note-nav-btn:disabled{
  opacity: .35;
  cursor: default;
  pointer-events: none;
}

/* ドット非表示 */
.note-carousel .note-dots{
  display: none !important;
}


/* =========================
   Q&Aセクション
   ========================= */


/* Q&A：Question側の背景を透過 */
.faq-question {
  background-color: transparent !important;
}

/* セパレーター */
.wp-block-separator {
  border-top-width: 0.5px !important;
  margin-bottom: 5px !important;
}

/*余白調整*/
.faq-wrap { 
  margin-bottom: 0.2em !important;
}

/*question*/
.faq-question-content {
  font-weight: 400 !important;
}