/* =======================================
 base style
======================================= */
html {
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, dl, dt, dd, ul, ol, li {
  font-size: 100%;
  line-height: 1;
  margin: 0;
  padding: 0;
}

p {
  margin: 0;
  padding: 0;
}

ul, ol, li {
  list-style: none;
}

body {
  background: #fff;
  line-height: 1;
  margin: auto;
  width: 100%;
  font-family: "Noto Sans JP", sans-serif;
}
@media only screen and (min-width: 769px) {
  body {
    font-size: 1.333vw;
  }
}
@media only screen and (min-width: 1200px) {
  body {
    font-size: 16px;
    min-width: 1200px;
  }
}
@media only screen and (max-width: 768px) {
  body {
    font-size: 3.467vw;
    overflow-x: hidden;
  }
}

img {
  width: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

a {
  text-decoration: none;
  animation: all 1s ease-in-out;
}
a:hover {
  opacity: 0.9;
  animation: all 1s ease-in-out;
}

.main_ctx {
  position: relative;
}

.inner_ctx {
  margin: auto;
  position: relative;
}
@media only screen and (min-width: 769px) {
  .inner_ctx {
    width: 100vw;
    max-width: 1200px;
  }
}
@media only screen and (max-width: 768px) {
  .inner_ctx {
    padding: 0 0%;
  }
}

@media only screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }
}

@media only screen and (min-width: 769px) {
  .sp {
    display: none !important;
  }
}

.fix_btn {
  position: fixed;
  z-index: 99;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease-in-out, visibility 0.4s ease-in-out;
  pointer-events: none;
}
@media only screen and (min-width: 769px) {
  .fix_btn {
    width: 15em;
    right: 2.5em;
    bottom: 2.5em;
  }
}
@media only screen and (max-width: 768px) {
  .fix_btn {
    width: 29.333vw;
    right: 1.333vw;
    bottom: 1.333vw;
  }
}
.fix_btn.on {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

@media only screen and (min-width: 769px) {
  .contact01, .contact02 {
    background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 50%, rgb(20, 81, 76) 50%, rgb(20, 81, 76) 100%);
  }
}
@media only screen and (max-width: 768px) {
  .contact01, .contact02 {
    background: url("../img/contact_bg_sp.jpg") no-repeat 50% 0;
    background-size: 100vw 105.867vw;
    height: 105.867vw;
  }
}

.contact_inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media only screen and (min-width: 769px) {
  .contact_inner {
    box-shadow: rgba(0, 0, 0, 0.3) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;
    background: url("../img/contact_innerbg.jpg") no-repeat 50% 0%;
    background-size: 75em 21.25em;
    width: 75em;
    height: 21.25em;
    padding-top: 2.5em;
  }
}
@media only screen and (max-width: 768px) {
  .contact_inner {
    padding-top: 12.533vw;
  }
}
@media only screen and (min-width: 769px) {
  .contact_tit {
    width: 49.625em;
  }
}
@media only screen and (max-width: 768px) {
  .contact_tit {
    width: 85.733vw;
  }
}
.contact_col {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (min-width: 769px) {
  .contact_col {
    gap: 2.5em;
    margin-top: 2.5em;
  }
}
@media only screen and (max-width: 768px) {
  .contact_col {
    flex-direction: column;
    gap: 2.933vw;
    margin-top: 7.2vw;
  }
}
.contact_row-tel {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media only screen and (min-width: 769px) {
  .contact_row-tel {
    gap: 1em;
  }
}
@media only screen and (max-width: 768px) {
  .contact_row-tel {
    gap: 2.667vw;
  }
}
.contact_txt {
  font-weight: bold;
  color: #000000;
}
@media only screen and (min-width: 769px) {
  .contact_txt {
    font-size: 1.75em;
    letter-spacing: 0.036em;
  }
}
@media only screen and (max-width: 768px) {
  .contact_txt {
    font-size: 4.267vw;
    letter-spacing: 0.133vw;
  }
}
@media only screen and (min-width: 769px) {
  .contact_tel {
    width: 29.813em;
  }
}
@media only screen and (max-width: 768px) {
  .contact_tel {
    width: 88vw;
  }
}
.contact_time {
  color: #000000;
  text-align: center;
}
@media only screen and (min-width: 769px) {
  .contact_time {
    font-size: 1.375em;
    width: 21.818em;
    padding-top: 0.636em;
    border-top: 0.045em solid #1A1A1A;
  }
}
@media only screen and (max-width: 768px) {
  .contact_time {
    font-size: 3.2vw;
    width: 74.667vw;
    padding-top: 2.933vw;
    border-top: 0.133vw solid #1A1A1A;
  }
}
.contact_row-btn {
  display: flex;
}
@media only screen and (min-width: 769px) {
  .contact_row-btn {
    gap: 1.25em;
  }
}
@media only screen and (max-width: 768px) {
  .contact_row-btn {
    gap: 2.667vw;
  }
}
@media only screen and (min-width: 769px) {
  .contact_btn {
    width: 17.5em;
  }
}
@media only screen and (max-width: 768px) {
  .contact_btn {
    width: 42.667vw;
  }
}

@media only screen and (min-width: 769px) {
  .top {
    background: url("../img/top_bg.jpg") no-repeat 50% 0%;
    background-size: 125em auto;
    height: 80.25em;
  }
}
@media only screen and (max-width: 768px) {
  .top {
    background: url("../img/top_bg_sp.jpg") no-repeat 50% 0;
    background-size: 100vw auto;
    height: 290.467vw;
  }
}
.top_logo {
  position: absolute;
}
@media only screen and (min-width: 769px) {
  .top_logo {
    width: 17.813em;
    top: 2.5em;
    left: 0;
  }
}
@media only screen and (max-width: 768px) {
  .top_logo {
    width: 38vw;
    top: 5.333vw;
    left: 6vw;
  }
}
.top_tit {
  position: absolute;
}
@media only screen and (min-width: 769px) {
  .top_tit {
    width: 60.125em;
    top: 8em;
    left: 8em;
  }
}
@media only screen and (max-width: 768px) {
  .top_tit {
    width: 88vw;
    top: 14.533vw;
    left: 6vw;
  }
}
.top_price {
  margin: auto;
}
@media only screen and (min-width: 769px) {
  .top_price {
    width: 49.125em;
    padding-top: 23.75em;
  }
}
@media only screen and (max-width: 768px) {
  .top_price {
    width: 88vw;
    padding-top: 91.333vw;
  }
}
.top_price h2 {
  margin: auto;
}
@media only screen and (min-width: 769px) {
  .top_price h2 {
    width: 48.75em;
  }
}
@media only screen and (max-width: 768px) {
  .top_price h2 {
    width: 66.667vw;
  }
}
.top_price-note {
  text-align: left;
  padding-left: 1em;
  text-indent: -1em;
  color: #333333;
  font-weight: 500;
}
@media only screen and (min-width: 769px) {
  .top_price-note {
    font-size: 0.875em;
    line-height: 1.429em;
    margin-top: 2em;
    letter-spacing: 0.071em;
  }
}
@media only screen and (max-width: 768px) {
  .top_price-note {
    font-size: 2.667vw;
    line-height: 4vw;
    margin-top: 4vw;
    letter-spacing: 0.133vw;
  }
}
.top_price-support {
  font-weight: bold;
  color: #000000;
  text-align: center;
}
@media only screen and (min-width: 769px) {
  .top_price-support {
    font-size: 1.625em;
    border-top: 0.038em solid #000000;
    border-bottom: 0.038em solid #000000;
    padding: 0.615em 0;
    line-height: 1.462em;
    letter-spacing: 0.038em;
    margin-top: 1.654em;
  }
}
@media only screen and (max-width: 768px) {
  .top_price-support {
    white-space: nowrap;
    font-size: 4vw;
    border-top: 0.133vw solid #000000;
    border-bottom: 0.133vw solid #000000;
    padding: 4vw 0;
    line-height: 6vw;
    letter-spacing: 0.133vw;
    margin-top: 10.133vw;
  }
}
.top_list {
  margin: auto;
  display: flex;
  justify-content: center;
}
@media only screen and (min-width: 769px) {
  .top_list {
    padding-top: 2.875em;
    gap: 3.5em;
  }
}
@media only screen and (max-width: 768px) {
  .top_list {
    padding-top: 6.133vw;
    gap: 8vw;
  }
}
.top_list li {
  display: flex;
  align-items: center;
  position: relative;
}
@media only screen and (min-width: 769px) {
  .top_list li {
    gap: 1em;
  }
}
@media only screen and (max-width: 768px) {
  .top_list li {
    width: 25.333vw;
    gap: 2.4vw;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
.top_list li:not(:last-child)::after {
  content: "";
  display: block;
  background-size: contain;
  position: absolute;
}
@media only screen and (min-width: 769px) {
  .top_list li:not(:last-child)::after {
    background: url("../img/top_el.png") no-repeat center;
    width: 1.875em;
    height: 6.25em;
    top: 0;
    right: -2.5em;
  }
}
@media only screen and (max-width: 768px) {
  .top_list li:not(:last-child)::after {
    background: url("../img/top_el_sp.png") no-repeat center;
    width: 4vw;
    height: 13.333vw;
    top: 2.133vw;
    right: -6vw;
  }
}
@media only screen and (min-width: 769px) {
  .top_list li img {
    width: 6.25em;
  }
}
@media only screen and (max-width: 768px) {
  .top_list li img {
    width: 16vw;
  }
}
.top_list li p {
  color: #1A1A1A;
  position: relative;
}
@media only screen and (min-width: 769px) {
  .top_list li p {
    font-size: 1.25em;
    line-height: 1.5em;
    top: 0.1em;
  }
}
@media only screen and (max-width: 768px) {
  .top_list li p {
    text-align: center;
    white-space: nowrap;
    font-size: 3.733vw;
    line-height: 5.6vw;
  }
}
.top_list li p span {
  color: #18792E;
  font-weight: 500;
}
.top_list li p small {
  color: #4D4D4D;
  position: relative;
}
@media only screen and (min-width: 769px) {
  .top_list li p small {
    font-size: 0.7em;
    top: -0.25em;
  }
}
@media only screen and (max-width: 768px) {
  .top_list li p small {
    font-size: 2.667vw;
    line-height: 0vw;
    top: -0.667vw;
  }
}
.top_button {
  margin: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 769px) {
  .top_button {
    padding-top: 2.875em;
    gap: 1.25em;
  }
}
@media only screen and (max-width: 768px) {
  .top_button {
    padding-top: 10.933vw;
    gap: 4vw;
  }
}
@media only screen and (min-width: 769px) {
  .top_button h2 {
    width: 30em;
  }
}
@media only screen and (max-width: 768px) {
  .top_button h2 {
    width: 82.667vw;
  }
}
@media only screen and (min-width: 769px) {
  .top_button a {
    width: 37.5em;
    filter: drop-shadow(0.5em 0.5em 0.625em rgba(61, 71, 86, 0.3));
  }
}
@media only screen and (max-width: 768px) {
  .top_button a {
    width: 88vw;
    filter: drop-shadow(1.333vw 1.333vw 1.333vw rgba(61, 71, 86, 0.3));
  }
}

.location {
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 769px) {
  .location {
    background: url("../img/location_bg.png") no-repeat 50% 0%;
    background-size: 125em auto;
    height: 110.625em;
  }
}
@media only screen and (max-width: 768px) {
  .location {
    background: url("../img/location_bg_sp.png") no-repeat 50% 0;
    background-size: 100vw auto;
    height: 437.067vw;
  }
}
.location .inner_ctx {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media only screen and (min-width: 769px) {
  .location_tit {
    padding-top: 5.375em;
  }
}
@media only screen and (max-width: 768px) {
  .location_tit {
    padding-top: 15.467vw;
  }
}
@media only screen and (min-width: 769px) {
  .location_tit img {
    width: 43.75em;
  }
}
@media only screen and (max-width: 768px) {
  .location_tit img {
    width: 88vw;
  }
}
.location_tit P {
  text-align: center;
  font-family: "Noto Serif JP", serif;
  color: #FFFFFF;
  font-weight: normal;
}
@media only screen and (min-width: 769px) {
  .location_tit P {
    font-size: 2.25em;
    letter-spacing: 0.028em;
    margin-top: 0.417em;
  }
}
@media only screen and (max-width: 768px) {
  .location_tit P {
    white-space: nowrap;
    font-size: 4.8vw;
    letter-spacing: 0.267vw;
    margin-top: 3.2vw;
  }
}
@media only screen and (min-width: 769px) {
  .location_subtit {
    padding-top: 1.375em;
    width: 23.5em;
    filter: drop-shadow(0.25em 0.625em 0.25em rgba(36, 61, 35, 0.15));
  }
}
@media only screen and (max-width: 768px) {
  .location_subtit {
    padding-top: 3.733vw;
    width: 64.8vw;
    filter: drop-shadow(0.533vw 1.333vw 1.333vw rgba(36, 61, 35, 0.15));
  }
}
.location_list {
  display: grid;
}
@media only screen and (min-width: 769px) {
  .location_list {
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5em;
    padding-top: 3.75em;
  }
}
@media only screen and (max-width: 768px) {
  .location_list {
    grid-template-columns: repeat(2, 1fr);
    gap: 3.733vw;
    padding-top: 8vw;
  }
  .location_list > li:last-child:nth-child(2n+1) {
    grid-column: 1/-1;
    justify-self: center;
  }
}
.location_list li {
  background-color: #fff;
}
@media only screen and (min-width: 769px) {
  .location_list li {
    width: 23.375em;
    height: 23.5em;
    filter: drop-shadow(0.375em 0.875em 0.375em rgba(36, 61, 36, 0.15));
  }
}
@media only screen and (max-width: 768px) {
  .location_list li {
    width: 42.133vw;
    filter: drop-shadow(1.333vw 1.333vw 1.333vw rgba(36, 61, 36, 0.15));
  }
}
.location_list-img {
  position: relative;
}
@media only screen and (min-width: 769px) {
  .location_list-img {
    width: 23.375em;
    height: 11.75em;
  }
}
@media only screen and (max-width: 768px) {
  .location_list-img {
    width: 42.133vw;
    height: 21.2vw;
  }
}
.location_list-img p {
  background: linear-gradient(44deg, rgb(175, 137, 77) 44%, rgb(220, 192, 134) 67%, rgb(241, 221, 173) 100%, rgb(241, 221, 173) 81%);
  position: absolute;
  left: 0;
  bottom: 0;
  color: #fff;
  text-align: center;
}
@media only screen and (min-width: 769px) {
  .location_list-img p {
    font-size: 1.5em;
    min-width: 5.375em;
    line-height: 1.5em;
    letter-spacing: 0.042em;
    padding: 0.083em 0.917em 0.125em;
  }
}
@media only screen and (max-width: 768px) {
  .location_list-img p {
    font-size: 4.533vw;
    min-width: 15.733vw;
    line-height: 6.133vw;
    letter-spacing: 0.133vw;
    padding: 0.133vw 2.667vw 0.667vw;
  }
}
.location_list-info p {
  color: #333333;
}
@media only screen and (min-width: 769px) {
  .location_list-info p {
    font-size: 1.125em;
    line-height: 1.667em;
    letter-spacing: 0.056em;
    padding: 0.778em 1.444em;
  }
}
@media only screen and (max-width: 768px) {
  .location_list-info p {
    font-size: 3.733vw;
    line-height: 5.6vw;
    padding: 2.667vw 3.333vw 4.667vw;
  }
}

.plan {
  position: relative;
}
@media only screen and (min-width: 769px) {
  .plan {
    background: url("../img/plan_bg.png") no-repeat 50% 0%;
    background-size: 125em 62.5em;
    margin-top: -9.4em;
    padding-top: 9.4em;
    padding-bottom: 0.625em;
  }
}
@media only screen and (max-width: 768px) {
  .plan {
    background: url("../img/plan_bg_sp.png") no-repeat 50% 0;
    background-size: 100vw 84.667vw;
    margin-top: -14vw;
    padding-top: 14vw;
    padding-bottom: 5.333vw;
  }
}
.plan .inner_ctx {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: auto;
}
.plan_limit {
  position: absolute;
}
@media only screen and (min-width: 769px) {
  .plan_limit {
    width: 8.813em;
    top: 6.25em;
    left: 30.625em;
  }
}
@media only screen and (max-width: 768px) {
  .plan_limit {
    width: 26.267vw;
    top: 26.667vw;
    left: 65.067vw;
  }
}
.plan_tit {
  font-family: "Noto Serif JP", serif;
  color: #13504b;
  position: absolute;
  font-weight: 600;
}
@media only screen and (min-width: 769px) {
  .plan_tit {
    font-size: 4.875em;
    line-height: 1.038em;
    letter-spacing: 0.077em;
    top: 1.41em;
  }
}
@media only screen and (max-width: 768px) {
  .plan_tit {
    position: absolute;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    font-size: 7.667vw;
    line-height: 11.067vw;
    letter-spacing: 0.267vw;
    top: 57.733vw;
  }
}
.plan_tit span {
  color: #14504B;
}
.plan_info {
  color: #333333;
  position: absolute;
  font-weight: 400;
}
@media only screen and (min-width: 769px) {
  .plan_info {
    font-size: 1.375em;
    line-height: 1.909em;
    letter-spacing: 0.045em;
    top: 11.091em;
  }
}
@media only screen and (max-width: 768px) {
  .plan_info {
    white-space: nowrap;
    position: absolute;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    font-size: 4vw;
    line-height: 8vw;
    letter-spacing: 0.133vw;
    top: 75.333vw;
    width: 82.667vw;
    text-align: center;
  }
}
.plan_info b {
  color: #3D9B07;
}
@media only screen and (min-width: 769px) {
  .plan .pricing-table {
    padding-top: 22.375em;
  }
}
@media only screen and (max-width: 768px) {
  .plan .pricing-table {
    padding-top: 92.4vw;
  }
}
@media only screen and (min-width: 769px) {
  .plan .pricing-table_tit {
    width: 72.5em;
    height: 3.125em;
  }
}
@media only screen and (max-width: 768px) {
  .plan .pricing-table_tit {
    width: 92vw;
    height: 9.333vw;
  }
}
.plan .pricing-table_tit h2 {
  width: 100%;
  height: 100%;
  background-color: #4D4D4D;
  color: white;
  text-align: center;
  font-weight: normal;
  margin: 0;
  padding: 0;
}
@media only screen and (min-width: 769px) {
  .plan .pricing-table_tit h2 {
    font-size: 1.625em;
    line-height: 1.846em;
    letter-spacing: 0.115em;
    clip-path: polygon(2% 0%, 98% 0%, 100% 50%, 98% 100%, 2% 100%, 0% 50%);
  }
}
@media only screen and (max-width: 768px) {
  .plan .pricing-table_tit h2 {
    position: relative;
    font-size: 4.8vw;
    line-height: 9.067vw;
    clip-path: polygon(4% 0%, 96% 0%, 100% 50%, 96% 100%, 4% 100%, 0% 50%);
  }
}
.plan .pricing-table_container {
  display: flex;
  width: 100%;
  border-collapse: collapse;
  overflow: hidden;
  margin: 0 auto;
  align-items: flex-start;
  justify-content: space-between;
}
@media only screen and (min-width: 769px) {
  .plan .pricing-table_container {
    margin-top: 1.875em;
    padding-bottom: 3.875em;
  }
}
@media only screen and (max-width: 768px) {
  .plan .pricing-table_container {
    margin-top: 4.8vw;
    padding-bottom: 4.8vw;
  }
}
.plan .pricing-table_column {
  display: flex;
  flex-direction: column;
}
.plan .pricing-table_header {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.plan .pricing-table_row {
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.plan .pricing-table_estate-column {
  background-color: #E2F0DA;
  box-shadow: rgba(50, 50, 93, 0.25) 5px 5px 14px -5px;
}
@media only screen and (min-width: 769px) {
  .plan .pricing-table_estate-column {
    width: 36.238em;
    border-top-left-radius: 0.938em;
    border-bottom-left-radius: 0.938em;
    padding-right: 0.625em;
  }
}
@media only screen and (max-width: 768px) {
  .plan .pricing-table_estate-column {
    width: 46.667vw;
    border-top-left-radius: 2vw;
    border-bottom-left-radius: 2vw;
    padding-right: 1.333vw;
  }
}
.plan .pricing-table_estate-column .pricing-table_row {
  color: #333333;
  font-weight: normal;
}
@media only screen and (min-width: 769px) {
  .plan .pricing-table_estate-column .pricing-table_row {
    height: 6.125em;
  }
}
@media only screen and (max-width: 768px) {
  .plan .pricing-table_estate-column .pricing-table_row {
    height: 14.667vw;
  }
}
.plan .pricing-table_estate-column .pricing-table_row p {
  text-align: center;
  color: #333333;
  font-weight: 500;
}
@media only screen and (min-width: 769px) {
  .plan .pricing-table_estate-column .pricing-table_row p {
    font-size: 1.563em;
    padding-left: 0;
  }
}
@media only screen and (max-width: 768px) {
  .plan .pricing-table_estate-column .pricing-table_row p {
    font-size: 3.2vw;
  }
}
@media only screen and (min-width: 769px) {
  .plan .pricing-table_estate-column .pricing-table_row:not(:last-child) {
    border-bottom: 0.188em solid rgba(61, 155, 7, 0.2);
  }
}
@media only screen and (max-width: 768px) {
  .plan .pricing-table_estate-column .pricing-table_row:not(:last-child) {
    border-bottom: 0.267vw solid rgba(61, 155, 7, 0.2);
  }
}
.plan .pricing-table_estate-header {
  background-color: #fff;
  color: #333333;
  margin: auto;
}
@media only screen and (min-width: 769px) {
  .plan .pricing-table_estate-header {
    font-size: 1.625em;
    margin-top: 0.615em;
    letter-spacing: 0.038em;
    width: 7.615em;
    border-radius: 1.154em;
    padding: 0.308em 0 0.385em;
  }
}
@media only screen and (max-width: 768px) {
  .plan .pricing-table_estate-header {
    font-size: 3.467vw;
    margin-top: 3.333vw;
    letter-spacing: 0.133vw;
    width: 18.667vw;
    border-radius: 1.867vw;
    padding: 3.2vw 0 3.2vw;
  }
}
.plan .pricing-table_special-plan {
  position: relative;
  background-color: #fffbe6;
  box-shadow: rgba(50, 50, 93, 0.25) 5px 5px 14px -5px;
}
@media only screen and (min-width: 769px) {
  .plan .pricing-table_special-plan {
    left: -0.75em;
    width: 32.125em;
    border-radius: 1.063em;
    border: 0.188em solid #3D9B07;
  }
}
@media only screen and (max-width: 768px) {
  .plan .pricing-table_special-plan {
    left: -1.067vw;
    width: 40.533vw;
    border-radius: 2.267vw;
    border: 0.533vw solid #3D9B07;
  }
}
.plan .pricing-table_special-plan .pricing-table_row {
  font-weight: normal;
  margin: auto;
}
@media only screen and (min-width: 769px) {
  .plan .pricing-table_special-plan .pricing-table_row {
    height: 6.063em;
    padding-bottom: 0.313em;
  }
}
@media only screen and (max-width: 768px) {
  .plan .pricing-table_special-plan .pricing-table_row {
    height: 14.533vw;
  }
}
@media only screen and (min-width: 769px) {
  .plan .pricing-table_special-plan .pricing-table_row p {
    font-size: 1.375em;
  }
}
@media only screen and (max-width: 768px) {
  .plan .pricing-table_special-plan .pricing-table_row p {
    font-size: 2.933vw;
  }
}
@media only screen and (min-width: 769px) {
  .plan .pricing-table_special-plan .pricing-table_row:not(:last-child) {
    width: 30.625em;
    border-bottom: 0.25em dotted #DBCF77;
  }
}
@media only screen and (max-width: 768px) {
  .plan .pricing-table_special-plan .pricing-table_row:not(:last-child) {
    width: 37.333vw;
    border-bottom: 0.533vw dotted #DBCF77;
  }
}
.plan .pricing-table_special-plan .pricing-table_price {
  color: #3D9B07;
  font-weight: bold;
}
@media only screen and (min-width: 769px) {
  .plan .pricing-table_special-plan .pricing-table_price {
    font-size: 1.875em;
  }
}
@media only screen and (max-width: 768px) {
  .plan .pricing-table_special-plan .pricing-table_price {
    font-size: 4vw;
  }
}
@media only screen and (min-width: 769px) {
  .plan .pricing-table_special-plan .pricing-table_price span {
    font-size: 1.4em;
  }
}
@media only screen and (max-width: 768px) {
  .plan .pricing-table_special-plan .pricing-table_price span {
    font-size: 5.6vw;
  }
}
.plan .pricing-table_special-plan .pricing-table_tax {
  color: #333333;
}
@media only screen and (min-width: 769px) {
  .plan .pricing-table_special-plan .pricing-table_tax {
    font-size: 1.25em;
    margin-top: 0.5em;
  }
}
@media only screen and (max-width: 768px) {
  .plan .pricing-table_special-plan .pricing-table_tax {
    font-size: 2.667vw;
    margin-top: 1.067vw;
  }
}
.plan .pricing-table_special-header {
  background: linear-gradient(90deg, rgb(97, 186, 7) 0%, rgb(47, 133, 7) 100%);
  color: #fff;
  width: 101%;
  margin: auto;
  font-weight: bold;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
}
@media only screen and (min-width: 769px) {
  .plan .pricing-table_special-header {
    font-size: 2.375em;
    letter-spacing: 0.053em;
    border-top-left-radius: 0.474em;
    border-top-right-radius: 0.474em;
    height: 2.368em;
    left: -0.5%;
    top: -0.053em;
  }
}
@media only screen and (max-width: 768px) {
  .plan .pricing-table_special-header {
    font-size: 4.8vw;
    line-height: 6.4vw;
    letter-spacing: 0.133vw;
    border-top-left-radius: 2.133vw;
    border-top-right-radius: 2.133vw;
    height: 17.333vw;
    left: -0.5%;
    top: -0.267vw;
  }
}
.plan .pricing-table_regular-plan {
  box-shadow: rgba(50, 50, 93, 0.25) 5px 5px 14px -5px;
  background-color: #fff;
  position: relative;
}
@media only screen and (min-width: 769px) {
  .plan .pricing-table_regular-plan {
    width: 35.575em;
    border-radius: 1.063em;
    border: 0.188em solid #E6E6E6;
    top: 0;
  }
}
@media only screen and (max-width: 768px) {
  .plan .pricing-table_regular-plan {
    width: 46.667vw;
    border-radius: 2.267vw;
    border: 0.533vw solid #E6E6E6;
  }
}
.plan .pricing-table_regular-plan .pricing-table_row {
  font-weight: normal;
  margin: auto;
}
@media only screen and (min-width: 769px) {
  .plan .pricing-table_regular-plan .pricing-table_row {
    height: 6.125em;
  }
}
@media only screen and (max-width: 768px) {
  .plan .pricing-table_regular-plan .pricing-table_row {
    height: 14.667vw;
  }
}
@media only screen and (min-width: 769px) {
  .plan .pricing-table_regular-plan .pricing-table_row p {
    font-size: 1.375em;
  }
}
@media only screen and (max-width: 768px) {
  .plan .pricing-table_regular-plan .pricing-table_row p {
    font-size: 3.467vw;
  }
}
@media only screen and (min-width: 769px) {
  .plan .pricing-table_regular-plan .pricing-table_row:last-child {
    height: 6.125em;
  }
}
@media only screen and (max-width: 768px) {
  .plan .pricing-table_regular-plan .pricing-table_row:last-child {
    height: 14.667vw;
  }
}
@media only screen and (min-width: 769px) {
  .plan .pricing-table_regular-plan .pricing-table_row:not(:last-child) {
    width: 32.75em;
    border-bottom: 0.25em dotted #E6E6E6;
  }
}
@media only screen and (max-width: 768px) {
  .plan .pricing-table_regular-plan .pricing-table_row:not(:last-child) {
    width: 33.333vw;
    border-bottom: 0.533vw dotted #E6E6E6;
  }
}
.plan .pricing-table_regular-plan .pricing-table_price {
  color: #333333;
  font-weight: bold;
}
@media only screen and (min-width: 769px) {
  .plan .pricing-table_regular-plan .pricing-table_price {
    font-size: 1.375em;
    letter-spacing: 0.063em;
  }
}
@media only screen and (max-width: 768px) {
  .plan .pricing-table_regular-plan .pricing-table_price {
    font-size: 2.933vw;
  }
}
@media only screen and (min-width: 769px) {
  .plan .pricing-table_regular-plan .pricing-table_price span {
    font-size: 1.364em;
  }
}
@media only screen and (max-width: 768px) {
  .plan .pricing-table_regular-plan .pricing-table_price span {
    font-size: 4vw;
  }
}
.plan .pricing-table_regular-plan .pricing-table_tax {
  color: #333333;
}
@media only screen and (min-width: 769px) {
  .plan .pricing-table_regular-plan .pricing-table_tax {
    font-size: 1.125em;
    letter-spacing: 0.063em;
    margin-top: 0.444em;
  }
}
@media only screen and (max-width: 768px) {
  .plan .pricing-table_regular-plan .pricing-table_tax {
    font-size: 2.667vw;
    margin-top: 0.667vw;
  }
}
.plan .pricing-table_regular-header {
  background-color: #D3BE66;
  color: #fff;
  width: 101%;
  margin: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
}
@media only screen and (min-width: 769px) {
  .plan .pricing-table_regular-header {
    font-size: 1.688em;
    letter-spacing: 0.037em;
    border-top-left-radius: 0.667em;
    border-top-right-radius: 0.667em;
    padding: 0.593em 0 0.519em;
    height: 2.168em;
    left: -0.5%;
    top: -0.074em;
  }
}
@media only screen and (max-width: 768px) {
  .plan .pricing-table_regular-header {
    font-size: 3.467vw;
    letter-spacing: 0.133vw;
    border-top-left-radius: 2.133vw;
    border-top-right-radius: 2.133vw;
    height: 13.267vw;
    left: -0.5%;
    top: -0.267vw;
  }
}

.plus .inner_ctx {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.plus_tit {
  position: relative;
  background-color: #96968C;
  text-align: center;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 769px) {
  .plus_tit {
    width: 59.375em;
    height: 7em;
  }
}
@media only screen and (max-width: 768px) {
  .plus_tit {
    width: 77.333vw;
    height: 26vw;
  }
}
.plus_tit::after {
  content: "";
  position: absolute;
  transform: translateY(-50%);
  background: url("../img/plus_el.png") no-repeat center center;
  background-size: contain;
  z-index: 2;
}
@media only screen and (min-width: 769px) {
  .plus_tit::after {
    width: 8.5em;
    height: 5.625em;
    bottom: -3em;
    left: 46.25em;
  }
}
@media only screen and (max-width: 768px) {
  .plus_tit::after {
    width: 21.2vw;
    height: 14.267vw;
    bottom: -8vw;
    left: 61.467vw;
  }
}
.plus_tit::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  transform: translateY(-50%);
  background: url("../img/plus_el2.png") no-repeat center center;
  background-size: contain;
  z-index: -1;
}
@media only screen and (min-width: 769px) {
  .plus_tit::before {
    width: 4em;
    height: 5.75em;
    top: 7.5em;
  }
}
@media only screen and (max-width: 768px) {
  .plus_tit::before {
    width: 8.533vw;
    height: 12.267vw;
    top: 27vw;
  }
}
.plus_tit p {
  margin: 0;
  color: #FFFFFF;
  position: relative;
}
@media only screen and (min-width: 769px) {
  .plus_tit p {
    font-size: 1.563em;
    line-height: 1.48em;
    letter-spacing: 0.04em;
    top: -0.08em;
  }
}
@media only screen and (max-width: 768px) {
  .plus_tit p {
    font-size: 4.8vw;
    line-height: 6.4vw;
    letter-spacing: 0.133vw;
  }
}
.plus_tit p b {
  color: #FFEF5F;
}
@media only screen and (min-width: 769px) {
  .plus .pricing-table {
    margin-top: 3.875em;
  }
}
@media only screen and (max-width: 768px) {
  .plus .pricing-table {
    margin-top: 9.067vw;
  }
}
.plus .pricing-table_container {
  display: flex;
  width: 100%;
  border-collapse: collapse;
  margin: 0 auto;
  align-items: flex-end;
}
@media only screen and (min-width: 769px) {
  .plus .pricing-table_container {
    padding-bottom: 5em;
    gap: 0.875em;
  }
}
@media only screen and (max-width: 768px) {
  .plus .pricing-table_container {
    padding-bottom: 14.667vw;
    gap: 1.067vw;
  }
}
.plus .pricing-table_column {
  display: flex;
  flex-direction: column;
}
.plus .pricing-table_header {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.plus .pricing-table_row {
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.plus .pricing-table_estate-column {
  background-color: #E2F0DA;
  box-shadow: rgba(50, 50, 93, 0.25) 5px 5px 14px -5px;
}
@media only screen and (min-width: 769px) {
  .plus .pricing-table_estate-column {
    width: 19.125em;
    border-top-left-radius: 0.938em;
    border-bottom-left-radius: 0.938em;
  }
}
@media only screen and (max-width: 768px) {
  .plus .pricing-table_estate-column {
    width: 32.533vw;
    height: 47.467vw;
    border-top-left-radius: 2vw;
    border-bottom-left-radius: 2vw;
  }
}
.plus .pricing-table_estate-column .pricing-table_row {
  font-weight: normal;
  margin: auto;
}
@media only screen and (min-width: 769px) {
  .plus .pricing-table_estate-column .pricing-table_row {
    height: 6.125em;
  }
}
@media only screen and (max-width: 768px) {
  .plus .pricing-table_estate-column .pricing-table_row {
    height: 14.533vw;
  }
}
.plus .pricing-table_estate-column .pricing-table_row p {
  font-weight: bold;
  color: #333333;
}
@media only screen and (min-width: 769px) {
  .plus .pricing-table_estate-column .pricing-table_row p {
    font-size: 1.75em;
    letter-spacing: 0.036em;
  }
}
@media only screen and (max-width: 768px) {
  .plus .pricing-table_estate-column .pricing-table_row p {
    font-size: 3.733vw;
  }
}
.plus .pricing-table_estate-column .pricing-table_row p span {
  font-weight: normal;
}
@media only screen and (min-width: 769px) {
  .plus .pricing-table_estate-column .pricing-table_row p span {
    font-size: 0.714em;
  }
}
@media only screen and (max-width: 768px) {
  .plus .pricing-table_estate-column .pricing-table_row p span {
    font-size: 2.667vw;
  }
}
@media only screen and (min-width: 769px) {
  .plus .pricing-table_estate-column .pricing-table_row:not(:last-child) {
    width: 19.063em;
    border-bottom: 0.125em solid rgba(61, 155, 7, 0.2);
  }
}
@media only screen and (max-width: 768px) {
  .plus .pricing-table_estate-column .pricing-table_row:not(:last-child) {
    width: 32.533vw;
    border-bottom: 0.4vw solid rgba(61, 155, 7, 0.2);
  }
}
.plus .pricing-table_estate-header {
  background-color: #fff;
  color: #333333;
  margin: auto;
}
@media only screen and (min-width: 769px) {
  .plus .pricing-table_estate-header {
    font-size: 1.625em;
    margin-top: 0.615em;
    letter-spacing: 0.038em;
    width: 7.731em;
    border-radius: 1.154em;
    padding: 0.308em 0 0.385em;
  }
}
@media only screen and (max-width: 768px) {
  .plus .pricing-table_estate-header {
    font-size: 3.467vw;
    margin-top: 2.4vw;
    letter-spacing: 0.133vw;
    width: 26.933vw;
    border-radius: 18.667vw;
    padding: 1.467vw 0;
  }
}
.plus .pricing-table_special-plan {
  position: relative;
  background-color: #FFFFFF;
  box-shadow: rgba(50, 50, 93, 0.25) 5px 5px 14px -5px;
}
@media only screen and (min-width: 769px) {
  .plus .pricing-table_special-plan {
    width: 39.25em;
    border-radius: 1.063em;
  }
}
@media only screen and (max-width: 768px) {
  .plus .pricing-table_special-plan {
    width: 58.4vw;
    height: 47.467vw;
    border-radius: 2.267vw;
  }
}
.plus .pricing-table_special-plan .pricing-table_row {
  font-weight: normal;
  margin: auto;
}
@media only screen and (min-width: 769px) {
  .plus .pricing-table_special-plan .pricing-table_row {
    height: 6.125em;
  }
}
@media only screen and (max-width: 768px) {
  .plus .pricing-table_special-plan .pricing-table_row {
    height: 14.533vw;
  }
}
.plus .pricing-table_special-plan .pricing-table_row p {
  font-weight: bold;
  color: #333333;
}
@media only screen and (min-width: 769px) {
  .plus .pricing-table_special-plan .pricing-table_row p {
    font-size: 1.375em;
    letter-spacing: 0.045em;
  }
}
@media only screen and (max-width: 768px) {
  .plus .pricing-table_special-plan .pricing-table_row p {
    font-size: 2.933vw;
  }
}
.plus .pricing-table_special-plan .pricing-table_row p b {
  font-weight: bold;
}
@media only screen and (min-width: 769px) {
  .plus .pricing-table_special-plan .pricing-table_row p b {
    font-size: 1.364em;
  }
}
@media only screen and (max-width: 768px) {
  .plus .pricing-table_special-plan .pricing-table_row p b {
    font-size: 4.8vw;
  }
}
.plus .pricing-table_special-plan .pricing-table_row p span {
  font-weight: normal;
}
@media only screen and (min-width: 769px) {
  .plus .pricing-table_special-plan .pricing-table_row p span {
    font-size: 0.909em;
  }
}
@media only screen and (max-width: 768px) {
  .plus .pricing-table_special-plan .pricing-table_row p span {
    font-size: 2.933vw;
  }
}
@media only screen and (min-width: 769px) {
  .plus .pricing-table_special-plan .pricing-table_row:not(:last-child) {
    width: 38.563em;
    border-bottom: 0.125em dotted #B3B3B3;
  }
}
@media only screen and (max-width: 768px) {
  .plus .pricing-table_special-plan .pricing-table_row:not(:last-child) {
    width: 56.933vw;
    border-bottom: 0.4vw dotted #B3B3B3;
  }
}
.plus .pricing-table_special-header {
  background-color: #3D9B07;
  color: #E2F0DA;
  width: 100%;
  margin: auto;
  font-weight: 300;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 769px) {
  .plus .pricing-table_special-header {
    font-size: 2em;
    letter-spacing: 0.063em;
    border-top-left-radius: 0.438em;
    border-top-right-radius: 0.438em;
    height: 1.947em;
  }
}
@media only screen and (max-width: 768px) {
  .plus .pricing-table_special-header {
    font-size: 4.533vw;
    letter-spacing: 0.133vw;
    border-top-left-radius: 1.867vw;
    border-top-right-radius: 1.867vw;
    height: 9.867vw;
  }
}

@media only screen and (min-width: 769px) {
  .flow {
    background: url("../img/flow_bg.jpg") no-repeat 50% 0%;
    background-size: 125em 53.75em;
    height: 53.75em;
  }
}
@media only screen and (max-width: 768px) {
  .flow {
    background: url("../img/flow_bg_sp.jpg") no-repeat 50% 0;
    background-size: 100vw 183.333vw;
    height: 183.333vw;
  }
}
.flow_tit {
  color: #fff;
  font-family: "Noto Serif JP", serif;
  text-align: center;
  font-weight: 500;
}
@media only screen and (min-width: 769px) {
  .flow_tit {
    font-size: 3.125em;
    padding-top: 2.82em;
    letter-spacing: 0.06em;
  }
}
@media only screen and (max-width: 768px) {
  .flow_tit {
    font-size: 8.8vw;
    padding-top: 16vw;
    letter-spacing: 0.133vw;
  }
}
.flow_el {
  text-align: center;
  margin: auto;
}
@media only screen and (min-width: 769px) {
  .flow_el {
    width: 72.688em;
    padding-top: 3.438em;
  }
}
@media only screen and (max-width: 768px) {
  .flow_el {
    position: absolute;
    width: 5.2vw;
    top: 33.067vw;
    left: 6.133vw;
  }
}
.flow_list {
  display: flex;
  justify-content: center;
}
@media only screen and (min-width: 769px) {
  .flow_list {
    gap: 4em;
    padding-top: 3.875em;
  }
}
@media only screen and (max-width: 768px) {
  .flow_list {
    flex-direction: column;
    justify-content: center;
    gap: 7.733vw;
    padding-top: 10.133vw;
    padding-left: 15.333vw;
  }
}
.flow_ctx {
  position: relative;
}
@media only screen and (min-width: 769px) {
  .flow_ctx {
    filter: drop-shadow(0.25em 0.625em 0.25em rgba(36, 61, 35, 0.15));
  }
}
@media only screen and (max-width: 768px) {
  .flow_ctx {
    filter: drop-shadow(0.533vw 1.333vw 1.333vw rgba(36, 61, 35, 0.15));
  }
}
.flow_ctx:not(:last-child)::after {
  content: "";
  display: block;
  background-size: contain;
  position: absolute;
}
@media only screen and (min-width: 769px) {
  .flow_ctx:not(:last-child)::after {
    background: url("../img/flow_el2.png") no-repeat center center;
    background-size: contain;
    width: 2.438em;
    height: 2.5em;
    top: 10em;
    right: -3.438em;
  }
}
@media only screen and (max-width: 768px) {
  .flow_ctx:not(:last-child)::after {
    position: absolute;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    background: url("../img/flow_el2_sp.png") no-repeat center center;
    background-size: contain;
    width: 5.2vw;
    height: 5.067vw;
    bottom: -6.4vw;
  }
}
.flow_ctx p {
  color: #333333;
  font-weight: bold;
}
@media only screen and (min-width: 769px) {
  .flow_ctx p {
    text-align: center;
    font-size: 1.563em;
    line-height: 1.48em;
    letter-spacing: 0.04em;
    padding-top: 9.2em;
  }
}
@media only screen and (max-width: 768px) {
  .flow_ctx p {
    display: flex;
    align-items: center;
    width: 78.533vw;
    height: 27.467vw;
    font-size: 4.267vw;
    line-height: 5.333vw;
    letter-spacing: 0.133vw;
    padding-left: 30.667vw;
  }
}
@media only screen and (min-width: 769px) {
  .flow_ctxlist01 {
    background: url("../img/flow_list01_bg.png") no-repeat 50% 0%;
    background-size: 15.625em 23.5em;
    width: 15.625em;
    height: 23.5em;
  }
}
@media only screen and (max-width: 768px) {
  .flow_ctxlist01 {
    background: url("../img/flow_list01_bg_sp.png") no-repeat 50% 0;
    background-size: 78.533vw 27.467vw;
    width: 78.533vw;
    height: 27.467vw;
  }
}
@media only screen and (min-width: 769px) {
  .flow_ctxlist02 {
    background: url("../img/flow_list02_bg.png") no-repeat 50% 0%;
    background-size: 15.625em 23.5em;
    width: 15.625em;
    height: 23.5em;
  }
}
@media only screen and (max-width: 768px) {
  .flow_ctxlist02 {
    background: url("../img/flow_list02_bg_sp.png") no-repeat 50% 0;
    background-size: 78.533vw 27.467vw;
    width: 78.533vw;
    height: 27.467vw;
  }
}
@media only screen and (min-width: 769px) {
  .flow_ctxlist03 {
    background: url("../img/flow_list03_bg.png") no-repeat 50% 0%;
    background-size: 15.625em 23.5em;
    width: 15.625em;
    height: 23.5em;
  }
}
@media only screen and (max-width: 768px) {
  .flow_ctxlist03 {
    background: url("../img/flow_list03_bg_sp.png") no-repeat 50% 0;
    background-size: 78.533vw 27.467vw;
    width: 78.533vw;
    height: 27.467vw;
  }
}
@media only screen and (min-width: 769px) {
  .flow_ctxlist04 {
    background: url("../img/flow_list04_bg.png") no-repeat 50% 0%;
    background-size: 15.625em 23.5em;
    width: 15.625em;
    height: 23.5em;
  }
}
@media only screen and (max-width: 768px) {
  .flow_ctxlist04 {
    background: url("../img/flow_list04_bg_sp.png") no-repeat 50% 0;
    background-size: 78.533vw 27.467vw;
    width: 78.533vw;
    height: 27.467vw;
  }
}

.reason_tit {
  margin: auto;
}
@media only screen and (min-width: 769px) {
  .reason_tit {
    width: 50.688em;
    padding-top: 6.875em;
  }
}
@media only screen and (max-width: 768px) {
  .reason_tit {
    width: 62.8vw;
    padding-top: 16vw;
  }
}

@media only screen and (min-width: 769px) {
  .reason01 {
    background: url("../img/reason01_bg.jpg") no-repeat 50% 0%;
    background-size: 125em 76.25em;
    height: 76.25em;
  }
}
@media only screen and (max-width: 768px) {
  .reason01 {
    background: url("../img/reason01_bg_sp.jpg") no-repeat 50% 0;
    background-size: 100vw 343.333vw;
    height: 343.333vw;
  }
}
.reason01_tit {
  position: absolute;
  display: flex;
  align-items: center;
}
@media only screen and (min-width: 769px) {
  .reason01_tit {
    top: 20.625em;
    left: 39.75em;
    gap: 0.625em;
  }
}
@media only screen and (max-width: 768px) {
  .reason01_tit {
    top: 134.4vw;
    left: 5.867vw;
  }
}
@media only screen and (min-width: 769px) {
  .reason01_tit img {
    width: 8.75em;
  }
}
@media only screen and (max-width: 768px) {
  .reason01_tit img {
    width: 21.867vw;
  }
}
.reason01_tit p {
  color: #3D2F04;
  font-weight: 500;
  position: relative;
}
@media only screen and (min-width: 769px) {
  .reason01_tit p {
    font-size: 2.125em;
    line-height: 1.353em;
    letter-spacing: 0.088em;
    top: -0.059em;
  }
}
@media only screen and (max-width: 768px) {
  .reason01_tit p {
    font-size: 5.333vw;
    line-height: 7.2vw;
    letter-spacing: 0.133vw;
    top: -0.267vw;
  }
}
.reason01_info {
  position: absolute;
}
@media only screen and (min-width: 769px) {
  .reason01_info {
    width: 30.625em;
    top: 31.25em;
    left: 41em;
  }
}
@media only screen and (max-width: 768px) {
  .reason01_info {
    width: 82.667vw;
    top: 162.4vw;
    left: 5.867vw;
  }
}
.reason01_info h2 {
  font-family: "Noto Serif JP", serif;
  color: #14504B;
}
@media only screen and (min-width: 769px) {
  .reason01_info h2 {
    font-size: 3.125em;
    line-height: 1.28em;
    letter-spacing: 0.04em;
  }
}
@media only screen and (max-width: 768px) {
  .reason01_info h2 {
    font-size: 8.8vw;
    line-height: 11.467vw;
    letter-spacing: 0.133vw;
  }
}
.reason01_info p {
  color: #333333;
}
@media only screen and (min-width: 769px) {
  .reason01_info p {
    font-size: 1.375em;
    line-height: 1.818em;
    letter-spacing: 0.045em;
    margin-top: 0.909em;
  }
}
@media only screen and (max-width: 768px) {
  .reason01_info p {
    font-size: 4vw;
    line-height: 8vw;
    letter-spacing: 0.133vw;
    margin-top: 2.667vw;
  }
}
.reason01_info p span {
  font-weight: 500;
  color: #F7931E;
}
.reason01_list {
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: center;
}
@media only screen and (min-width: 769px) {
  .reason01_list {
    top: 58.75em;
    left: 1.875em;
    gap: 4.375em;
  }
}
@media only screen and (max-width: 768px) {
  .reason01_list {
    flex-direction: column;
    top: 241.067vw;
    left: 11.733vw;
    gap: 13.067vw;
  }
}
.reason01_list li {
  display: flex;
  align-items: center;
}
@media only screen and (min-width: 769px) {
  .reason01_list li {
    flex-direction: column;
    gap: 0.5em;
  }
}
@media only screen and (max-width: 768px) {
  .reason01_list li {
    gap: 3.2vw;
  }
}
@media only screen and (min-width: 769px) {
  .reason01_list li img {
    width: 6.875em;
  }
}
@media only screen and (max-width: 768px) {
  .reason01_list li img {
    width: 17.333vw;
  }
}
.reason01_list li p {
  color: #FFFFFF;
}
@media only screen and (min-width: 769px) {
  .reason01_list li p {
    text-align: center;
    font-size: 1.375em;
    line-height: 1.545em;
    letter-spacing: 0.045em;
  }
}
@media only screen and (max-width: 768px) {
  .reason01_list li p {
    font-size: 4vw;
    line-height: 6vw;
    letter-spacing: 0.133vw;
  }
}
.reason01_list li p span {
  font-weight: 500;
  color: #FFDA78;
}

@media only screen and (min-width: 769px) {
  .reason02 {
    background: url("../img/reason02_bg.jpg") no-repeat 50% 0%;
    background-size: 125em 63.125em;
    height: 63.125em;
  }
}
@media only screen and (max-width: 768px) {
  .reason02 {
    background: url("../img/reason02_bg_sp.jpg") no-repeat 50% 0;
    background-size: 100vw 237.733vw;
    height: 237.733vw;
  }
}
.reason02_tit {
  position: absolute;
  display: flex;
  align-items: center;
}
@media only screen and (min-width: 769px) {
  .reason02_tit {
    top: 8.125em;
    left: 4.375em;
    gap: 0.625em;
  }
}
@media only screen and (max-width: 768px) {
  .reason02_tit {
    top: 82.933vw;
    left: 5.867vw;
  }
}
@media only screen and (min-width: 769px) {
  .reason02_tit img {
    width: 8.75em;
  }
}
@media only screen and (max-width: 768px) {
  .reason02_tit img {
    width: 21.867vw;
  }
}
.reason02_tit p {
  color: #3D2F04;
  font-weight: 500;
  position: relative;
}
@media only screen and (min-width: 769px) {
  .reason02_tit p {
    font-size: 2.125em;
    line-height: 1.353em;
    letter-spacing: 0.088em;
    top: -0.059em;
  }
}
@media only screen and (max-width: 768px) {
  .reason02_tit p {
    font-size: 5.333vw;
    line-height: 7.2vw;
    letter-spacing: 0.133vw;
  }
}
.reason02_info {
  position: absolute;
}
@media only screen and (min-width: 769px) {
  .reason02_info {
    width: 30.625em;
    top: 19.375em;
    left: 5em;
  }
}
@media only screen and (max-width: 768px) {
  .reason02_info {
    width: 82.667vw;
    top: 110.933vw;
    left: 5.867vw;
  }
}
.reason02_info h2 {
  font-family: "Noto Serif JP", serif;
  color: #14504B;
}
@media only screen and (min-width: 769px) {
  .reason02_info h2 {
    font-size: 3.125em;
    line-height: 1.28em;
    letter-spacing: 0.04em;
  }
}
@media only screen and (max-width: 768px) {
  .reason02_info h2 {
    font-size: 8.8vw;
    line-height: 11.467vw;
    letter-spacing: 0.133vw;
  }
}
.reason02_info p {
  color: #333333;
}
@media only screen and (min-width: 769px) {
  .reason02_info p {
    font-size: 1.375em;
    line-height: 1.818em;
    letter-spacing: 0.045em;
    margin-top: 0.909em;
  }
}
@media only screen and (max-width: 768px) {
  .reason02_info p {
    font-size: 4vw;
    line-height: 8vw;
    letter-spacing: 0.133vw;
    margin-top: 2.667vw;
  }
}
.reason02_info p span {
  font-weight: 500;
  color: #F7931E;
}
.reason02_list {
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: center;
}
@media only screen and (min-width: 769px) {
  .reason02_list {
    top: 46.875em;
    left: 2.5em;
    gap: 9.375em;
  }
}
@media only screen and (max-width: 768px) {
  .reason02_list {
    flex-direction: column;
    top: 183.067vw;
    left: 11.733vw;
    gap: 13.067vw;
  }
}
.reason02_list li {
  display: flex;
  align-items: center;
}
@media only screen and (min-width: 769px) {
  .reason02_list li {
    flex-direction: column;
    gap: 0.75em;
  }
}
@media only screen and (max-width: 768px) {
  .reason02_list li {
    gap: 3.2vw;
  }
}
@media only screen and (min-width: 769px) {
  .reason02_list li img {
    width: 6.875em;
  }
}
@media only screen and (max-width: 768px) {
  .reason02_list li img {
    width: 17.333vw;
  }
}
.reason02_list li p {
  color: #FFFFFF;
}
@media only screen and (min-width: 769px) {
  .reason02_list li p {
    text-align: center;
    font-size: 1.375em;
    line-height: 1.545em;
    letter-spacing: 0.045em;
  }
}
@media only screen and (max-width: 768px) {
  .reason02_list li p {
    font-size: 4vw;
    line-height: 6vw;
    letter-spacing: 0.133vw;
  }
}
.reason02_list li p span {
  font-weight: 500;
  color: #FFDA78;
}

@media only screen and (min-width: 769px) {
  .reason03 {
    background: url("../img/reason03_bg.jpg") no-repeat 50% 0%;
    background-size: 125em 32.5em;
    height: 32.5em;
  }
}
@media only screen and (max-width: 768px) {
  .reason03 {
    background: url("../img/reason03_bg_sp.jpg") no-repeat 50% 0;
    background-size: 100vw 151.2vw;
    height: 151.2vw;
  }
}
.reason03_tit {
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1;
}
@media only screen and (min-width: 769px) {
  .reason03_tit {
    top: 5.625em;
    gap: 0.625em;
  }
}
@media only screen and (max-width: 768px) {
  .reason03_tit {
    flex-direction: column;
    top: 16vw;
    left: 0vw;
  }
}
.reason03_tit::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  transform: translateY(-50%);
}
@media only screen and (min-width: 769px) {
  .reason03_tit::before {
    background: url("../img/reason03_el.png") no-repeat center center;
    background-size: contain;
    width: 66.25em;
    height: 10.625em;
    top: 3.75em;
  }
}
@media only screen and (max-width: 768px) {
  .reason03_tit::before {
    background: url("../img/reason03_el_sp.png") no-repeat center center;
    background-size: contain;
    width: 88vw;
    height: 36.933vw;
    top: 42.667vw;
  }
}
@media only screen and (min-width: 769px) {
  .reason03_tit img {
    width: 8.75em;
  }
}
@media only screen and (max-width: 768px) {
  .reason03_tit img {
    position: relative;
    width: 21.867vw;
    left: 1.333vw;
  }
}
.reason03_tit h2 {
  color: #14504B;
  font-weight: 700;
  font-family: "Noto Serif JP", serif;
  position: relative;
}
@media only screen and (min-width: 769px) {
  .reason03_tit h2 {
    font-size: 3.125em;
    line-height: 1.28em;
    letter-spacing: 0.06em;
    top: -0.26em;
  }
}
@media only screen and (max-width: 768px) {
  .reason03_tit h2 {
    text-align: center;
    font-size: 6.667vw;
    line-height: 10.133vw;
    letter-spacing: 0.267vw;
  }
}
.reason03_tit h2 b {
  color: #EAAA00;
  font-size: 130%;
  font-weight: 700;
}
@media only screen and (min-width: 769px) {
  .reason03_tit h2 b {
    letter-spacing: 0.08em;
  }
}
@media only screen and (max-width: 768px) {
  .reason03_tit h2 b {
    letter-spacing: 0.8vw;
  }
}
.reason03_tit h2 span {
  color: #EAAA00;
}
.reason03_tit p {
  position: absolute;
  color: #4D4D4D;
  font-weight: 500;
}
@media only screen and (min-width: 769px) {
  .reason03_tit p {
    font-size: 0.875em;
    top: -1em;
    left: 61.429em;
  }
}
@media only screen and (max-width: 768px) {
  .reason03_tit p {
    font-size: 2.667vw;
    top: 31.733vw;
    left: 54vw;
  }
}
.reason03_info {
  color: #333333;
}
@media only screen and (min-width: 769px) {
  .reason03_info {
    text-align: center;
    font-size: 1.375em;
    line-height: 1.818em;
    letter-spacing: 0.045em;
    padding-top: 12.182em;
    padding-bottom: 1.364em;
  }
}
@media only screen and (max-width: 768px) {
  .reason03_info {
    margin: auto;
    width: 82.667vw;
    font-size: 4vw;
    line-height: 8vw;
    letter-spacing: 0.133vw;
    padding-top: 87.733vw;
    padding-bottom: 5.067vw;
  }
}
.reason03_info b {
  color: #F7931E;
}
.reason03_note {
  color: #4D4D4D;
  font-weight: 500;
  text-align: center;
  margin: auto;
}
@media only screen and (min-width: 769px) {
  .reason03_note {
    font-size: 0.875em;
    width: 57.143em;
    letter-spacing: 0.071em;
    padding-top: 1.429em;
    border-top: 0.071em solid #808080;
  }
}
@media only screen and (max-width: 768px) {
  .reason03_note {
    font-size: 2.667vw;
    width: 82.667vw;
    letter-spacing: 0.133vw;
    padding-top: 3.733vw;
    border-top: 0.133vw solid #808080;
  }
}
.reason03_note b {
  color: #F7931E;
}

@media only screen and (min-width: 769px) {
  .voice {
    background: url("../img/voice_bg.jpg") no-repeat 50% 0%;
    background-size: 125em 78.75em;
    height: 78.75em;
  }
}
@media only screen and (max-width: 768px) {
  .voice {
    background: url("../img/voice_bg_sp.jpg") no-repeat 50% 0;
    background-size: 100vw 346.4vw;
    height: 346.4vw;
  }
}
.voice_tit {
  position: relative;
  margin: auto;
}
@media only screen and (min-width: 769px) {
  .voice_tit {
    width: 47.813em;
    padding-top: 4.813em;
  }
}
@media only screen and (max-width: 768px) {
  .voice_tit {
    width: 102vw;
    padding-top: 17.867vw;
  }
}
@media only screen and (min-width: 769px) {
  .voice_tit img {
    width: 47.813em;
  }
}
@media only screen and (max-width: 768px) {
  .voice_tit img {
    width: 102vw;
  }
}
.voice_tit h2 {
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  color: #1A1A1A;
  font-weight: 700;
  font-family: "Noto Serif JP", serif;
  text-align: center;
}
@media only screen and (min-width: 769px) {
  .voice_tit h2 {
    font-size: 2em;
    top: 3.656em;
  }
}
@media only screen and (max-width: 768px) {
  .voice_tit h2 {
    font-size: 8.267vw;
    line-height: 10.667vw;
    top: 13.333vw;
  }
}
.voice_tit h2 small {
  font-size: 90%;
}
.voice_list {
  display: flex;
  justify-content: center;
}
@media only screen and (min-width: 769px) {
  .voice_list {
    padding-top: 3.375em;
    gap: 2.125em;
  }
}
@media only screen and (max-width: 768px) {
  .voice_list {
    align-items: center;
    flex-direction: column;
    padding-top: 9.867vw;
    gap: 3.333vw;
  }
}
@media only screen and (min-width: 769px) {
  .voice_list li {
    background: url("../img/voice_list_bg.png") no-repeat 50% 0%;
    background-size: 23.125em 15.625em;
    width: 23.125em;
    height: 15.625em;
    filter: drop-shadow(0.25em 0.625em 0.25em rgba(36, 61, 35, 0.15));
    padding: 1.563em 1.438em 0;
  }
}
@media only screen and (max-width: 768px) {
  .voice_list li {
    background: url("../img/voice_list_bg_sp.png") no-repeat 50% 0;
    background-size: 88vw 39.067vw;
    width: 88vw;
    height: 39.067vw;
    filter: drop-shadow(0.533vw 1.333vw 1.333vw rgba(36, 61, 35, 0.15));
    padding: 4.267vw 6vw;
  }
}
.voice_list li p {
  color: #333333;
}
@media only screen and (min-width: 769px) {
  .voice_list li p {
    font-size: 1.625em;
    line-height: 1.5em;
    letter-spacing: 0.038em;
    padding-bottom: 0.462em;
  }
}
@media only screen and (max-width: 768px) {
  .voice_list li p {
    font-size: 4vw;
    line-height: 7.333vw;
    letter-spacing: 0.133vw;
    padding-bottom: 2.4vw;
  }
}
.voice_list li p b {
  font-weight: 500;
  color: #3D9B07;
}
.voice_list li span {
  color: #333333;
  display: inline-block;
}
@media only screen and (min-width: 769px) {
  .voice_list li span {
    font-size: 1.375em;
    width: 14.545em;
    padding-top: 0.857em;
    border-top: 0.071em solid #808080;
  }
}
@media only screen and (max-width: 768px) {
  .voice_list li span {
    font-size: 3.733vw;
    width: 76vw;
    padding-top: 3.2vw;
    border-top: 0.267vw solid #808080;
  }
}
.voice_research {
  position: relative;
}
.voice_research img {
  position: absolute;
}
@media only screen and (min-width: 769px) {
  .voice_research img {
    width: 30.25em;
    top: 13.75em;
    left: 4.375em;
  }
}
@media only screen and (max-width: 768px) {
  .voice_research img {
    width: 74.133vw;
    top: 28vw;
    left: 8vw;
  }
}
.voice_info {
  position: absolute;
}
@media only screen and (min-width: 769px) {
  .voice_info {
    top: 16.25em;
    left: 37.5em;
  }
}
@media only screen and (max-width: 768px) {
  .voice_info {
    position: absolute;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    width: 70vw;
    top: 98.667vw;
  }
}
.voice_info p {
  color: #333333;
}
@media only screen and (min-width: 769px) {
  .voice_info p {
    font-size: 1.625em;
    letter-spacing: 0.038em;
    width: 18.308em;
    line-height: 1.769em;
    margin-bottom: 1.462em;
  }
}
@media only screen and (max-width: 768px) {
  .voice_info p {
    font-size: 4vw;
    letter-spacing: 0.133vw;
    width: 70vw;
    line-height: 8vw;
  }
}
.voice_info p b {
  color: #fff;
  background-color: #42736f;
}
@media only screen and (min-width: 769px) {
  .voice_info p b {
    padding: 0 0.188em;
  }
}
@media only screen and (max-width: 768px) {
  .voice_info p b {
    padding: 0 0.4vw;
  }
}

.accountant {
  background-color: #2B615D;
  position: relative;
  overflow: visible;
}
@media only screen and (min-width: 769px) {
  .accountant {
    background: url("../img/accountant_bg.jpg") no-repeat 50% 0%, #2B615D;
    background-size: 125em 28.75em;
    padding-top: 6.25em;
    padding-bottom: 1.25em;
  }
}
@media only screen and (max-width: 768px) {
  .accountant {
    background: url("../img/accountante_bg_sp.jpg") no-repeat 50% 0, #2B615D;
    background-size: 100vw 82.4vw;
    padding-top: 12.533vw;
    padding-bottom: 4vw;
  }
}
@media only screen and (min-width: 769px) {
  .accountant .inner_ctx {
    padding-bottom: 2.5em;
  }
}
@media only screen and (max-width: 768px) {
  .accountant .inner_ctx {
    padding-bottom: 9.333vw;
  }
}
.accountant_tit {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
}
@media only screen and (min-width: 769px) {
  .accountant_tit {
    padding-left: 2.938em;
  }
}
@media only screen and (max-width: 768px) {
  .accountant_tit {
    padding-left: 6vw;
  }
}
.accountant_tit h2 {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  color: #1A1A1A;
  display: inline-block;
  background-color: #fff;
}
@media only screen and (min-width: 769px) {
  .accountant_tit h2 {
    font-size: 4.125em;
    line-height: 1.318em;
    padding: 0 0.197em;
  }
}
@media only screen and (max-width: 768px) {
  .accountant_tit h2 {
    font-size: 8.8vw;
    line-height: 11.6vw;
    padding: 0 1.733vw;
  }
}
@media only screen and (min-width: 769px) {
  .accountant_tit h2 small {
    font-size: 0.879em;
  }
}
@media only screen and (max-width: 768px) {
  .accountant_tit h2 small {
    font-size: 7.733vw;
  }
}
.accountant_tit h2 span {
  color: #3D9B07;
}
.accountant_tit::before {
  position: absolute;
  content: "";
  background: url("../img/accountant_el.png") no-repeat center center;
  background-size: contain;
}
@media only screen and (min-width: 769px) {
  .accountant_tit::before {
    width: 29.438em;
    height: 0.625em;
    top: -1.25em;
    left: 5.875em;
  }
}
@media only screen and (max-width: 768px) {
  .accountant_tit::before {
    width: 62.8vw;
    height: 1.333vw;
    top: -3.467vw;
    left: 12vw;
  }
}
.accountant_sub {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
}
@media only screen and (min-width: 769px) {
  .accountant_sub {
    padding-left: 2.938em;
    padding-top: 1.25em;
  }
}
@media only screen and (max-width: 768px) {
  .accountant_sub {
    padding-left: 6vw;
    padding-top: 3.733vw;
  }
}
.accountant_sub p {
  color: #FFFFFF;
  display: inline-block;
}
@media only screen and (min-width: 769px) {
  .accountant_sub p {
    font-size: 1.25em;
    line-height: 1.6em;
  }
}
@media only screen and (max-width: 768px) {
  .accountant_sub p {
    width: 68vw;
    font-size: 4vw;
    line-height: 8vw;
    letter-spacing: 0.133vw;
  }
}
@media only screen and (min-width: 769px) {
  .accountant_img {
    overflow: hidden;
    width: 23.25em;
    height: 18.688em;
  }
}
@media only screen and (max-width: 768px) {
  .accountant_img {
    overflow: visible;
    width: 66.667vw;
    height: 53.6vw;
  }
}
.accountant_img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}
.accountant_info {
  position: relative;
  background-color: #fff;
}
@media only screen and (min-width: 769px) {
  .accountant_info {
    width: 21.313em;
    height: 25em;
    left: 1.938em;
    top: -3.75em;
    filter: drop-shadow(0.25em 0.625em 0.25em rgba(36, 61, 35, 0.15));
    padding: 1.813em 1.25em;
  }
}
@media only screen and (max-width: 768px) {
  .accountant_info {
    width: 61.067vw;
    height: 83.333vw;
    left: 5.6vw;
    top: -10.533vw;
    filter: drop-shadow(0.533vw 1.333vw 1.333vw rgba(36, 61, 35, 0.15));
    padding: 6.667vw 5.2vw;
  }
}
.accountant_name {
  color: #1A1A1A;
}
@media only screen and (min-width: 769px) {
  .accountant_name {
    font-size: 1.5em;
    padding-bottom: 0.667em;
  }
}
@media only screen and (max-width: 768px) {
  .accountant_name {
    font-size: 4.533vw;
    padding-bottom: 2.8vw;
  }
}
.accountant_position {
  color: #333333;
  position: relative;
}
@media only screen and (min-width: 769px) {
  .accountant_position {
    font-size: 1.25em;
    padding-bottom: 2em;
  }
}
@media only screen and (max-width: 768px) {
  .accountant_position {
    font-size: 3.467vw;
    padding-bottom: 8vw;
  }
}
.accountant_position::after {
  left: 0;
  content: "";
  position: absolute;
}
@media only screen and (min-width: 769px) {
  .accountant_position::after {
    width: 2.65em;
    border-bottom: 0.15em solid #3D9B07;
    bottom: 0.5em;
  }
}
@media only screen and (max-width: 768px) {
  .accountant_position::after {
    width: 9.467vw;
    border-bottom: 0.4vw solid #3D9B07;
    bottom: 3.333vw;
  }
}
.accountant_description p {
  color: #333333;
}
@media only screen and (min-width: 769px) {
  .accountant_description p {
    font-size: 1.25em;
    line-height: 2em;
  }
}
@media only screen and (max-width: 768px) {
  .accountant_description p {
    font-size: 4vw;
    line-height: 7.333vw;
  }
}
.accountant .accountant_slider {
  position: relative;
  margin: 0 auto;
}
@media only screen and (min-width: 769px) {
  .accountant .accountant_slider {
    max-width: 79.475em;
  }
}
@media only screen and (max-width: 768px) {
  .accountant .accountant_slider {
    max-width: 100%;
  }
}
@media only screen and (min-width: 769px) {
  .accountant .swiper-wrapper {
    margin-left: 2.5em;
    left: -1.25em;
  }
}
.accountant .swiper-button-prev,
.accountant .swiper-button-next {
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 100;
  position: absolute;
}
.accountant .swiper-button-prev::after,
.accountant .swiper-button-next::after {
  display: none;
}
@media only screen and (min-width: 769px) {
  .accountant .swiper-button-prev,
  .accountant .swiper-button-next {
    width: 3.125em;
    height: 3.125em;
    top: 8.125em;
  }
}
@media only screen and (max-width: 768px) {
  .accountant .swiper-button-prev,
  .accountant .swiper-button-next {
    width: 12.8vw;
    height: 12.8vw;
    top: 64vw;
  }
}
.accountant .swiper-button-prev img,
.accountant .swiper-button-next img {
  max-width: 100%;
  height: auto;
}
.accountant .swiper-button-prev {
  left: 0;
}
.accountant .swiper-button-next {
  right: 0;
}

@media only screen and (min-width: 769px) {
  .book {
    background: url("../img/book_bg.jpg") no-repeat 50% 0%;
    background-size: 125em 65em;
    height: 65em;
  }
}
@media only screen and (max-width: 768px) {
  .book {
    background: url("../img/book_bg_sp.jpg") no-repeat 50% 0;
    background-size: 100vw 182.533vw;
    height: 182.533vw;
  }
}
.book .inner_ctx {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.book_note {
  color: #1A1A1A;
  font-family: "Noto Serif JP", serif;
  text-align: center;
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 769px) {
  .book_note {
    font-size: 2em;
    top: 2.406em;
  }
}
@media only screen and (max-width: 768px) {
  .book_note {
    font-size: 4.667vw;
    top: 17.333vw;
  }
}
.book_title {
  color: #14504B;
  font-family: "Noto Serif JP", serif;
  text-align: center;
  font-weight: 600;
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 769px) {
  .book_title {
    font-size: 4.375em;
    top: 2.357em;
  }
}
@media only screen and (max-width: 768px) {
  .book_title {
    font-size: 8.8vw;
    line-height: 11.6vw;
    top: 30.267vw;
  }
}
@media only screen and (min-width: 769px) {
  .book_title small {
    font-size: 0.857em;
  }
}
@media only screen and (max-width: 768px) {
  .book_title small {
    font-size: 7.733vw;
  }
}
.book_title span {
  color: #1A1A1A;
}
.book_info {
  color: #1A1A1A;
  text-align: center;
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 769px) {
  .book_info {
    font-size: 1.25em;
    line-height: 2em;
    top: 13.8em;
  }
}
@media only screen and (max-width: 768px) {
  .book_info {
    font-size: 4vw;
    line-height: 8vw;
    top: 58.933vw;
  }
}
.book_info span {
  color: #3D9B07;
}

@media only screen and (min-width: 769px) {
  .inquiry {
    background: url("../img/inquiry_bg.jpg") no-repeat 50% 0%;
    background-size: 125em 82.625em;
    height: 82.625em;
    padding-top: 6.25em;
  }
}
@media only screen and (max-width: 768px) {
  .inquiry {
    background: url("../img/inquiry_bg_sp.jpg") no-repeat 50% 0;
    background-size: 100vw 348vw;
    height: 348vw;
    padding-top: 16vw;
  }
}
.inquiry .inquiry_title {
  font-weight: 500;
  color: #1a1a1a;
  text-align: center;
  font-family: "Noto Serif JP", serif;
}
@media only screen and (min-width: 769px) {
  .inquiry .inquiry_title {
    font-size: 2.063em;
    line-height: 0.66em;
  }
}
@media only screen and (max-width: 768px) {
  .inquiry .inquiry_title {
    font-size: 4.533vw;
    line-height: 6.667vw;
  }
}
.inquiry .inquiry_title strong {
  font-weight: 500;
  color: #14504b;
  display: block;
  border-top: 1px solid #333333;
  text-align: center;
}
@media only screen and (min-width: 769px) {
  .inquiry .inquiry_title strong {
    font-size: 2.059em;
    line-height: 0.943em;
    margin: 0.286em auto 0;
    padding-top: 0.143em;
    width: 9.914em;
  }
}
@media only screen and (max-width: 768px) {
  .inquiry .inquiry_title strong {
    font-size: 8.8vw;
    line-height: 8.933vw;
    margin: 2.667vw;
    padding-top: 2.667vw;
    width: 88vw;
  }
}
@media only screen and (min-width: 769px) {
  .inquiry .inquiry_list_area {
    margin: 4.063em auto 0;
    padding-top: 1.25em;
    width: 71.875em;
    height: 38.25em;
  }
}
@media only screen and (max-width: 768px) {
  .inquiry .inquiry_list_area {
    margin: 10vw auto 0;
    padding-top: 2vw;
    width: 88vw;
    height: 200.933vw;
  }
}
.inquiry .inquiry_list {
  margin: 0 auto;
}
@media only screen and (min-width: 769px) {
  .inquiry .inquiry_list {
    width: 65.625em;
    height: 31.875em;
    display: flex;
    flex-flow: column;
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 768px) {
  .inquiry .inquiry_list {
    width: 76vw;
  }
}
.inquiry .inquiry_list li {
  letter-spacing: 0.04em;
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  border-bottom: 1px solid #cccccc;
  position: relative;
  white-space: nowrap;
}
@media only screen and (min-width: 769px) {
  .inquiry .inquiry_list li {
    font-size: 1.5em;
    line-height: 1.583em;
    padding: 1.042em 0 1.042em 3.958em;
    width: 21em;
  }
}
@media only screen and (max-width: 768px) {
  .inquiry .inquiry_list li {
    font-size: 4vw;
    line-height: 7.333vw;
    padding: 4.667vw 0 4.667vw 15.333vw;
    width: 76vw;
  }
}
.inquiry .inquiry_list li:nth-of-type(2)::after {
  background: url("../img/inquiry_list_02.png") no-repeat center/100%;
}
.inquiry .inquiry_list li:nth-of-type(3)::after {
  background: url("../img/inquiry_list_03.png") no-repeat center/100%;
}
.inquiry .inquiry_list li:nth-of-type(4)::after {
  background: url("../img/inquiry_list_04.png") no-repeat center/100%;
}
.inquiry .inquiry_list li:nth-of-type(5)::after {
  background: url("../img/inquiry_list_05.png") no-repeat center/100%;
}
.inquiry .inquiry_list li:nth-of-type(6)::after {
  background: url("../img/inquiry_list_06.png") no-repeat center/100%;
}
.inquiry .inquiry_list li:nth-of-type(7)::after {
  background: url("../img/inquiry_list_07.png") no-repeat center/100%;
}
@media only screen and (max-width: 768px) {
  .inquiry .inquiry_list li:nth-of-type(8) {
    border: none;
  }
}
.inquiry .inquiry_list li:nth-of-type(8)::after {
  background: url("../img/inquiry_list_08.png") no-repeat center/100%;
}
.inquiry .inquiry_list li::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0%, -50%);
  background: url("../img/inquiry_list_01.png") no-repeat center/100%;
}
@media only screen and (min-width: 769px) {
  .inquiry .inquiry_list li::after {
    width: 2.708em;
    height: 2.708em;
    left: 0.292em;
  }
}
@media only screen and (max-width: 768px) {
  .inquiry .inquiry_list li::after {
    width: 10.667vw;
    height: 10.667vw;
    left: 1.333vw;
  }
}
.inquiry .inquiry_list li strong {
  color: #3d9b07;
  font-weight: 500;
}
@media only screen and (min-width: 769px) {
  .inquiry .inquiry_note {
    margin-top: 5em;
    margin-left: 36.375em;
    width: 30.438em;
  }
}
@media only screen and (max-width: 768px) {
  .inquiry .inquiry_note {
    margin: 8vw auto 0;
    width: 77.867vw;
  }
}

@media only screen and (min-width: 769px) {
  .qna {
    background: url("../img/qna_bg.jpg") no-repeat 50% 0%;
    background-size: 125em 66.125em;
    height: 66.125em;
    padding-top: 8.125em;
  }
}
@media only screen and (max-width: 768px) {
  .qna {
    background: url("../img/qna_bg_sp.jpg") no-repeat 50% 0, #fff;
    background-size: 100vw 83.333vw, 100%;
    height: auto;
    padding-top: 20.4vw;
    padding-bottom: 12vw;
  }
}
.qna .qna_title {
  font-weight: 500;
  color: #1a1a1a;
  font-family: "Noto Serif JP", serif;
  position: relative;
}
@media only screen and (min-width: 769px) {
  .qna .qna_title {
    font-size: 3em;
    margin-left: 3.688em;
  }
}
@media only screen and (max-width: 768px) {
  .qna .qna_title {
    font-size: 7.467vw;
    margin-left: 18.267vw;
  }
}
.qna .qna_title::after {
  content: "";
  display: block;
  background: url("../img/qna_tit_icon.png") no-repeat center/100%;
  position: absolute;
}
@media only screen and (min-width: 769px) {
  .qna .qna_title::after {
    width: 1.042em;
    height: 1.667em;
    top: -0.417em;
    left: -1.25em;
  }
}
@media only screen and (max-width: 768px) {
  .qna .qna_title::after {
    width: 8.4vw;
    height: 13.333vw;
    top: -2.667vw;
    left: -10.667vw;
  }
}
@media only screen and (min-width: 769px) {
  .qna .qna_list {
    margin: 3.563em auto 0;
    width: 62.5em;
  }
}
@media only screen and (max-width: 768px) {
  .qna .qna_list {
    margin: 10vw auto 0;
    width: 88vw;
  }
}
.qna .qna_list dt {
  background-color: #14504b;
  display: flex;
  align-items: center;
  position: relative;
}
@media only screen and (min-width: 769px) {
  .qna .qna_list dt {
    height: 5.625em;
    padding-left: 6.563em;
  }
}
@media only screen and (max-width: 768px) {
  .qna .qna_list dt {
    height: 21.2vw;
    padding-left: 14.133vw;
  }
}
.qna .qna_list dt::after {
  content: "";
  display: block;
  background: url("../img/qna_q.png") no-repeat center/100%;
  position: absolute;
}
@media only screen and (min-width: 769px) {
  .qna .qna_list dt::after {
    width: 3.25em;
    height: 3.375em;
    top: 0.938em;
    left: 1.75em;
  }
}
@media only screen and (max-width: 768px) {
  .qna .qna_list dt::after {
    width: 7.467vw;
    height: 7.733vw;
    top: 2.667vw;
    left: 3.333vw;
  }
}
.qna .qna_list dt p {
  color: #fff;
  letter-spacing: 0.06em;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
}
@media only screen and (min-width: 769px) {
  .qna .qna_list dt p {
    font-size: 1.875em;
  }
}
@media only screen and (max-width: 768px) {
  .qna .qna_list dt p {
    font-size: 4.533vw;
    line-height: 7.067vw;
    width: 68vw;
  }
}
@media only screen and (min-width: 769px) {
  .qna .qna_list dt p small {
    font-size: 66%;
  }
}
@media only screen and (max-width: 768px) {
  .qna .qna_list dt p small {
    font-size: 70%;
  }
}
.qna .qna_list dd {
  border: 2px solid #14504b;
  border-top: none;
  background-color: #fff;
  position: relative;
}
@media only screen and (min-width: 769px) {
  .qna .qna_list dd {
    margin-bottom: 1.875em;
    padding: 1.563em 0 1.563em 6.563em;
  }
}
@media only screen and (max-width: 768px) {
  .qna .qna_list dd {
    margin-bottom: 5.333vw;
    padding: 3.6vw 0 5.333vw 13.867vw;
  }
}
.qna .qna_list dd::after {
  content: "";
  display: block;
  background: url("../img/qna_a.png") no-repeat center/100%;
  position: absolute;
}
@media only screen and (min-width: 769px) {
  .qna .qna_list dd::after {
    width: 3.375em;
    height: 4em;
    top: 1.25em;
    left: 1.75em;
  }
}
@media only screen and (max-width: 768px) {
  .qna .qna_list dd::after {
    width: 6.533vw;
    height: 7.733vw;
    top: 3.333vw;
    left: 3.6vw;
  }
}
.qna .qna_list dd p {
  letter-spacing: 0.06em;
}
@media only screen and (min-width: 769px) {
  .qna .qna_list dd p {
    font-size: 1.25em;
    line-height: 1.75em;
    width: 42em;
  }
}
@media only screen and (max-width: 768px) {
  .qna .qna_list dd p {
    font-size: 4vw;
    line-height: 7.467vw;
    width: 68vw;
  }
}
@media only screen and (min-width: 769px) {
  .qna .qna_list dd p span {
    font-size: 0.8em;
  }
}
@media only screen and (max-width: 768px) {
  .qna .qna_list dd p span {
    font-size: 2.667vw;
    line-height: 4.667vw;
    margin-top: 1.333vw;
    display: inline-block;
  }
}

@media only screen and (min-width: 769px) {
  .footer {
    background: url("../img/footer_bg.jpg") no-repeat 50% 0%;
    background-size: 125em 66.875em;
    height: 66.875em;
  }
}
@media only screen and (max-width: 768px) {
  .footer {
    background: url("../img/footer_bg_sp.jpg") no-repeat 50% 0;
    background-size: 100vw 167.067vw;
  }
}
@media only screen and (max-width: 768px) {
  .footer .footer_top {
    height: 100vw 167.067vw;
  }
}
.footer .footer_note {
  color: #fff;
  letter-spacing: 0.06em;
  padding-left: 1em;
  text-indent: -1em;
}
@media only screen and (min-width: 769px) {
  .footer .footer_note {
    font-size: 1.25em;
    line-height: 1.5em;
    margin-top: -1.25em;
    margin-left: 7.7em;
    margin-bottom: 1.5em;
  }
}
@media only screen and (max-width: 768px) {
  .footer .footer_note {
    font-size: 2.667vw;
    line-height: 4vw;
    margin: 4vw auto 7.333vw;
    width: 88vw;
  }
}
.footer .footer_txt {
  color: #fff;
  text-align: center;
}
@media only screen and (min-width: 769px) {
  .footer .footer_txt {
    font-size: 1.25em;
    line-height: 1.85em;
    margin-top: 1.5em;
    margin-bottom: 2.1em;
  }
}
@media only screen and (max-width: 768px) {
  .footer .footer_txt {
    font-size: 4vw;
    line-height: 8vw;
    margin-top: 4vw;
    margin-bottom: 2.1em;
  }
}

.contact_form {
  background-color: #e2f0da;
}
@media only screen and (min-width: 769px) {
  .contact_form {
    padding-bottom: 6.25em;
  }
}
@media only screen and (max-width: 768px) {
  .contact_form {
    padding-bottom: 13.333vw;
  }
}
.contact_form .inner {
  width: 90%;
  max-width: 1020px;
  margin: 0 auto;
}
@media only screen and (min-width: 769px) {
  .contact_form .inner {
    max-width: 63.75em;
  }
}
@media only screen and (max-width: 768px) {
  .contact_form .inner {
    width: 88vw;
  }
}
@media only screen and (min-width: 769px) {
  .contact_form .ct_form {
    background-color: #fff;
    padding: 2.5em 4.375em 1.25em;
  }
}
@media only screen and (max-width: 768px) {
  .contact_form .ct_form {
    width: 88vw;
  }
}
.contact_form input[type=checkbox] {
  display: none;
}
.contact_form .ct_form input[type=text] {
  width: 100%;
  border: 1px solid #cccccc;
}
@media only screen and (min-width: 769px) {
  .contact_form .ct_form input[type=text] {
    font-size: 1.125em;
    padding: 1.111em;
    border-radius: 1.111em;
  }
}
@media only screen and (max-width: 768px) {
  .contact_form .ct_form input[type=text] {
    font-size: 3.733vw;
    width: 77.067vw;
    padding: 2.667vw;
    border-radius: 1.333vw;
  }
}
.contact_form input[type=email] {
  width: 100%;
  border: 1px solid #cccccc;
}
@media only screen and (min-width: 769px) {
  .contact_form input[type=email] {
    font-size: 1.125em;
    padding: 1.111em;
    border-radius: 1.111em;
  }
}
@media only screen and (max-width: 768px) {
  .contact_form input[type=email] {
    font-size: 3.733vw;
    width: 77.067vw;
    padding: 2.667vw;
    border-radius: 1.333vw;
  }
}
.contact_form textarea {
  width: 100%;
  border: 1px solid #cccccc;
  resize: none;
}
@media only screen and (min-width: 769px) {
  .contact_form textarea {
    font-size: 1.125em;
    padding: 1.111em;
    border-radius: 1.111em;
    height: 16.667em;
  }
}
@media only screen and (max-width: 768px) {
  .contact_form textarea {
    font-size: 3.733vw;
    width: 77.067vw;
    padding: 2.667vw;
    border-radius: 1.333vw;
    height: 52.667vw;
  }
}
.contact_form .form-parts {
  display: flex;
  flex-wrap: wrap;
}
.contact_form .th {
  background-color: #dae4db;
  border: 1px solid #14504b;
  color: #14504b;
  vertical-align: top;
  text-align: left;
  font-weight: 700;
}
@media only screen and (min-width: 769px) {
  .contact_form .th {
    font-size: 1.125em;
    line-height: 1.556em;
    width: 13.889em;
    padding: 2.222em 1.111em;
  }
}
@media only screen and (max-width: 768px) {
  .contact_form .th {
    font-size: 4vw;
    width: 88vw;
    padding: 3.333vw 4vw;
  }
}
.contact_form .td {
  border: 1px solid #14504b;
  background-color: #fff;
}
@media only screen and (min-width: 769px) {
  .contact_form .td {
    width: calc(100% - 15.625em);
    padding: 1.111em;
  }
}
@media only screen and (max-width: 768px) {
  .contact_form .td {
    font-size: 3.733vw;
    width: 88vw;
    padding: 5.333vw 5.333vw;
  }
}
@media only screen and (min-width: 769px) {
  .contact_form .td.ck_box {
    display: flex;
    flex-wrap: wrap;
    padding: 1.111em 1.111em 1.111em 1.111em;
  }
}
@media only screen and (max-width: 768px) {
  .contact_form .td.ck_box {
    padding: 6.667vw 5.333vw 1.333vw;
  }
}
@media only screen and (min-width: 769px) {
  .contact_form .td.ck_box.contact_box {
    padding: 1.667em 1.111em 0em 1.111em;
  }
}
.contact_form .td.conditions_box {
  letter-spacing: 0.04em;
}
@media only screen and (min-width: 769px) {
  .contact_form .td.conditions_box {
    padding-bottom: 2em;
  }
}
@media only screen and (min-width: 769px) {
  .contact_form .td.conditions_box .txt {
    font-size: 0.875em;
    line-height: 1.643em;
  }
}
@media only screen and (max-width: 768px) {
  .contact_form .td.conditions_box .txt {
    font-size: 4vw;
    line-height: 6.667vw;
  }
}
.contact_form .td.conditions_box .txt a {
  color: #333;
  text-decoration: underline;
  display: inline-block;
  font-weight: 500;
}
@media only screen and (min-width: 769px) {
  .contact_form .td.conditions_box .txt a {
    margin-bottom: 2em;
  }
}
@media only screen and (max-width: 768px) {
  .contact_form .td.conditions_box .txt a {
    margin-bottom: 6.667vw;
  }
}
.contact_form .td.name_box {
  display: flex;
}
@media only screen and (max-width: 768px) {
  .contact_form .td.name_box input[type=text] {
    width: 37.333vw;
  }
}
@media only screen and (min-width: 769px) {
  .contact_form .name-input {
    margin-right: 0.813em;
  }
}
@media only screen and (max-width: 768px) {
  .contact_form .name-input {
    margin-right: 2.4vw;
  }
}
.contact_form input[type=tel] {
  width: 100%;
  border: 1px solid #cccccc;
}
@media only screen and (min-width: 769px) {
  .contact_form input[type=tel] {
    font-size: 1.125em;
    padding: 1.111em;
    border-radius: 1.111em;
  }
}
@media only screen and (max-width: 768px) {
  .contact_form input[type=tel] {
    font-size: 3.733vw;
    width: 77.067vw;
    padding: 2.667vw;
    border-radius: 1.333vw;
  }
}
.contact_form .form_ck_btn {
  letter-spacing: 0.04em;
}
@media only screen and (min-width: 769px) {
  .contact_form .form_ck_btn {
    font-size: 1.125em;
    margin-bottom: 0.889em;
    margin-right: 1.111em;
  }
}
@media only screen and (max-width: 768px) {
  .contact_form .form_ck_btn {
    font-size: 4vw;
    margin-bottom: 4.8vw;
  }
}
.contact_form input[type=radio] {
  display: none;
}
.contact_form input[type=checkbox] {
  display: none;
}
.contact_form .form_ck_btn_tt {
  position: relative;
  cursor: pointer;
}
@media only screen and (min-width: 769px) {
  .contact_form .form_ck_btn_tt {
    font-size: 1.125em;
    line-height: 1.778em;
    padding-left: 2.778em;
  }
}
@media only screen and (max-width: 768px) {
  .contact_form .form_ck_btn_tt {
    display: block;
    font-size: 4vw;
    line-height: 8.533vw;
    padding-left: 12vw;
  }
}
.contact_form .form_ck_btn_tt::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-color: #fff;
  border: 1px solid #14504b;
  border-radius: 5px;
}
@media only screen and (min-width: 769px) {
  .contact_form .form_ck_btn_tt::before {
    border-radius: 0.313em;
    width: 2em;
    height: 2em;
  }
}
@media only screen and (max-width: 768px) {
  .contact_form .form_ck_btn_tt::before {
    border-radius: 0.667vw;
    width: 8.533vw;
    height: 8.533vw;
  }
}
.contact_form input[type=checkbox]:checked + .form_ck_btn_tt::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 24px;
  height: 24px;
  background-color: #14504b;
  border: 1px solid #fff;
  border-radius: 5px;
}
@media only screen and (min-width: 769px) {
  .contact_form input[type=checkbox]:checked + .form_ck_btn_tt::after {
    top: 0.188em;
    left: 0.188em;
    width: 1.625em;
    height: 1.625em;
    border-radius: 0.313em;
  }
}
@media only screen and (max-width: 768px) {
  .contact_form input[type=checkbox]:checked + .form_ck_btn_tt::after {
    top: 0.933vw;
    left: 0.933vw;
    width: 6.533vw;
    height: 6.533vw;
    border-radius: 0.667vw;
  }
}
.contact_form input[type=radio]:checked + .form_ck_btn_tt::after {
  content: "";
  position: absolute;
  background-color: #14504b;
  border: 1px solid #fff;
}
@media only screen and (min-width: 769px) {
  .contact_form input[type=radio]:checked + .form_ck_btn_tt::after {
    top: 0.188em;
    left: 0.188em;
    width: 1.625em;
    height: 1.625em;
    border-radius: 0.313em;
  }
}
@media only screen and (max-width: 768px) {
  .contact_form input[type=radio]:checked + .form_ck_btn_tt::after {
    top: 0.933vw;
    left: 0.933vw;
    width: 6.533vw;
    height: 6.533vw;
    border-radius: 0.667vw;
  }
}
.contact_form .submin-btn {
  text-align: center;
}
@media only screen and (min-width: 769px) {
  .contact_form .submin-btn {
    margin: 4.375em auto;
  }
}
@media only screen and (max-width: 768px) {
  .contact_form .submin-btn {
    margin: 13.6vw auto 0;
  }
}
.contact_form .s-btn-01 {
  border: none;
  text-indent: -9999px;
  overflow: hidden;
  cursor: pointer;
  text-decoration: none;
  margin: auto;
}
@media only screen and (min-width: 769px) {
  .contact_form .s-btn-01 {
    background: url("../img/send_btn.png") no-repeat center/100%;
    width: 25em;
    height: 5.5em;
  }
}
@media only screen and (max-width: 768px) {
  .contact_form .s-btn-01 {
    background: url("../img/send_btn_sp.png") no-repeat center/100%;
    width: 80vw;
    height: 17.6vw;
  }
}/*# sourceMappingURL=style.css.map */