/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/

/*************** ADD CUSTOM CSS HERE.   ***************/
@font-face {
  font-family: "Century Gothic";
  src: url("./../flatsome/assets/fonts/CenturyGothic.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

:root {
  /* Width frame mobile */
  --frame-sp: 100%;
  --frame-pc: 390px;
  /* Fonts */
  --font-noto: "Noto Sans JP";
  --font-second: "Century Gothic", sans-serif;

  /* Colors */
  --color-white: #fff;
  --color-silver: #b8b8b8;

  /* Category */
  --color-dark: #333;
  --color-green: #009d85;
  --color-blue: #0068b7;
  --color-organ: #ec6f47;
  --color-yellow: #ffb800;
  --color-purple: #ba79b1;
}

html {
  font-family: var(--font-noto);
  margin-right: 0 !important;
}

::placeholder {
}

:-moz-placeholder {
  color: #b8b8b8;
}

::-webkit-input-placeholder {
  color: #b8b8b8;
}

:-ms-input-placeholder {
  color: #b8b8b8;
}

input[type="number"] {
  -moz-appearance: textfield;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--color-dark) !important;
}

@media (max-width: 549px) {
  [data-show="hide-for-small"],
  .hide-for-small {
    display: inline !important;
  }
}
.row {
  margin-right: 0 !important;
  margin-left: 0 !important;
}
.col,
.gallery-item,
.columns {
  padding: 0 30px 10px !important;
}

.items-each-padding .col:nth-child(odd) {
  padding-right: 10px !important;
}

.items-each-padding .col:nth-child(even) {
  padding-left: 10px !important;
}

.btn-news-group .col:nth-child(odd) {
  padding-right: 5px !important;
  padding-left: 0px !important;
}

.btn-news-group .col:nth-child(even) {
  padding-left: 5px !important;
  padding-right: 0px !important;
}

.el-hide {
  display: none !important;
}
.me-5 {
  margin-right: 5px !important;
}
.ms-5 {
  margin-left: 5px !important;
}
.mt-5 {
  margin-top: 5px !important;
}

.mt-10 {
  margin-top: 10px !important;
}

.mt-15 {
  margin-top: 15px !important;
}

.mt-20 {
  margin-top: 20px !important;
}

.mt-25 {
  margin-top: 25px !important;
}

.mt-30 {
  margin-top: 30px !important;
}
.mt-40 {
  margin-top: 40px !important;
}
.mt-50 {
  margin-top: 50px !important;
}
.mt-55 {
  margin-top: 55px !important;
}
.mt-60 {
  margin-top: 60px !important;
}
.mt-70 {
  margin-top: 70px !important;
}
.mt-80 {
  margin-top: 80px !important;
}
.mt-100 {
  margin-top: 100px !important;
}

.p-5 {
  padding: 5px;
}

.p-8 {
  padding: 8px;
}

.p-10 {
  padding: 10px;
}

.p-15 {
  padding: 15px;
}

.p-20 {
  padding: 20px;
}

.pt-5 {
  padding-top: 5px;
}

.pt-8 {
  padding-top: 8px;
}

.pt-10 {
  padding-top: 10px;
}

.pt-15 {
  padding-top: 15px;
}

.pt-20 {
  padding-top: 20px;
}

.pt-25 {
  padding-top: 30px;
}

.pt-30 {
  padding-top: 30px;
}

.pt-90 {
  padding-top: 90px !important;
}

.pb-5 {
  padding-bottom: 5px;
}

.pb-8 {
  padding-bottom: 8px;
}

.pb-10 {
  padding-bottom: 10px;
}

.pb-15 {
  padding-bottom: 15px;
}

.pb-25 {
  padding-bottom: 30px;
}

.pb-20 {
  padding-bottom: 20px;
}

.line-dash {
  height: 1px;
  border-top: 1px dotted var(--color-dark);
  margin: 5px 0 5px;
}

/* loader */
#loading {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.5);
}

.loader {
  color: var(--first-color);
  font-size: 15px;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  position: relative;
  text-indent: -9999em;
  margin: 50vh auto;
  animation: mulShdSpin 1.3s infinite linear;
  transform: translateZ(0);
}

@keyframes mulShdSpin {
  0%,
  100% {
    box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
  }

  12.5% {
    box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
  }

  25% {
    box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
  }

  37.5% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
  }

  50% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
  }

  62.5% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
  }

  75% {
    box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
  }

  87.5% {
    box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
  }
}

/* end loader */
.mb-0 {
  margin-bottom: 0;
}

.mb-5 {
  margin-bottom: 5px;
}

.mb-10 {
  margin-bottom: 10px;
}

.mb-15 {
  margin-bottom: 15px;
}

.mb-20 {
  margin-bottom: 20px;
}

.mb-25 {
  margin-bottom: 25px;
}

.mb-30 {
  margin-bottom: 30px;
}
.mb-60 {
  margin-bottom: 60px;
}

#wrapper {
  box-shadow: -5px 0 10px rgba(0, 0, 0, 0.5), 5px 0 10px rgba(0, 0, 0, 0.5);
}

.logo-left .logo {
  margin-right: 0;
}

.nav > li {
  margin: 0 auto;
}

.nav > li > a > i.icon-menu {
  color: var(--color-dark) !important;
  font-size: 2.3em;
}
.button-header {
  display: flex;
  justify-content: center;
  vertical-align: middle;
  height: 40px;
  border: 1px solid var(--color-dark) !important;
  color: var(--color-dark) !important;
  font-size: 12px;
  align-items: center;
  width: 100px;
  line-height: unset !important;
}

.button-header:hover {
  color: var(--color-white) !important;
  border: 2px solid var(--color-dark) !important;
  background-color: var(--color-dark) !important;
}
.section_header_bottom,
.header-bottom {
  background: linear-gradient(90.64deg, #fabe00, #f2f71b 49.48%, #ace238);
  width: 100%;
  padding: 0;
}

.header-bottom-box {
  display: flex;
  color: var(--color-dark);
  font-size: 14px;
  justify-content: center;
  align-items: center;
}

.header-bottom-box .col {
  padding: 0 15px 0;
}

.header-bottom-bager {
  background: var(--color-white);
  border-radius: 40px;
  text-align: center;
  width: 66px;
  height: 20px;
  margin-right: 10px;
}

.header-bottom-content {
  display: flex;
  color: var(--color-dark);
  font-size: 12px;
  justify-content: center;
  align-items: center;
}

.banner-title {
  z-index: 99;
}

.text-box-content {
  display: flex;
  justify-content: center;
}
.section__margin {
  margin-bottom: 30px;
}

.home-banner {
  padding-top: 710px;
  background-color: rgb(238, 238, 238) !important;
}

.button-banner {
  background: #fabe00 !important;
  border-radius: 50px !important;
  border: 2px solid var(--color-dark);
  height: 80px;
  width: 320px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.button-banner span {
  color: var(--color-dark);
  font-family: Noto Sans JP;
  font-size: 16px;
  font-weight: 700;
  line-height: 26px;
  letter-spacing: 0.1em;
  text-align: center;
  word-break: keep-all;
}

.post-title {
  color: var(--color-dark);
}

.is-divider {
  display: none;
}

.tag-label {
  color: var(--color-white);
  border-radius: 5px;
  width: auto;
  height: 22px;
  font-size: 10px;
  text-align: center;
  padding: 5px 10px;
  margin-bottom: 9px !important;
}

.from_the_blog_excerpt {
  color: var(--color-dark);
  font-family: Noto Sans JP;
  font-size: 14px;
  font-weight: 500;
  line-height: 21px;
  letter-spacing: 0em;
  text-align: left;
  word-break: break-word;
}

.post-meta {
  font-family: var(--font-second);
  font-size: 12px;
  font-weight: 700;
  line-height: 14px;
  letter-spacing: 0.1em;
  text-align: left;
}
.post-meta {
  color: #b8b8b8;
}

.post-meta a {
  font-family: var(--font-second);
  font-size: 14px;
  font-weight: 700;
  line-height: 14px;
  letter-spacing: 0.1em;
  text-align: left;
  color: #b8b8b8;
}

.button-go-post {
  display: flex;
  justify-content: center;
  vertical-align: middle;
  height: 80px;
  border: 2px solid var(--color-dark) !important;
  color: var(--color-dark) !important;
  font-size: 16px;
  align-items: center;
  background-color: #fff;
}

.button-go-post:hover {
  color: var(--color-white) !important;
  border: 2px solid var(--color-dark) !important;
  background-color: var(--color-dark) !important;
}

.button-go-post .icon-angle-right {
  position: absolute;
  top: 34%;
  right: 35px;
  font-size: 20px;
}

.w100 {
  width: 100%;
}

.ft__list--group {
  display: flex;
  justify-content: space-around;
}

.ft__list--text {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: left;
  margin-right: 16px;
  font-size: 10px;
}

.ft__list--item {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: left;
  margin-right: 10px;
  width: 50%;
}

.ft__list--item ul {
  padding: 0;
  list-style-type: none;
  text-align: left;
}

.ft__list--item li {
  margin-bottom: 5px;
  text-align: left;
  margin-bottom: 15px;
  font-size: 12px;
}

.ft__list--item li a {
  color: var(--color-dark);
  text-decoration: none;
  font-family: Noto Sans JP;
  font-size: 14px;
  font-weight: 500;
  line-height: 35px;
  letter-spacing: 0em;
  text-align: left;
}

.ft__list--item li a:hover {
  color: var(--color-blue);
}

.ft__list--item button {
  width: 100%;
  height: 40px;
  border: 1px solid var(--color-dark);
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 40px;
  background-color: var(--color-white) !important;
  color: var(--color-dark);
  font-size: 14px;
}

.ft__list--item button:hover {
  color: var(--color-white);
  border: 1px solid var(--color-dark) !important;
  background-color: var(--color-dark) !important;
}

.wp-block-separator {
  border: 1px solid var(--color-dark);
  opacity: 0.5;
}

#block-22 .wp-block-group,
#block-22 .wp-block-buttons,
#block-22 a {
  width: 100%;
}

#block-25 .wp-block-group__inner-container,
#block-25 .wp-block-button,
#block-25 a {
  width: 100%;
}

.ft__list--image {
  display: flex;
  justify-content: flex-start;
}

.ft__list--image a {
  margin-right: 20px;
}

.copyright-footer {
  font-size: 14px;
  color: var(--color-dark);
  font-weight: 100;
  text-align: start;
  margin: 0 15px;
}

.menu__list--item {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: left;
  margin-right: 20px;
  width: 100%;
  font-size: 10px;
}

.menu__list--item ul {
  padding: 0;
  list-style-type: none;
  text-align: left;
}

.menu__list--item li {
  text-align: left;
  margin-bottom: 15px !important;
  font-size: 12px !important;
}

.menu__list--item li a {
  color: var(--color-dark);
  text-decoration: none;
}

.menu__list--item li a:hover {
  color: var(--color-blue);
}

.off-canvas:not(.off-canvas-center) .nav-vertical li > a {
  padding-left: 0px;
}

.menu__button--group {
  display: flex;
  justify-content: center;
  margin-top: 60px;
  width: 100%;
}

.menu__button--group--item {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: left;
  margin-right: 5px;
  width: 50%;
  font-size: 10px;
}

.menu__button--group--item button {
  width: 100%;
  height: 40px;
  border: 1px solid #333;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 40px;
  background-color: #fff;
  color: #333;
  font-size: 10px;
}

.menu__button--group--item button:hover {
  color: var(--color-white);
  border: 2px solid var(--color-dark) !important;
  background-color: var(--color-dark) !important;
}

.menu__text_group {
  display: flex;
  justify-content: flex-start;
  margin-top: 20px;
  padding-left: 10px;
}

.menu__text_group .item {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: left;
  margin-right: 16px;
  font-size: 10px;
}

.ff-noto {
  font-family: var(--font-noto) !important;
}
.ff-gothic {
  font-family: var(--font-second) !important;
}

.category-id-16 {
  background: var(--color-blue);
}

.category-id-19 {
  background: var(--color-green);
}

.category-id-20 {
  background: var(--color-dark);
}

.category-id-21 {
  background: var(--color-organ);
}

.category-id-22 {
  background: var(--color-yellow);
}

.category-id-23 {
  background: var(--color-purple);
}

.box-bounce .box-text {
  padding: 15px 0;
}

.off-canvas:not(.off-canvas-center) .nav-vertical li > a {
  padding-left: 20px;
}

.off-canvas:not(.off-canvas-center) li.html {
  padding-top: 0;
}

.nav-vertical > li + li {
  border-top: unset;
}

#main-menu ul {
  padding: 0;
  list-style-type: none;
  text-align: left;
}

#main-menu li {
  text-align: left;
  border-top: unset;
}

.off-canvas .nav-vertical li li > a {
  padding-top: 0px;
  padding-bottom: 0px;
}

#main-menu a {
  color: var(--color-dark);
  text-decoration: none;
  font-size: 16px;
  font-weight: 500;
  text-align: left;
}

.nav-vertical > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

/* #main-menu li:hover {
    color: var(--color-blue);
} */

#main-menu .sub-menu li a {
  font-size: 14px;
  font-weight: 500;
  line-height: 42px;
  text-align: left;
}
#main-menu .sub-menu li a {
  color: #696969;
}

#main-menu .sub-menu li a:hover {
  color: var(--color-blue);
}

#main-menu .menu-item-has-children i {
  font-size: 14px;
  font-weight: 500 !important;
  color: #fabe00;
}

.active > .toggle .icon-plus:before {
  content: "ãƒ¼";
  font-weight: bold;
  font-size: 16px;
}

.nav-pagination > li > span,
.nav-pagination > li > a {
  border-radius: 0;
  border: 0;
}

.nav-pagination > li > .current {
  background-color: transparent;
  color: var(--color-dark) !important;
}

ul.links li .prev {
  color: var(--color-dark) !important;
}

ul.links li .page-number {
  color: #d9d9d9;
}

ul.links li .page-number i {
  color: var(--color-dark);
}

.nav-pagination > li > .current:hover,
ul.links li .page-number:hover {
  color: var(--color-dark) !important;
  background-color: transparent;
}

.box-blog-post .post-title {
  display: none;
}

.section-title-normal,
.section-title-main,
.section-title-normal span {
  border-bottom: unset;
}

#page-header-1855785066 .page-title-inner {
  min-height: 150px;
}

#page-header-1855785066 .title-bg {
  background-image: url(/wp-content/uploads/2023/12/mask-group.png);
}

#page-header-banner .page-title-inner {
  min-height: 150px;
}

#page-header-banner .title-bg {
  background-image: url(/wp-content/uploads/2023/12/mask-group.png);
}

.title-wrapper {
  margin-top: -25px;
}

.entry-title {
  letter-spacing: 3px;
  font-size: 20px;
  margin-bottom: 10px !important;
}
.entry-content {
  font-weight: 400 !important;
  font-family: Noto Sans JP;
  font-size: 14px;
  letter-spacing: 0em;
  text-align: left;
}

.entry-content img {
  border-radius: 4%;
}
.lead {
  color: #000 !important;
  font-size: 14px !important;
}

.title-overlay {
  background-color: rgb(219 219 219 / 25%);
}

.section-title-container {
  margin-bottom: 0;
}

.section-title-normal,
.section-title-normal span,
.section-title-main {
  border: unset;
  border-bottom: unset;
}

.btnnews {
  border-radius: 10px !important;
}

.btnnews span {
  font-size: 14px;
}

.btn-news-all {
  color: var(--color-dark) !important;
  border: 1px solid var(--color-dark) !important;
  background-color: transparent !important;
}

.btn-news-all-active {
  border: 0;
  background-color: var(--color-dark) !important;
  color: var(--color-white) !important;
}

.btn-news-all:hover {
  color: var(--color-white) !important;
  background-color: var(--color-dark) !important;
}

.btn-news-19 {
  color: var(--color-green) !important;
  border: 1px solid var(--color-green) !important;
  background-color: transparent !important;
}

.btn-news-19:hover {
  color: var(--color-white) !important;
  background-color: var(--color-green) !important;
}

.btn-news-16 {
  color: var(--color-blue) !important;
  border: 1px solid var(--color-blue) !important;
  background-color: transparent !important;
}

.btn-news-16:hover {
  color: var(--color-white) !important;
  background-color: var(--color-blue) !important;
}

.btn-news-21 {
  color: var(--color-organ) !important;
  border: 1px solid var(--color-organ) !important;
  background-color: transparent !important;
}

.btn-news-21:hover {
  color: var(--color-white) !important;
  background-color: var(--color-organ) !important;
}

.btn-news-22 {
  color: var(--color-yellow) !important;
  border: 1px solid var(--color-yellow) !important;
  background-color: transparent !important;
}

.btn-news-22:hover {
  color: var(--color-white) !important;
  background-color: var(--color-yellow) !important;
}

.btn-news-23 {
  color: var(--color-purple) !important;
  border: 1px solid var(--color-purple) !important;
  background-color: transparent !important;
}

.btn-news-23:hover {
  color: var(--color-white) !important;
  background-color: var(--color-purple) !important;
}
.bg_banner {
  background-image: url(/wp-content/themes/flatsome/assets/img/home-banner/bg_banner.png) !important;
}
.page-title-up:first-child {
  font-family: var(--font-second);
  font-size: 10px;
  font-weight: 700;
  line-height: 12px;
  letter-spacing: 0.1em;
  text-align: center;
}
.page-title-up:nth-child(2) {
  font-family: var(--font-second);
  font-size: 12px;
  font-weight: 700;
  line-height: 14px;
  letter-spacing: 0.1em;
  text-align: center;
}
.paragraph {
  font-weight: 500;
  line-height: 24px;
  letter-spacing: -1px;
  text-align: center;
  white-space: pre-line;
}
.cate_active {
  border: 0;
}

#pick-up {
  background: #fffdeb;
}

#pick-up .title-heading {
  font-family: var(--font-second);
  font-size: 20px;
  line-height: 24px;
  letter-spacing: 0.1em;
  text-align: center;
}

#pick-up .div-pickup,
.section-pickup .div-pickup {
  position: absolute;
  background: #f2f61b;
  border-radius: 0;
  transform: rotate(-45deg);
  transform-origin: 0 100%;
  width: 150px;
  top: 70px;
  text-align: center;
  left: -8px;
}

#pick-up .box-bounce:hover .box-text {
  background-color: transparent;
}

#page-header-222836402 {
  background-color: rgb(253, 253, 253);
}

.col,
.gallery-item,
.columns {
  padding: 0 15px 10px;
}

#section_792690461 {
  padding-bottom: 0;
}

.blog-single .entry-category,
.blog-single .entry-meta {
  display: none;
}

.blog-single .entry-header a img {
  border-radius: 10px !important;
}

#nav-below .bt,
#nav-below .bb {
  border: 0;
}

#nav-below .flex-col {
  border: 0;
}

.section-title-text {
  margin-bottom: 1rem;
  color: var(--color-dark);
  font-size: 14px;
  font-weight: 400;
  font-family: var(--font-noto);
}
.content__title {
  margin-bottom: 1rem;
  color: var(--color-dark);
  font-size: 22px;
  font-weight: 700;
  font-family: var(--font-noto);
  line-height: 33px;
}
.content__text {
  text-align: start;
  font-size: 14px;
  font-weight: 500;
  font-family: var(--font-noto);
  line-height: 23.8px;
  white-space: pre-line;
}

.progress-main {
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9;
}

.progress-container {
  width: 100%;
  margin: 2em auto 2em;
  padding-left: 80px !important;
  padding-right: 80px !important;
}

.progress-steps {
  counter-reset: step;
}

.progress-steps li {
  list-style-type: none;
  width: 33.33%;
  float: left;
  font-size: 0.7em;
  position: relative;
  text-align: center;
  text-transform: uppercase;
  color: #333;
}

.progress-steps li:before {
  width: 2.5em;
  height: 2.5em;
  content: counter(step);
  counter-increment: step;
  line-height: 2.1em;
  border: 2px solid #333;
  display: block;
  text-align: center;
  margin: 0 auto 0.7em auto;
  border-radius: 50%;
  background-color: white;
  font-size: 12px;
  font-weight: 700;
  font-family: var(--font-second);
}

.progress-steps li:after {
  width: 100%;
  height: 2px;
  content: "";
  position: absolute;
  background-color: #333;
  top: 1.3em;
  left: -50%;
  z-index: -1;
}

.progress-steps li:first-child:after {
  content: none;
}

.progress-steps li.active {
  color: #fff;
}

.progress-steps li.active span {
  font-weight: 700;
}

.progress-steps li span {
  color: #333;
  font-size: 14px;
  font-weight: 100;
  font-family: "Noto Sans JP";
}

.progress-steps li.active:before {
  border-color: #333;
  background-color: #333;
}

.progress-steps li.active + li:after {
  background-color: #333;
}

.contact_title {
  font-size: 14px;
  font-weight: 600;
  color: #333;
}

.section-contact-notify {
  background: rgba(192, 227, 218, 1);
  padding: 15px 0;
  display: none;
  border: 2px solid #009d85;
}

.section-contact-notify .col {
  padding: 0 15px;
}

.notify {
  display: flex;

  justify-content: start;
  align-items: center;
}

.contact-form__control__sub {
  display: flex;
  align-items: center;
  padding: 5px 15px;
}

.contact-form__control__sub label {
  width: 135px;
  font-size: 14px;
  font-weight: 400;
  line-height: 31px;
  text-align: left;
}

.contact-form__control__sub-control {
  width: 125px;
  margin-right: 10px;
}
.contact-form__control__last {
  font-size: 14px;
  font-weight: 400;
  line-height: 31px;
  text-align: left;
  margin-bottom: 0.4em;
}
.special-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.special-title a {
  font-size: 14px;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: 0em;
  color: #0068b7 !important;
}
.confirm-check {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.valid-msg-icon {
  margin-right: 10px;
}

.valid-msg-icon .ico {
  background-color: #009d85;
  border-radius: 99px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  color: #fff;
}

.contact_required {
  background: #009d85;
  color: #fff;
  padding: 0px 8px;
  border-radius: 4px;
  margin-left: 10px;
  font-weight: 700;
  padding-bottom: 2px;
  font-size: 14px;
}

.contact_text--small {
  color: var(--color-dark);
  font-size: 14px;
  font-weight: normal;
  display: block;
}

.valid-msg-title {
  color: var(--color-green);
  font-size: 14px;
  font-weight: bold;
  display: block;
}

.contact_text--large {
  color: var(--color-dark);
  font-size: 14px;
  font-weight: normal;
  display: block;
}

.contact_unvalid {
  color: var(--color-green);
  font-size: 14px;
  font-weight: bold;
  display: block;
}

.contact_member_sub {
  margin-left: 28px;
}

.contact_bagger--gray {
  background: #aeaca8;
  color: #fff;
  padding: 0px 8px;
  border-radius: 4px;
  margin-left: 10px;
  font-weight: 700;
  padding-bottom: 2px;
  font-size: 14px;
}

.contact-form__control a {
  color: #0068b7;
  text-decoration: underline;
  font-size: 14px;
  font-weight: 400;
}

.contact_member_sub a {
  color: #0068b7;
  text-decoration: underline;
  font-size: 14px;
  font-weight: 400;
}

.contact-form__control a:hover,
.contact_member_sub a:hover {
  color: blue;
}

.contact_unvalid {
  display: none;
}

.contact-form__control input[type="text"],
.contact-form__control input[type="email"],
.contact-form__control input[type="tel"],
.contact-form__control input[type="number"],
select {
  height: 60px;
  border-radius: 5px;
  border: 1px solid #333333;
  font-size: 14px;
  font-weight: 400;
}

textarea {
  border-radius: 5px;
  border: 1px solid #333333;
  font-size: 14px;
  font-weight: 400;
  margin-bottom: 2em;
}

.tel-link {
  font-size: 30px !important;
}

.contact-form__control[data-name="your-phone"]::after {
  content: "â€»åŠè§’ãƒã‚¤ãƒ•ãƒ³ãªã—";
  font-size: 10px;
  border-color: #333;
  font-weight: 400;
  position: absolute;
  bottom: 13px;
  left: 0;
}

.contact-form__control[data-name="your-message"]::after {
  content: "2000æ–‡å­—ã¾ã§";
  font-size: 10px;
  border-color: #333;
  font-weight: 400;
  position: absolute;
  bottom: 13px;
  left: 0;
}

.wpcf7-submit {
  display: flex !important;
  justify-content: center !important;
  vertical-align: middle !important;
  height: 80px !important;
  border: 2px solid var(--color-dark) !important;
  color: var(--color-dark) !important;
  font-size: 16px !important;
  align-items: center !important;
  background: transparent !important;
  width: 100% !important;
  border-radius: 50px !important;
}

.wpcf7-submit:hover {
  color: var(--color-white) !important;
  border: 2px solid var(--color-blue) !important;
  background: var(--color-blue) !important;
}

.wpcf7-submit .icon-angle-right {
  position: absolute;
  top: 34%;
  right: 35px;
  font-size: 20px;
}

.input_text {
  outline: none;
  border: none;
  background: transparent;
  color: #333;
  font-size: 14px;
  font-weight: 400;
  margin-left: 20px;
}

.normal_text_fz14 {
  color: #333;
  font-size: 14px;
  font-weight: 400;
}

.button-contact-submit {
  display: flex;
  justify-content: center;
  vertical-align: middle;
  height: 80px;
  border: 2px solid var(--color-dark) !important;
  color: var(--color-dark) !important;
  font-size: 16px;
  align-items: center;
  background-color: #fff;
}

.button-contact-submit:hover {
  color: var(--color-white) !important;
  border: 2px solid var(--color-dark) !important;
  background-color: var(--color-dark) !important;
}

.button-contact-submit .icon-angle-right {
  position: absolute;
  top: 34%;
  right: 35px;
  font-size: 20px;
}

.button-contact-submit .icon-angle-left {
  position: absolute;
  top: 34%;
  left: 35px;
  font-size: 20px;
}

.section-contact {
  padding-top: 30px;
  padding-bottom: 30px;
  background-color: rgb(247, 247, 245);
}

.section-title-main {
  font-size: 14px;
  font-weight: 700px;
  color: #333;
}

.d-none {
  display: none;
}

.w-100 {
  width: 100%;
}
.h-100 {
  height: 100%;
}
.section-header-absolute {
  color: var(--color-dark);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -30%);
  text-align: center;
}
.section-header {
  color: var(--color-dark);
  text-align: center;
  margin-bottom: 30px;
}

.section-header__title {
  font-size: 50px;
  margin-bottom: 0;
  line-height: 60px;
  letter-spacing: 0.08em;
  font-family: var(--font-second);
}

.section-header__sub {
  font-size: 14px;
  line-height: 18px;
  letter-spacing: 0.08em;
}
.frame {
  border-top: 1px solid var(--color-dark);
}
.frame__title {
  position: relative;
  border-right: 30px solid transparent;
  border-top: 30px solid var(--color-dark);
  height: 50px;
  width: 140px;
  color: var(--color-white) !important;
}

.frame__text {
  position: absolute;
  top: -80%;
  left: 60%;
  transform: translate(-50%, -50%);
  font-size: 12px;
  font-family: var(--font-second);
  letter-spacing: 2px;
  width: 100%;
}

#wrapper,
.header-wrapper {
  max-width: var(--frame-pc) !important;
  margin: 0 auto !important;
}

@media (min-width: 400px) and (max-width: 449px) {
  .home-banner {
    padding-top: 750px;
  }
}

@media (min-width: 450px) and (max-width: 576px) {
  .home-banner {
    padding-top: 850px;
  }
  #OPTION .circle-head {
    width: 100% !important;
  }
}

@media (max-width: 576px) {
  #wrapper,
  .header-wrapper {
    max-width: var(--frame-sp) !important;
  }
  #OPTION .circle-head {
    width: 100% !important;
  }
}

@media only screen and (min-width: 577px) {
  .mfp-wrap {
    display: block;
    /* top: 100%; */
    left: 51%;
    width: var(--frame-pc);
    height: 100%;
    transform: translate(-51%, 0%);
  }
}

.header-button .plain.is-outline:not(:hover) {
  color: var(--color-dark);
}

.header-button-sp {
  height: 35px !important;
  border-radius: 99px !important;
  margin-right: 5px !important;
  border: 1px solid #333 !important;
  display: flex;
  align-items: center;
  justify-content: center;
}

.header-button-sp:hover {
  color: var(--color-white) !important;
  background-color: var(--color-dark) !important;
  border: 1px solid var(--color-dark) !important;
}

.image-group-pc {
  width: 250px;
  height: auto;
  position: fixed;
  text-align: start;
  top: 50%;
  transform: translateY(-50%);
  margin-left: 490px;
}

.image-group-pc__item ul {
  list-style-type: none;
  margin-bottom: 20px;
}
.image-group-pc__item ul li {
  width: 100%;
  height: 48px;
  border-radius: 10px;
  background-color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px;
  margin-bottom: 5px;
  box-shadow: 0px 0px 10px 0px #ffec8e80;
  font-size: 16px;
  font-weight: 500;
  line-height: 53px;
  letter-spacing: 0em;
  color: var(--color-dark);
}

.image-group-pc__item ul li.active {
  color: #096eba;
}
.image-group-pc__item ul li.active i {
  color: #096eba;
}
.image-group-pc__item ul li:hover {
  color: #096eba;
}
.image-group-pc__item ul li:hover i {
  color: #096eba;
}

.image-group-pc__item ul li i {
  font-size: 18px;
  font-weight: 500;
  line-height: 53px;
  letter-spacing: 0em;
  color: #d6d1c0;
}

.image-group-pc__item .pc-menu-btn {
  width: 100%;
  height: 50px;
  border-radius: 40px;
  border: 2px;
  font-size: 14px;
  font-weight: 700;
  line-height: 20px;
  letter-spacing: 0em;
  text-align: center;
  color: var(--color-dark);
  background: #fff;
  margin-bottom: 10px;
  border: 2px solid var(--color-dark);
  display: flex;
  align-items: center;
  justify-content: center;
}
.image-group-pc__item .pc-menu-btn:hover {
  border: 0;
  color: #fff;
  background: var(--color-dark);
}
@media only screen and (max-width: 48em) {
  /*************** ADD MOBILE ONLY CSS HERE  ***************/
}
/* sidebar menu */
.mfp-container {
  position: relative;
}

.mfp-content {
  width: 330px !important;
  &::-webkit-scrollbar {
    width: 5px;
    height: 5px;
  }

  &::-webkit-scrollbar-thumb {
    background-color: #888;
    border-radius: 40px;
  }

  &::-webkit-scrollbar-thumb:hover {
    background-color: #555;
  }

  &::-webkit-scrollbar-track {
    background-color: #f1f1f1;
  }
}

.off-canvas-right .mfp-content {
  position: absolute;
}
.off-canvas-right .mfp-close {
  position: absolute;
}
#banner-1357714243 {
  padding-top: 700px;
}
/* sidebar menu */

.mfp-container {
  position: absolute;
}
.off-canvas-right .mfp-content {
  position: fixed;
}
.off-canvas-right .mfp-close {
  position: fixed;
}

.what-text {
  text-align: justify;
  font-size: 14px;
  font-weight: 500;
  font-family: var(--font-noto);
  line-height: 30.8px;
  color: var(--color-dark);
}

.fz-10 {
  font-size: 10px;
}

.fz-12 {
  font-size: 12px;
}

.fz-14 {
  font-size: 14px !important;
}

.fz-16 {
  font-size: 16px;
}

.fz-18 {
  font-size: 18px;
}

.fz-20 {
  font-size: 20px !important;
}

.fz-23 {
  font-size: 23px;
}

.fz-24 {
  font-size: 24px;
}
.fz-27 {
  font-size: 27px !important;
}
.fz-30 {
  font-size: 30px !important;
}

.fz-34 {
  font-size: 34px;
}

.f-bold {
  font-weight: bold !important;
}

.blog-link-tag:hover {
  background-color: initial;
}

.box-bounce:hover .box-image {
  opacity: 0.5;
  transform: unset !important;
}
.box-bounce:hover .box-text {
  transform: unset !important;
}

.box-bounce:hover .box-text .from_the_blog_excerpt {
  color: blue !important;
}

.view_text {
  text-align: start;
  font-size: 14px;
  font-weight: 500;
  font-family: var(--font-noto);
  line-height: 23.8px;
  white-space: pre-line;
  padding: 0 18px;
}
.top5Show,
.memberShow {
  cursor: pointer;
}

.off-canvas .nav-vertical > li > a {
  padding-top: 10px;
  padding-bottom: 10px;
}

.nav-sidebar.nav-vertical > li.menu-item.active {
  background-color: unset !important;
}

.nav-vertical li li {
  padding-left: 1em !important;
}

.nav-sidebar.nav-vertical > li.menu-item:hover {
  background-color: var(--color-dark) !important;
}

.nav-sidebar.nav-vertical > li.menu-item:hover li {
  background-color: #f7f7f7 !important;
}

.nav-sidebar.nav-vertical > li.menu-item:hover li a {
  color: #696969 !important;
}
.nav-sidebar.nav-vertical > li.menu-item li a:hover {
  color: #fff !important;
}

.nav-sidebar.nav-vertical > li.menu-item li:hover {
  background-color: #4b4b4b !important;
}

.nav-sidebar.nav-vertical > li.menu-item:hover a,
.nav-sidebar.nav-vertical > li.menu-item:hover > li .move-in-page,
.nav-sidebar.nav-vertical > li.menu-item:hover > label {
  color: var(--color-white) !important;
}

.nav-next a,
.nav-previous a {
  font-family: Noto Sans JP;
  font-size: 16px;
  font-weight: 700;
  line-height: 23px;
  letter-spacing: 0.1em;
  text-align: center;
}

#main-menu li label {
  color: var(--color-dark);
  text-decoration: none;
  font-size: 16px;
  font-weight: 500;
  text-align: left;
  padding-left: 20px;
}

.nav-pagination > li > .current {
  background-color: #fff !important;
}

/* 2025.7.4 - 追記 */
.progress-container.four-steps-container {
  padding-left: 30px !important;
  padding-right: 30px !important;
}
.progress-steps.four-steps li {
  width: 25%;
}
