/* CSS Document */

@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,300..900;1,300..900&family=Zen+Kaku+Gothic+New:wght@400;500;700;900&display=swap');
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.13.1/font/bootstrap-icons.min.css");
#wpadminbar { top:unset;bottom:0;position: fixed !important; }
html { margin-top: 0 !important; }
:root {
  --font_title: "Zen Kaku Gothic New", sans-serif; !important;
  --font_eng: "Figtree", sans-serif;
  --color_green: #629337;
  --color_base: #F0E8DE;
  --color_sand: #D2BB9F;
  --color_cream: #FBF9F6;
  --color_brown: #8E6F2A;
  --color_gray : #878787;
  --color_text: #222222;
  --color_line: #DBDBDB;
  --maxWidth_1400: 1320px;
}
html {
  font-size: 100%;
}
html, body { overscroll-behavior-y: none; }
html[lang="ja"] * {
  letter-spacing: 0.05rem !important;
}
html:focus-within {
  scroll-behavior: smooth
}
body, input, textarea, button, .button, .faux-button, .faux-button.more-link, .wp-block-button__link, .wp-block-file__button, .has-drop-cap:not(:focus)::first-letter, .entry-content .wp-block-archives, .entry-content .wp-block-categories, .entry-content .wp-block-cover-image, .entry-content .wp-block-cover-image p, .entry-content .wp-block-latest-comments, .entry-content .wp-block-latest-posts, .entry-content .wp-block-pullquote, .entry-content .wp-block-quote.is-large, .entry-content .wp-block-quote.is-style-large, .entry-content .wp-block-archives *, .entry-content .wp-block-categories *, .entry-content .wp-block-latest-posts *, .entry-content .wp-block-latest-comments *, .entry-content, .entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6, .entry-content p, .entry-content ol, .entry-content ul, .entry-content dl, .entry-content dt, .entry-content cite, .entry-content figcaption, .entry-content table, .entry-content address, .entry-content .wp-caption-text, .entry-content .wp-block-file, .comment-content p, .comment-content ol, .comment-content ul, .comment-content dl, .comment-content dt, .comment-content cite, .comment-content figcaption, .comment-content .wp-caption-text, .widget_text p, .widget_text ol, .widget_text ul, .widget_text dl, .widget_text dt, .widget-content .rssSummary, .widget-content cite, .widget-content figcaption, .widget-content .wp-caption-text, .entry-content, .entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6, .entry-content cite, .entry-content figcaption, .entry-content table, .entry-content address, .entry-content .wp-caption-text, .entry-content .wp-block-file {
  font-family: "Zen Kaku Gothic New",sans-serif !important;
  color: #222222;
  font-size: 16px;
  font-size: 1rem;
  text-rendering: optimizeSpeed;
  line-height: 160%;
}
*,*:before,*:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
body,
body:not(.single-post) h1,
body:not(.single-post) h2,
body:not(.single-post) h3,
body:not(.single-post) h4,
body:not(.single-post) p,
body:not(.single-post) figure,
body:not(.single-post) blockquote,
body:not(.single-post) dd,
body:not(.single-post) ul,
body:not(.single-post) li {
  margin: 0;
}
body:not(.single-post) h1,
body:not(.single-post) h2,
body:not(.single-post) h3,
body:not(.single-post) h4,
body:not(.single-post) h5,
body:not(.single-post) h6 {
  margin: 0;
  padding: 0;
}
ul,ol {
  list-style: none;
  padding: 0;
}
a:not([class]) {
  text-decoration-skip-ink: auto;
}  
a {
  text-decoration: none;
  color: inherit;
}
a.hover-translate {
  transition: all .3s ease;
}
a.hover-translate:hover {
  transform: translate(1px, 1px);
}
img,picture {
  max-width: 100%;
  display: block;
}
input,button,textarea,select {
  font: inherit;
}
button {
  border: none;
  padding: 0;
  background-color: transparent;
  background-color: initial;
}
@media (prefers-reduced-motion:reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,*:before,*:after {
    -webkit-animation-duration: .01ms !important;
    animation-duration: .01ms !important;
    -webkit-animation-iteration-count: 1 !important;
    animation-iteration-count: 1 !important;
    -webkit-transition-duration: .01ms !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
.bg-navy { background-color: var(--color_navy); }
.bg-dark { background-color: var(--color_dark) !important; }
.bg-sky {background-color: var(--color_sky);}
.text-green { color: var(--color_green) !important; }
.text-yellow { color: var(--color_yellow); }
.font-eng { font-family: var(--font_eng); }

/* HEADER */
#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: white;
  z-index: 998;
}
.header-inner {
  padding: 1.5625rem 0;
}
.header-titles-wrapper {
  margin-right: 0;
  max-width: none;
  padding: 0;
}
.header-logo {
  display: flex;
  max-width: 12.5rem;
  height: 4.375rem;
  aspect-ratio: 205 / 69;
}

/* HEADER MENU */
.primary-menu {
  align-items: center;
}
.primary-menu a {
  font-size: 0.9375rem;
  color: var(--color_text);
  font-family: var(--font_eng);
  font-weight: 500;
  line-height: 140%;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.primary-menu a:hover {
  color: var(--color_green);
}
.primary-menu li {
  margin: 0 !important;
}
.primary-menu li:nth-child(4), 
.primary-menu li:nth-child(5) {
  border-left: 1px solid var(--color_line);
  padding: 0 0.625rem;
}
.primary-menu li:nth-child(4) a::before, 
.primary-menu li:nth-child(5) a::before {
  content:'';
  width: 1.25rem;
  height: 1.25rem;
  aspect-ratio: 1 / 1;
  margin-right: 0.625rem;
  transition: all .3s ease;
}
.primary-menu li:nth-child(4) a::before {
  background-image: url(/wp-content/themes/kitchen-coishi/assets/images/icon-map.svg);
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-position: center center;
}
.primary-menu li:nth-child(5) a::before {
  background-image: url(/wp-content/themes/kitchen-coishi/assets/images/icon-mail.svg);
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-position: center center;
}
.primary-menu li:nth-child(4) a:hover::before {
  background-image: url(/wp-content/themes/kitchen-coishi/assets/images/icon-map-green.svg);
}
.primary-menu li:nth-child(5) a:hover::before {
  background-image: url(/wp-content/themes/kitchen-coishi/assets/images/icon-mail-green.svg);
}
.primary-menu li.current-menu-item > a, .primary-menu li.current-menu-item > .link-icon-wrapper > a, 
.primary-menu a:hover, .primary-menu a:focus, .primary-menu a:active, .primary-menu a:focus-within, 
.modal-menu a:focus, .modal-menu a:hover, .modal-menu li.current-menu-item > .ancestor-wrapper > a, .modal-menu li.current_page_ancestor > .ancestor-wrapper > a {
  text-decoration: none;
}
.header-english-button {
  background-color: var(--color_brown);
  color: #ffffff !important;
  text-align: center;
  font-family: var(--font_eng);
  border-radius: 1rem;
  padding: 0.35rem 1rem 0.35rem 0.625rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.header-english-button .glove-icon {
  margin-right: 0.625rem;
  width: 1.375rem;
  aspect-ratio: 1 / 1;
  display: inline-block;
}
.header-english-button:hover {
  background-color: var(--color_green);
  color: #ffffff;
}

/* TOGGLE */
.nav-toggle {
  position: fixed;
  top: 0;
  right: 0;
  height: 3.75rem;
  padding: 0;
  width: auto;
  z-index: 9999;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.toggle-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  width: 3.75rem;
  height: 3.75rem;
  color: black;
  font-size: 0.625rem;
  line-height: 100%;
  gap: 3px;
}
.toggle-inner.navbar {
  gap: 0.75rem;
  aspect-ratio: 1 / 1;
}
.toggle-bar {
  background-color: #000000;
  width: 1.625rem;
  height: 2px;
  transition: all .3s ease;
}
.toggle-inner.navbar.active .toggle-bar:first-child {
  transform: rotate(45deg)translate(5px, 5px);
}
.toggle-inner.navbar.active .toggle-bar:last-child {
  transform: rotate(-45deg)translate(5px, -5px);
}
.showing-modal .lang {
  display: none;
}
.showing-modal .toggle-bar {
  background-color: #ffffff;
}

/* MODAL */
.menu-modal {
  background-color: #000000;
  padding: 3.75rem 0 1.875rem 0;
  z-index: 999;
}
.modal-menu {
  width: 100%;
  left: 0;
  padding: 0 1.5rem;
  display: flex;
  flex-wrap: wrap;
}
.modal-menu li {
  border-top: none;
  border-bottom: solid 1px #ffffff4d;
}
.modal-menu li:first-child {
  border-top: none;
}
.modal-menu li:first-child, 
.modal-menu li:nth-child(2), 
.modal-menu li:nth-child(3) {
  width: 100%;
}
.modal-menu li:nth-child(4), 
.modal-menu li:nth-child(5) {
  border: none;
  width: 50%;
  text-align: center;
}
.modal-menu > li > a, .modal-menu > li > .ancestor-wrapper > a {
  position: relative;
  font-size: 1rem;
  line-height: 140%;
  color: #ffffff;
  font-family: var(--font_eng);
  font-weight: 500;
  padding: 1.25rem 0.625rem;
}
.modal-menu li:nth-child(4) a, 
.modal-menu li:nth-child(5) a {
  display: flex;
  justify-content: center;
  align-items: center;
}
.modal-menu li:nth-child(4) a::before, 
.modal-menu li:nth-child(5) a::before {
  content:'';
  width: 1.25rem;
  height: 1.25rem;
  aspect-ratio: 1 / 1;
  margin-right: 0.625rem;
  transition: all .3s ease;
}
.modal-menu li:nth-child(4) a::before {
  background-image: url(/wp-content/themes/kitchen-coishi/assets/images/icon-map.svg);
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-position: center center;
}
.modal-menu li:nth-child(5) a::before {
  background-image: url(/wp-content/themes/kitchen-coishi/assets/images/icon-mail.svg);
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-position: center center;
}
.modal-menu li:nth-child(4)::after {
  content:'';
  width: 1px;
  height: 1.375rem;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background-color: #ffffff4d;
}
.menu-modal-inner {
  background-color: transparent;
  background: transparent;
}

/* BREADCRUMB */
.breadcrumbs {
  background-color: var(--color_cream);
}
.breadcrumbs .section-inner {
  padding: 10px;
}

/* BODY */
body:not(.home) #site-content {
  padding-bottom: min(18vw, 7.5rem);
  border-bottom: 1px solid var(--color_line);
}

/* TITLE */
.cnt_title-eng {
  font-family: var(--font_eng);
  font-weight: 300;
  font-size: min(7.5vw, 3.75rem);
  line-height: 110%;
  position: relative;
}
.cnt_title-eng::before {
  content:'';
  position: absolute;
  width: min(2vw, 0.625rem);
  height: min(2vw, 0.625rem);
  top: 50%;
  left: max(-2vw, -1.375rem);
  transform: translate(-100%, -50%);
  background-color: var(--color_green);
  border-radius: 0.75rem;
}
.cnt_title-jpn {
  font-size: 1.125rem;
  line-height: 140%;
  letter-spacing: 0.02rem;
  font-weight: 400;
}

.cnt_header {
  width: 100%;
  height: 260px;
  position: relative;
  background-image: url(/wp-content/themes/kitchen-coishi/assets/images/header-current_bg.jpg);
  background-size: cover;
  background-position: center;
  padding: 0 !important;
}
.cnt_header::before {
  content:'';
  background-color: var(--color_base);
  opacity: 0.8;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}
.cnt_header-inner {
  position: relative;
  z-index: 1;
  margin: 0 auto;
  height: 100%;
}
.cnt_header-h2 {
  font-family: var(--font_eng);
  font-weight: 300;
  font-size: min(10vw, 3.75rem);
  line-height: 110%;
  position: absolute;
  bottom: min(10vw, 3.125rem);
  left: 0;
}
.cnt_header-h2 ul {
  margin: 0;
}

h2.page-heading {
  width: calc(100% - min(8vw, 8rem));
  font-family: var(--font_eng) !important;
  font-weight: 300;
  font-size: min(7vw, 2.5rem);
  line-height: 140%;
  letter-spacing: 1vw;
  text-align: center;
  padding-bottom: 2.5rem !important;
  margin: 0 auto !important;
  margin-top: min(12vw, 5rem) !important;
  margin-bottom: min(8vw, 5rem) !important;
  border-bottom: 1px solid var(--color_line);
}
h3.page-heading {
  width: calc(100% - min(8vw, 8rem));
  font-weight: 300;
  font-size: min(4vw, 1.5rem);
  line-height: 140%;
  text-align: center;
  padding-bottom: 1.25rem !important;
  margin: 0 auto 1.25rem !important;
  border-bottom: 1px solid var(--color_line);
}
h3.page-title {
  font-size: 1.25rem;
  line-height: 140%;
  font-weight: 500;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 1.25rem !important;
}
h3.page-title::before {
  content: '';
  width: 4px;
  height: 4px;
  border-radius: 4px;
  background-color: var(--color_green);
  margin-right: 0.625rem;
}

/* BUTTONS */
.btn-arrow {
  width: 1.125rem;
  height: 1.125rem;
  display: inline-block;
  aspect-ratio: 1 / 1;
}

/* TEACHER BLOCK */
.teacher-wrapper {
  padding: 0 min(5vw, 6.25rem) !important;
  margin: 0 !important;
}
.teacher-inner {
  border: 1px solid var(--color_line);
  padding: min(5vw, 3.125rem) !important;
  margin: 0 4rem !important;
}
.teacher-h2 {
  position: relative;
  font-size: 1.25rem !important;
  font-weight: 500;
  line-height: 140% !important;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.625rem;
  margin-top: 0 !important;
  margin-bottom: 1.25rem !important;
}
.teacher-h2::before {
  content: '';
  position: relative;
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 6px;
  background-color: var(--color_green);
}
.teacher-h3 {
  color: var(--color_green) !important;
  font-size: 1.5rem !important;
  font-weight: 500;
  line-height: 140% !important;
  display: flex;
  align-items: flex-end;
  gap: 5px;
  margin-top: 0 !important;
  margin-bottom: 0.625rem !important;
}
.teacher-h3 code {
  font-size: 1rem;
  line-height: 140%;
  color: var(--color_green);
  background: none;
  padding: 0;
  line-height: 1.5rem;
}
.teacher-info {
  line-height: 160%;
}
.teacher-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 2.5rem;
  margin-top: 1.875rem !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
}
.teacher-image {
  width: 30%;
  margin: 0 !important;
}
.teacher-image figure {
  margin: 0 !important;
  width: 100%;
}
.teacher-image img {
  aspect-ratio: 280 / 340;
  min-width: 240px;
  object-fit: cover;
}
.teacher-h4 {
  font-size: 1rem;
  background-color: var(--color_cream);
  padding: 0.3125rem 1rem !important;
  line-height: 160%;
  margin-bottom: 0.625rem !important;
}
.teacher-media {
  width: calc(70% - 2.5rem);
}
.teacher-media ul {
  list-style: none;
  margin-bottom: 1.25rem !important;
}
.teacher-media ul li {
  position: relative;
  display: flex;
  align-items: flex-start;
  margin-bottom: 0.3125rem;
}
.teacher-media ul li::before {
  content:'・';
  font-size: 1rem;
  font-weight: 800;
  color: var(--color_green);
  margin-right: min(2vw, 1rem);
}

/* CONTACT BLOCK */
.contact-btns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.25rem;
  margin: 0 auto;
}
.contact-btns a {
  width: 300px;
  border-radius: 3.125rem;
  padding: min(3vw, 0.9375rem) min(5.5vw, 1.25rem);
  display: flex;
  justify-content: center;
  align-items: center;
}
.contact-btns a span {
  font-size: 1.125rem;
  font-weight: 800;
  line-height: 140%;
  color: #ffffff;
}
.contact-btns .btn-line {
  background-color: #00A142;
}
.contact-btns .line-icon {
  width: 2.25rem;
  height: 2.25rem;
  margin-right: auto;
}
.contact-btns .btn-mail {
  background-color: var(--color_brown);
}
.contact-btns .mail-icon {
  width: 2.125rem;
  height: 2.125rem;
  margin-right: auto;
}
.contact-btns .btn-arrow {
  margin-left: auto;
}

/* NEWS */
.category-news .top_news-lists a {
  padding: 1rem;
  border-bottom: 1px solid var(--color_line);
}

/* PAGENATION */
.pager {
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
.pager li {
}
.pager li > * {
  border: 1px solid var(--color_line);
  padding: 1rem 1.25rem;
  line-height: 1;
}
.pager li a:hover {
  text-decoration: none;
  background-color: var(--color_brown);
  color: white;
  border-color: var(--color_brown);
}
.pagination-single {
  font-size: 1rem !important;
  font-weight: normal !important;
  border-top: 1px solid var(--color_line);
  margin-top: 2rem !important;
  padding-top: 2rem;
}
.pagination-single-inner {
  position: relative;
}
.pagination-single .list {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  margin: 0 !important;
}

/* FOOTER */
#footer {
  background-color: var(--color_text);
  padding: 1.25rem;
  text-align: center;
  color: #ffffff;
}
.footer-nav-widgets-wrapper {
  border: none;
  margin-top: 0 !important;
}
.footer-inner {
  padding: 3.75rem 0;
}
.footer-info {
  text-align: center;
  margin-bottom: 1.375rem;
}
.footer-title {
  font-family: var(--font_eng);
  color: var(--color_gray);
  font-size: 1.875rem;
  font-weight: 300;
  text-align: center;
  margin-bottom: 1.25rem !important;
}
.footer-access {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  border-bottom: 1px solid var(--color_line);
  padding: 5px;
  margin: 0 auto;
  margin-top: 0.625rem;
  width: fit-content;
}
.footer-access::before {
  content:'';
  width: 1.25rem;
  height: 1.25rem;
  aspect-ratio: 1 / 1;
  margin-right: 0.625rem;
  transition: all .3s ease;
  background-image: url(/wp-content/themes/kitchen-coishi/assets/images/icon-map.svg);
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-position: center center;
}
.footer-top {
  justify-content: center;
  padding: 0;
  border: none;
}
.footer-menu {
  column-gap: 1.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.footer-menu a {
  display: block;
  padding: .5rem;
  font-family: var(--font_eng);
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 140%;
  color: var(--color_text);
}

/* FIXED FOOTER */
.fixed_footer {
  display: none;
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 70px;
  background-color: var(--color_green);
  text-align: center;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  z-index: 9;
}
.fixed_footer span, 
.fixed_footer p {
  color: #ffffff;
}
.fixed_footer span {
  font-family: var(--font_eng);
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 110%;
  width: 100%;
}
.fixed_footer p {
  font-size: 1.125rem;
  line-height: 140%;
}
.fixed_footer .arrow-icon {
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  background-color: #507D29;
  width: 20px;
  height: 20px;
  padding: 4.5px;
  border-radius: 18px;
  aspect-ratio: 1/1;
}

@media screen and (max-width: 468px) {
  .header-inner {
    padding: 0.75rem 0;
    width: calc(100% - 2rem);
  }
  .header-logo {
    height: 2.25rem;
  }
  #site-content {
    margin-top: 3.75rem;
  }
  .teacher-inner {
    width: 100%;
    margin: 0 1rem !important;
  }
  .teacher-image img {
    max-width: 50vw;
  }
  .footer-menu li {
    width: calc(100% - 15px) !important;
    margin-left: 15px !important;
  }
}
@media screen and (min-width: 469px) {
  .nav-toggle {
    top: 3vw;
  }
  .primary-menu li:first-child, 
  .primary-menu li:nth-child(2), 
  .primary-menu li:nth-child(3), 
  .primary-menu li:nth-child(5) {
    padding-right: 1.875rem;
  }
  .primary-menu li:first-child a::before, 
  .primary-menu li:nth-child(2) a::before, 
  .primary-menu li:nth-child(3) a::before {
    content: '';
    width: 4px;
    height: 4px;
    border-radius: 4px;
    background-color: var(--color_green);
    margin-right: 0.625rem;
  }
  #site-content {
    margin-top: 7.5rem;
  }
  .footer-menu {
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 1rem;
  }
  
}
@media (min-width: 700px) {
  .section-inner {
      width: calc(100% - 4rem) !important;
  }
}
@media screen and (max-width: 768px) {
  #footer {
    padding-bottom: calc(70px + 1.25rem);
  }
  .footer-menu {
    flex-wrap: wrap;
  }
  .footer-menu li {
    width: calc(50% - .5rem - 15px);
    margin-left: 15px !important;
    position: relative;
  }
  .footer-menu li::before {
    content: '';
    width: 5px;
    height: 5px;
    border-radius: 5px;
    background-color: var(--color_green);
    margin-right: 0.625rem;
    position: absolute;
    top: 50%;
    left: -10px;
    transform: translateY(-50%);
  }
  .footer-menu li a {
    font-size: 1rem;
  }
  .fixed_footer {
    display: flex;
  }
}
@media (min-width: 1080px) {
  .section-inner {
      width: calc(100% - 8rem) !important;
    max-width: 1366px;
  }
}