/* CSS Document */

@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.13.1/font/bootstrap-icons.min.css");
:root {
  --font_title: "Noto Sans JP", Sans-serif;
  --font_eng: "Roboto", sans-serif;
  --color_navy: #005081;
  --color_light-navy: #F0F3F6;
  --color_blue: #2873A9;
  --color_light-blue: #E6F5FF;
  --color_sky: #CDEAFF;
  --color_light-sky: #F3FAFF;
  --color_orange: #FFA11E;
  --color_yellow: #FFF01E;
  --color_yamabuki: #FFD61E;
  --color_dark : #3B3B3B;
  --maxWidth_1400: 1320px;
}
html {
  font-size: 100%
}
body {
  font-family: "Noto Sans JP",sans-serif;
  color: var(--color_dark);
  letter-spacing: 0.05rem;
  font-size: 16px !important;
  height: auto;
}
.fixed-element {
  touch-action: none;
  overflow-y: hidden !important;
  overscroll-behavior: none;
}
*,*:before,*:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}
body,h1,h2,h3,h4,p,figure,blockquote,dl,dd,ul,li {
  margin: 0
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  font-weight: revert;
}
ul,ol {
  list-style: none;
  padding: 0
}
html:focus-within {
  scroll-behavior: smooth
}
a:not([class]) {
  text-decoration-skip-ink: auto
}  
a {
  text-decoration: none;
  color: inherit;
  transition: all .3s ease;
}
a.hover-translate {
  transition: all .3s ease;
}
a.hover-translate:hover {
  transform: translate(1px, 1px);
}
img,picture {
  max-width: 100%;
  display: block
}
input,button,textarea,select {
  font: inherit
}
button {
  border: none;
  padding: 0;
  background-color: transparent;
  background-color: initial
}
p { font-size: 1rem; }

/* CHANGE CURRENT STYLE */
body.category {
  padding: unset !important;
}
#wrapper .type-post {
  margin: min(10vw, 100px) auto 60px;
  font-weight: normal;
}
#wrapper .type-post .entry-title {
  line-height: 1.2;
}
#wrapper .type-post .entry-meta {
  color: var(--color_blue);
}
#wrapper .type-post .entry-content {
  margin: 30px auto;
}
#wrapper .navigation .nav-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}
@media (prefers-reduced-motion:reduce) {
  html:focus-within {
    scroll-behavior: auto
  }
  *,*:before,*:after {
    -webkit-animation-duration: .01ms !important;
    animation-duration: .01ms !important;
    -webkit-animation-iteration-count: 1 !important;
    animation-iteration-count: 1 !important;
    -webkit-transition-duration: .01ms !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important
  }
}
.bg-navy { background-color: var(--color_navy); }
.bg-light-navy { background-color: var(--color_light-navy); }
.bg-blue1 { background-color: var(--color_blue1); }
.bg-blue { background-color: var(--color_blue); }
.bg-light-blue { background-color: var(--color_light-blue); }
.bg-sky {background-color: var(--color_sky);}
.bg-light-sky {background-color: var(--color_light-sky);}
.bg-yellow { background-color: var(--color_yellow); }
.bg-yamabuki { background-color: var(--color_yamabuki); }
.bg-orange { background-color: var(--color_orange); }
.bg-dark { background-color: var(--color_dark) !important; }
.text-navy { color: var(--color_navy); }
.text-blue1 { color: var(--color_blue1); }
.text-blue { color: var(--color_blue); }
.text-yellow { color: var(--color_yellow); }
.text-yamabuki { color: var(--color_yamabuki); }
.text-orange { color: var(--color_orange); }
.font-eng { font-family: var(--font_eng); }
.border-navy { border-color: var(--color_navy) !important; }
.underline {
  text-decoration-color: var(--color_yellow);
  text-decoration-line: underline;
  text-decoration-thickness: 12px;
  text-underline-offset: -5px;
}
.btn {
  padding: 15px 20px;
  text-align: center;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all .3s ease-out;
  max-width: 280px;
}
.btn span {
  margin-left: auto;
}
.btn i {
  margin-left: auto;
  line-height: 1;
  color: inherit;
  display: inline-block;
  -webkit-text-stroke: 0.5px;
}
.btn.hover-yellow:hover {
  background-color: var(--color_yellow);
}
.btn.hover-yellow:hover > * {
  color: var(--color_dark);
}
.cta-btns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  max-width: 620px;
  margin: 0 auto;
  margin-bottom: 10px;
}
.cta-btns .btn {
  padding: 10px;
  border-radius: 40px;
  border-bottom: 5px solid transparent;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  max-width: 100%;
}
.cta-btns .btn:hover {
  border-width: 2px;
  opacity: 0.7;
  margin-bottom: 3px;
}
.cta-btns .bg-yellow {
  border-color: #E3D400;
}
.cta-btns .bg-yamabuki {
  border-color: #DFB600;
}
.cta-btns .btn.bg-yellow:hover {
  background-color: var(--color_yellow);
}
.cta-btns .btn.bg-yamabuki:hover {
  background-color: var(--color_yamabuki);
}

#flow, #price, #payment {
  margin-top: 0;
  display: block;
  vertical-align:inherit;
}
main {
  width: 100%;
  position: relative;
  z-index: 0;
  margin-top: var(--header_height);
}

#header2025 {
  width: 100%;
  height: var(--header_height);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9;
  background-color: white;
}
#header2025 .container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  height: 100%;
}
.navBar {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 4.375rem; /*70px*/
    height: 4.375rem;
    cursor: pointer;
    top: 0;
    right: 0;
  }
.navBar span {
  position: relative;
  display: inline-block;
  width: 1.875rem;
  height: 0.1875rem;
  background-color: var(--color_navy);
  -webkit-transition: all .3s ease-out;
  transition: all .3s ease-out;
  margin: .2rem 0; 
}
.navBar.active span {
  background-color: white;
}
.closeBar {
  z-index: 999;
  position: absolute;
  right: 0;
}
.closeBar span:nth-of-type(1) {
  -webkit-transform: rotate(45deg) translateY(200%);
  transform: rotate(45deg) translateY(200%);
}
.closeBar span:nth-of-type(2) {
  -webkit-transform: rotate(-45deg) translateY(-200%);
  transform: rotate(-45deg) translateY(-200%);
}
.header-logo {
  width: min(30vw, 240px);
}
.header-btns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
}
.header-btns .btn {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding: 10px 20px;
  width: min(40vw, 220px);
  border-radius: 60px;
  position: relative;
  margin: 0 auto;
  margin-top: -5px;
  font-size: 1rem;
  text-align: center;
  color: var(--color_dark);
  font-weight: 700;
  line-height: 1.4;
  gap: 10px;
}
.header-btns i, 
.header-btns span {
  margin-left: auto;
}
.header-btns i {
  -webkit-text-stroke: 1px;
}
.nav-links {
  width: 100%;
  list-style: none;
}
.nav-link, .nav-parent {
  padding: 10px 30px;
  color: white;
  display: block;
}
.nav-link:hover {
    color: var(--color_yellow);
  }

.h2-title {
  text-align: center;
  font-size: min(75vw, 2.25rem);
  font-weight: 700;
  position: relative;
  margin: min(10vw, 3.125rem) auto min(15vw, 6.25rem);
}
.h2-title::before, 
.h2-title::after {
  content:'';
  position: absolute;
  left: 50%;
}
.h2-title::before {
  top: -1.5rem;
  transform: translate(-50%, 0);
  font-size: 14px;
  font-family: "Roboto";
  color: var(--color_blue);
}
.h2-title::after {
  width: 5rem;
  height: 4px;
  background-color: var(--color_blue);
  bottom: -1.5625rem;
  transform: translateX(-50%);
}

.title_header {
  width: 100%;
  height: min(30vh, 480px);
  display: flex;
  justify-content: start;
  align-items: end;
}
.title_header .container {
  position: relative;
  z-index: 1;
}
.title_header.about, .title_header.current {
  background-image: url(/wp-content/themes/yomidaore/assets/images/about-heading.png);
  background-size: cover;
  background-position: center center;
  position: relative;
}
.title_header.houjin {
  background-image: url(/wp-content/themes/yomidaore/assets/images/houjin-heading.jpg);
  background-size: cover;
  background-position: center center;
  position: relative;
}
.title_header.hudousan {
  background-image: url(/wp-content/themes/yomidaore/assets/images/hudousan-heading.jpg);
  background-size: cover;
  background-position: center center;
  position: relative;
}
.title_header::before {
  content:'';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: white;
  opacity: 0.7;
  z-index: 0;
}
.title_header-h1 {
  margin: 0;
  display: inline-block;
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
  border: 2px solid var(--color_navy);
  border-bottom: none;
  padding: min(4vw, 20px) min(4vw, 80px);
  font-size: min(6vw, 36px);
  background-color: white;
  text-align: left;
}

.news_list {
  background-color: white;
  border-radius: min(3vw, 20px);
  padding: min(2vw, 20px) min(3vw, 30px);
  display: flex;
  flex-wrap: wrap;
  margin-bottom: min(3vw, 15px);
  align-items: center;
}
.news_list-date, .news_list-cate {
  width: 50%;
  max-width: 140px;
  padding: 5px;
  display: inline-block;
  font-weight: 700;
}
.news_list-cate .badge {
  background-color: var(--color_blue);
  padding: 10px;
  display: inline-block;
  width: 100%;
  max-width: 110px;
}

.cta {
  padding-top: min(15vw, 6.25rem);
  padding-bottom: min(15vw, 6.25rem);
  background-color: var(--color_light-sky);
  border-top: 0.625rem solid var(--color_sky);
  border-bottom: 0.625rem solid var(--color_sky);
}
.cta-head {
  text-align: center;
  font-size: min(7vw, 2rem);
  font-weight: 700;
  margin-bottom: min(7vw, 3.125rem);
}
.cta-wrapper {
  display: grid;
  gap: 1.875rem;
  max-width: 1100px;
  margin: 0 auto;
}
.cta-inner {
  padding: min(6vw, 2.5rem) min(1.5vw, 0.625rem);
  border-radius: min(2vw, 0.9375rem);
  text-align: center;
}
.cta-title {
  font-size: min(4vw, 1.5rem);
  margin-bottom: 1.875rem;
}
.cta-inner .btn {
  margin: 0.625rem auto;
}
.cta-tel {
  background-color: var(--color_navy);
  color: white;
  display: grid;
  align-items: center;
  font-weight: 700;
  padding: min(5vw, 3.75rem) min(4vw, 1.875rem);
  margin: 0 auto;
  margin-top: min(5vw, 1.875rem);
  max-width: 1100px;
  border-radius: min(2vw, 0.9375rem);
}
.cta-tel-inner:first-child {
  text-align: center;
  padding-right: min(4vw, 3.75rem);
  padding-bottom: min(3vw, 1.25rem);
  font-size: clamp(1.1rem, 2vw, 1.5rem);
}
.cta-tel-inner:last-child {
  margin: 0 auto;
}
.cta-tel-inner .text-big {
  font-size: min(6vw, 2.5rem);
}

button, input, optgroup, select, textarea {
  border: 1px solid #A4A4A4;
  border-radius: 3px;
}
input::placeholder, textarea::placeholder {
opacity: 0.5;
}
input[type=number], .w-100px {
  max-width: 100px;
}
.form_wrapper .y_scroll {
  background: #FFF;
  font-size: 12px;
  width: 100%;
  height: 150px;
  border: #A4A4A4 1px solid;
  padding: 1rem;
}
.radio-wrap, .checkbox-wrap {
  display: flex;
  flex-wrap: wrap;
}
.radio-wrap label input[type="radio"] {
  opacity:0;
  appearance: none;
  position: absolute;
}
.radio-wrap .mwform-radio-field-text {
  display: inline-block;
  position: relative;
  padding-left: 26px;
  line-height: 1.8;
}
.radio-wrap label .mwform-radio-field-text::before {
  position: absolute;
  top: 6px;
  left: 0;
  width: 18px;
  height: 18px;
  border: 1px solid #A4A4A4;
  background: #fff;
  content: "";
  border-radius: 50%;
}
.radio-wrap label .mwform-radio-field-text::after {
  position: absolute;
  top: 9px;
  left: 3px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #ca353b;
  content: "";
  opacity: 0;
  transition: all 0.3s;
}
.radio-wrap label input:focus + span::before {
  box-shadow: 0 0 4px #ca353b;
}
.radio-wrap label input:checked + span::after {
  opacity: 1;
}
.checkbox-wrap input[type="checkbox"] {
  opacity:0;
  appearance: none;
  position: absolute;
}
.checkbox-wrap .mwform-checkbox-field-text {
  display: inline-block;
  position: relative;
  padding-left: 26px;
  line-height: 2;
}
.checkbox-wrap .mwform-checkbox-field-text::before {
  position: absolute;
  top: 8px;
  left: 0;
  width: 18px;
  height: 18px;
  border: 1px solid #A4A4A4;
  background: #fff;
  content: "";
  transition: all 0.3s;
}
.checkbox-wrap .mwform-checkbox-field-text::after {
  position: absolute;
  top: 8px;
  left: 0;
  width: 18px;
  height: 18px;
  color: #ca353b;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  content: "\F633";
  font-family: 'bootstrap-icons';
  -webkit-text-stroke-width: 1px;
  opacity: 0;
  transition: all 0.3s;
}
.checkbox-wrap input:focus + span::before {
  box-shadow: 0 0 4px #ca353b;
}
.checkbox-wrap input:checked + span::after {
  opacity: 1;
}

.form_wrapper .container {
  width: 100%;
  background-color: #F8FCFF;
  padding: min(6vw, 100px);
}
.form_wrapper .center-block {
  color: var(--color_navy);
  background-color: #E3F3FF;
  border-bottom: 5px solid #F8FCFF;
  padding-right: 60px;
  position: relative;
}
.form_wrapper .badge {
  color: white;
  background-color: #B22B2B;
  font-size: 12px;
  border-radius: 5px;
}
.form_wrapper .badge:not(.position-relative) {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
}
.form_wrapper tr td {
  text-align: left;
  border: 0;
  border-bottom: 1px solid #CED9E1;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  padding: 20px; 
}
.form_wrapper .vertical .horizontal-item, 
.form_wrapper .vertical-item {
  display: block;
  width: 100%;
}
.form_wrapper .mw_wp_form .vertical .horizontal-item + .horizontal-item {
  margin-left: 0;
}
.form_wrapper .confirm_btn {
  position: relative;
  padding: 30px min(5vw, 50px);
}
.form_wrapper .confirm_btn::before {
  content: "\F285";
  font-family: 'bootstrap-icons';
  -webkit-text-stroke-width: 1px;
  position: absolute;
  right: 8vw;
  top: 50%;
  transform: translateY(-50%);
  color: white;
  z-index: 1;
}
.form_wrapper .confirm {
  background-color: var(--color_navy);
  border-color: var(--color_dark);
  border-bottom: 5px solid var(--color_dark);
  border-radius: 5rem;
  min-width: 280px;
  margin: 0 auto !important;
  transition: all .3s ease;
}
.form_wrapper .confirm:hover {
  opacity: 0.7;
  border-width: 2px;
  color: var(--color_navy);
  background-color: white;
  border-color: var(--color_navy);
  margin-top: 2px !important;
}
.form_wrapper .back {
  border-radius: 5rem;
}

.form_wrapper summary {
  background-color: var(--color_navy);
  color: white;
  border-radius: 20px;
  margin: 0 auto;
}
.form_wrapper details[open] summary {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.form_wrapper .tool-tip-text {
  top: -130px;
}

.footer_content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 3.75rem 1rem;
}
.footer_content-left {
  max-width: 240px;
}
.footer_content-right {
  text-align: right;
  display: flex;
  flex-wrap: wrap;
}
.footer_logo {
  width: min(100%, 240px);
}
.footer_banner {
  width: 100%;
  max-width: 300px;
}
.footer_copyright {
  color: white;
  background-color: var(--color_navy);
  padding: 10px 0;
  text-align: center;
}

.fixed_footer {
  position: fixed;
  bottom: -100%;
  left: 0;
  width: 100%;
  background-color: var(--color_light-sky);
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
  padding: 15px 20px;
  opacity: 0;
  transition: all .3s ease;
}
.fixed_footer.scrolled {
  bottom: 0;
  opacity: 1;
}
.fixed_footer-tel {
  background-color: var(--color_navy);
  color: white;
  display: grid;
  align-items: center;
  justify-content: center;
  grid-template-areas: "icon num"
    "icon text";
  line-height: 1;
  padding: 10px 5px;
  gap: 5px;
  border-radius: 30px;
}
.fixed_footer-tel .icon {
  width: 20px;
  grid-area: icon;
}
.fixed_footer-tel .num {
  font-weight: 700;
  font-size: 20px;
  grid-area: num;
}
.fixed_footer-tel .text {
    font-size: 9px;
    grid-area: text;
  }

@media (max-width: 375px) {
  html {
    font-size:4.2666666667vw;
  }
}

@media screen and (min-width: 376px) and (max-width: 767px) {

}

@media screen and  (max-width:767px) {
  :root {
    --header_height: 70px;
  }
  .nav {
    position: fixed;
    top: 0;
    width: 0;
    height: 100vh;
    padding-top: calc(var(--header_height) + 25px);
    transition: all .3s ease;
    right: -60%;
    opacity: 0;
    z-index: 99;
    background-color: #005080ee;
  }
  .nav.active {
    right: 0;
    width: 100%;
    max-width: 300px;
    opacity: 1;
  }
  .news_list-cate {
    margin-left: auto;
    text-align: right;
  }
  .news_list-text {
    width: 100%;
  }
  .cta-wrapper, .cta-tel {
    width: 90%;
  }
  .cta-tel-inner:first-child {
    border-bottom: 1px solid white;
    margin-bottom: min(4vw, 3.75rem);
  }
  .form_wrapper summary {
    width: 100%;
  }
  .footer_copyright {
    padding-bottom: 18vh;
  }
}

@media screen and (min-width: 768px) {
  :root {
    --header_height: 100px;
  }
  html {
    font-size:1.28vw
  }
  a,button {
    -webkit-transition:.3s;
    transition: .3s
  }
  a:hover,button:hover {
    opacity: .9;
    cursor: pointer;
  }
  
  .news_list-text {
    width: calc(100% - 280px);
  }
  
  .cta-wrapper {
    grid-template-columns: 1fr 1fr;
  }
  .cta-tel {
    grid-template-columns: 1fr 1fr;
  }
  .cta-tel-inner:first-child {
    text-align: right;
    border-right: 1px solid white;
    padding-top: min(3vw, 1.25rem);
  }
  .cta-tel-inner:last-child {
    margin: 0;
    text-align: left;
    padding-left: min(4vw, 3.75rem) ;
  }
  
  .form_wrapper .confirm_btn::before {
    right: 50%;
    transform: translate(calc(50% + 120px), -50%);
  }
  .form_wrapper summary {
    width: calc(100% - 20px);
  }

  .footer_contact-head {
    margin-bottom: 2.5rem; /*40px*/
  }
  .footer_contact-wrapper {
    flex-direction: row;
  }
  .footer_contact-inner {
    width: calc(50% - 1.25rem);
  }
  .footer_contact .btn-tel {
    pointer-events: none;
  }
  .fixed_footer { display: none;}
}
@media screen and (min-width: 768px) and (max-width:991px) {
  .container, .container-md, .container-sm {
    max-width: 780px;
  }
}

@media (min-width: 1200px) {
  html {
    font-size:100%
  }
}
@media (min-width: 1400px) {
  .container, .container-lg, .container-md, .container-sm, .container-xl {
    max-width: var(--maxWidth_1400);
  }
}