/*
Theme Name:     OkuMasa
Version:        1.0.4
Template: riverbank
WordPress Available:  yes
*/

button, input, select, textarea, h3, h4, h5, h6, p {
	font-family: "Noto Serif JP", serif;
}

li.ez-toc-page-1.ez-toc-heading-level-2 {
    display: flex;
    margin-right: 20px;
    font-weight: bold;
    text-transform: uppercase;
}
li.ez-toc-page-1.ez-toc-heading-level-2 a {
    transition: color 0.3s ease;
}

li.ez-toc-page-1.ez-toc-heading-level-2 a:hover {
    color: #0073e6;
    text-decoration: underline;
}

@media (max-width: 768px) {
    li.ez-toc-page-1.ez-toc-heading-level-2 {
        flex-direction: column;
        margin-right: 0;
        text-align: center;
    }
}

.grecaptcha-badge { visibility: hidden; }
div#booking-package_inputFormPanel {
    box-shadow: inset 0 0 0.5px 1px hsla(0, 0%, 100%, 0.1),
	 0 0 0 6px hsla(230, 13%, 9%, 0.075),  0 0.3px 0.4px hsla(230, 13%, 9%, 0.02), 0 0.9px 1.5px hsla(230, 13%, 9%, 0.045), 0 3.5px 6px hsla(230, 13%, 9%, 0.09);
    aspect-ratio: 1/1;
    background-color: var(--color-bg-light);
    border-radius: 12px;
	font-size: large;
}
ul li.ez-toc-page-1.ez-toc-heading-level-1
 {
    border-left: none;
}
input::placeholder {
    color: gainsboro;
}
select#booking_package_input_guests_1,
div#booking_package_totalNumberOfGuests,
input#booking_package_input_firstname,
input#booking_package_input_email,
input#booking_package_input_phone,
input#booking_package_input_message
 {
    font-size: inherit;
}
.wp-block-group.alignfull.cta.has-background {
    padding: 0;
}
.wp-block-group.is-layout-flow .contact {
    padding: 12px;
}
#booking-package button {
    font-size: 18px;
    padding: inherit;
    background-color: #eeffef;
}
button.returnButton.bookingButton,
button#returnToSchedules {
    border-color: #e1ffe1;
}
#booking-package_inputFormPanel button {
    font-weight: normal;
    border-radius: 8px;
}
#booking-package_inputFormPanel input[type=text],
select#booking_package_input_guests_1 {
}
.wp-block-group.has-border-color.has-ti-bg-alt-border-color.is-layout-constrained.wp-container-7 {
    margin-top: 80px;
}
/* news */
.news-block ul li {
    border: none;
}
p.acta01 a,
p.acta01 a:link {
    color: white;
    text-decoration: underline;
}
p.acta01 a:hover {
    text-decoration: none;
}
/* wpml */
.wpml-language-switcher-block.is-layout-flex.is-responsive.has-child-selected.wp-block-navigation {
    max-width: 120px;
}
a.wp-block-button__link.wp-element-button:hover {
    background-color: #126b00;
}
.wpml-ls-dropdown ul li {
    border: none;
}
/* nav */
li.wp-block-navigation-item.wp-block-navigation-link {
    border: 0;
}
.wp-block-navigation ul,
.wp-block-navigation ul li {
    list-style: none;
    padding: 0 30px;
    font-size: 16px;
}
.wp-block-navigation ul li a span.wp-block-navigation-item__label:hover {
    color: #0d8b2f;
}

nav,
.primary-navigation {
margin: 0 auto;
display: block;
text-align: center;
	font-size: 16px;}

ul li {
list-style: none;
margin: 0 auto;
border-left: 2px solid var(--wp--preset--color--ti-accent);
display: inline-block;
padding: 0 30px;
position: relative;
text-decoration: none;
text-align: center;
}
li a {
color: black;
}
li a:hover {
color: #0d8b2f;
}
li:hover {
cursor: pointer;
}
ul li ul {
visibility: hidden;
opacity: 0;
position: absolute;
padding-left: 0;
left: 0;
display: none;
background: white;
}
ul li:hover > ul,
ul li ul:hover {
visibility: visible;
opacity: 1;
display: block;
min-width: 250px;
text-align: left;
padding-top: 20px;
box-shadow: 0px 3px 5px -1px #ccc;
}
ul li ul li {
clear: both;
width: 100%;
text-align: left;
margin-bottom: 20px;
border-style: none;
}
ul li ul li a:hover {
padding-left: 10px;
border-left: 2px solid #3ca0e7;
transition: all 0.3s ease;
}
a,a:hover {
text-decoration: none;
color: #3CA0E7;
}
ul li ul li a { transition: all 0.5s ease; }
ul li.wp-social-link,
ul li.wp-block-post,
ul li.hentry,
ul li.category-blog {
    padding: 0;
	border-left:0;
}
ul.wp-block-navigation__container,
.wp-block-navigation ul,
.wp-block-navigation ul li {
    padding: 0;
}
li.wp-social-link.wp-social-link-chain.shabumasa.wp-block-social-link {
    background-color: #30442c;
    color: #fff;
}
li.wp-social-link.wp-social-link-mail.masamail.wp-block-social-link {
    background-color: #efa60b;
    color: #fff;
}
li.hentry {
    display: initial;
}


/* contact */
.wpcf7 {
    padding: 24px;
    background: #fafafa;
    border-radius: 8px;
    font-weight: 700;
}
.wpcf7 form {
  position: relative;
}
.wpcf7 form > p,
.wpcf7 form > div {
  margin-bottom: 1.2em;
}
.wpcf7 .wpcf7-form-control-wrap {
  width: 100%;
  display: block;
}
.wpcf7 input[type="submit" i] {
    font-size: larger;
    padding: 4px 24px;
    border-radius: 8px;
    border: solid 1px #9c9c9c;
}
.wpcf7 input[type="submit" i]:hover {
	    border: solid 1px #706e6e;
}
.wpcf7 input[type="submit" i]{
  transition: 0.2s;
}
.wpcf7 input[type="submit" i]:active {
  transform: translateY(2px);
}
.wpcf7 input:not([type="submit"]):focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
  background: #fff;
  border-color: var(--ast-border-color);
  outline: 0;
  box-shadow: none;
}
.wpcf7 input:not([type="submit"]),
.wpcf7 textarea, .wpcf7 select {
  width: 100%;
  padding: 0.75em;
}
.wpcf7 input[type="file"] {
  color: #666;
  height: auto;
  border-width: 1px;
  border-style: solid;
  border-color: var(--ast-border-color);
  border-radius: 2px;
  background: #fafafa;
  box-shadow: none;
  box-sizing: border-box;
  transition: all 0.2s linear;
}
.wpcf7 input[type="radio"],
.wpcf7 input[type="checkbox"] {
  display: inline-block;
  background: #E9EEF2;
  color: #555;
  clear: none;
  cursor: pointer;
  line-height: 0;
  height: 1.2em;
  margin: -3px 4px 0 0;
  outline: 0;
  padding: 0;
  border-radius: 0.2em;
  text-align: center;
  vertical-align: middle;
  width: 1.4em;
  min-width: 1.4em;
  transition: all 0.2s linear;
}
.wpcf7 .wpcf7-validation-errors {
  border-color: #f00;
}

@media only screen and (max-width:1024px){
.has-huge-font-size {
    font-size: 40px !important;
}
.wp-block-image img {
    height: auto;
    max-width: 100%;
    vertical-align: bottom;
    min-width: 124px;
}
.cta .wp-block-column.is-vertically-aligned-center.is-layout-flow {
    padding: 4px !important;
}
.cta h2.wp-block-heading {
    font-size: 36px;
}
body footer .is-layout-flex {
    display: inline-block;
}
footer span.wp-block-navigation-item__label {
    color: white;
}
.wp-block-group.is-layout-constrained.wp-container-15,
.wp-block-column.is-layout-flow
	{
    margin: 12px;
}
	.ctn-box {
		padding :12px !important;
	}
h2.wp-block-heading.alignwide.has-huge-font-size {
    font-size: 40px !important;
}
p.has-medium-font-size {
    font-size: 16px !important;
}
h1.has-text-align-center.wp-block-post-title {
    font-size: 40px;
}
}
@media only screen and (max-width: 828px){
ul li {
    border-left: 0;
		min-width: 120px;
}
ul li.wp-block-post,
ul li.hentry,
ul li.category-blog,
.wp-block-navigation ul li,
ul li.wp-block-social-link,
ul li.wp-social-link,
ul li.wp-social-link-mail,
ul li.masamail {
			min-width: auto;
	}
li.wp-social-link.wp-social-link-chain.shabumasa.wp-block-social-link {
    background-color: #30442c;
    color: #fff;
	min-width: auto;
}
li.wp-social-link.wp-social-link-mail.masamail.wp-block-social-link {
    background-color: #efa60b;
    color: #fff;
	min-width: auto;
}
.page-id-2 h2.wp-block-heading {
    padding: 16px;
    font-size: large;
}
}

/* =========================================
   OkuMasa / 島食材アーカイブ 最小調整
   対象: /ingredients-category/island-ingredients/
   ========================================= */

/* ページ全体の読みやすさ */
body.tax-doc_category.term-island-ingredients {
  --okm-text: #2f2f2f;
  --okm-muted: #6f6f6f;
  --okm-line: #e7e2d8;
  --okm-bg: #faf8f3;
  --okm-card: #ffffff;
  --okm-accent: #7a5a2f;
}

/* 本文幅を少し絞る */
body.tax-doc_category.term-island-ingredients main,
body.tax-doc_category.term-island-ingredients .site-content,
body.tax-doc_category.term-island-ingredients .content-area {
  max-width: 1120px;
  margin: 0 auto;
}

/* タイトルまわり */
body.tax-doc_category.term-island-ingredients h1,
body.tax-doc_category.term-island-ingredients .page-title,
body.tax-doc_category.term-island-ingredients .archive-title {
  font-size: clamp(28px, 4vw, 40px);
  line-height: 1.25;
  letter-spacing: 0.03em;
  margin-bottom: 0.8em;
  color: var(--okm-text);
}

/* 説明文があれば整える */
body.tax-doc_category.term-island-ingredients .term-description,
body.tax-doc_category.term-island-ingredients .archive-description,
body.tax-doc_category.term-island-ingredients .taxonomy-description {
  max-width: 760px;
  margin: 0 auto 2rem;
  font-size: 15px;
  line-height: 1.9;
  color: var(--okm-muted);
}

/* 一覧部分の余白 */
body.tax-doc_category.term-island-ingredients .entry-content,
body.tax-doc_category.term-island-ingredients .archive-content,
body.tax-doc_category.term-island-ingredients .betterdocs-content-area,
body.tax-doc_category.term-island-ingredients .betterdocs-category-grid-wrapper,
body.tax-doc_category.term-island-ingredients .betterdocs-single-category-wrapper {
  color: var(--okm-text);
  line-height: 1.9;
}

/* 一覧を2カラム化（スマホは後で1カラム） */
body.tax-doc_category.term-island-ingredients .entry-content > ul,
body.tax-doc_category.term-island-ingredients .archive-content > ul,
body.tax-doc_category.term-island-ingredients .betterdocs-content-area ul,
body.tax-doc_category.term-island-ingredients .betterdocs-single-category-wrapper ul {
  list-style: none;
  margin: 1.5rem 0 2.5rem;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 16px;
}

/* 各リンクを軽いカード風に */
body.tax-doc_category.term-island-ingredients .entry-content > ul > li,
body.tax-doc_category.term-island-ingredients .archive-content > ul > li,
body.tax-doc_category.term-island-ingredients .betterdocs-content-area ul > li,
body.tax-doc_category.term-island-ingredients .betterdocs-single-category-wrapper ul > li {
  margin: 0;
  padding: 0;
}

body.tax-doc_category.term-island-ingredients .entry-content > ul > li > a,
body.tax-doc_category.term-island-ingredients .archive-content > ul > li > a,
body.tax-doc_category.term-island-ingredients .betterdocs-content-area ul > li > a,
body.tax-doc_category.term-island-ingredients .betterdocs-single-category-wrapper ul > li > a {
  display: block;
  padding: 14px 16px;
  background: var(--okm-card);
  border: 1px solid var(--okm-line);
  border-radius: 10px;
  text-decoration: none;
  color: var(--okm-text);
  line-height: 1.65;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

/* hover */
body.tax-doc_category.term-island-ingredients .entry-content > ul > li > a:hover,
body.tax-doc_category.term-island-ingredients .archive-content > ul > li > a:hover,
body.tax-doc_category.term-island-ingredients .betterdocs-content-area ul > li > a:hover,
body.tax-doc_category.term-island-ingredients .betterdocs-single-category-wrapper ul > li > a:hover {
  transform: translateY(-1px);
  border-color: rgba(122, 90, 47, 0.35);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05);
  background: #fffdf9;
  color: #1f1f1f;
}

/* 見出しの下の余白 */
body.tax-doc_category.term-island-ingredients h2,
body.tax-doc_category.term-island-ingredients h3 {
  margin-top: 2.4rem;
  margin-bottom: 1rem;
  line-height: 1.4;
  color: var(--okm-text);
}

/* 下部の店舗情報などは少しだけ静かに */
body.tax-doc_category.term-island-ingredients .entry-content p,
body.tax-doc_category.term-island-ingredients .archive-content p,
body.tax-doc_category.term-island-ingredients .betterdocs-content-area p {
  font-size: 15px;
  line-height: 1.9;
  color: var(--okm-text);
}

body.tax-doc_category.term-island-ingredients .entry-content hr,
body.tax-doc_category.term-island-ingredients .archive-content hr {
  border: 0;
  border-top: 1px solid var(--okm-line);
  margin: 2.5rem 0;
}

/* スマホは1カラム */
@media (max-width: 767px) {
  body.tax-doc_category.term-island-ingredients .entry-content > ul,
  body.tax-doc_category.term-island-ingredients .archive-content > ul,
  body.tax-doc_category.term-island-ingredients .betterdocs-content-area ul,
  body.tax-doc_category.term-island-ingredients .betterdocs-single-category-wrapper ul {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  body.tax-doc_category.term-island-ingredients .entry-content > ul > li > a,
  body.tax-doc_category.term-island-ingredients .archive-content > ul > li > a,
  body.tax-doc_category.term-island-ingredients .betterdocs-content-area ul > li > a,
  body.tax-doc_category.term-island-ingredients .betterdocs-single-category-wrapper ul > li > a {
    padding: 13px 14px;
  }
}

/* =========================================
   島食材アーカイブ：BetterDocsの縦線を消す
   既存CSSの末尾に追加
   ========================================= */

body.tax-doc_category.term-island-ingredients .betterdocs-content-area ul,
body.tax-doc_category.term-island-ingredients .betterdocs-single-category-wrapper ul,
body.tax-doc_category.term-island-ingredients .betterdocs-category-grid-wrapper ul,
body.tax-doc_category.term-island-ingredients .betterdocs-content-area li,
body.tax-doc_category.term-island-ingredients .betterdocs-single-category-wrapper li,
body.tax-doc_category.term-island-ingredients .betterdocs-category-grid-wrapper li {
  border-left: none !important;
  box-shadow: none !important;
}

/* BetterDocsやテーマ側の擬似要素の縦線を強制停止 */
body.tax-doc_category.term-island-ingredients .betterdocs-content-area ul::before,
body.tax-doc_category.term-island-ingredients .betterdocs-content-area ul::after,
body.tax-doc_category.term-island-ingredients .betterdocs-content-area li::before,
body.tax-doc_category.term-island-ingredients .betterdocs-content-area li::after,
body.tax-doc_category.term-island-ingredients .betterdocs-single-category-wrapper ul::before,
body.tax-doc_category.term-island-ingredients .betterdocs-single-category-wrapper ul::after,
body.tax-doc_category.term-island-ingredients .betterdocs-single-category-wrapper li::before,
body.tax-doc_category.term-island-ingredients .betterdocs-single-category-wrapper li::after,
body.tax-doc_category.term-island-ingredients .betterdocs-category-grid-wrapper ul::before,
body.tax-doc_category.term-island-ingredients .betterdocs-category-grid-wrapper ul::after,
body.tax-doc_category.term-island-ingredients .betterdocs-category-grid-wrapper li::before,
body.tax-doc_category.term-island-ingredients .betterdocs-category-grid-wrapper li::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  background: transparent !important;
}

/* アイコンと文字の位置を少し整える */
body.tax-doc_category.term-island-ingredients .betterdocs-content-area ul > li > a,
body.tax-doc_category.term-island-ingredients .betterdocs-single-category-wrapper ul > li > a,
body.tax-doc_category.term-island-ingredients .betterdocs-category-grid-wrapper ul > li > a {
  padding-left: 16px !important;
}

/* もしリンクの手前に余計な線分用余白が残っていたらリセット */
body.tax-doc_category.term-island-ingredients .betterdocs-content-area li,
body.tax-doc_category.term-island-ingredients .betterdocs-single-category-wrapper li,
body.tax-doc_category.term-island-ingredients .betterdocs-category-grid-wrapper li {
  padding-left: 0 !important;
  margin-left: 0 !important;
}
