/*
Theme Name: Smartversity
Theme URI: https://cozythemes.com/smartversity-free-wordpress-theme-for-school-college/
Author: CozyThemes
Author URI: https://cozythemes.com/
Description: Smartversity stands out as a cutting-edge WordPress theme designed exclusively for educational websites, be it schools, colleges, or universities. Harnessing the power of block-based Full Site Editing (FSE), users can effortlessly tailor their entire website using intuitive blocks. The theme offers a spectrum of 5 global styles, enabling users to seamlessly switch between diverse color schemes to harmonize with their brand's unique identity. Boasting 13 complimentary ready-to-use patterns, Smartversity streamlines the design process for key homepage sections like banners, hero sections, about us, testimonials, call-to-action elements, recent posts, and more. For those seeking elevated design options, the theme goes the extra mile by presenting 7 premium patterns, totaling 20+ choices to elevate the visual appeal of any educational institution's website. Explore more about Smartversity at https://cozythemes.com/smartversity-free-wordpress-theme-for-school-college/
Tags: blog, one-column, custom-background, custom-colors, custom-logo, custom-menu, editor-style, featured-images, e-commerce, full-site-editing, block-patterns, full-width-template, rtl-language-support, threaded-comments, translation-ready, block-styles, wide-blocks
Version: 1.0.4
Requires at least: 5.9
Tested up to: 6.4
Requires PHP: 7.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: smartversity
This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/
.wp-block-comments textarea#comment {
  border-radius: 4px;
}
input[type="submit"] {
  transition: all ease 0.23s;
  -o-transition: all ease 0.23s;
  -moz-transition: all ease 0.23s;
  -webkit-transition: all ease 0.23s;
}

form.wpcf7-form {
  max-width:870px;
  margin-left: auto;
  margin-right: auto;
}

form.wpcf7-form label,
form.wpcf7-form p > span:first-child {
  font-weight: 500;
}

form.wpcf7-form p {
  margin-bottom: 1.5rem;
}

.wpcf7-form-control.wpcf7-text,
.wpcf7-form-control.wpcf7-textarea,
.wpcf7-form-control.wpcf7-number.wpcf7-validates-as-number,
.wpcf7-form-control.wpcf7-select {
  border-radius: 5px;
  border: 1px solid #dad7d7;
  padding: 10px 15px;
  width: 100%;
  margin-top: 10px;
  box-sizing: border-box;
  font-family: inherit;
  font-size: inherit;
}
.wpcf7-form-control.wpcf7-select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
}
.wpcf7-form-control.wpcf7-select:after {
  content: ">";
  font-size: 20px;
  position: absolute;
  right: 20px;
  top: 10px;
}
form.wpcf7-form *::-webkit-input-placeholder {
  font-size: 14px;
}
form.wpcf7-form *::-moz-placeholder {
  font-size: 14px;
}
form.wpcf7-form *:-ms-input-placeholder {
  font-size: 14px;
}
form.wpcf7-form *::-ms-input-placeholder {
  font-size: 14px;
}
form.wpcf7-form *::placeholder {
  font-size: 14px;
}
form.wpcf7-form *::-moz-placeholder {
  font-size: 14px;
}
form.wpcf7-form *::-webkit-input-placeholder {
  font-size: 14px;
}
.wpcf7-form-control.has-spinner.wpcf7-submit {
  display: block;
  margin-left: auto;
  margin-right: auto;
  background: var(--wp--preset--color--heading-color);
  color: var(--wp--preset--color--background);
  border-radius: 0;
  border: 0;
  font-size: 16px;
  padding: 10px 30px;
}
.wpcf7-form-control.has-spinner.wpcf7-submit:hover {
  background: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--foreground-alt);
}
.wp-block-contact-form-7-contact-form-selector .wpcf7-form input,
.wp-block-contact-form-7-contact-form-selector .wpcf7-form select,
.wp-block-contact-form-7-contact-form-selector .wpcf7-form textarea {
  border-radius: 0;
  border: 1px solid var(--wp--preset--color--heading-color);
}
.wpcf7-not-valid-tip {
  margin-top: 0.3em;
}

.grecaptcha-badge {
  visibility: hidden;
}

.recaptcha-notice {
  max-width: 870px;
  margin: 0 auto;
}

form.comment-form {
  border-radius: 20px;
  margin-top: 24px;
}
.wp-block-post-comments-form {
  border-radius: 20px;
}
form.comment-form input[type="email"],
form.comment-form input[type="text"],
form.comment-form input[type="url"],
form.comment-form textarea {
  border-radius: 5px;
  margin: 12px 0 25px;
}
form.comment-form .form-submit.wp-block-button {
  margin-top: 25px;
}
.wp-block-comment-author-name {
  font-weight: 600;
}

.wp-block-comment-date a {
  color: var(--wp--preset--color--foregound);
  font-size: 13px;
}
.wp-block-comment-template li {
  margin-top: 50px;
}
.wp-block-comment-template li li {
  margin-top: 10px;
  padding-left: 60px;
}
a.comment-reply-link {
  border: 1px solid;
  padding: 5px 13px;
  border-radius: 40px;
  font-size: 13px;
  opacity: 0.6;
}
.wp-block-post-comments-form {
  margin-top: 30px;
  display: inline-block;
  width: 100%;
}
.woocommerce ul.products li.product a img {
  border-radius: 5px;
  height: 350px;
  -o-object-fit: cover;
     object-fit: cover;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  margin: 0 2.5% 2.992em 0;
  width: 23.1%;
}
.woocommerce ul.products li.last,
.woocommerce-page ul.products li.last {
  margin-right: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border-radius: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active:before,
.woocommerce div.product .woocommerce-tabs ul.tabs li:before,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active:after {
  display: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li:after {
  border: 0;
}
.woocommerce #reviews #comments ol.commentlist {
  padding: 0;
  margin-top: 20px !important;
}
.woocommerce-page .input-text {
  padding: 11px 30px;
  border: 1px solid #817e7e;
  border-radius: 5px;
}
.wp-block-post-excerpt__excerpt a,
.entry-content.wp-block-post-content a,
p a {
  text-decoration: underline;
}
nav.wp-block-navigation ul li a:hover {
  opacity: .9;
  text-decoration: underline;
}
.wp-block-heading.smartversity-header {
  position: relative;
}
.wp-block-heading.smartversity-header:after {
  content: "";
  width: 46px;
  height: 2px;
  background: var(--wp--preset--color--primary) !important;
  position: absolute;
  left: 0;
  bottom: -10px;
}
.wp-block-group.smartverse-courses-list {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: end;
  transition: all ease 0.4s;
}
.wp-block-group.smartversity-offer-box {
  transition: all ease 0.4s;
}

.wp-block-group.smartversity-offer-box:hover {
  transform: scale(1.02);
}
.wp-block-group.smartverse-courses-list:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: #fff;
  opacity: 1;
  transition: all ease 0.43s;
}

.wp-block-group.smartversity-cource-content {
  position: relative;
}

.wp-block-group.smartverse-courses-list:hover a.wp-block-button__link {
  color: var(--wp--preset--color--foreground-alt) !important;
}
.wp-block-group.smartverse-courses-list:hover .is-style-button-hover-secondary-color a.wp-block-button__link:hover {
  color: var(--wp--preset--color--secondary) !important;
}
.wp-block-embed.is-type-video.is-provider-vimeo.wp-block-embed-vimeo {
  border-radius: 20px;
  overflow: hidden;
}

/* Enyujuku custom styles */

/* ナビゲーション・パンくずのリンクの font-size は親要素のスタイルを継承させる
   （グローバルスタイルの a:where(:not(.wp-element-button)) による上書きを防止） */
.wp-block-navigation .wp-block-navigation-item__content,
.breadcrumb a {
  font-size: inherit;
}

/* ヘッダーのカバーブロック：サブメニューパネルが overflow:hidden で見切れないよう
   （カバー画像は inset:0 の絶対配置なので visible にしても画像はブロック外に出ない） */
.wp-block-cover:has(.smartversity-navigation) {
  overflow: visible;
}

/* ヘッダーナビゲーション 第一階層のみ太文字 */
.smartversity-navigation .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
  font-weight: bold;
}

.wp-block-navigation .has-child:not(.open-on-click):hover > .wp-block-navigation__submenu-container {
  padding: 10px 8px !important;
}

/* トップページ専用 見出し */
.top-section-title {
  position: relative;
  margin: 0;
  padding: 0 0 1rem;
  color: #2c3a3a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  background: transparent;
  border: 0;
}

/* 下線 */
.top-section-title::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 2.875rem;
  height: 0.125rem;
  background: #505050;
  transform: translateX(-50%);
}

/* =========================
   トップページ以外 共通
========================= */

/* 本文 基本 */
body:not(.home):not(.front-page) .entry-content li {
  line-height: 1.8;
}

/* ページタイトル */
body:not(.home):not(.front-page) .entry-content .wp-block-post-title {
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 500;
  line-height: 3rem;
  letter-spacing: 0;
  font-feature-settings: "halt" 1;
  margin: 0 0 2.5rem;
  padding: 0;
  border: 0;
  background: transparent;
  text-transform: none;
}

/* h3 */
body:not(.home):not(.front-page) .entry-content h3 {
  position: relative;
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 500;
  line-height: 3rem;
  letter-spacing: 0;
  font-feature-settings: "halt" 1;
  margin: 4rem 0 2rem;
  padding: 0.375rem 0 0.75rem;
  border: 0;
  background: transparent;
  text-transform: none;
}

body:not(.home):not(.front-page) .entry-content h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0.1875rem;
  background: #cecece;
}

body:not(.home):not(.front-page) .entry-content h3::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 19.75rem;
  max-width: 36.6%;
  height: 0.1875rem;
  background: #795520;
  z-index: 1;
}

/* h4 */
body:not(.home):not(.front-page) .entry-content h4 {
  position: relative;
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 2.6875rem;
  letter-spacing: 0;
  font-feature-settings: "halt" 1;
  margin: 3rem 0 1.5rem;
  padding: 0.3125rem 0 0.3125rem 0.8rem;
  border: 0;
  background: transparent;
  text-transform: none;
}

body:not(.home):not(.front-page) .entry-content h4::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.4375rem;
  width: 0.1875rem;
  height: 2.5rem;
  max-height: 100%;
  background: #795520;
}

/* h5 */
body:not(.home):not(.front-page) .entry-content h5 {
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  font-feature-settings: "halt" 1;
  margin: 2.5rem 0 1.25rem;
  padding: 0;
  border: 0;
  background: transparent;
  text-transform: none;
}

/* コンテンツ最初の見出しは margin-top を除去 */
body:not(.home):not(.front-page) .entry-content > :is(h1, h2, h3, h4, h5, h6):first-child,
body:not(.home):not(.front-page) .entry-content >.index-pages> :is(h1, h2, h3, h4, h5, h6):first-child {
  margin-top: 0;
}

body:not(.home):not(.front-page) .entry-content .wp-block-post-title strong,
body:not(.home):not(.front-page) .entry-content h3 strong,
body:not(.home):not(.front-page) .entry-content h4 strong,
body:not(.home):not(.front-page) .entry-content h5 strong {
  font-weight: inherit;
}

/* SP */
@media (max-width: 767px) {
  body:not(.home):not(.front-page) .entry-content .wp-block-post-title,
  body:not(.home):not(.front-page) .entry-content h3 {
    font-size: 1.75rem;
    line-height: 1.5;
  }

  body:not(.home):not(.front-page) .entry-content h4 {
    font-size: 1.5rem;
    line-height: 1.5;
    padding-left: 0.75rem;
  }

  body:not(.home):not(.front-page) .entry-content h5 {
    font-size: 1.25rem;
    line-height: 1.5;
  }

  body:not(.home):not(.front-page) .entry-content h3::before {
    width: 38%;
  }

  body:not(.home):not(.front-page) .entry-content h4::before {
    height: 100%;
    left: 0.2rem;
    top: 0;
  }
}

@media (max-width: 781px) {
  .my-columns > * {
    flex-basis: 45% !important;
  }
}

.responsive-border {
  border-right: 1px solid #a9a9a9;
}

@media (max-width: 781px) {
  .responsive-border {
    border-right: none;
    border-bottom: 1px solid #a9a9a9;
    padding-bottom: 25px !important;
  }
}

.shadow-heading {
  color: #fff;
  text-align: center;
  leading-trim: both;
  text-edge: cap;
  text-shadow: 0 4px 15px #000;
  font-family: YuMincho;
  font-size: 48px;
  font-style: normal;
  font-weight: 600;
  line-height: 78px;
  letter-spacing: 4px;
  text-transform: uppercase;
}

body:not(.home):not(.front-page) .shadow-heading {
  font-size: 36px;
  letter-spacing: 0;
}


/* ==========================================================================
   ギャラリー（クラシックエディター .gallery）
   ========================================================================== */
body:not(.home):not(.front-page) .entry-content .gallery {
  margin: 1em auto;
  display: flex;
  flex-flow: row wrap;
}

body:not(.home):not(.front-page) .entry-content .gallery-item {
  align-items: flex-start;
  flex-flow: column;
  margin: 0;
  padding: 8px;
  box-sizing: border-box;
  width: 100%;
}

body:not(.home):not(.front-page) .entry-content .gallery-item img {
  max-width: 100% !important;
  height: auto !important;
  display: block;
}

body:not(.home):not(.front-page) .entry-content .gallery-caption {
  position: static;
  height: auto;
  padding: 4px 0 0;
  font-size: 13px;
  line-height: 1.5;
  color: #666;
}

@media screen and (min-width: 600px) {
  body:not(.home):not(.front-page) .entry-content .gallery-columns-2 .gallery-item { width: 50%; }
  body:not(.home):not(.front-page) .entry-content .gallery-columns-3 .gallery-item { width: calc(100% / 3); }
  body:not(.home):not(.front-page) .entry-content .gallery-columns-4 .gallery-item { width: 25%; }
  body:not(.home):not(.front-page) .entry-content .gallery-columns-5 .gallery-item { width: 20%; }
  body:not(.home):not(.front-page) .entry-content .gallery-columns-6 .gallery-item { width: calc(100% / 6); }
  body:not(.home):not(.front-page) .entry-content .gallery-columns-7 .gallery-item { width: calc(100% / 7); }
  body:not(.home):not(.front-page) .entry-content .gallery-columns-8 .gallery-item { width: 12.5%; }
  body:not(.home):not(.front-page) .entry-content .gallery-columns-9 .gallery-item { width: calc(100% / 9); }
}

/* ==========================================================================
   画像配置（align）
   ========================================================================== */
body:not(.home):not(.front-page) .entry-content .alignleft {
  float: left;
  margin-right: 16px;
  margin-bottom: 16px;
}

body:not(.home):not(.front-page) .entry-content .alignright {
  float: right;
  margin-left: 16px;
  margin-bottom: 16px;
}

body:not(.home):not(.front-page) .entry-content .aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 16px;
  text-align: center;
}

@media (max-width: 767px) {
  body:not(.home):not(.front-page) .entry-content .alignleft,
  body:not(.home):not(.front-page) .entry-content .alignright {
    float: none;
    margin: 0 auto 16px;
    display: block;
  }
}

/* ==========================================================================
   figure / wp-caption（キャプション付き画像）
   ========================================================================== */
body:not(.home):not(.front-page) .entry-content figure {
  display: inline-block;
  margin: 0 auto 1em;
  max-width: 100%;
  vertical-align: top;
}

body:not(.home):not(.front-page) .entry-content figure img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

body:not(.home):not(.front-page) .entry-content figure.alignleft {
  margin-right: 16px;
  margin-bottom: 16px;
}

body:not(.home):not(.front-page) .entry-content figure.alignright {
  margin-left: 16px;
  margin-bottom: 16px;
}

body:not(.home):not(.front-page) .entry-content figure.aligncenter {
  margin: 0 auto 16px;
  text-align: center;
}

body:not(.home):not(.front-page) .entry-content .wp-caption {
  max-width: 100%;
}

body:not(.home):not(.front-page) .entry-content .wp-caption-text,
body:not(.home):not(.front-page) .entry-content figcaption {
  font-size: 13px;
  line-height: 1.5;
  color: #666;
  padding: 4px 0 0;
  text-align: left;
}

@media (max-width: 767px) {
  body:not(.home):not(.front-page) .entry-content figure {
    margin: 1em auto;
  }

  body:not(.home):not(.front-page) .entry-content figure.alignleft,
  body:not(.home):not(.front-page) .entry-content img.alignleft,
  body:not(.home):not(.front-page) .entry-content figure.alignright,
  body:not(.home):not(.front-page) .entry-content img.alignright {
    float: none;
    margin: 0 auto 16px;
    display: block;
  }

  body:not(.home):not(.front-page) .entry-content .wp-caption {
    width: auto !important;
  }
}

/* ==========================================================================
   iframe（埋め込みコンテンツ）
   ========================================================================== */
body:not(.home):not(.front-page) .entry-content iframe {
  max-width: 100%;
}

/* ==========================================================================
   テーブル
   ========================================================================== */
body:not(.home):not(.front-page) .entry-content table {
  margin: 1em 0;
  max-width: 100%;
  border-collapse: collapse;
  empty-cells: show;
}

body:not(.home):not(.front-page) .entry-content caption {
  text-align: center;
  margin: 0;
  font-weight: bold;
}

body:not(.home):not(.front-page) .entry-content table th {
  background-color: #f5efe6;
  font-weight: bold;
}

body:not(.home):not(.front-page) .entry-content table th,
body:not(.home):not(.front-page) .entry-content table td {
  border: 1px solid #ccc;
  padding: 0.6em 0.8em;
  vertical-align: top;
  line-height: 1.75;
}

body:not(.home):not(.front-page) .entry-content th[scope="colgroup"],
body:not(.home):not(.front-page) .entry-content th[scope="col"] {
  text-align: center;
}

/* ==========================================================================
   em / strong
   ========================================================================== */
body:not(.home):not(.front-page) .entry-content strong {
  font-weight: bold;
}

body:not(.home):not(.front-page) .entry-content em {
  font-style: normal;
  color: #dc3232;
}

/* ==========================================================================
   dl / dt / dd
   ========================================================================== */
body:not(.home):not(.front-page) .entry-content dl {
  margin: 8px 0;
  padding: 0;
}

body:not(.home):not(.front-page) .entry-content dt {
  font-weight: bold;
}

body:not(.home):not(.front-page) .entry-content dd {
  margin-left: 2em;
  margin-bottom: 6px;
}

/* ==========================================================================
   hr
   ========================================================================== */
body:not(.home):not(.front-page) .entry-content hr {
  border: 0;
  border-top: 1px dotted #ccc;
  margin: 16px 0;
}

/* ==========================================================================
   about ブロック（概要）
   ========================================================================== */
body:not(.home):not(.front-page) .entry-content .about {
  background: #f5efe6;
  border-radius: 6px;
  padding: 20px 24px;
  margin: 1.5em 0;
  line-height: 1.75;
}

body:not(.home):not(.front-page) .entry-content .about p {
  margin-bottom: 0.5em;
}

body:not(.home):not(.front-page) .entry-content .about p:last-child {
  margin-bottom: 0;
}

/* ==========================================================================
   attention ブロック（注意書き）
   ========================================================================== */
body:not(.home):not(.front-page) .entry-content .attention {
  border-radius: 6px;
  line-height: 1.75;
  background: #fff8f0;
  padding: 20px 24px;
  margin: 1.5em 0;
  border: 1px solid #795520;
}

body:not(.home):not(.front-page) .entry-content .attention p {
  margin-bottom: 0.5em;
}

body:not(.home):not(.front-page) .entry-content .attention p:last-child {
  margin-bottom: 0;
}

/* リンクアイコン（iLink）：矢印アイコン付きリンク */
body:not(.home):not(.front-page) .entry-content .iLink,
body:not(.home):not(.front-page) .entry-content ul.iLink {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
}

body:not(.home):not(.front-page) .entry-content .iLink li,
body:not(.home):not(.front-page) .entry-content p.iLink {
  margin-bottom: 0.5em;
}
body:not(.home):not(.front-page) .entry-content p > a:not([class]),
body:not(.home):not(.front-page) .entry-content .iLink a  {
  position: relative;
  display: inline-block;
  padding-left: 26px;
  color: #333333;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.75;
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
  -webkit-text-decoration-style: solid;
          text-decoration-style: solid;
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
  word-break: break-word;
}
/* リンクアイコン */
body:not(.home):not(.front-page) .entry-content p > a::before,
body:not(.home):not(.front-page) .entry-content .iLink a::before {
  content: "";
  display: inline-block;
  margin-left: -26px;
  margin-right: 8px;
  vertical-align: middle;
  margin-top: -0.3em;
  width: 18px;
  height: 18px;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iOSIgY3k9IjkiIHI9IjkiIGZpbGw9IiM3OTU1MjAiLz4KPHBhdGggZD0iTTguNSA2LjVMMTAuNSA5TDguNSAxMS41IiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjAuOCIvPgo8L3N2Zz4K);
  opacity: 0.7;
}

body:not(.home):not(.front-page) .entry-content .iLink a:hover,
body:not(.home):not(.front-page) .entry-content .iLink a:active,
body:not(.home):not(.front-page) .entry-content .iLink a:focus,
body:not(.home):not(.front-page) .entry-content p > a:hover,
body:not(.home):not(.front-page) .entry-content p > a:active,
body:not(.home):not(.front-page) .entry-content p > a:focus {
  text-decoration: none;
  opacity: 1;
}
body:not(.home):not(.front-page) .entry-content .iLink a:hover::before,
body:not(.home):not(.front-page) .entry-content .iLink a:active::before,
body:not(.home):not(.front-page) .entry-content .iLink a:focus::before,
body:not(.home):not(.front-page) .entry-content p > a:hover:before,
body:not(.home):not(.front-page) .entry-content p > a:active:before,
body:not(.home):not(.front-page) .entry-content p > a:focus:before {
  opacity: 1;
}

/* リンクボタン（linkBtn）：ピル型ボタンリンク */
body:not(.home):not(.front-page) .entry-content p.linkBtn {
  margin: 1em 0;
}

body:not(.home):not(.front-page) .entry-content p.linkBtn > a {
  border-radius: 25px;
  display: inline-block;
  font-size: 1em;
  line-height: 1.2;
  text-decoration: none;
  padding: 0.8em 2.5em 1em 1.5em;
  position: relative;
  color: #ffffff;
  background-color: #795520;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  word-break: break-word;
}

body:not(.home):not(.front-page) .entry-content p.linkBtn > a[href] {
  color: #ffffff;
}

body:not(.home):not(.front-page) .entry-content p.linkBtn > a::before {
  display: none;
}

body:not(.home):not(.front-page) .entry-content p.linkBtn > a::after {
  content: '';
  position: absolute;
  right: 14px;
  top: 50%;
  left: auto;
  width: 0.45em;
  height: 0.75em;
  transform: translateY(-50%);
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%206%2010%22%3E%3Cpath%20fill%3D%22%23ffffff%22%20d%3D%22M1%2C0L6%2C5L1%2C10Z%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  border: 0;
}

body:not(.home):not(.front-page) .entry-content p.linkBtn > a:hover,
body:not(.home):not(.front-page) .entry-content p.linkBtn > a:focus,
body:not(.home):not(.front-page) .entry-content p.linkBtn > a:active {
  text-decoration: underline;
  -webkit-filter: brightness(1.2);
          filter: brightness(1.2);
}

body:not(.home):not(.front-page) .entry-content p.linkBtn > a:visited {
  color: #ffffff;
}

/* 添付書類（iPaper）：書類アイコン付きリンク */
body:not(.home):not(.front-page) .entry-content .iPaper,
body:not(.home):not(.front-page) .entry-content ul.iPaper {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
}

body:not(.home):not(.front-page) .entry-content .iPaper li {
  margin-bottom: 0.5em;
}
/* p.iPaper > a は p > a のスタイルをリセット */
body:not(.home):not(.front-page) .entry-content .iPaper a,
body:not(.home):not(.front-page) .entry-content p.iPaper > a {
  padding-left: 1.7em;
  font-weight: normal;
  display: inline-block;
  vertical-align: middle;
  word-break: break-all;
  position: relative;
}

body:not(.home):not(.front-page) .entry-content .iPaper a::before,
body:not(.home):not(.front-page) .entry-content p.iPaper > a::before {
  content: "";
  display: block;
  font-size: 1em;
  text-decoration: none;
  width: 1em;
  height: 1.2em;
  position: absolute;
  left: 0;
  top: 0.3em;
  margin: 0;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 0;
  opacity: 1;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20384%20512%22%3E%3Cpath%20fill%3D%22%23795520%22%20d%3D%22M288%2C248v28c0%2C6.6-5.4%2C12-12%2C12H108c-6.6%2C0-12-5.4-12-12v-28c0-6.6%2C5.4-12%2C12-12h168C282.6%2C236%2C288%2C241.4%2C288%2C248z%20M276%2C320H108c-6.6%2C0-12%2C5.4-12%2C12v28c0%2C6.6%2C5.4%2C12%2C12%2C12h168c6.6%2C0%2C12-5.4%2C12-12v-28C288%2C325.4%2C282.6%2C320%2C276%2C320z%20M384%2C131.9V464c0%2C26.5-21.5%2C48-48%2C48H48c-26.5%2C0-48-21.5-48-48V48C0%2C21.5%2C21.5%2C0%2C48%2C0h204.1C264.8%2C0%2C277%2C5.1%2C286%2C14.1L369.9%2C98C378.9%2C106.9%2C384%2C119.2%2C384%2C131.9z%20M256%2C51.9V128h76.1C332.1%2C128%2C256%2C51.9%2C256%2C51.9z%20M336%2C464V176H232c-13.3%2C0-24-10.7-24-24V48H48v416H336z%22%2F%3E%3C%2Fsvg%3E");
}

/* メディア挿入で付与される拡張子クラス付きリンクも添付書類表示に寄せる */
body:not(.home):not(.front-page) .entry-content p > a.PDF,
body:not(.home):not(.front-page) .entry-content p > a.DOC,
body:not(.home):not(.front-page) .entry-content p > a.DOCX,
body:not(.home):not(.front-page) .entry-content p > a.XLS,
body:not(.home):not(.front-page) .entry-content p > a.XLSX,
body:not(.home):not(.front-page) .entry-content p > a.ZIP,
body:not(.home):not(.front-page) .entry-content p > a.PPT,
body:not(.home):not(.front-page) .entry-content p > a.PPTX,
body:not(.home):not(.front-page) .entry-content p > a.CSV,
body:not(.home):not(.front-page) .entry-content p > a.TXT {
  padding-left: 1.7em;
  font-weight: normal;
  position: relative;
}

body:not(.home):not(.front-page) .entry-content p > a.PDF::before,
body:not(.home):not(.front-page) .entry-content p > a.DOC::before,
body:not(.home):not(.front-page) .entry-content p > a.DOCX::before,
body:not(.home):not(.front-page) .entry-content p > a.XLS::before,
body:not(.home):not(.front-page) .entry-content p > a.XLSX::before,
body:not(.home):not(.front-page) .entry-content p > a.ZIP::before,
body:not(.home):not(.front-page) .entry-content p > a.PPT::before,
body:not(.home):not(.front-page) .entry-content p > a.PPTX::before,
body:not(.home):not(.front-page) .entry-content p > a.CSV::before,
body:not(.home):not(.front-page) .entry-content p > a.TXT::before {
  width: 1em;
  height: 1.2em;
  top: 0.3em;
  opacity: 1;
  border-radius: 0;
  background-color: transparent;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20384%20512%22%3E%3Cpath%20fill%3D%22%23795520%22%20d%3D%22M288%2C248v28c0%2C6.6-5.4%2C12-12%2C12H108c-6.6%2C0-12-5.4-12-12v-28c0-6.6%2C5.4-12%2C12-12h168C282.6%2C236%2C288%2C241.4%2C288%2C248z%20M276%2C320H108c-6.6%2C0-12%2C5.4-12%2C12v28c0%2C6.6%2C5.4%2C12%2C12%2C12h168c6.6%2C0%2C12-5.4%2C12-12v-28C288%2C325.4%2C282.6%2C320%2C276%2C320z%20M384%2C131.9V464c0%2C26.5-21.5%2C48-48%2C48H48c-26.5%2C0-48-21.5-48-48V48C0%2C21.5%2C21.5%2C0%2C48%2C0h204.1C264.8%2C0%2C277%2C5.1%2C286%2C14.1L369.9%2C98C378.9%2C106.9%2C384%2C119.2%2C384%2C131.9z%20M256%2C51.9V128h76.1C332.1%2C128%2C256%2C51.9%2C256%2C51.9z%20M336%2C464V176H232c-13.3%2C0-24-10.7-24-24V48H48v416H336z%22%2F%3E%3C%2Fsvg%3E");
}

body:not(.home):not(.front-page) .entry-content .iPaper a .ext,
body:not(.home):not(.front-page) .entry-content p > a.PDF .ext,
body:not(.home):not(.front-page) .entry-content p > a.DOC .ext,
body:not(.home):not(.front-page) .entry-content p > a.DOCX .ext,
body:not(.home):not(.front-page) .entry-content p > a.XLS .ext,
body:not(.home):not(.front-page) .entry-content p > a.XLSX .ext,
body:not(.home):not(.front-page) .entry-content p > a.ZIP .ext,
body:not(.home):not(.front-page) .entry-content p > a.PPT .ext,
body:not(.home):not(.front-page) .entry-content p > a.PPTX .ext,
body:not(.home):not(.front-page) .entry-content p > a.CSV .ext,
body:not(.home):not(.front-page) .entry-content p > a.TXT .ext {
  margin-left: 0.4em;
  font-weight: normal;
  display: inline-block;
}

/*ファイル別アイコン*/
/**PDF*/
body:not(.home):not(.front-page) .entry-content .iPaper a[href$=".pdf" i]::before,
body:not(.home):not(.front-page) .entry-content .iPaper a.pdf::before,
body:not(.home):not(.front-page) .entry-content p.iPaper > a[href$=".pdf" i]::before,
body:not(.home):not(.front-page) .entry-content p > a.PDF::before {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMzg0cHgiIGhlaWdodD0iNTEyLjFweCIgdmlld0JveD0iMCAwIDM4NCA1MTIuMSIgc3R5bGU9Im92ZXJmbG93OnZpc2libGU7ZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAzODQgNTEyLjE7IiB4bWw6c3BhY2U9InByZXNlcnZlIj48c3R5bGUgdHlwZT0idGV4dC9jc3MiPiAuc3Qwe2ZpbGw6I0MxMDAwMDt9PC9zdHlsZT48ZGVmcz48L2RlZnM+PHBhdGggY2xhc3M9InN0MCIgZD0iTTM2OS45LDk4TDI4NiwxNC4xQzI3Nyw1LjEsMjY0LjgsMCwyNTIuMSwwSDQ4QzIxLjUsMC4xLDAsMjEuNiwwLDQ4LjF2NDE2YzAsMjYuNSwyMS41LDQ4LDQ4LDQ4aDI4OCBjMjYuNSwwLDQ4LTIxLjUsNDgtNDhWMTMyQzM4NCwxMTkuMywzNzguOSwxMDcsMzY5LjksOTh6IE0zMzIuMSwxMjguMUgyNTZWNTJMMzMyLjEsMTI4LjF6IE00OCw0NjQuMXYtNDE2aDE2MHYxMDQgYzAsMTMuMywxMC43LDI0LDI0LDI0aDEwNHYyODhINDh6IE0yOTguMiwzMjAuNGMtMTIuMi0xMi00Ny04LjctNjQuNC02LjVjLTE3LjItMTAuNS0yOC43LTI1LTM2LjgtNDYuM2MzLjktMTYuMSwxMC4xLTQwLjYsNS40LTU2IGMtNC4yLTI2LjItMzcuOC0yMy42LTQyLjYtNS45Yy00LjQsMTYuMS0wLjQsMzguNSw3LDY3LjFjLTEwLDIzLjktMjQuOSw1Ni0zNS40LDc0LjRjLTIwLDEwLjMtNDcsMjYuMi01MSw0Ni4yIGMtMy4zLDE1LjgsMjYsNTUuMiw3Ni4xLTMxLjJjMjIuNC03LjQsNDYuOC0xNi41LDY4LjQtMjAuMWMxOC45LDEwLjIsNDEsMTcsNTUuOCwxN0MzMDYuMiwzNTkuMSwzMDguNywzMzAuOSwyOTguMiwzMjAuNHogTTEwMC4xLDM5OC4yYzUuMS0xMy43LDI0LjUtMjkuNSwzMC40LTM1QzExMS41LDM5My41LDEwMC4xLDM5OC45LDEwMC4xLDM5OC4yeiBNMTgxLjcsMjA3LjZjNy40LDAsNi43LDMyLjEsMS44LDQwLjggQzE3OS4xLDIzNC41LDE3OS4yLDIwNy42LDE4MS43LDIwNy42eiBNMTU3LjMsMzQ0LjJjOS43LTE2LjksMTgtMzcsMjQuNy01NC43YzguMywxNS4xLDE4LjksMjcuMiwzMC4xLDM1LjUgQzE5MS4zLDMyOS4zLDE3My4yLDMzOC4xLDE1Ny4zLDM0NC4yeiBNMjg4LjksMzM5LjJjMCwwLTUsNi0zNy4zLTcuOEMyODYuNywzMjguOCwyOTIuNSwzMzYuOCwyODguOSwzMzkuMnoiLz48L3N2Zz4=");
}

/**WORD*/
body:not(.home):not(.front-page) .entry-content .iPaper a[href$=".doc" i]::before,
body:not(.home):not(.front-page) .entry-content .iPaper a[href$=".docx" i]::before,
body:not(.home):not(.front-page) .entry-content .iPaper a.word::before,
body:not(.home):not(.front-page) .entry-content .iPaper a.doc::before,
body:not(.home):not(.front-page) .entry-content .iPaper a.docx::before,
body:not(.home):not(.front-page) .entry-content p.iPaper > a[href$=".doc" i]::before,
body:not(.home):not(.front-page) .entry-content p > a.DOC::before,
body:not(.home):not(.front-page) .entry-content p > a.DOCX::before {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMzg0cHgiIGhlaWdodD0iNTEyLjFweCIgdmlld0JveD0iMCAwIDM4NCA1MTIuMSIgc3R5bGU9Im92ZXJmbG93OnZpc2libGU7ZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAzODQgNTEyLjE7IiB4bWw6c3BhY2U9InByZXNlcnZlIj48c3R5bGUgdHlwZT0idGV4dC9jc3MiPiAuc3Qwe2ZpbGw6IzFBNDdBQTt9PC9zdHlsZT48ZGVmcz48L2RlZnM+PHBhdGggY2xhc3M9InN0MCIgZD0iTTM2OS45LDk4TDI4NiwxNC4xQzI3Nyw1LjEsMjY0LjgsMCwyNTIuMSwwSDQ4QzIxLjUsMC4xLDAsMjEuNiwwLDQ4LjF2NDE2YzAsMjYuNSwyMS41LDQ4LDQ4LDQ4aDI4OCBjMjYuNSwwLDQ4LTIxLjUsNDgtNDhWMTMyQzM4NCwxMTkuMywzNzguOSwxMDcsMzY5LjksOTh6IE0zMzIuMSwxMjguMUgyNTZWNTJMMzMyLjEsMTI4LjF6IE00OCw0NjQuMXYtNDE2aDE2MHYxMDQgYzAsMTMuMywxMC43LDI0LDI0LDI0aDEwNHYyODhINDh6IE0yNjguMSwyNTYuMWMtNS43LDAtMTAuNiw0LTExLjcsOS41Yy0yMC42LDk3LjctMjAuNCw5NS40LTIxLDEwMy41Yy0wLjItMS4yLTAuNC0yLjYtMC43LTQuMyBjLTAuOC01LjEsMC4zLDAuMi0yMy42LTk5LjVjLTEuMy01LjQtNi4xLTkuMi0xMS43LTkuMmgtMTMuM2MtNS41LDAtMTAuMywzLjgtMTEuNyw5LjFjLTI0LjQsOTktMjQsOTYuMi0yNC44LDEwMy43IGMtMC4xLTEuMS0wLjItMi41LTAuNS00LjJjLTAuNy01LjItMTQuMS03My4zLTE5LjEtOTljLTEuMS01LjYtNi05LjctMTEuOC05LjdoLTE2LjhjLTcuOCwwLTEzLjUsNy4zLTExLjcsMTQuOCBjOCwzMi42LDI2LjcsMTA5LjUsMzMuMiwxMzZjMS4zLDUuNCw2LjEsOS4xLDExLjcsOS4xaDI1LjJjNS41LDAsMTAuMy0zLjcsMTEuNi05LjFsMTcuOS03MS40YzEuNS02LjIsMi41LTEyLDMtMTcuM2wyLjksMTcuMyBjMC4xLDAuNCwxMi42LDUwLjUsMTcuOSw3MS40YzEuMyw1LjMsNi4xLDkuMSwxMS42LDkuMWgyNC43YzUuNSwwLDEwLjMtMy43LDExLjYtOS4xYzIwLjgtODEuOSwzMC4yLTExOSwzNC41LTEzNiBjMS45LTcuNi0zLjgtMTQuOS0xMS42LTE0LjloLTE1LjhMMjY4LjEsMjU2LjF6Ii8+PC9zdmc+");
}
/**Excel*/
body:not(.home):not(.front-page) .entry-content .iPaper a[href$=".xls" i]::before,
body:not(.home):not(.front-page) .entry-content .iPaper a[href$=".xlsx" i]::before,
body:not(.home):not(.front-page) .entry-content .iPaper a.excelL::before,
body:not(.home):not(.front-page) .entry-content .iPaper a.xls::before,
body:not(.home):not(.front-page) .entry-content .iPaper a.xlsx::before,
body:not(.home):not(.front-page) .entry-content p.iPaper > a[href$=".xls" i]::before,
body:not(.home):not(.front-page) .entry-content p > a.XLS::before,
body:not(.home):not(.front-page) .entry-content p > a.XLSX::before {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMzg0cHgiIGhlaWdodD0iNTEyLjFweCIgdmlld0JveD0iMCAwIDM4NCA1MTIuMSIgc3R5bGU9Im92ZXJmbG93OnZpc2libGU7ZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAzODQgNTEyLjE7IiB4bWw6c3BhY2U9InByZXNlcnZlIj48c3R5bGUgdHlwZT0idGV4dC9jc3MiPiAuc3Qwe2ZpbGw6IzE1NzIxRTt9PC9zdHlsZT48ZGVmcz48L2RlZnM+PHBhdGggY2xhc3M9InN0MCIgZD0iTTM2OS45LDk4TDI4NiwxNC4xQzI3Nyw1LjEsMjY0LjgsMCwyNTIuMSwwSDQ4QzIxLjUsMC4xLDAsMjEuNiwwLDQ4LjF2NDE2YzAsMjYuNSwyMS41LDQ4LDQ4LDQ4aDI4OCBjMjYuNSwwLDQ4LTIxLjUsNDgtNDhWMTMyQzM4NCwxMTkuMywzNzguOSwxMDcsMzY5LjksOTh6IE0zMzIuMSwxMjguMUgyNTZWNTJMMzMyLjEsMTI4LjF6IE00OCw0NjQuMXYtNDE2aDE2MHYxMDQgYzAsMTMuMywxMC43LDI0LDI0LDI0aDEwNHYyODhINDh6IE0yNjAsMjI0LjFoLTI4LjhjLTQuNCwwLTguNCwyLjQtMTAuNSw2LjNjLTE4LDMzLjEtMjIuMiw0Mi40LTI4LjYsNTcuNyBjLTEzLjktMjkuMS02LjktMTcuMy0yOC42LTU3LjdjLTIuMS0zLjktNi4yLTYuMy0xMC42LTYuM0gxMjRjLTkuMywwLTE1LDEwLTEwLjQsMThsNDYuMyw3OGwtNDYuMyw3OGMtNC43LDgsMS4xLDE4LDEwLjQsMThoMjguOSBjNC40LDAsOC40LTIuNCwxMC41LTYuM2MyMS43LTQwLDIzLTQ1LDI4LjYtNTcuN2MxNC45LDMwLjIsNS45LDE1LjksMjguNiw1Ny43YzIuMSwzLjksNi4yLDYuMywxMC42LDYuM0gyNjBjOS4zLDAsMTUtMTAsMTAuNC0xOCBsLTQ2LjQtNzhjMC43LTEuMSwzMC4zLTUwLjUsNDYuMy03OEMyNzUsMjM0LjEsMjY5LjIsMjI0LjEsMjYwLDIyNC4xeiIvPjwvc3ZnPg==");
}

.wp-block-button.is-style-button-hover-secondary-bgcolor a:hover {
  border-color: var(--wp--preset--color--secondary) !important;
}
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-submenu {
  padding: 10px 15px !important;
}
@media (max-width: 560px) {
  .wp-block-heading.has-text-align-left.smartversity-heading-2,
  .wp-block-group.smartversity-text {
    padding-left: 0 !important;
  }
}

/* ==========================================================================
   新規ウィンドウ・外部サイトアイコン
   ========================================================================== */

/* 新規ウィンドウ注意テキスト */
.nw {
  display: inline-block;
  vertical-align: middle;
  font-size: 0.875em;
  margin-left: 0.2em;
  text-decoration: none;
}

/* 読み上げ用テキスト（視覚的に非表示） */
.nw.speech,
.out.speech {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

/* 外部サイトアイコン（SVG 背景画像） */
.out {
  display: inline-block;
  overflow: hidden;
  position: relative;
  vertical-align: middle;
  margin-top: -0.2em;
  margin-left: 0.2em;
  width: 1em;
  padding-top: 1em;
  height: 0;
  text-decoration: none;
  line-height: 1;
}

.out::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2220%22%20fill%3D%22none%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cg%20stroke%3D%22%23795520%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221.25%22%20clip-path%3D%22url(%23a)%22%3E%3Cpath%20d%3D%22M10%205H5.00004a1.66667%201.66667%200%200%200-1.66667%201.66667V15c0%20.442.1756.866.48816%201.1785a1.66654%201.66654%200%200%200%201.17851.4882h8.33336A1.66663%201.66663%200%200%200%2015%2015v-5M9.16663%2010.8334l7.49997-7.50003M12.5%203.33337h4.1667v4.16667%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22a%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%200h20v20H0z%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E");
}

/* linkBtn 内の .out は白く反転 */
.linkBtn .out::before {
  -webkit-filter: grayscale(1) invert(1) brightness(1.5);
          filter: grayscale(1) invert(1) brightness(1.5);
}

/* ==========================================================================
   ふりがな切り替えトグル
   ========================================================================== */
:root {
    --ft-text-color: #ffffff;
    --ft-focus-color: #ffffff;
    --ft-active-bg: #ffffff;
    --ft-active-text: #000000;
    --ft-transition: all .2s ease;
}

rp { display: none; }
.furigana-off rt { display: none !important; }

.furigana-toggle {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font: inherit;
    font-size: 14px;
    line-height: 1;
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    color: var(--ft-text-color);
    cursor: pointer;
    transition: var(--ft-transition);
    box-shadow: none;
    white-space: nowrap;
}

.furigana-toggle:hover {
    background: transparent;
}

.furigana-toggle .ft-label {
    display: inline-block;
    color: #ffffff;
    font-weight: 700;
}

.furigana-toggle .ft-state {
    display: inline-block;
    min-width: 2.4em;
    padding: 6px 10px;
    border: 1px solid #ffffff;
    background: transparent;
    color: #ffffff;
    line-height: 1;
    text-align: center;
}

.furigana-toggle[aria-pressed="true"] .ft-state {
    background: var(--ft-active-bg);
    color: var(--ft-active-text);
}

.furigana-toggle.hidden {
    display: none !important;
}

#furiganaToggleFab {
    position: fixed;
    z-index: 9999;
    right: 12px;
    bottom: 14px;
    display: none !important;
}

/* ==========================================================================
   スマホ時：ヘッダーグループをモバイルメニュー内に移動
   ========================================================================== */
@media (max-width: 600px) {
    .enyujuku-smartversity-mobile-menu-group {
        display: flex !important;
        flex-direction: column;
        gap: 0.75rem;
        inline-size: 100%;
        margin: 0 0 1rem;
        padding: 0 0 1rem;
        border-bottom: 1px solid rgba(0, 0, 0, 0.12);
    }

    .enyujuku-smartversity-mobile-menu-group.wp-block-group.is-layout-flex,
    .enyujuku-smartversity-mobile-menu-group .wp-block-group.is-layout-flex {
        gap: 0.75rem;
    }

    .enyujuku-smartversity-mobile-menu-group,
    .enyujuku-smartversity-mobile-menu-group .wp-block-group,
    .enyujuku-smartversity-mobile-menu-group .wp-block-buttons {
        inline-size: 100%;
    }

    .enyujuku-smartversity-mobile-menu-group .wp-block-buttons {
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
    }

    .enyujuku-smartversity-mobile-menu-group .wp-block-button,
    .enyujuku-smartversity-mobile-menu-group .wp-block-button__link {
        inline-size: 100%;
    }

    .enyujuku-smartversity-mobile-menu-group .wp-block-button__link {
        text-align: center;
    }
}

/* ==========================================================================
   フッターナビゲーション（サブメニュー常時展開）
   ========================================================================== */

/* ハンバーガーボタンを非表示 */
.smartversity-footer .wp-block-navigation__responsive-container-open {
    display: none !important;
}

/* レスポンシブコンテナ・ダイアログ構造を静的展開 */
.smartversity-footer .wp-block-navigation__responsive-container,
.smartversity-footer .wp-block-navigation__responsive-close,
.smartversity-footer .wp-block-navigation__responsive-dialog,
.smartversity-footer .wp-block-navigation__responsive-container-content {
    display: block !important;
    position: static !important;
    background: transparent !important;
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* 閉じるボタンを非表示 */
.smartversity-footer .wp-block-navigation__responsive-container-close {
    display: none !important;
}

/* ナビゲーション全体：親項目を横並び、各列は縦積み */
.smartversity-footer .wp-block-navigation .wp-block-navigation__container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    gap: 1.4rem !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

/* 各親項目：縦積みコンテナ */
.smartversity-footer .wp-block-navigation .wp-block-navigation-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    flex: 1 !important;
    min-width: 8rem !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

/* サブメニューを常時展開・静的配置 */
.smartversity-footer .wp-block-navigation .wp-block-navigation__submenu-container {
    display: flex !important;
    flex-direction: column !important;
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    width: 100% !important;
    height: auto !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    outline: none !important;
    padding: 4px 0 0 !important;
    min-width: 0 !important;
    transition: none !important;
}

/* WPデフォルトのホバー起動サブメニュー展開を無効化 */
.smartversity-footer .wp-block-navigation .has-child:not(.open-on-click):hover > .wp-block-navigation__submenu-container {
    opacity: 1 !important;
    visibility: visible !important;
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
    transition: none !important;
    padding: 4px 0 0 !important;
}

/* 矢印アイコンを非表示 */
.smartversity-footer .wp-block-navigation .wp-block-navigation__submenu-icon,
.smartversity-footer .wp-block-navigation .wp-block-navigation-item__toggle-child-items-button {
    display: none !important;
}

/* 親項目（見出し）：サブメニューを持つ項目（href="#"）は非クリック */
.smartversity-footer .wp-block-navigation .wp-block-navigation-submenu > .wp-block-navigation-item__content {
    font-weight: bold;
    pointer-events: none;
    cursor: default;
    padding: 0 !important;
    color: #ffffff !important;
}

/* 親項目（見出し）：サブメニューなしのトップレベルリンク（入学するには・お知らせ一覧など）は白太字・クリック可 */
.smartversity-footer .wp-block-navigation .wp-block-navigation__container:not(.footer-bottom-nav) > .wp-block-navigation-link > .wp-block-navigation-item__content {
    font-weight: bold;
    padding: 0 !important;
    color: #ffffff !important;
}

/* 子項目 */
.smartversity-footer .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    font-weight: normal;
    padding: 3px 0 !important;
    pointer-events: auto;
    cursor: pointer;
    color: #CBCBCB !important;
}

@media (max-width: 599px) {
    .smartversity-footer .wp-block-navigation .wp-block-navigation__container {
        flex-direction: column !important;
        gap: 1rem !important;
    }

    .smartversity-footer .wp-block-navigation .wp-block-navigation-item {
        width: 100% !important;
    }
}

/* フッター下部ナビ（フラットリンク）はサブメニュー展開CSS対象外 */
.smartversity-footer .footer-bottom-nav.wp-block-navigation .wp-block-navigation-item {
    flex: unset !important;
    width: auto !important;
    min-width: 0 !important;
    flex-direction: row !important;
}

@media (max-width: 781px) {
  /* フッター縦積み配置補正*/
  .smartversity-footer .wp-container-core-columns-is-layout-28f84493{
    flex-flow: column-reverse;
    gap: 2.5em;
  }
}