@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&family=Noto+Serif+JP:wght@200;300;400;500;600;700&display=swap");
@media screen and (max-width: calc(769px - 1px)) {
  :root {
    --bulma-body-size: 14px;
    --bulma-body-font-size: 14px;
  }
}
/**---------------------------------------------
 * 画像処理
  <figure class="image-1by1">
    <img src="<?php echo get_template_directory_uri(); ?>/assets/image/600x600.webp">
  </figure>

**-----------------------------------------------*/
.image-1by1,
.image-1by2,
.image-2by3,
.image-3by4 {
  width: 100%;
  position: relative;
  overflow: hidden;
}
.image-1by1 img,
.image-1by2 img,
.image-2by3 img,
.image-3by4 img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: auto;
  transform: translate(-50%, -50%);
}

.image-1by1::before {
  padding-top: 100%;
  /* 1:1 aspect ratio (height / width * 100%) ...1/1*100=100  */
  content: "";
  display: block;
}

.image-1by2::before {
  padding-top: 50%;
  /* 1:2 aspect ratio (height / width * 100%) ...1/2*100=0.5  */
  content: "";
  display: block;
}

.image-2by3::before {
  padding-top: 66.66%;
  /* 2:3 aspect ratio (height / width * 100%) ...66.666/100*100=66.66666  */
  content: "";
  display: block;
}

.image-3by4::before {
  padding-top: 75%;
  /* 2:3 aspect ratio (height / width * 100%) ...75/100*100=75  */
  content: "";
  display: block;
}

.grid-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  /* 2列のグリッドを作成 */
}

.accordion .accordion-toggle {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.accordion .accordion-toggle::after {
  content: "";
  position: absolute;
  right: 10px;
  width: 12px;
  height: 12px;
  background-image: url("./assets/image/caret-down.svg"); /* 画像のパスを更新 */
  background-size: contain;
  background-repeat: no-repeat;
  transition: transform 0.3s ease;
  transform: rotate(0deg);
}
.accordion li.is-active .accordion-toggle::after {
  transform: rotate(180deg);
}
.accordion div.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}

.accordion.news li.news_item {
  border-bottom: 2px dotted #999999;
}
.accordion.news li.news_item:first-of-type {
  border-top: 2px dotted #999999;
}
.accordion.news a.accordion-toggle {
  color: hsl(221, 14%, 29%);
  padding-top: 0.8rem;
  padding-bottom: 0.8rem;
  padding-right: 2rem;
}

/*!
Theme Name: umesato-e-theme
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: umesato-e-theme
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

umesato-e-theme is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
.is-family-secondary {
  font-weight: 500;
}

.has-text-weight-bold {
  font-weight: 500;
}

h2.title, h3.title, h4.title {
  font-weight: 500;
}

.content {
  --bulma-content-block-margin-bottom: 1.6em;
}

.tag.is-fullwidth {
  width: 100%;
}
.tag.is-fullwidth.is-no-radius {
  border-radius: 0;
}

.is-centered-box {
  display: flex !important;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.is-centered-box p {
  height: 100%;
}

table.step-table th,
table.step-table td {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.container hr {
  margin-left: 0;
  margin-right: 0;
  width: auto;
  box-sizing: border-box;
  border-top: 1px solid rgb(204, 204, 204);
}

.footer {
  color: hsl(221, 14%, 100%);
}
.footer a {
  color: hsl(221, 14%, 100%);
}
.footer strong {
  color: hsl(221, 14%, 100%);
  font-weight: bold;
}

.footer.has-background-primary-dark {
  color: hsl(221, 14%, 96%);
}
.footer.has-background-primary-dark a {
  color: hsl(221, 14%, 96%);
}
.footer.has-background-primary-dark strong {
  color: hsl(221, 14%, 96%);
  font-weight: bold;
}

.is-fullheight,
.hero.is-fullheight {
  min-height: calc(100dvh - 60px);
}

@media screen and (min-width: 769px) {
  .is-fullheight,
  .hero.is-fullheight {
    min-height: calc(100dvh - 80px);
  }
}
.is-fullheight-image {
  min-height: calc(100dvh - 60px);
  width: 100%;
  overflow: hidden;
  position: relative;
  font-size: 16px;
}
.is-fullheight-image img {
  min-height: calc(100dvh - 60px);
  height: 100%;
  width: auto;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}

div.site {
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}

main.site-main {
  flex: 1;
}

#global_footer_menu > li.menu-item,
#sitemap_menu > li.menu-item {
  display: block;
  flex-basis: 0;
  flex-grow: 1;
  flex-shrink: 1;
  padding: var(--bulma-column-gap);
  position: relative;
}
#global_footer_menu > li.menu-item ul.sub-menu,
#sitemap_menu > li.menu-item ul.sub-menu {
  margin-top: 1rem;
  margin-left: 1rem;
}
#global_footer_menu > li.menu-item::before,
#sitemap_menu > li.menu-item::before {
  top: -1rem;
  position: absolute;
  content: "";
  width: 80%;
  height: 1px;
  margin: 0 auto;
  background: hsl(221, 14%, 100%);
}
@media screen and (max-width: calc(769px - 1px)) {
  #global_footer_menu > li.menu-item::before,
  #sitemap_menu > li.menu-item::before {
    top: 0;
  }
}
#global_footer_menu > li.menu-item > a,
#sitemap_menu > li.menu-item > a {
  font-weight: bold;
  margin-bottom: 0.8rem;
}

#sitemap_menu > li.menu-item::before {
  background: hsl(221, 14%, 21%);
}
#sitemap_menu > li.menu-item a {
  color: hsl(221, 14%, 21%);
}

div.field.is-horizontal .field-label {
  flex-grow: 2;
}

.accordion-toggle {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
}

.accordion-toggle::after {
  content: "";
  position: absolute;
  right: 10px;
  width: 12px;
  height: 12px;
  background-image: url("./assets/image/arrowdown.svg"); /* 画像のパスを更新 */
  background-size: contain;
  background-repeat: no-repeat;
  transition: transform 0.3s ease;
}

.accordion-content {
  max-height: 0;
}

.footer_table th,
.footer_table td {
  color: white;
  padding: 0.2rem 0.7rem;
  text-align: left;
}
@media screen and (max-width: calc(769px - 1px)) {
  .footer_table th,
  .footer_table td {
    display: list-item;
    list-style: none;
    width: auto;
  }
}
@media screen and (max-width: calc(769px - 1px)) {
  .footer_table th {
    padding: 0.2rem 1rem 0 1.3rem;
  }
  .footer_table td {
    padding: 0 1rem 0.7rem 1.3rem;
  }
}

.field .field-body {
  flex-direction: column;
}
.field .field-body div.field {
  margin-right: 0;
  margin-bottom: 0.75rem;
}

.has-border {
  border: 1px solid #d0d0d0;
}

.label-tag {
  display: inline-block;
  padding: 0.4em 0.9em;
  font-size: 0.95em;
  font-weight: 500;
  border: 2px solid;
  border-radius: 0.5em;
  background: #fff;
  line-height: 1;
  text-align: center;
}

.section-title {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  color: #fff;
  width: 100%;
  text-align: center;
}
.section-title::before, .section-title::after {
  content: "";
  flex: 1;
  height: 100%;
  display: block;
}
.section-title span {
  padding: 0 1em;
  position: relative;
  font-weight: bold;
  z-index: 1;
}

.circle-before::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  margin-right: 0.5em;
  vertical-align: middle;
  transform: translateY(-0.2em);
}

.section-title.is-pink {
  background: linear-gradient(to right, transparent, #de7aa9, transparent);
}
.section-title.is-pink::before {
  background: linear-gradient(to right, transparent, #de7aa9);
}
.section-title.is-pink::after {
  background: linear-gradient(to left, transparent, #de7aa9);
}

.circle-before.is-pink::before {
  background-color: #de7aa9;
}

.label-tag.is-pink {
  border-color: #de7aa9;
}

.section-title.is-blue {
  background: linear-gradient(to right, transparent, #3aa1d0, transparent);
}
.section-title.is-blue::before {
  background: linear-gradient(to right, transparent, #3aa1d0);
}
.section-title.is-blue::after {
  background: linear-gradient(to left, transparent, #3aa1d0);
}

.circle-before.is-blue::before {
  background-color: #3aa1d0;
}

.label-tag.is-blue {
  border-color: #3aa1d0;
}

.section-title.is-purple {
  background: linear-gradient(to right, transparent, #a690c1, transparent);
}
.section-title.is-purple::before {
  background: linear-gradient(to right, transparent, #a690c1);
}
.section-title.is-purple::after {
  background: linear-gradient(to left, transparent, #a690c1);
}

.circle-before.is-purple::before {
  background-color: #a690c1;
}

.label-tag.is-purple {
  border-color: #a690c1;
}

.section-title.is-green {
  background: linear-gradient(to right, transparent, #45ae82, transparent);
}
.section-title.is-green::before {
  background: linear-gradient(to right, transparent, #45ae82);
}
.section-title.is-green::after {
  background: linear-gradient(to left, transparent, #45ae82);
}

.circle-before.is-green::before {
  background-color: #45ae82;
}

.label-tag.is-green {
  border-color: #45ae82;
}

.section-title.is-orange {
  background: linear-gradient(to right, transparent, #e29b3d, transparent);
}
.section-title.is-orange::before {
  background: linear-gradient(to right, transparent, #e29b3d);
}
.section-title.is-orange::after {
  background: linear-gradient(to left, transparent, #e29b3d);
}

.circle-before.is-orange::before {
  background-color: #e29b3d;
}

.label-tag.is-orange {
  border-color: #e29b3d;
}

.top-cardnavi {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  padding: 3rem 1rem 3rem 3rem;
  width: 40%;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12), 0 4px 6px rgba(0, 0, 0, 0.08);
}
@media screen and (max-width: calc(769px - 1px)) {
  .top-cardnavi {
    position: relative;
    width: 100%;
    padding-left: 1.2rem;
    padding-right: 1.2rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    transform: initial;
    top: initial;
  }
}
.top-cardnavi .cardnavi-subtitle {
  color: #ffff00;
  font-weight: bold;
}
.top-cardnavi .cardnavi-title {
  font-size: 1.5rem;
  font-weight: bold;
}
.top-cardnavi.is-blue {
  background-color: #0e70b9;
  color: white;
}
.top-cardnavi.is-green {
  background-color: #3fa5b0;
  color: white;
}
.top-cardnavi.is-right {
  right: 0rem;
}
@media screen and (max-width: calc(769px - 1px)) {
  .top-cardnavi.is-right {
    right: initial;
  }
}
.top-cardnavi.is-left {
  left: 0rem;
}
@media screen and (max-width: calc(769px - 1px)) {
  .top-cardnavi.is-left {
    left: 1rem;
    left: initial;
  }
}

.business {
  border-radius: 12px; /* 見た目をそろえる */
  position: relative;
  background: #f7f9fc; /* 薄いグレー背景 */
  padding: 3rem;
  /* ◀ カード自体も三角カット */
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 0 60px, 60px 0);
  /* box-shadow の代わりに */
  /* 左上の折れた飾り */
}
@media screen and (max-width: calc(769px - 1px)) {
  .business {
    padding: 2rem 1rem 2rem 1rem;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 0 40px, 40px 0);
  }
}
.business::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 60px;
  height: 60px;
  /* ↙︎向きの三角形 */
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  border-top-left-radius: 12px;
}
@media screen and (max-width: calc(769px - 1px)) {
  .business::before {
    width: 40px;
    height: 40px;
  }
}

.business.is-blue::before {
  background: linear-gradient(135deg, #5d9cf5, #c5ddff);
}

.business.is-green::before {
  background: linear-gradient(135deg, #74d0eb, #a8e3f5);
}

.product_title {
  margin-bottom: 0 !important;
  font-weight: bold;
  background: linear-gradient(to right, #ffffff, #e0e0e0);
  text-align: left;
  padding: 0.2rem 0.5rem 0.2rem 0.5rem;
}

/**---------------------------------------------
 * accordion continue
**-----------------------------------------------*/
div.accordion-continue-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}

.news-cat {
  padding: 0.1rem 0.8rem;
}
.news-cat.news {
  background-color: #e4007f;
  color: white;
}
.news-cat.topics {
  background-color: #8fc31f;
  color: white;
}

table.table {
  border-top: 1px solid hsl(221, 14%, 86%);
  border-bottom: 1px solid hsl(221, 14%, 86%);
  --bulma-table-border-color:$border;
}
table.table th {
  background-color: #e7eef4;
}
/*# sourceMappingURL=style.css.map */
