@charset "UTF-8";
/* ===========================================
 * fonts
 * ===========================================
*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Zen+Maru+Gothic:wght@400;500;700&display=swap");
/* ===========================================
 * Variable
 * ===========================================
*/
/* -------------------------------------------
 * breakpoint
*/
/* -------------------------------------------
 * max-width
*/
/* -------------------------------------------
 * color
*/
/* -------------------------------------------
 * svg
*/
/* ===========================================
 * Utility
 * ===========================================
*/
/* $break-point以下の時に@contentを適用 */
/* $break-point以上の時に@contentを適用 */
/* $break-point-min以上、$break-point-max以下の時に@contentを適用 */
/* -------------------------------------------
 * font-size
*/
/* $base-font-sizeを基準に$sizeを%で指定 */
/* $base-font-sizeを基準に$sizeをremで指定 */
/* $base-font-sizeを基準に$sizeをpxで指定 */
/* $base-font-sizeを基準に$sizeをemで指定 */
/* $base-font-sizeを基準に$sizeをvwで指定 */
/* $base-font-sizeを基準に$sizeをvhで指定 */
/* ===========================================
 * debug
 * ===========================================
*/
.show-for-logged-in, .hide-for-logged-in {
  display: none; /* 最初はどちらも非表示 */
}

/* ===========================================
 * common
 * ===========================================
*/
/* selecter */
html {
  overflow-x: hidden;
}

html body {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
}

body:not(.top) .content__main {
  max-width: 100%;
}

/* default font size */
p {
  font-size: clamp(14px, 1.6511867905vw, 16px);
  font-weight: normal;
  line-height: 2;
  color: #391C1B;
}

li {
  font-weight: normal;
}

.__p_vertical {
  writing-mode: vertical-rl;
  text-orientation: upright;
  line-height: 3;
  letter-spacing: 0.25rem;
}

/* common heading */
h1, h2, h3, h4, h5, h6 {
  font-style: normal;
  letter-spacing: 0.25rem !important;
}

/* パンクズリスト */
.breadcrumbs {
  position: relative;
  z-index: 2;
}
.breadcrumbs .breadcrumbs__list {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.5rem;
}
.breadcrumbs .breadcrumbs__list::before {
  content: "\f015";
  display: block;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: #47AC8E;
  font-size: 0.75rem;
}
.breadcrumbs .breadcrumbs__list .breadcrumbs__item a {
  color: #47AC8E;
}
.breadcrumbs .breadcrumbs__list .breadcrumbs__item::before {
  content: ">";
  color: #47AC8E;
}

/* 背景 */
.__bg img {
  width: 100%;
}

/* -------------------------------------------
 * fonts
*/
.noto-sans-jp {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

/* -------------------------------------------
 * modal
*/
.modal .modal-dialog .modal-content .modal-header,
.modal .modal-dialog .modal-content .modal-footer {
  color: #FFF;
}
.modal .modal-dialog .modal-content .modal-body {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.modal .modal-dialog .modal-content .modal-body a {
  background-color: #FFF;
  padding: 1rem;
  text-decoration: none;
  color: #391C1B;
}
.modal .modal-dialog .modal-content .modal-body .copy-text {
  width: 90%;
  font-size: 14px;
}
.modal .modal-dialog .modal-content .modal-body .btn-copy {
  width: 90%;
  padding: 0.5rem 0;
  font-size: 13px;
}
.modal .modal-dialog .modal-content .modal-body .copy-notice {
  font-size: 12px;
}
.modal .modal-dialog .modal-content .modal-body .text-notice {
  font-size: 12px;
}

/* -------------------------------------------
 * privacy-policy
*/
.privacy-policy .site-content .container .content__wrap .content__main .singular-article .singular-header {
  display: none;
}

/* ===========================================
 * block
 * ===========================================
*/
html body.top > .site-content {
  margin: 0;
  padding: 0;
  overflow: visible !important;
}
html body.top > .site-content > .container {
  max-width: 100%;
  margin: 0;
  padding: 0;
}

/* ===========================================
 * Home
 * ===========================================
*/
.top {
  /**
   * トップページナビ
   */
  /**
   * ファーストビュー
   */
  /**
   * About
   */
  /**
   * Tomosapo link
   */
  /**
   * Tomosapo now
   */
  /**
   * chart
   */
  /**
   * Our Mission
   */
  /**
   * Supporters
   */
}
.top .site-header {
  position: absolute;
  z-index: 10;
  background: transparent;
}
.top .site-header .site-header__content {
  justify-content: flex-end;
  padding: 8px 16px;
}
.top .site-header .site-header__content .site-branding {
  display: none;
}
@media screen and (max-width: 991px) {
  .top .site-header .site-header__content {
    justify-content: space-between;
  }
  .top .site-header .site-header__content .site-branding {
    display: block;
  }
}
.top .content__main {
  max-width: 100% !important;
  background-color: #FFFAFD;
}
.top [class*=sec-] {
  margin: 0;
  padding: 4rem 0;
}
.top .__top_menu {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #FFF;
  z-index: 2;
}
.top .__top_menu .__inner {
  position: relative;
  padding: 1rem 1.5rem 3rem;
  background-color: #FFF;
}
.top .__top_menu .__inner::before {
  content: "";
  position: absolute;
  top: 1rem;
  left: 1rem;
  width: 100%;
  height: 100%;
  background-color: #F440A2;
  opacity: 0.4;
  z-index: -1;
  transform: rotate(3deg);
}
.top .__top_menu .__inner::after {
  content: "";
  position: absolute;
  top: 2rem;
  left: 2.5rem;
  width: 100%;
  height: 100%;
  background-color: #FDFA8F;
  opacity: 0.4;
  z-index: -2;
  transform: rotate(3deg);
}
.top .__top_menu .__inner .__menu_container {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 0;
}
.top .__top_menu .__inner .__menu_container .__menu_item {
  padding: 1.5rem 1.5rem 1rem;
  text-decoration: none;
  border-bottom: 1px solid #F1A9BA;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
}
.top .__top_menu .__inner .__menu_container .__menu_item .__text {
  color: #7C2F2F;
  font-weight: 700;
  line-height: 1.4;
}
.top .__top_menu .__inner .__menu_container .__menu_item .__text .__sm {
  font-size: 0.88em;
}
.top .__top_menu .__inner .__menu_container .__menu_item.__contact, .top .__top_menu .__inner .__menu_container .__menu_item.__line {
  border-bottom: none;
}
.top .__top_menu .__inner .__menu_container .__menu_item.__contact {
  width: 100%;
  margin-top: 1.5rem;
  padding: 1rem 0;
  background-color: #FF7091;
  border-radius: 100px;
  flex-direction: row;
}
.top .__top_menu .__inner .__menu_container .__menu_item.__contact .__text {
  color: #FFF;
  line-height: 1;
}
.top .__top_menu .__inner .__menu_container .__menu_item.__contact::after {
  content: "\f054";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin-left: 0.5rem;
  color: #FFF;
  font-size: 0.75rem;
  vertical-align: middle;
  display: inline-block;
  line-height: 1;
  transform: translateY(1px);
}
.top .__top_menu .__inner .__menu_container .__menu_item.__line {
  padding: 0;
  margin-top: 1.5rem;
  margin-left: 0.25rem;
  margin-right: auto;
}
@media screen and (max-width: 991px) {
  .top .__top_menu {
    display: none;
  }
}
.top .sec-fv {
  padding: 0;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 991px) {
  .top .sec-fv .__bg {
    height: 72vh;
  }
  .top .sec-fv .__bg .__img {
    height: 100%;
    overflow: hidden;
  }
  .top .sec-fv .__bg .__img img {
    width: 100%;
    max-width: none;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: top center;
       object-position: top center;
  }
}
@media screen and (max-width: 576px) {
  .top .sec-fv .__bg {
    height: 100vh;
  }
}
.top .sec-fv .__inner {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}
@media screen and (max-width: 991px) {
  .top .sec-fv .__inner {
    padding-top: 8%;
  }
}
@media screen and (max-width: 576px) {
  .top .sec-fv .__inner {
    padding-top: 16%;
  }
}
.top .sec-fv .__inner .__main_img .__img {
  transform: translateY(-10%);
}
@media screen and (max-width: 991px) {
  .top .sec-fv .__inner .__main_img .__img {
    width: 100%;
    height: 64vh;
    overflow: hidden;
  }
  .top .sec-fv .__inner .__main_img .__img img {
    width: 100%;
    max-width: none;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: top right;
       object-position: top right;
  }
}
@media screen and (max-width: 576px) {
  .top .sec-fv .__inner .__main_img .__img {
    height: 80vh;
    transform: none;
  }
  .top .sec-fv .__inner .__main_img .__img img {
    -o-object-position: center left;
       object-position: center left;
  }
}
.top .sec-fv .__inner .__copy_01 {
  position: absolute;
  top: 12%;
  right: 6%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row-reverse;
}
.top .sec-fv .__inner .__copy_01 .__right_container,
.top .sec-fv .__inner .__copy_01 .__left_container {
  position: relative;
}
.top .sec-fv .__inner .__copy_01 .__right_container .__img,
.top .sec-fv .__inner .__copy_01 .__left_container .__img {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 576px) {
  .top .sec-fv .__inner .__copy_01 .__right_container .__img,
  .top .sec-fv .__inner .__copy_01 .__left_container .__img {
    width: 3rem;
  }
}
.top .sec-fv .__inner .__copy_01 .__right_container .__text,
.top .sec-fv .__inner .__copy_01 .__left_container .__text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  margin: 0;
  padding: 0;
  writing-mode: vertical-rl;
  text-orientation: upright;
  line-height: 3;
  letter-spacing: 0.25rem;
  font-size: clamp(24px, 2.8895768834vw, 28px);
  font-weight: 500;
  color: #AA5158;
  height: 100%;
  text-align: center;
}
.top .sec-fv .__inner .__copy_01 .__left_container {
  margin-right: 2rem;
  margin-top: 5rem;
}
@media screen and (max-width: 576px) {
  .top .sec-fv .__inner .__copy_01 .__left_container {
    margin-right: 1rem;
  }
}
.top .sec-fv .__inner .__copy_02 {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
}
@media screen and (max-width: 991px) {
  .top .sec-fv .__inner .__copy_02 {
    display: none;
  }
}
.top .sec-fv .__inner .__header_01 {
  position: absolute;
  bottom: 16%;
  right: 0;
  z-index: 3;
}
.top .sec-fv .__inner .__header_01 .__img {
  display: block;
  margin: 0;
  padding: 0;
}
.top .sec-fv .__inner .__header_01 .__img img {
  max-width: 72%;
}
@media screen and (max-width: 991px) {
  .top .sec-fv .__inner .__header_01 {
    bottom: 8%;
  }
}
@media screen and (max-width: 576px) {
  .top .sec-fv .__inner .__header_01 {
    right: 4%;
  }
  .top .sec-fv .__inner .__header_01 .__img {
    text-align: right;
  }
}
.top .sec-about {
  margin-top: -8%;
  padding-top: 0;
}
@media screen and (max-width: 991px) {
  .top .sec-about {
    margin-top: 0;
  }
}
.top .sec-about .__inner {
  max-width: 969px;
  margin: 0 auto;
  padding: 0 4%;
  position: relative;
}
@media screen and (max-width: 576px) {
  .top .sec-about .__inner .__sub_header {
    background-color: #F440A1;
    border-radius: 50%;
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0;
    width: 156px;
    height: 156px;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }
  .top .sec-about .__inner .__sub_header .__top {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    color: #FFF;
    margin: 0;
    padding: 0;
    text-align: center;
  }
  .top .sec-about .__inner .__sub_header .__bottom {
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    color: #FFF;
    margin: 0.5em 0 0;
    padding: 0;
    text-align: center;
  }
}
.top .sec-about .__inner .__copy_container {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5em;
}
.top .sec-about .__inner .__copy_container .__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(14px, 1.6511867905vw, 16px);
  font-weight: 700;
  line-height: 1.4;
  color: #391C1B;
  margin: 0;
  padding: 1em 0;
  position: relative;
  z-index: 0;
}
.top .sec-about .__inner .__copy_container .__text::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 100%;
  height: 100%;
  background-image: url("../img/top-header-deco.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 0.4;
  z-index: -1;
  transform: translateY(-50%);
}
@media screen and (max-width: 576px) {
  .top .sec-about .__inner .__copy_container {
    margin-top: 3rem;
  }
}
.top .sec-about .__inner .__header_container {
  position: relative;
  z-index: 0;
  text-align: center;
}
@media screen and (max-width: 576px) {
  .top .sec-about .__inner .__header_container {
    margin-top: -3rem;
  }
}
.top .sec-about .__inner .__header_container .__sub_header {
  background-color: #F440A1;
  border-radius: 50%;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0;
  width: 156px;
  height: 156px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.top .sec-about .__inner .__header_container .__sub_header .__top {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  color: #FFF;
  margin: 0;
  padding: 0;
  text-align: center;
}
.top .sec-about .__inner .__header_container .__sub_header .__bottom {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  color: #FFF;
  margin: 0.5em 0 0;
  padding: 0;
  text-align: center;
}
.top .sec-about .__inner .__content_container {
  margin-top: 3rem;
  text-align: center;
}
.top .sec-about .__inner .__content_container .__text {
  font-size: clamp(14px, 1.6511867905vw, 16px);
  font-weight: 500;
  text-align: center;
  line-height: 1.8;
  color: #391C1B;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 576px) {
  .top .sec-about .__inner .__content_container {
    margin-top: 1rem;
    padding: 2rem 1.5rem;
    border: 8px solid #FD9798;
    border-radius: 1rem;
    background-color: #FFFAFD;
  }
}
@media screen and (max-width: 576px) {
  .top .sec-tomosapo-link {
    background-color: #FFF5FB;
  }
}
.top .sec-tomosapo-link .__inner {
  max-width: 969px;
  margin: 0 auto;
  padding: 0 4%;
}
.top .sec-tomosapo-link .__inner .__flex_container {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 0;
  background-color: #FFF;
  border-radius: 24px;
  border: 1px solid #EA5E5A;
  padding: 3rem 2rem 2rem;
}
.top .sec-tomosapo-link .__inner .__flex_container .__img_container {
  flex: 1 0 20%;
}
.top .sec-tomosapo-link .__inner .__flex_container .__img_container .__img {
  padding: 1rem;
}
.top .sec-tomosapo-link .__inner .__flex_container .__text_container {
  flex: 1 0 80%;
  text-align: right;
}
.top .sec-tomosapo-link .__inner .__flex_container .__text_container .__text {
  padding-left: 1.5rem;
  border-left: 1px solid #B5AAAB;
  line-height: 1.6;
  text-align: left;
  font-weight: 500;
}
.top .sec-tomosapo-link .__inner .__flex_container .__text_container .__link {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 1rem;
  background-color: #FF7091;
  border-radius: 100px;
  color: #FFF;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
}
.top .sec-tomosapo-link .__inner .__flex_container .__text_container .__link::after {
  content: "\f054";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin-left: 0.5rem;
  color: #FFF;
  font-size: 0.75rem;
  vertical-align: middle;
  display: inline-block;
  line-height: 1;
  transform: translateY(1px);
}
@media screen and (max-width: 576px) {
  .top .sec-tomosapo-link .__inner .__flex_container {
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .top .sec-tomosapo-link .__inner .__flex_container .__text_container {
    margin-top: 1.5rem;
  }
  .top .sec-tomosapo-link .__inner .__flex_container .__text_container .__text {
    padding-left: 0;
    border-left: none;
  }
  .top .sec-tomosapo-link .__inner .__flex_container .__text_container .__link {
    width: 100%;
  }
}
.top .sec-tomosapo-now {
  position: relative;
  z-index: 1;
  padding-bottom: 0;
}
.top .sec-tomosapo-now .__img {
  width: 100%;
}
.top .sec-tomosapo-now .__img img {
  width: 100%;
  max-width: none;
}
.top .sec-chart {
  margin-top: -8rem;
  padding-top: 8rem;
  position: relative;
  z-index: 0;
}
.top .sec-chart::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../img/bg-top-chart.svg");
  background-repeat: repeat;
  background-position: left top;
  background-size: auto;
  opacity: 0.5;
  z-index: -1;
}
.top .sec-chart .__inner {
  max-width: 969px;
  margin: 0 auto;
  padding: 0 4%;
  text-align: center;
}
.top .sec-chart .__inner .__img {
  margin-top: 2rem;
}
.top .sec-mission .__inner {
  max-width: 969px;
  margin: 0 auto;
  padding: 0 4%;
}
.top .sec-mission .__inner .__header_container {
  width: 70%;
}
.top .sec-mission .__inner .__header_container .__h2_header {
  font-size: clamp(56px, 9.907120743vw, 96px);
  font-weight: 700;
  color: #FF7091;
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 0;
}
.top .sec-mission .__inner .__header_container .__h2_header::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 50%;
  height: 100%;
  background-image: url("../img/top-header-deco.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  z-index: -1;
}
.top .sec-mission .__inner .__header_container .__lead {
  font-size: clamp(14px, 1.6511867905vw, 16px);
  font-weight: 500;
  line-height: 2.4;
  text-align: center;
  color: #391C1B;
  margin: 4rem 0 0;
  padding: 0;
  display: inline-block;
}
.top .sec-mission .__inner .__flex_container {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 10%;
  margin-top: -12%;
  margin-left: 3rem;
}
@media screen and (max-width: 991px) {
  .top .sec-mission .__inner .__flex_container {
    margin-top: -4%;
    margin-left: 0;
  }
}
.top .sec-mission .__inner .__flex_container .__btn_contaienr {
  flex: 0 0 40%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 1.5rem;
  padding-bottom: 4%;
}
.top .sec-mission .__inner .__flex_container .__btn_contaienr .__link {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 1.5rem 0;
  background-color: #FF7091;
  border-radius: 1rem;
  color: #FFF;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  position: relative;
  z-index: 1;
}
.top .sec-mission .__inner .__flex_container .__btn_contaienr .__link::after {
  position: absolute;
  top: 50%;
  right: 0;
  margin-right: 1rem;
  transform: translateY(-50%);
  flex: 0 0 auto;
  content: "\f054";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: #FFF;
  font-size: 0.75rem;
  vertical-align: middle;
  display: inline-block;
  line-height: 1;
}
.top .sec-mission .__inner .__flex_container .__btn_contaienr .__link:nth-child(1) {
  background-color: #FF7091;
}
.top .sec-mission .__inner .__flex_container .__btn_contaienr .__link:nth-child(2) {
  background-color: #95A3EA;
}
.top .sec-mission .__inner .__flex_container .__btn_contaienr .__link:nth-child(3) {
  background-color: #85C69B;
}
.top .sec-mission .__inner .__flex_container .__img_container {
  flex: 1 0 60%;
  margin-right: -20%;
}
@media screen and (max-width: 991px) {
  .top .sec-mission .__inner .__flex_container .__img_container {
    margin-right: 0;
    flex: 1 0 50%;
  }
}
.top .sec-mission .__inner .__flex_container .__img_container .__img {
  display: block;
  margin: 0;
  padding: 0;
}
.top .sec-mission .__inner .__flex_container .__img_container .__img img {
  max-width: 100%;
}
@media screen and (max-width: 576px) {
  .top .sec-mission .__inner {
    position: relative;
    z-index: 0;
  }
  .top .sec-mission .__inner::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -58%);
    width: 100vw;
    height: 100%;
    background-image: url("../img/bg-top-mission-sp.svg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100%;
    z-index: -1;
  }
  .top .sec-mission .__inner .__header_container {
    width: 100%;
  }
  .top .sec-mission .__inner .__header_container .__h2_header {
    text-align: center;
  }
  .top .sec-mission .__inner .__header_container .__lead {
    text-align: left;
  }
  .top .sec-mission .__inner .__flex_container {
    flex-direction: column-reverse;
    justify-content: center;
    align-items: center;
    margin: 0;
    margin-top: 3rem;
    gap: 3rem;
  }
  .top .sec-mission .__inner .__flex_container .__btn_contaienr {
    flex: 0 0 100%;
    width: 100%;
    padding-bottom: 0;
  }
  .top .sec-mission .__inner .__flex_container .__img_container {
    flex: 0 0 80%;
    margin: 0;
  }
  .top .sec-mission .__inner .__flex_container .__img_container .__img img {
    width: 100%;
  }
}
.top .sec-supporters {
  padding-bottom: 0;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 991px) {
  .top .sec-supporters {
    padding-top: 0;
    margin-top: 4rem;
  }
}
.top .sec-supporters .__bg {
  width: 100%;
}
.top .sec-supporters .__bg .__img {
  width: 100%;
}
@media screen and (max-width: 991px) {
  .top .sec-supporters .__bg .__img {
    min-height: 360px;
  }
}
.top .sec-supporters .__bg .__img img {
  width: 100%;
  max-width: none;
}
@media screen and (max-width: 991px) {
  .top .sec-supporters .__bg .__img img {
    height: 100%;
    min-height: 360px;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: top center;
       object-position: top center;
  }
}
.top .sec-supporters .__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 969px;
  width: 100%;
  margin: 0 auto;
  padding: 0 4%;
}
@media screen and (max-width: 576px) {
  .top .sec-supporters .__inner {
    height: 84%;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-direction: column;
  }
}
.top .sec-supporters .__inner .__header_container .__h2_header {
  font-size: clamp(24px, 3.7151702786vw, 36px);
  font-weight: 700;
  color: #FFF;
  margin: 0;
  padding: 0.5rem 1rem;
  position: relative;
  z-index: 0;
  border-left: 12px solid #FFF;
  border-bottom: 1px solid #FFF;
}
.top .sec-supporters .__inner .__header_container .__h2_header::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  transform: translateY(-50%);
  width: 260px;
  height: 100%;
  background-image: url("../img/top-header-deco-y.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  z-index: -1;
}
.top .sec-supporters .__inner .__header_container .__lead {
  font-weight: 500;
  color: #FFF;
  margin-top: 3rem;
}
.top .sec-supporters .__inner .__btn_contaienr {
  margin-top: 2rem;
}
.top .sec-supporters .__inner .__btn_contaienr .__link {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 1.5rem 0;
  background-color: #FF7091;
  border-radius: 1rem;
  color: #FFF;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  position: relative;
  z-index: 1;
}
.top .sec-supporters .__inner .__btn_contaienr .__link::after {
  position: absolute;
  top: 50%;
  right: 0;
  margin-right: 1rem;
  transform: translateY(-50%);
  flex: 0 0 auto;
  content: "\f054";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: #FFF;
  font-size: 0.75rem;
  vertical-align: middle;
  display: inline-block;
  line-height: 1;
}

/* ===========================================
 * Archive Common
 * ===========================================
*/
/* ===========================================
 * Single
 * ===========================================
*/
/*
.single {
	background-color: #F0F2F4;
	.breadcrumbs {
		margin-top: 1rem;
	}
	.site-content {
		margin-top: 0!important;
		&::before {
			display: none;
		}
		.content__main {
			.singular-header {
				// h1
				.singular-header__title {
					font-size: clamp(22px, u.font-size-vw(26), 26px);
					font-weight: 700;
					color: #47AC8E;
					display: flex;
					justify-content: flex-start;
					align-items: center;
					gap: 0.5rem;
					border-top: 3px solid #CAD9D5;
					margin-bottom: 1.5rem;
					padding-top: 1rem;
					position: relative;
					z-index: 0;
					&::before {
						content: '';
						position: absolute;
						top: -3px;
						left: 0;
						width: 40%;
						height: 3px;
						background-color: #47AC8E;
						z-index: 1;
					}
				}
				// タグ
				.entry-tags {
					a {
						color: #888C90;
						font-size: 14px;
						text-decoration: none;
						white-space: nowrap;
						&::before {
							content: '#';
							padding-right: 0.25rem;
						}
					}
				}
				// カテゴリ
				.entry-categories {
					a {
						color: #FFF;
						font-size: 14px;
						font-weight: 700;
						text-decoration: none;
						background-color: #46AC8F;
						padding: 0.35rem 1.25rem;
						white-space: nowrap;
						border-radius: 100px;
						&::before {
							content: '\f07c'; // Font Awesomeのカテゴリアイコン
							font-family: "Font Awesome 6 Free";
							font-weight: 900;
							padding-right: 0.25rem;
						}
					}
				}
				// 投稿日
				.date-container {
					display: flex;
					justify-content: flex-end;
					align-items: center;
					gap: 1rem;
					.entry-date-container {
						color: #888C90;
						font-size: 14px;
						&::before {
							content: '\f5ad'; // Font Awesomeのカレンダーアイコン
							font-family: "Font Awesome 6 Free";
							font-weight: 900;
							padding-right: 0.25rem;
							color: #47AC8E;
						}
					}
				}
				// アイキャッチ
				.singular-header__thumbnail {
					margin-top: 0.25rem;
				}
			}
			// 本文
			.entry-content {
				overflow: hidden;
				@include u.max-screen(v.$breakpoint-tablet) {
					overflow: initial;
				}
				// 監修者
				.supervisor-container {
					margin-bottom: 3rem;
					padding: 1.5rem;
					padding-bottom: 4rem;
					border-radius: 6px;
					border: 1px solid #47AC8E;
					gap: 1rem;
					background-color: #F8FFFD;
					position: relative;
					z-index: 0;
					@include u.max-screen(v.$breakpoint-mobile) {
						padding-top: 3.5rem;
					}
					&::before {
						content: "";
						position: absolute;
						bottom: 0;
						right: 0;
						width: 33%;
						height: 3rem;
						background-image: url('../img/bg-sc-link.svg');
						background-repeat: no-repeat;
						background-size: contain;
						background-position: right bottom;
						z-index: 1;
						@include u.max-screen(v.$breakpoint-mobile) {
							width: 74%;
							right: -2px;
						}
					}
					&::after {
						content: "";
						position: absolute;
						top: -2.5px;
						right: -3px;
						width: 55%;
						height: 16%;
						background-image: url('../img/deco-sc-container.svg');
						background-repeat: no-repeat;
						background-size: contain;
						background-position: right top;
						z-index: 1;
						@include u.max-screen(v.$breakpoint-mobile) {
							background-image: url('../img/deco-sc-container-sp.svg');
							top: -1px;
							right: -2.5px;
						}
					}
					.__company {
						font-size: clamp(18px, u.font-size-vw(20), 20px);
						font-weight: bold;
						color: #47AC8E;
						margin: 0;
						padding: 0;
					}
					.__flex_container {
						justify-content: center;
						align-items: flex-start;
						.__left_container {
							flex: 1 0 25%;
							width: 25%;
						}
						.__right_container {
							flex: 1 0 75%;
							width: 75%;
							border-left: 1px solid #EEEEEE;
							padding-left: 1rem;
							@include u.max-screen(v.$breakpoint-mobile) {
								border-top: 1px solid #EEEEEE;
								padding-top: 1rem;
								border-left: none;
								padding-left: 0;
							}
							.__sc {
								color: #052B1F;
								font-size: clamp(16px, u.font-size-vw(18), 18px);
								font-weight: 700;
								margin: 0;
								margin-bottom: 1em;
								padding: 0;
							}
							.__text {
								font-size: clamp(12px, u.font-size-vw(14), 14px);
								font-weight: normal;
								color: #707070;
								line-height: 1.6;
								margin: 0;
								padding: 0;
							}
							.__link {
								position: absolute;
								z-index: 2;
								bottom: 0;
								right: 0;
								font-size: clamp(12px, u.font-size-vw(14), 14px);
								font-weight: normal;
								color: #707070;
								text-align: right;
								margin: 0;
								margin-top: 1rem;
								padding: 0;
								a {
									text-decoration: none;
									color: #FFF;
									display: block;
									padding: 0.5rem 1.5rem;
									&::before {
										content: "\f105"; // Font Awesomeの外部リンクアイコン
										font-family: "Font Awesome 6 Free";
										font-weight: 900;
										padding-right: 0.25rem;
										color: #FFF;
									}
								}
							}
						}
						@include u.max-screen(v.$breakpoint-mobile) {
							flex-direction: column;
							.__left_container {
								width: 100%;
							}
							.__right_container {
								width: 100%;
							}
						}
					}
				}
				// お悩みタグ
				.tag-list {
					display: flex;
					flex-direction: column;
					align-items: flex-start;
					position: relative;
					border: 5px solid #0072DC; // 吹き出し枠線
					background-color: #F4F7FF; // 吹き出し背景色
					border-radius: 0 10px 10px 10px;
					margin-top: 4rem;
					margin-bottom: 3rem;
					padding: 20px;
					// 各タグのリンク
					a {
						display: block;
						font-size: 16px;
						color: #2D3E50;
						text-decoration: none;
						font-weight: bold;
						padding: 10px;
						cursor: default;
						pointer-events: none!important;
					}
					&::after {
						content: "";
						position: absolute;
						bottom: -25px; // 矢印の位置を微調整
						right: 40px; // 位置調整
						width: 50px; // 幅を少し狭める
						height: 30px;
						background: url('../img/tag-list-arrow.svg') no-repeat center;
						background-size: contain;
					}
					// 左上の小ラベル（お悩み）
					&::before {
						content: "お悩み";
						position: absolute;
						top: 0;
						left: -5px;
						background-color: #0072DC;
						color: white;
						font-weight: bold;
						padding: 5px 15px;
						border-radius: 5px 5px 0 0;
						transform: translateY(-100%);
					}
				}
				// 目次
				.ys-toc {
					position: relative;
					z-index: 0;
					border-radius: 10px;
					overflow: hidden;
					background-color: #FDFDFD;
					border: 1px solid #CAD9D5;
					padding-top: 5rem;
					padding-bottom: 1rem;
					&__title {
						position: absolute;
						z-index: 1;
						top: 0;
						left: 0;
						width: 100%;
						margin: 0;
						text-align: center;
						font-family: shippori-mincho, sans-serif;
						font-weight: 400;
						font-style: normal;
						background-color: #46AC8F;
						color: #FFF;
						font-size: clamp(18px, u.font-size-vw(24), 24px);
						padding: 0.5rem 0;
					}
					&__list {
						& > .ys-toc__item {
							padding-left: 0;
							border: 0;
							& > .ys-toc__link {
								margin-bottom: 0.5em;
								padding-bottom: 0.25em;
								display: block;
								line-height: 2;
								color: #46AC8F;
								font-size: 1.2em;
								width: 100%;
								border-bottom: 1px solid #46AC8F;
								font-family: shippori-mincho, sans-serif;
								font-weight: 700;
								font-style: normal;
							}
							.ys-toc__children {
								& > .ys-toc__item {
									color: #5A746C;
									font-weight: bold;
									&::before {
										content: "\f105"; // Font Awesomeの矢印アイコン
										font-family: "Font Awesome 6 Free";
										font-weight: 900;
										color: #B1BEBA;
										margin-right: 0.5em;
									}
								}
							}
						}
					}
				}
				// H2タイトルのスタイル
				h2 {
					position: relative;
					color: white;
					font-weight: bold;
					padding: 1.5rem;
					text-align: left;
					background: linear-gradient(90deg, #46AC8F, #71C4C4);
					z-index: 1;
					font-family: shippori-mincho, sans-serif;
					font-weight: 700;
					font-style: normal;
					letter-spacing: unset!important;
				}
				// h3 見出しのスタイル
				h3 {
					position: relative;
					font-weight: bold;
					color: #4A5753; // 文字の色
					background-color: #FAFAFA; // 背景色（薄いブルー）
					padding: 1.5rem 1rem;
					border-top: 3px solid #46AC8F; // 上のボーダー
					border-bottom: 3px solid #46AC8F; // 下のボーダー
					z-index: 1;
					overflow: hidden;
					letter-spacing: unset!important;
					// 背景のアイコン装飾（天秤マークなど）
					&::after {
						content: "";
						position: absolute;
						background: url('../img/icon-tenbin.svg') no-repeat center;
						background-size: contain;
						width: 130px;
						height: 130px;
						font-size: 5rem;
						color: rgba(217, 224, 222, 0.1); // 透かし効果
						right: 1rem;
						top: 50%;
						transform: translateY(-50%);
						z-index: -1;
						@include u.max-screen(v.$breakpoint-tablet) {
							right: -1rem;
						}
					}
				}
				// h4 見出しのスタイル
				h4 {
					position: relative;
					font-weight: bold;
					color: #FFF; // 文字の色
					background-color: #46AC8F;
					padding: 0.75rem;
					padding-left: 2.5rem;
					border-radius: 100px;
					z-index: 1;
					overflow: hidden;
					letter-spacing: unset!important;
					// 背景のアイコン装飾（天秤マークなど）
					&::before {
						content: "";
						position: absolute;
						top: 50%;
						left: 1rem;
						width: 8px;
						height: 1.5rem;
						background-color: #FFF;
						border-radius: 10px;
						transform: translateY(-50%);
						z-index: -1;
					}
				}
				// h5 見出しのスタイル
				h5 {
					position: relative;
					font-weight: bold;
					color: #4D9681; // 文字の色
					background-color: #FAFAFA;
					padding: 1rem;
					letter-spacing: unset!important;
					border-left: 5px solid #4D9681; // 左のボーダー
				}
				// 説明リスト
				.ystdtb-dl {
					border: 1px solid #47AC8E;
					border-radius: 1rem;
					background-color: #EFFAF7;
					padding: 1.5rem 2rem;
					padding-bottom: 2rem;
					.ystdtb-dt {
						font-weight: bold;
						color: #46AC8F;
						font-size: 1.25rem;
						padding: 0.5rem 0;
						padding-left: 1.5rem;
						position: relative;
						border-bottom: 2px solid #46AC8F;
						&::before {
							content: "";
							position: absolute;
							top: 50%;
							left: 0;
							width: 8px;
							height: 8px;
							background-color: #46AC8F;
							border-radius: 50%;
							transform: translateY(-50%);
						}
					}
				}
				// 引用
				.container-quotation {
					position: relative;
					margin-top: 5rem;
					padding: 1.5rem;
					background-color: #EFFAF7;
					border-radius: 10px;
					z-index: 0;
					&::after {
						position: absolute;
						top: -40px;
						left: 50%;
						background-color: #46AC8F;
						color: #FFF;
						padding: 1rem;
						border-radius: 100%;
						content: "\f10e";
						font-family: "Font Awesome 6 Free";
						font-weight: 900;
						width: 80px;
						height: 80px;
						border: 3px solid #E6FFF8;
						transform: translateX(-50%);
						font-size: 2.5rem;
						display: flex;
						justify-content: center;
						align-items: center;
						z-index: 2;
					}
					&::before {
						content: "";
						position: absolute;
						top: 0;
						left: 50%;
						width: calc(100% - 20px);
						height: 4px;
						background-color: #46AC8F;
						transform: translateX(-50%);
						z-index: 1;
					}
					// タイトル
					.__title {
						font-size: 1.5rem;
						font-weight: bold;
						color: #47AC8E;
						margin-top: 1rem;
						font-family: shippori-mincho, sans-serif;
						font-weight: 700;
						font-style: normal;
					}
					// コンテンツ
					.__content {
						font-size: 0.8rem;
						font-weight: normal;
						color: #292828;
					}
					// hr
					.__hr {
						color: #707070;
					}
					// 引用元
					.__source {
						margin-top: 0.25rem;
						a {
							color: #47AC8E;
							text-decoration: none;
							font-weight: normal;
							font-size: clamp(12px, u.font-size-vw(14), 14px);
							&::after {
								// 外部リンクのアイコンを表示
								content: url('../img/arrow-up-right-from-square-solid.svg');
								padding-left: 0.25rem;
							}
						}
					}
				}
				// 用語dl
				.container-yougo {
					position: relative;
					margin-top: 5rem;
					padding: 1.5rem;
					background-color: #EFFAF7;
					border-radius: 10px;
					z-index: 0;
					&::after {
						position: absolute;
						top: -40px;
						left: 50%;
						background-color: #46AC8F;
						color: #FFF;
						padding: 1rem;
						border-radius: 100%;
						content: "\f02d";
						font-family: "Font Awesome 6 Free";
						font-weight: 900;
						width: 80px;
						height: 80px;
						border: 3px solid #E6FFF8;
						transform: translateX(-50%);
						font-size: 2.5rem;
						display: flex;
						justify-content: center;
						align-items: center;
						z-index: 2;
					}
					&::before {
						content: "";
						position: absolute;
						top: 0;
						left: 50%;
						width: calc(100% - 20px);
						height: 4px;
						background-color: #47AC8E;
						transform: translateX(-50%);
						z-index: 1;
					}
					// タイトル
					p.__title {
						font-size: 1.5rem;
						font-weight: bold;
						color: #47AC8E;
						margin-top: 1rem;
						font-family: shippori-mincho, sans-serif;
						font-weight: 700;
						font-style: normal;
					}
					// コンテンツ
					p {
						font-size: 0.8rem;
						font-weight: normal;
						color: #292828;
					}
				}
				// メリット
				.container-merit {
					position: relative;
					border: 5px solid #47AC8E; // 吹き出し枠線
					background-color: #FFFFFF; // 吹き出し背景色
					border-radius: 0 10px 10px 10px;
					margin-top: 5rem;
					margin-bottom: 3rem;
					padding: 1rem 2.5rem;
					padding-bottom: 2.5rem;
					// 左上の小ラベル（お悩み）
					&::before {
						content: "メリット";
						position: absolute;
						top: -1px;
						left: -5px;
						background-color: #47AC8E;
						color: white;
						font-family: shippori-mincho, sans-serif;
						font-weight: 700;
						font-style: normal;
						padding: 5px 2em;
						padding-right: 4em;
						font-size: clamp(16px, u.font-size-vw(22), 22px);
						border-radius: 10px 10px 0 0;
						transform: translateY(-100%);
						clip-path: polygon(0 0, 80% 0%, 100% 100%, 0% 100%);
					}
					ul {
						list-style-type: none;
						padding: 0;
						li {
							padding: 1.25rem 0;
							border-bottom: 2px solid #47AC8E;
							&::before {
								content: "\f111";
								font-family: "Font Awesome 6 Free";
								font-weight: 900;
								font-size: 1rem;
								color: #47AC8E;
								padding-right: 1rem;
							}
						}
					}
				}
				// デメリット
				.container-demerit {
					position: relative;
					border: 5px solid #478977; // 吹き出し枠線
					background-color: #FFF; // 吹き出し背景色
					border-radius: 0 10px 10px 10px;
					margin-top: 5rem;
					margin-bottom: 3rem;
					padding: 1rem 2.5rem;
					padding-bottom: 2.5rem;
					// 左上の小ラベル（お悩み）
					&::before {
						content: "デメリット";
						position: absolute;
						top: -1px;
						left: -5px;
						background-color: #478977;
						color: white;
						font-family: shippori-mincho, sans-serif;
						font-weight: 700;
						font-style: normal;
						padding: 5px 2em;
						padding-right: 4em;
						font-size: clamp(16px, u.font-size-vw(22), 22px);
						border-radius: 10px 10px 0 0;
						transform: translateY(-100%);
						clip-path: polygon(0 0, 80% 0%, 100% 100%, 0% 100%);
					}
					ul {
						list-style-type: none;
						padding: 0;
						li {
							padding: 1.25rem 0;
							border-bottom: 2px solid #AFBCB8;
							&::before {
								content: "\f111";
								font-family: "Font Awesome 6 Free";
								font-weight: 900;
								font-size: 1rem;
								color: #478977;
								padding-right: 1rem;
							}
						}
					}
				}
				// ステップ
				.container-step {
					position: relative;
					padding: 2rem 1rem;
					.wp-block-list {
						counter-reset: step-counter;
						list-style: none;
						padding-left: 0;
						position: relative;
						// 縦のライン
						&::before {
							content: "";
							position: absolute;
							top: 2.5rem;
							left: 15px;
							width: 4px;
							height: calc(100% - 8rem);
							background-color: #47AC8E;
							z-index: 1;
						}
						li {
							display: flex;
							align-items: center;
							flex-wrap: wrap;
							position: relative;
							padding: 1.5rem 1rem;
							padding-left: 3.5rem;
							font-size: 1.2rem;
							font-weight: bold;
							color: #052B1F;
							// ステップ番号
							&::before {
								counter-increment: step-counter;
								content: counter(step-counter);
								display: flex;
								align-items: center;
								justify-content: center;
								width: 40px;
								height: 40px;
								background-color: #47AC8E;
								color: white;
								font-size: 1.4rem;
								font-weight: bold;
								border-radius: 50%;
								position: absolute;
								left: 0;
								top: 2.5rem;
								transform: translateY(-50%);
								z-index: 2;
							}
							// 各ステップのコンテンツ
							ul {
								width: 100%;
								list-style: none;
								margin: 0;
								padding-top: 0.5rem;
								padding-left: 0;
								list-style: none;
								border-top: 1px solid #ddd;
								&::before {
									display: none;
								}
								li {
									color: #47AC8E;
									border: none;
									font-size: 1rem;
									margin-left: -1rem;
									padding: 0;
									&::before {
										display: none;
									}
								}
							}
						}
					}

				}
				// 表
				.wp-block-table {
					table {
						border: none;
						border-collapse: separate;
						border-spacing: 4px;
						// スマホ表示時は横スクロール可能にする
						@include u.max-screen(v.$breakpoint-mobile) {
							overflow-x: auto;
							width: 100%;
							min-width: 500px;
						}
						tr, th, td {
							border: none;
						}
						th {
							background-color: #47AC8E;
							color: #FFF;
							text-align: center;
							padding: 1.5rem;
							font-weight: bold;
						}
						td {
							color: #052B1F;
							background-color: #E5E5E5;
							// border-bottom: 2px solid #0171E3;
							padding: 1rem;
							text-align: center;
						}
					}
					// スクロールバー全体を対象にする
					&::-webkit-scrollbar {
						width: 10px; // スクロールバーの幅
						height: 10px; // スクロールバーの高さ
					}
					// スクロールバーの背景部分をカスタマイズ
					&::-webkit-scrollbar-track {
						background: #F4F2F2; // スクロールバーの背景色
						border-radius: 5px; // 角丸にする
					}
					// スクロールバーの操作部分をカスタマイズ
					&::-webkit-scrollbar-thumb {
						background: #47AC8E; // スクロールバーの操作部分の背景色
						border-radius: 5px; // 角丸にする
					}
					// スクロールバーの操作部分にホバーした時のスタイル
					&::-webkit-scrollbar-thumb:hover {
						background: #47AC8E; // ホバー時のスクロールバーの操作部分の背景色
					}
				}
			}
			.singular__footer {
				.post-related__title {
					position: relative;
					font-size: clamp(16px, u.font-size-vw(20), 20px);
					font-weight: bold;
					color: #4D9681; // 文字の色
					background-color: #FAFAFA;
					padding: 1rem;
					letter-spacing: unset!important;
					border-left: 5px solid #4D9681; // 左のボーダー
				}
				.ys-posts {
					.ys-posts__item {
						.ys-posts__text {
							display: flex;
							flex-direction: column-reverse;
							justify-content: flex-start;
							align-items: flex-start;
							gap: 0.25rem;
						}
					}
				}
			}
		}
	}
}
*/
/* ===========================================
 * About
 * ===========================================
*/
.about > .site-content .container {
  max-width: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
}

/* ===========================================
 * Contact
 * ===========================================
*/
.contact {
  /*
  .singular-header {
  	.singular-header__title {
  		font-size: clamp(16px, u.font-size-vw(18), 18px);
  		font-family: "Noto Sans JP", sans-serif;
  		font-optical-sizing: auto;
  		font-weight: 700;
  		font-style: normal;
  		color: #797676;
  		letter-spacing: unset!important;
  	}
  	.singular-header__meta {
  		display: none;
  	}
  }
  .content__main {
  	max-width: v.$base-window-width-px!important;
  	margin: 0 auto;
  	margin-top: 4%;
  }
  .__lead {
  	font-size: clamp(24px, u.font-size-vw(32), 32px);
  	font-family: shippori-mincho, sans-serif;
  	font-weight: 700;
  	font-style: normal;
  	color: #052B1F;
  	line-height: 1.4;
  	strong {
  		color: #71C4C4;
  	}
  }
  .__text {
  	color: #797676;
  	font-size: 14px;
  	margin-bottom: 3rem;
  }
  .contact-form {
  	width: 100%;
  	margin: 0 auto;
  	@include u.max-screen( v.$breakpoint-tablet ) {
  		position: relative;
  		z-index: 0;
  		&::before {
  			content: "";
  			position: absolute;
  			top: -1.5rem;
  			left: 50%;
  			transform: translateX(-50%);
  			width: 100vw;
  			height: calc(100% + 3rem);
  			background-color: #EFFAF7;
  			z-index: -1;
  		}
  	}
  	dl {
  		margin-bottom: 2rem;
  	}
  	dt, dd {
  		font-weight: normal;
  	}
  	dt {
  		margin-bottom: 0.25em;
  		font-weight: 700;
  		p {
  			margin-bottom: 0;
  		}
  	}
  	dd {
  		margin-left: 0;
  	}
  	span.required {
  		color: red;
  		display: inline-block;
  		margin-left: 0.25rem;
  	}
  	.__flex_container {
  		display: flex;
  		justify-content: space-between;
  		align-items: center;
  		gap: 1rem;
  		dl {
  			flex: 0 1 50%;
  			width: 50%;
  		}
  	}
  	label {
  		display: block;
  		font-weight: bold;
  		margin: 10px 0 5px;
  		color: #333;
  	}
  	input, textarea {
  		width: 100%;
  		padding: 10px 1rem;
  		border: 1px solid #CCC;
  		border-radius: 5px;
  		font-size: 16px;
  		background-color: white;
  		transition: border-color 0.3s;
  		border-color: #D4E7DB;
  		&:focus {
  			border-color: #46AC8F;
  			outline: none;
  		}
  		&::placeholder {
  			color: #A9D3C7;
  			font-weight: 700;
  		}
  	}
  	textarea {
  		height: 150px;
  		resize: vertical;
  	}
  	.name-fields {
  		display: flex;
  		gap: 10px;

  		label, input {
  			flex: 1;
  		}
  	}
  	.privacy-policy {
  		margin: 20px 0;
  		font-size: 14px;
  		color: #666;
  		.__flex_container {
  			justify-content: flex-start;
  			gap: 0;
  		}
  		span.required {
  			margin-left: 0;
  		}
  		a {
  			color: #47AC8E;
  			text-decoration: none;
  			font-weight: bold;
  			text-decoration: none;
  			transition: text-decoration 0.3s;
  			&:hover {
  				text-decoration: underline;
  			}
  		}
  		p {
  			margin-bottom: 0;
  		}
  		.wpcf7-list-item {
  			display: flex;
  			justify-content: flex-start;
  			align-items: center;
  			margin-top: 10px;
  			margin-left: 0;
  			input[type="checkbox"] {
  				margin-right: 10px;
  			}
  			.wpcf7-list-item-label {
  				white-space: nowrap;
  			}
  		}
  	}
  	.submit-button {
  		margin-top: 2rem;
  		text-align: center;
  		input[type="submit"] {
  			background: #46AC8F;
  			color: white;
  			font-size: 18px;
  			padding: 12px 30px;
  			border: none;
  			border-radius: 5px;
  			cursor: pointer;
  			transition: all 0.3s;
  			font-weight: bold;
  			box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  			&:hover {
  				box-shadow: none;
  			}
  		}
  	}
  }
  */
}

/* ===========================================
 * Sitemap
 * ===========================================
*/
/*
.sitemap {
	.singular-header {
		.singular-header__title {
			letter-spacing: unset!important;
		}
		.singular-header__meta {
			display: none;
		}
	}
	.content__main {
		max-width: v.$base-window-width-px!important;
		margin: 0 auto;
		margin-top: 4%;
	}
	.sec-sitemap {
		h2 {
			position: relative;
			font-weight: bold;
			color: #FFF; // 文字の色
			background-color: #46AC8F;
			padding: 0.75rem;
			padding-left: 2.5rem;
			border-radius: 100px;
			z-index: 1;
			overflow: hidden;
			letter-spacing: unset!important;
			// 背景のアイコン装飾（天秤マークなど）
			&::before {
				content: "";
				position: absolute;
				top: 50%;
				left: 1rem;
				width: 8px;
				height: 1.5rem;
				background-color: #FFF;
				border-radius: 10px;
				transform: translateY(-50%);
				z-index: -1;
			}
		}
		.__sitemap_container {
			position: relative;
			margin: 0;
			padding: 0;
			.page-list {
				counter-reset: step-counter;
				list-style: none;
				padding-left: 0;
				position: relative;
				// 縦のライン
				&::before {
					content: "";
					position: absolute;
					top: 2.5rem;
					left: 0.7rem;
					width: 4px;
					height: calc(100% - 5rem);
					background-color: #D8D8D8;
					z-index: 1;
				}
				li {
					display: flex;
					align-items: center;
					flex-wrap: wrap;
					position: relative;
					padding: 1.5rem 1rem;
					padding-left: 3.5rem;
					font-size: 1.2rem;
					font-weight: bold;
					color: #052B1F;
					// ステップ番号
					&::before {
						content: '';
						display: flex;
						align-items: center;
						justify-content: center;
						width: 1.5rem;
						height: 1.5rem;
						background-color: #47AC8E;
						color: white;
						font-size: 1.4rem;
						font-weight: bold;
						border-radius: 50%;
						position: absolute;
						left: 0;
						top: 2.5rem;
						transform: translateY(-50%);
						z-index: 2;
					}
					a {
						text-decoration: none;
						color: #46AC8F;
						font-size: clamp(16px, u.font-size-vw(18), 18px);
					}
				}
			}
		}
		.__category_container {
			.category-list {
				list-style: none;
				margin: 0;
				padding: 2rem 1rem;
				padding-right: 0;
				display: grid;
				grid-template-columns: repeat(3, 1fr);
				gap: 0.5rem;
				position: relative;
				li {
					padding: 0;
					border: none;
					a {
						display: block;
						padding: 0.5rem 0.5rem;
						border-radius: 100px;
						border: 1px solid #47AC8E;
						background-color: #FFF;
						color: #47AC8E;
						font-size: clamp(14px, u.font-size-vw(16), 16px);
						font-weight: bold;
						text-align: center;
						text-decoration: none;
						transition: all 0.3s ease;
						white-space: nowrap;
						&:hover {
							background-color: #47AC8E;
							color: #FFF;
						}
					}
				}
				@include u.max-screen( v.$breakpoint-tablet ) {
					grid-template-columns: repeat(2, 1fr);
					grid-auto-columns: minmax(max-content, 2fr);
					padding-left: 0;
				}
			}
		}
		.__tag_container {
			.tag-list {
				display: flex;
				flex-wrap: wrap;
				justify-content: flex-start;
				align-items: flex-start;
				gap: 0.5rem;
				position: relative;
				padding: 1rem 1rem 2rem;
				list-style: none;
				li {
					border: none;
					a {
						text-decoration: none;
						font-size: 1rem;
						line-height: 1.2;
						padding: 0;
						text-decoration: none;
						color: #292828;
						&::before {
							border: unset;
							content: "#";
							transform: unset;
							margin-right: 0.25em;
						}
						&::after {
							display: none;
						}
					}
				}
			}
		}
	}
}
*/
/* ===========================================
 * Site Header
 * グローバルヘッダー
 * ===========================================
*/
/* reset */
.site-header {
  width: 100%;
}

.site-header > .container {
  position: relative;
  max-width: 100% !important;
  margin: 0;
  padding: 0;
}

body:not(.home) {
  /*
  .page-thumbnail-org {
  	position: relative;
  	z-index: 0;
  	.site-header-thumbnail {
  		width: 100%;
  		height: 30vh;
  		img {
  			width: 100%;
  			height: 100%;
  			object-fit: cover;
  			object-position: center;
  		}
  	}
  	.__title_container {
  		position: absolute;
  		width: 100%;
  		top: 40%;
  		left: 50%;
  		transform: translate(-50%, -50%);
  		z-index: 1;
  		display: flex;
  		flex-direction: column;
  		align-items: center;
  		justify-content: center;
  		gap: 1.5rem;
  		.__icon {
  			text-align: center;
  		}
  		.__title {
  			color: #FFF;
  			line-height: 1.2;
  			margin: 0;
  			font-size: clamp(18px, u.font-size-vw(32), 32px);
  			font-family: shippori-mincho, sans-serif;
  			font-weight: 400;
  			font-style: normal;
  		}
  	}
  	@include u.max-screen( v.$breakpoint-tablet ) {
  		&::before {
  			content: '';
  			position: absolute;
  			top: 0;
  			left: 0;
  			width: 50%;
  			height: 100%;
  			background-image: url('../img/deco-header-thumbnail-sp.svg');
  			background-size: contain;
  			background-repeat: no-repeat;
  			background-position: left top;
  			z-index: 1;
  		}
  		.site-header-thumbnail {
  			height: 25vh;
  		}
  	}
  }
  */
}

/* ===========================================
 * footer
 * ===========================================
*/
.site-footer .footer-main {
  background-color: #FCA8D4 !important;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

/*
.site-footer {
	.sec-footer-category {
		margin: 0;
		padding: 0;
		.__header {
			width: 427px;
			height: 74px;
			margin-left: 4%;
			position: relative;
			z-index: 0;
			.__bg {
				.__img {
					width: 100%;
					height: 100%;
					overflow: hidden;
					img {
						width: 427px;
					}
				}
			}
			.__title {
				position: absolute;
				width: 100%;
				text-align: center;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				margin: 0;
				font-family: times-new-roman, sans-serif;
				font-weight: 400;
				letter-spacing: 2px;
				font-size: 40px;
				color: #FFF;
				font-weight: bold;
				z-index: 2;
				opacity: 0.78;
			}
			@include u.max-screen( v.$breakpoint-tablet ) {
				margin-left: 0;
				margin-bottom: -2px;
				width: 75%;
				height: auto;
				.__title {
					font-size: clamp(28px, u.font-size-vw(32), 32px);
					display: inline-block;
					padding-left: 8%;
					text-align: left;
				}
			}
		}
		.__inner {
			background-color: v.$footer_bg;
			.category-list {
				max-width: v.$base-window-width-px;
				margin: 0 auto;
				padding: 4%;
				list-style: none;
				display: flex;
				flex-wrap: wrap;
				justify-content: flex-start;
				align-items: center;
				gap: 1rem;
				li {
					a {
						display: block;
						width: 100%;
						height: 100%;
						text-decoration: none;
						color: #FFF;
						font-size: 14px;
						padding: 0.5rem 2rem;
						background-color: #345A50;
						border-radius: 100px;
					}
				}
			}
		}
	}
	.sec-footer-info {
		padding: 2rem 0;
		background-color: #316053;
		.__inner {
			max-width: v.$base-window-width-px;
			margin: 0 auto;
			padding: 0 4%;
			display: flex;
			justify-content: space-between;
			align-items: center;
			gap: 2rem;
			.__logo {
				width: 400px;
				height: auto;
				img {
					width: 100%;
					height: auto;
				}
			}
			.__company_info {
				line-height: 1.2;
				color: #FFF;
				font-weight: 300;
				margin: 0;
			}
			.__link {
				text-decoration: none;
				width: 64px;
				height: 64px;
				display: flex;
				justify-content: center;
				align-items: center;
			}
			@include u.max-screen( v.$breakpoint-tablet ) {
				flex-direction: column;
				.__logo {
					width: 100%;
					max-width: 400px;
				}
				.__link {
					width: 100%;
				}
			}
		}
	}
	.footer-main {
		margin: 0;
		padding: 0;
		position: relative;
		z-index: 1;
		background-color: #D5D5D5!important;
		.footer-nav {
			background-color: v.$footer_bg;
			.footer-nav__menu {
				margin: 0;
				padding: 2% 0;
				gap: 1.5rem;
				li {
					margin: 0;
					padding: 0;
					a {
						color: #FFF;
						display: block;
						&::before {
							font-family: "Font Awesome 6 Free";
							font-weight: 900;
							content: "\f105";
							display: inline-block;
							margin-right: 0.5rem;
							color: #FFF;
						}
					}
				}
				@include u.max-screen( v.$breakpoint-tablet ) {
					row-gap: 0.5rem;
					padding: 4% 0;
				}
			}
		}
		.site-info {
			margin: 0;
			padding: 0;
			p {
				font-size: 12px;
				color: #013B0D;
			}
		}
	}
}
*/
button#back-to-top {
  right: 3vh;
  bottom: 3vh;
}
@media screen and (max-width: 767px) {
  button#back-to-top {
    bottom: 5vh;
  }
}

/* ===========================================
 * Sidebar
 * サイドバー
 * ===========================================
*/
/*
aside.sidebar {
	// バナー画像
	.widget_media_image:has(.bnr-hoken) {
		margin-top: 5px;
	}
	// 検索窓
	.widget_search {
		form {
			.wp-block-search__label {
				display: none;
			}
			.wp-block-search__inside-wrapper {
				.wp-block-search__button {
					white-space: nowrap;
					font-family: shippori-mincho, sans-serif;
					font-weight: 700;
					font-style: normal;
					color: #FFF;
					background-color: #46AC8F;
					border-color: #DFEAE7;
				}
			}
		}
	}
	// 共通
	.widget_block {
		// 新着記事一覧
		.__side_new_articles,
		.__side_category,
		.__side_tag {
			.__side_header {
				display: block;
				text-align: left;
				letter-spacing: 0!important;
				font-size: clamp(16px, u.font-size-vw(18), 18px);
				color: #47AC8E;
				position: relative;
				background-image: url('../img/bg-sidebar-header.svg');
				background-repeat: no-repeat;
				background-size: contain;
				background-position: center;
				line-height: 3;
				padding-left: 1em;
				&::before {
					content: '';
					position: absolute;
					top: calc(100% + 10px);
					left: 50%;
					transform: translateX(-50%);
					width: 88%;
					height: 3px;
					border-radius: 100px;
					background-color: #47AC8E;
				}
			}
		}
		.__side_new_articles {
			.wp-block-latest-posts__list {
				li {
					display: flex;
					flex-direction: column-reverse;
					justify-content: center;
					align-items: flex-start;
					.wp-block-latest-posts__post-date {
						display: flex;
						justify-content: flex-start;
						align-items: center;
						gap: 0;
						color: #696969;
						&::before {
							display: block;
							content: "\f017";
							font-family: "Font Awesome 6 Free";
							font-weight: 400;
							font-size: 1em;
							color: #b5b5b5;
							margin-top: 0.125em;
							margin-right: 0.25rem;
						}
					}
					.wp-block-latest-posts__post-title {
						color: #052B1F;
					}
				}
			}
		}
		.__side_category {
			.wp-block-categories-list {
				list-style: none;
				margin: 0;
				padding: 2rem 1rem;
				// グリッドで2列に固定
				display: grid;
				grid-template-columns: repeat(2, 1fr);
				gap: 0.5rem;
				position: relative;
				&::before {
					content: '';
					position: absolute;
					top: 50%;
					left: 0;
					transform: translateY(-50%);
					width: 100%;
					height: 72%;
					border-left: 1.5px solid #47AC8E;
					border-right: 1.5px solid #47AC8E;
					z-index: -1;
				}
				&::after {
					content: '';
					position: absolute;
					top: 0;
					left: 0;
					width: 100%;
					height: 100%;
					background-image: url('../img/bg-sidebar-header-bottom.svg');
					background-repeat: no-repeat;
					background-size: contain;
					background-position: center bottom;
					z-index: -1;
				}
				li {
					padding: 0;
					border: none;
					a {
						display: block;
						padding: 0.5rem 0.5rem;
						border-radius: 100px;
						background-color: #47AC8E;
						color: #FFF;
						font-size: 12px;
						font-weight: bold;
						text-align: center;
						&::before {
							display: none;
						}
					}
				}
			}
		}
		.__side_tag {
			.wp-block-categories-list {
				display: flex;
				flex-wrap: wrap;
				justify-content: flex-start;
				align-items: flex-start;
				gap: 0.5rem;
				position: relative;
				padding: 1rem 1rem 2rem;
				&::before {
					content: '';
					position: absolute;
					top: 50%;
					left: 0;
					transform: translateY(-50%);
					width: 100%;
					height: 72%;
					border-left: 1.5px solid #47AC8E;
					border-right: 1.5px solid #47AC8E;
					z-index: -1;
				}
				&::after {
					content: '';
					position: absolute;
					top: 0;
					left: 0;
					width: 100%;
					height: 100%;
					background-image: url('../img/bg-sidebar-header-bottom.svg');
					background-repeat: no-repeat;
					background-size: contain;
					background-position: center bottom;
					z-index: -1;
				}
				li.cat-item {
					border: none;
					a {
						font-size: 1rem;
						line-height: 1.2;
						padding: 0;
						color: #7C8391;
						text-decoration: none;
						&::before {
							border: unset;
							content: "#";
							transform: unset;
							margin-right: 0.25em;
						}
						&::after {
							display: none;
						}
					}
				}
			}
		}
		.side-sec-bnr {
			margin-top: 4rem;
			figure {
				box-shadow: 0 10px 10px rgba(0, 0, 0, 0.3);
				a {
					width: 100%;
				}
				img {
					width: 100%;
				}
			}
		}
	}
	@include u.max-screen(v.$breakpoint-tablet) {
		margin-top: 6rem;
		margin-bottom: 0;
		padding: 2rem 0;
		position: relative;
		z-index: 0;
		&::before {
			content: '';
			position: absolute;
			top: 0;
			left: 50%;
			transform: translateX(-50%);
			width: 100vw;
			height: 100%;
			background-color: #EFFAF7;
			z-index: -1;
		}
		.sidebar__widget {
			max-width: 400px;
			margin: 0 auto;
			.__side_new_articles,
			.__side_category,
			.__side_tag {
				.__side_header {
					height: 3.6em;
				}
			}
		}
	}
}
*//*# sourceMappingURL=theme-style.css.map */