@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto+Condensed:wght@600&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200");
* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  font-optical-sizing: auto;
  font-style: normal;
}
*:before, *:after {
  pointer-events: none;
}

html {
  font-size: 62.5%;
}

body {
  color: black;
  font-size: 1.8rem;
  line-height: 1.8;
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  transition: unset;
  overflow-x: hidden;
  font-feature-settings: "palt";
}
@media screen and (max-width: 768px) {
  body .main {
    width: 100%;
    overflow-x: hidden;
  }
}

table {
  border-collapse: collapse;
}

img {
  vertical-align: bottom;
  max-width: 100%;
}

sup {
  font-size: 50%;
}

a {
  transition: 0.3s;
}
a:hover {
  color: #e1680c;
}

.pc,
.tb,
.sp {
  display: none;
}

@media screen and (min-width: 1348.3684210526px) {
  .pc {
    display: inline-block;
  }
}
@media screen and (min-width: 961px) and (max-width: 1422.2222222222px) {
  .pc {
    display: inline-block;
  }
}
@media only screen and (min-width: 769px) and (max-width: 960px) {
  .tb {
    display: inline-block;
  }
}
@media screen and (max-width: 768px) {
  .sp {
    display: inline-block;
  }
}
.large {
  font-size: 2.4rem;
}

.medium {
  font-size: 1.6rem;
}

.small {
  font-size: 1.2rem;
  display: inline-block;
  line-height: 1.5;
}

.left {
  text-align: left;
}

.center {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .center.spleft {
    text-align: left;
  }
}

.right {
  text-align: right;
}

.maincolor {
  color: #003e7f;
}

.bluetext {
  color: #003e7f;
}

.redtext {
  color: #c8161d;
}

.letterspacing {
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .letterspacing {
    letter-spacing: 0;
  }
}

.flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.flex.itemcenter {
  align-items: center;
}
.flex.left {
  justify-content: left;
  align-items: center;
}
.flex.left > *:not(:last-child) {
  margin-right: 1em;
}
.flex.c2 > * {
  width: calc((100% - 3rem) / 2);
  margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .flex.c2.onecolumn > * {
    width: 100%;
  }
  .flex.c2.onecolumn > *:last-child {
    margin-bottom: 0;
  }
}
.flex.c3 > * {
  width: calc((100% - 6rem) / 3);
  margin-bottom: 1rem;
}
.flex.c4 > * {
  width: calc((100% - 9rem) / 4);
  margin-bottom: 1rem;
}

.initbox {
  width: 95%;
  max-width: 1280px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .initbox .initbox2,
  .initbox .initbox3 {
    width: 100%;
  }
}

.initbox2 {
  width: 80%;
  max-width: 950px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .initbox2 {
    width: 90%;
  }
}

.initbox3 {
  width: 90%;
  max-width: 650px;
  margin: 0 auto;
}

.pt0 {
  padding-top: 0 !important;
}

.mt0 {
  margin-top: 0 !important;
}

.mt05 {
  margin-top: 0.5em;
}

.mt1 {
  margin-top: 1em;
}

.mt2 {
  margin-top: 2em;
}

.pb0 {
  padding-bottom: 0 !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.mb05 {
  margin-bottom: 0.5em;
}

.mb1 {
  margin-bottom: 1em;
}

.mb2 {
  margin-bottom: 2em;
}

.mb30 {
  margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .mb30 {
    margin-bottom: 1.5rem;
  }
}

.mb60 {
  margin-bottom: 6rem;
}
@media screen and (max-width: 768px) {
  .mb60 {
    margin-bottom: 3rem;
  }
}

.mb90 {
  margin-bottom: 9rem;
}
@media screen and (max-width: 768px) {
  .mb90 {
    margin-bottom: 4.5rem;
  }
}

.mbL {
  margin-bottom: 8rem;
}
@media only screen and (min-width: 769px) and (max-width: 960px) {
  .mbL {
    margin-bottom: 8rem;
  }
}
@media screen and (max-width: 768px) {
  .mbL {
    margin-bottom: 6rem;
  }
}

.mbM {
  margin-bottom: 4.5rem;
}
@media only screen and (min-width: 769px) and (max-width: 960px) {
  .mbM {
    margin-bottom: 4.5rem;
  }
}
@media screen and (max-width: 768px) {
  .mbM {
    margin-bottom: 3rem;
  }
}

.mbS {
  margin-bottom: 2rem;
}
@media only screen and (min-width: 769px) and (max-width: 960px) {
  .mbS {
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .mbS {
    margin-bottom: 1rem;
  }
}

.cautionUl li {
  text-align: left;
  list-style: none;
  margin-left: 1em;
  text-indent: -1em;
}

a {
  color: black;
  text-decoration: underline;
}
a:hover {
  color: #e1680c;
}
a.tel {
  pointer-events: none;
  text-decoration: none;
  color: black;
}
@media screen and (max-width: 768px) {
  a.tel {
    color: #fdd000;
    text-decoration: underline;
    pointer-events: all;
  }
  a.tel:hover {
    color: #e1680c;
  }
}

.ggmap {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
}
@media screen and (max-width: 768px) {
  .ggmap {
    padding-top: 75%;
  }
}
.ggmap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#breadcrumbs {
  padding: 1rem 0;
}
#breadcrumbs ul {
  display: flex;
  flex-wrap: nowrap;
  justify-content: left;
  align-items: center;
}
#breadcrumbs ul li {
  font-size: 1.2rem;
  line-height: 1;
  list-style: none;
}
#breadcrumbs ul li:first-child::before {
  font-family: "Material Symbols Outlined";
  content: "\e88a";
  vertical-align: middle;
  font-size: 150%;
  font-weight: 200;
}
#breadcrumbs ul li:not(:last-child)::after {
  font-family: "Material Symbols Outlined";
  content: "\e5cc";
  vertical-align: middle;
  font-size: 150%;
  font-weight: 200;
  display: inline-block;
}
#breadcrumbs ul li a {
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  #breadcrumbs {
    overflow-x: auto;
  }
  #breadcrumbs ul li {
    white-space: nowrap;
  }
}

.scrollin.nonactive {
  opacity: 0;
}
.scrollin.isactive:not(.leftin) {
  animation: fadeIn 1s ease 0s 1 normal backwards;
}
.scrollin.isactive.leftin {
  animation: fadeInLeft 1s ease 0s 1 normal backwards;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-2rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translateX(-2rem);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
#page-skip {
  position: relative;
}
#page-skip a {
  position: absolute;
  width: 1px;
  height: 1px;
  clip: rect(1px 1px 1px 1px);
}

.slick-slider div {
  transition: none;
}

#header {
  position: fixed;
  width: 90%;
  top: 1rem;
  left: 5%;
  z-index: 10;
  padding: 0.5em;
  padding-bottom: 1em;
  background: transparent;
  transition: 0.3s;
}
#header .initbox {
  line-height: 1;
}
#header .initbox .flex {
  align-items: flex-end;
  justify-content: space-between;
}
#header .initbox .flex h1 img {
  height: 2.5rem;
}
#header .initbox .flex .spsitenav {
  display: none;
  justify-content: center;
  align-items: center;
  width: 4rem;
  height: 4rem;
  position: fixed;
  top: 1em;
  right: 1em;
  background: white;
  border-radius: 50%;
  z-index: 11;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  #header .initbox .flex .spsitenav {
    display: flex;
  }
}
#header .initbox .flex .spsitenav span {
  display: inline-block;
  position: relative;
  width: 60%;
  height: 3px;
  background: #003e7f;
  border-radius: 3px;
  margin-top: -15px;
}
#header .initbox .flex .spsitenav span:before, #header .initbox .flex .spsitenav span:after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 3px;
  background: #003e7f;
  border-radius: 2px;
  position: absolute;
  left: 0;
  transform-origin: center;
}
#header .initbox .flex .spsitenav span:before {
  top: 8px;
  transition: 0.5s;
}
#header .initbox .flex .spsitenav span:after {
  top: 16px;
}
#header .initbox .flex #spsitenav-check {
  display: none;
}
@media screen and (max-width: 768px) {
  #header .initbox .flex #spsitenav-check:checked + .spsitenav span {
    top: 7px;
    transform: rotate(-45deg);
  }
  #header .initbox .flex #spsitenav-check:checked + .spsitenav span::before {
    top: 0;
    transform: rotate(90deg);
  }
  #header .initbox .flex #spsitenav-check:checked + .spsitenav span::after {
    display: none;
  }
  #header .initbox .flex #spsitenav-check:checked ~ nav.global {
    display: block;
  }
}
#header .initbox .flex nav.global ul {
  flex-wrap: nowrap;
  justify-content: right;
}
#header .initbox .flex nav.global ul li {
  display: inline-block;
  margin-right: 1em;
  list-style: none;
}
#header .initbox .flex nav.global ul li a {
  color: white;
  text-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
  text-decoration: none;
}
#header .initbox .flex nav.global ul li a:hover {
  color: #e1680c;
}
@media screen and (max-width: 768px) {
  #header .initbox .flex nav.global {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 80vh;
    background: rgba(0, 0, 0, 0.8);
    z-index: 10;
  }
  #header .initbox .flex nav.global ul {
    flex-wrap: wrap;
    justify-content: center;
  }
  #header .initbox .flex nav.global ul li {
    width: 100%;
    margin-right: 0;
  }
  #header .initbox .flex nav.global ul li a {
    display: flex;
    text-align: center;
    height: 13.3333333333vh;
    justify-content: center;
    align-items: center;
    border-bottom: 1px dotted white;
  }
}
#header.fixed {
  background: rgba(255, 255, 255, 0.8);
  border-radius: 8px;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
}
#header.fixed .initbox .flex nav.global ul li a {
  color: black;
  text-shadow: none;
}
@media screen and (max-width: 768px) {
  #header.fixed .initbox .flex nav.global ul li a {
    color: white;
  }
}
#header.fixed .initbox .flex nav.global ul li a:hover {
  color: #e1680c;
}

#contents #pagefvbox {
  background: #3786c7;
  padding-top: 8rem;
  margin-bottom: 1rem;
}
#contents #pagefvbox .mvbox {
  height: 20vh;
  line-height: 20vh;
  background: url(../img/home/header_bg.jpg) no-repeat 50% 100%;
  background-size: cover;
  position: relative;
}
#contents #pagefvbox .mvbox::after {
  content: "";
  background: rgba(0, 0, 0, 0.3);
  width: 80%;
  height: 100%;
  border-radius: 50%;
  filter: blur(100px);
  opacity: 0.8;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
}
#contents #pagefvbox .mvbox h2 {
  font-size: clamp(2.4rem, 4vw, 4rem);
  color: white;
  text-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
  text-align: center;
  position: relative;
  z-index: 1;
}
#contents #breadcrumbs {
  margin-bottom: 5rem;
}
#contents h3.contenttitle {
  text-align: center;
  color: #003e7f;
  font-size: 3.2rem;
  position: relative;
  line-height: 1;
  margin-bottom: 6rem;
}
#contents h3.contenttitle span {
  font-size: 1.6rem;
  display: block;
  padding-top: 0.5em;
}
#contents h3.contenttitle::after {
  content: "";
  position: absolute;
  bottom: -2rem;
  left: 50%;
  display: inline-block;
  background: #003e7f;
  width: 6rem;
  height: 5px;
  border-radius: 2px;
  transform: translateX(-50%);
}
#contents .btnunitbox {
  text-align: center;
  margin: 8rem 0;
}
#contents .btnunitbox a {
  text-decoration: none;
  font-weight: bold;
  font-size: clamp(2.6rem, 2vw, 2.8rem);
  padding: 0.5em 3em;
  line-height: 1;
  background: #003e7f;
  color: #fdd000;
  position: relative;
}
#contents .btnunitbox a::after {
  font-family: "Material Symbols Outlined";
  content: "\e5cc";
  vertical-align: middle;
  font-size: 150%;
  font-weight: 200;
  font-weight: bold;
  position: absolute;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
  transition: 0.3s;
}
#contents .btnunitbox a:hover {
  background: #e1680c;
  color: white;
}
#contents .btnunitbox a:hover::after {
  right: 0.5em;
}
@media screen and (max-width: 768px) {
  #contents .btnunitbox {
    margin: 3rem 0;
  }
  #contents .btnunitbox a {
    font-size: 2rem;
    padding: 1em 0;
    width: 100%;
    text-align: center;
    display: block;
  }
}
#contents #footcotactbtnbox {
  background: #003e7f;
  padding: 6rem 0;
  text-align: center;
}
#contents #footcotactbtnbox h3.contenttitle {
  color: white;
}
#contents #footcotactbtnbox h3.contenttitle::after {
  background: white;
}
#contents #footcotactbtnbox .container .contact_btn a {
  font-size: 3.2rem;
  font-weight: bold;
  display: block;
  padding: 2% 1em;
  color: #003e7f;
  border: 2px solid #3786c7;
  text-align: center;
  background: white;
  text-decoration: none;
}
#contents #footcotactbtnbox .container .contact_btn a:hover {
  background: #3786c7;
  color: white;
}
@media screen and (max-width: 768px) {
  #contents #footcotactbtnbox .container .contact_btn a {
    font-size: 1.8rem;
  }
}
#contents #footcotactbtnbox .container .contact_btn + .contact_btn {
  margin-top: 2rem;
}
#contents #footcotactbtnbox #footcotactbtn.fixed:not(.isset) {
  position: fixed;
  bottom: 0;
  left: 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
}
#contents #footcotactbtnbox #footcotactbtn.fixed:not(.isset) .contact_btn {
  width: 50%;
  margin: 0;
  line-height: 1;
}
#contents #footcotactbtnbox #footcotactbtn.fixed:not(.isset) .contact_btn:first-child a {
  border-right: none;
}

#content__home #fvbox {
  width: 100%;
}
#content__home #fvbox .mvbox {
  height: 80vh;
  background: url(../img/home/header_bg.jpg) no-repeat 50% 100%;
  background-size: cover;
}
#content__home #fvbox .mvbox picture {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
#content__home #fvbox .mvbox picture img {
  max-width: 80%;
  max-height: 60vh;
}
#content__home #fvbox h2 {
  height: 20vh;
  background: radial-gradient(#00A9E7, #032A74);
  display: flex;
  justify-content: center;
  align-items: center;
}
#content__home #fvbox h2 span {
  color: #fdd000;
  font-size: clamp(3rem, 5vw, 5.2rem);
  line-height: 1.25;
  text-align: center;
}
#content__home #point {
  text-align: center;
  background: #f6f0e7;
  padding: 5rem 0;
}
#content__home #point h2 {
  font-size: clamp(3rem, 5vw, 5.2rem);
  line-height: 1.25;
}
#content__home #point h2 .redtext {
  font-size: 120%;
}
#content__home #point h3 {
  margin: 1rem 0 2em;
  font-size: clamp(2.6rem, 2vw, 2.8rem);
  line-height: 1.25;
}
#content__home #point ol {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  #content__home #point ol {
    justify-content: center;
  }
}
#content__home #point ol li {
  list-style: none;
  padding: 0.25em 0;
  width: calc((100% - 2rem) / 3);
  background: linear-gradient(to right, #032A74, #00A9E7 50%, #032A74);
  text-align: center;
  color: #fdd000;
  font-size: clamp(2.6rem, 2vw, 2.8rem);
  font-weight: bold;
  margin-bottom: 1rem;
  position: relative;
}
@media only screen and (min-width: 769px) and (max-width: 960px) {
  #content__home #point ol li {
    width: calc((100% - 1rem) / 2);
  }
}
@media screen and (max-width: 768px) {
  #content__home #point ol li {
    width: 90%;
  }
}
#content__home #point ol li::after {
  content: "";
  position: absolute;
  display: block;
  width: 2em;
  height: 100%;
  background: url(../img/home/point.png) no-repeat 0 50%;
  background-size: contain;
  top: -1rem;
  left: -1rem;
}
#content__home #point .btnunitbox a {
  border-radius: 1.5em;
}
#content__home #voice {
  padding: 5rem 0;
  text-align: center;
}
#content__home #voice h4 {
  font-size: clamp(2.6rem, 2vw, 2.8rem);
  position: relative;
  display: inline-block;
  margin: 0 auto 2em auto;
}
#content__home #voice h4::before, #content__home #voice h4::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 0;
  height: 1.5em;
  border-left: 2px solid #003e7f;
}
@media screen and (max-width: 768px) {
  #content__home #voice h4::before, #content__home #voice h4::after {
    height: 3em;
  }
}
#content__home #voice h4::before {
  left: -1em;
  transform: translateY(-50%) rotate(-30deg);
}
@media screen and (max-width: 768px) {
  #content__home #voice h4::before {
    transform: translateY(-50%) rotate(-15deg);
  }
}
#content__home #voice h4::after {
  right: -1em;
  transform: translateY(-50%) rotate(30deg);
}
@media screen and (max-width: 768px) {
  #content__home #voice h4::after {
    transform: translateY(-50%) rotate(15deg);
  }
}
#content__home #voice .voicelist.flex {
  justify-content: center;
}
#content__home #voice .voicelist.flex li {
  width: calc((100% - 4rem) / 3);
  list-style: none;
  margin: 0 2rem;
  text-align: left;
}
#content__home #voice .voicelist.flex li .image {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
}
#content__home #voice .voicelist.flex li .image > * {
  width: 48%;
}
#content__home #voice .voicelist.flex li .image > *:last-child {
  aspect-ratio: 1/1;
  border-radius: 50%;
  overflow: hidden;
}
#content__home #voice .voicelist.flex li .category span {
  display: inline-block;
  background: #999999;
  color: white;
  padding: 0 1em;
  margin-right: 0.5em;
}
#content__home #voice .voicelist.flex li h5 {
  font-size: clamp(1.8rem, 1.5vw, 2rem);
  color: #3786c7;
}
@media screen and (max-width: 768px) {
  #content__home #voice .voicelist.flex li {
    width: 100%;
  }
  #content__home #voice .voicelist.flex li + li {
    margin-top: 2rem;
  }
}
#content__home #voice .btnunitbox a {
  border-radius: 1.5em;
}
#content__home #doyouknow {
  padding: 5rem 0;
  text-align: center;
  background: #c8161d;
  color: white;
}
#content__home #doyouknow .initbox2 {
  margin: 2.5rem auto;
  padding: 2.5rem;
  background: white;
  border-radius: 8px;
  color: black;
}
#content__home #doyouknow .initbox2 p {
  font-weight: bold;
  margin-bottom: 1em;
}
#content__home #doyouknow .initbox2 p .redtext {
  font-size: 150%;
}
@media screen and (max-width: 768px) {
  #content__home #doyouknow .initbox2 p {
    text-align: left;
  }
}
#content__home #doyouknow .initbox2 .btnunitbox {
  margin: 3rem 0;
}
#content__home #doyouknow .initbox2 .btnunitbox label {
  transition: 0.3s;
}
#content__home #doyouknow .initbox2 .btnunitbox label.open {
  text-decoration: none;
  font-weight: bold;
  font-size: clamp(2.6rem, 2vw, 2.8rem);
  padding: 0.5em 3em;
  line-height: 1;
  background: #003e7f;
  color: #fdd000;
  border-radius: 1.5em;
  cursor: pointer;
  position: relative;
}
#content__home #doyouknow .initbox2 .btnunitbox label.open::after {
  font-family: "Material Symbols Outlined";
  content: "\e5cc";
  vertical-align: middle;
  font-size: 150%;
  font-weight: 200;
  font-weight: bold;
  position: absolute;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
  transition: 0.3s;
}
#content__home #doyouknow .initbox2 .btnunitbox label.open:hover {
  background: #e1680c;
  color: white;
}
#content__home #doyouknow .initbox2 .btnunitbox label.open:hover::after {
  right: 0.5em;
}
@media screen and (max-width: 768px) {
  #content__home #doyouknow .initbox2 .btnunitbox label.open {
    font-size: 2rem;
    padding: 1em 0;
    width: 100%;
    text-align: center;
    display: block;
  }
  #content__home #doyouknow .initbox2 .btnunitbox label.open::after {
    right: 0.25em;
  }
}
#content__home #doyouknow .initbox2 .btnunitbox label.close {
  position: absolute;
  top: 1em;
  right: 1em;
  color: white;
  font-weight: bold;
  cursor: pointer;
}
#content__home #doyouknow .initbox2 .btnunitbox label.close::before {
  font-family: "Material Symbols Outlined";
  content: "\e5c9";
  vertical-align: middle;
  font-size: 150%;
  font-weight: 200;
  margin-right: 0.25em;
}
@media screen and (max-width: 768px) {
  #content__home #doyouknow .initbox2 .btnunitbox label.close {
    position: fixed;
  }
}
#content__home #doyouknow #priceincrease_detail {
  display: none;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  background: rgba(0, 0, 0, 0.9);
  padding: 3rem 0;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 15;
}
#content__home #doyouknow #priceincrease_detail table {
  width: 80%;
  border-collapse: separate;
  border-spacing: 1px;
}
#content__home #doyouknow #priceincrease_detail table caption {
  text-indent: -1em;
  margin: 1em 0 0 1em;
  font-size: 1.2rem;
  caption-side: bottom;
  text-align: left;
  color: white;
}
#content__home #doyouknow #priceincrease_detail table col {
  background: #EFEFEF;
  color: black;
}
#content__home #doyouknow #priceincrease_detail table col.col3 {
  background: #FDE7C6;
}
#content__home #doyouknow #priceincrease_detail table col.col4 {
  color: #c8161d;
  font-weight: bold;
}
#content__home #doyouknow #priceincrease_detail table thead th {
  padding: 0.25em 1em;
  background: #006396;
  color: white;
}
#content__home #doyouknow #priceincrease_detail table thead th:nth-child(3) {
  background: #c8161d;
}
#content__home #doyouknow #priceincrease_detail table thead th:nth-child(4) {
  background: #006396;
}
#content__home #doyouknow #priceincrease_detail table tbody tr td {
  padding: 0.25em 1em;
}
#content__home #doyouknow #priceincrease_detail table tbody tr td:first-child {
  text-align: left;
}
#content__home #doyouknow #priceincrease_detail table tbody tr td:nth-child(3), #content__home #doyouknow #priceincrease_detail table tbody tr td:nth-child(4) {
  color: #c8161d;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #content__home #doyouknow #priceincrease_detail {
    overflow: scroll;
    padding-top: 4em;
  }
  #content__home #doyouknow #priceincrease_detail table caption {
    font-size: 1rem;
    width: calc(100vw - 4em);
    position: fixed;
    left: 5vw;
    bottom: 1em;
  }
  #content__home #doyouknow #priceincrease_detail table th,
  #content__home #doyouknow #priceincrease_detail table td {
    white-space: nowrap;
  }
}
#content__home #doyouknow #priceincrease {
  display: none;
}
#content__home #doyouknow #priceincrease:checked ~ #priceincrease_detail {
  display: flex;
}
@media screen and (max-width: 768px) {
  #content__home #doyouknow #priceincrease:checked ~ #priceincrease_detail {
    display: block;
  }
}
#content__home #doyouknow h3 {
  font-size: clamp(3rem, 5vw, 5.2rem);
  display: inline-block;
  margin: 0 auto;
  text-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
}
#content__home #doyouknow h3 span {
  background: linear-gradient(to bottom, transparent, transparent 70%, #fdd000 70%, #fdd000);
}
#content__concept #lead {
  margin-bottom: 3rem;
}
#content__concept #lead .flex .text {
  width: 63%;
}
#content__concept #lead .flex .image {
  width: 33%;
}
@media screen and (max-width: 768px) {
  #content__concept #lead .flex {
    flex-wrap: wrap;
  }
  #content__concept #lead .flex .text {
    width: 100%;
    order: 2;
  }
  #content__concept #lead .flex .image {
    width: 100%;
    order: 1;
  }
}
#content__concept #sdgs {
  margin-bottom: 10rem;
}
#content__concept #sdgs .sdgslogo {
  display: block;
  margin-bottom: 3rem;
}
#content__concept #sdgs .flex.c4 > li {
  list-style: none;
  width: calc((100% - 9rem) / 4);
}
@media screen and (max-width: 768px) {
  #content__concept #sdgs .flex.c4 > li {
    width: calc((100% - 1rem) / 2);
  }
}
#content__service #lead {
  margin-bottom: 3rem;
}
#content__service #lead .flex .text {
  width: 63%;
}
#content__service #lead .flex .text h4 {
  font-size: clamp(2.6rem, 2vw, 2.8rem);
}
#content__service #lead .flex .image {
  width: 33%;
}
@media screen and (max-width: 768px) {
  #content__service #lead .flex {
    flex-wrap: wrap;
  }
  #content__service #lead .flex .text,
  #content__service #lead .flex .image {
    width: 100%;
  }
}
#content__service #point {
  text-align: center;
  background: #f6f0e7;
  padding: 5rem 0 10rem 0;
}
#content__service #point h2 {
  font-size: clamp(3rem, 5vw, 5.2rem);
  line-height: 1.25;
}
#content__service #point h2 .redtext {
  font-size: 120%;
}
#content__service #point h3 {
  margin: 1rem 0 2em;
  font-size: clamp(2.6rem, 2vw, 2.8rem);
  line-height: 1.25;
}
#content__service #point ol {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  #content__service #point ol {
    justify-content: center;
  }
}
#content__service #point ol li {
  list-style: none;
  padding: 0.25em 0;
  width: calc((100% - 2rem) / 3);
  background: linear-gradient(to right, #032A74, #00A9E7 50%, #032A74);
  text-align: center;
  color: #fdd000;
  font-size: clamp(2.6rem, 2vw, 2.8rem);
  font-weight: bold;
  margin-bottom: 1rem;
  position: relative;
}
@media only screen and (min-width: 769px) and (max-width: 960px) {
  #content__service #point ol li {
    width: calc((100% - 1rem) / 2);
  }
}
@media screen and (max-width: 768px) {
  #content__service #point ol li {
    width: 90%;
  }
}
#content__service #point ol li::after {
  content: "";
  position: absolute;
  display: block;
  width: 2em;
  height: 100%;
  background: url(../img/home/point.png) no-repeat 0 50%;
  background-size: contain;
  top: -1rem;
  left: -1rem;
}
#content__service #point .btnunitbox a {
  border-radius: 1.5em;
}
#content__service #point dl {
  margin-top: 5rem;
}
#content__service #point dl dt {
  font-size: clamp(2.6rem, 2vw, 2.8rem);
  font-weight: bold;
  text-align: left;
  background: #003e7f;
  color: white;
  padding: 0.75rem 0 0.5rem 1rem;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  #content__service #point dl dt {
    font-size: 2rem;
  }
}
#content__service #point dl dt::before {
  font-family: "Material Symbols Outlined";
  content: "\e834";
  vertical-align: middle;
  font-size: 150%;
  font-weight: 200;
  margin-right: 0.25em;
}
#content__service #point dl dd {
  background: white;
  padding: 3em;
}
@media screen and (max-width: 768px) {
  #content__service #point dl dd {
    padding: 1em;
  }
}
#content__service #point dl dd .point_table {
  margin: 5rem 0 2rem;
}
#content__service #point dl dd .point_table table {
  width: 100%;
  text-align: center;
}
#content__service #point dl dd .point_table table tr {
  border-top: 2px solid #003e7f;
}
#content__service #point dl dd .point_table table tr:last-child {
  border-bottom: 2px solid #003e7f;
}
#content__service #point dl dd .point_table table tr th {
  background-color: #3684c6;
  text-align: center;
  color: #fff;
  font-weight: normal;
}
#content__service #point dl dd .point_table table tr td {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  #content__service #point dl dd .point_table {
    overflow-x: scroll;
  }
  #content__service #point dl dd .point_table table tr th.jisseki {
    min-width: 5em;
  }
  #content__service #point dl dd .point_table table tr th.yoko {
    min-width: 10em;
  }
  #content__service #point dl dd .point_table table tr td {
    font-size: 1.8rem;
  }
}
#content__service #point dl dd p {
  text-align: left;
}
#content__voice #uservoice {
  margin-bottom: 10rem;
}
#content__voice #uservoice ul li {
  list-style: none;
}
#content__voice #uservoice ul li .flex.name {
  align-items: center;
  justify-content: left;
}
#content__voice #uservoice ul li .flex.name .logo {
  width: 25%;
  max-width: 200px;
  margin-right: 1rem;
}
#content__voice #uservoice ul li .flex.name .category span {
  display: inline-block;
  background: #999999;
  color: white;
  padding: 0 1em;
  margin-right: 0.5em;
}
@media screen and (max-width: 768px) {
  #content__voice #uservoice ul li .flex.name {
    margin-bottom: 1em;
    font-size: 1.6rem;
  }
  #content__voice #uservoice ul li .flex.name .logo {
    width: 50%;
    margin: 0 auto;
    text-align: center;
  }
}
#content__voice #uservoice ul li .flex .speck h3 {
  font-size: clamp(2.6rem, 2vw, 2.8rem);
  line-height: 1.25;
  color: #3786c7;
  margin-bottom: 1rem;
}
#content__voice #uservoice ul li .flex .speck .flex {
  flex-wrap: nowrap;
  align-items: center;
}
#content__voice #uservoice ul li .flex .speck .flex .image {
  width: 33%;
}
#content__voice #uservoice ul li .flex .speck .flex .image picture {
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  overflow: hidden;
}
#content__voice #uservoice ul li .flex .speck .flex .text {
  width: 63%;
}
#content__voice #uservoice ul li .flex .speck .flex .text .right {
  font-size: 80%;
}
@media screen and (max-width: 768px) {
  #content__voice #uservoice ul li .flex .speck .flex {
    flex-wrap: wrap;
  }
  #content__voice #uservoice ul li .flex .speck .flex .image {
    width: 100%;
    order: 1;
    text-align: center;
  }
  #content__voice #uservoice ul li .flex .speck .flex .image picture {
    max-width: 150px;
    margin: 1rem auto;
  }
  #content__voice #uservoice ul li .flex .speck .flex .text {
    width: 100%;
    order: 2;
  }
}
@media screen and (max-width: 768px) {
  #content__voice #uservoice ul li .flex {
    flex-wrap: wrap;
  }
  #content__voice #uservoice ul li .flex .image {
    width: 100%;
    order: 1;
  }
  #content__voice #uservoice ul li .flex .speck {
    width: 100%;
    order: 2;
  }
}
#content__voice #uservoice ul li + li {
  margin-top: 5rem;
}
#content__qa #qalist {
  margin-bottom: 10rem;
}
#content__qa #qalist .faq dl dt label {
  display: block;
  cursor: pointer;
  background: #3786c7;
  color: white;
  padding: 1rem 5rem 1rem;
  position: relative;
}
#content__qa #qalist .faq dl dt label::before, #content__qa #qalist .faq dl dt label::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
#content__qa #qalist .faq dl dt label::before {
  font-size: 3rem;
  left: 1rem;
  content: "Q";
  transform: translateY(-60%);
}
#content__qa #qalist .faq dl dt label::after {
  font-family: "Material Symbols Outlined";
  content: "\e313";
  vertical-align: middle;
  font-size: 150%;
  font-weight: 200;
  font-size: 3rem;
  right: 1rem;
  transition: 0.3s;
}
#content__qa #qalist .faq dl dd {
  display: none;
  opacity: 0;
  transition: 0.3s;
  padding: 1rem 0 1rem 5rem;
  position: relative;
}
#content__qa #qalist .faq dl dd::before {
  content: "A";
  position: absolute;
  top: 1rem;
  font-size: 3rem;
  left: 1rem;
  color: #003e7f;
  line-height: 1;
}
#content__qa #qalist .faq + .faq {
  margin-top: 3rem;
}
#content__qa #qalist .faq .faqflag {
  display: none;
}
#content__qa #qalist .faq .faqflag:checked ~ dl dt label::after {
  transform: translateY(-50%) rotate(-180deg);
}
#content__qa #qalist .faq .faqflag:checked ~ dl dd {
  display: block;
  opacity: 1;
}
#content__contact #contents {
  border-bottom: 1px solid #003e7f;
}
#content__contact #contents .table_contact {
  width: 100%;
  margin: 0 auto;
  margin-bottom: 3rem;
}
#content__contact #contents .table_contact tr:last-child {
  border-bottom: 1px solid rgba(0, 0, 0, 0.5);
}
#content__contact #contents .table_contact tr th {
  width: 30%;
  padding: 1rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.5);
  position: relative;
  text-align: left;
  padding-right: 6rem;
  font-weight: bold;
}
#content__contact #contents .table_contact tr th span.require {
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
  margin: auto;
  padding: 0.25em 0.5em;
  color: white;
  background: #003e7f;
  font-size: 1.4rem;
}
#content__contact #contents .table_contact tr td {
  width: 70%;
  padding: 1rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.5);
  background: white;
}
#content__contact #contents .table_contact tr td input[type=tel],
#content__contact #contents .table_contact tr td input[type=email],
#content__contact #contents .table_contact tr td input[type=text],
#content__contact #contents .table_contact tr td textarea {
  border: 1px solid rgba(0, 0, 0, 0.5);
  padding: 1em;
  color: black;
  zoom: 1;
  width: 100%;
}
#content__contact #contents .table_contact tr td textarea {
  width: 100%;
  height: 8em;
}
@media screen and (max-width: 768px) {
  #content__contact #contents .table_contact {
    display: block;
  }
  #content__contact #contents .table_contact tr th,
  #content__contact #contents .table_contact tr td {
    width: 100%;
    display: block;
  }
  #content__contact #contents .table_contact tr th {
    border-bottom: none;
  }
  #content__contact #contents .table_contact tr th span.require {
    position: relative;
    top: auto;
    right: auto;
    transform: none;
    margin-left: 0.5em;
  }
}
#content__contact #contents button.wpcf7-form-control,
#content__contact #contents input[type=submit],
#content__contact #contents input[type=button] {
  font-size: 1.8rem;
  font-weight: bold;
  color: white;
  cursor: pointer;
  margin: 3rem auto;
  max-width: 30rem;
  width: 100%;
  line-height: 6rem;
  text-align: center;
  display: block;
  border: 2px solid #e1680c;
  background: #e1680c;
  border-radius: 3rem;
  position: relative;
  letter-spacing: 0.25em;
  z-index: 2;
  transition: 0.3s;
}
#content__contact #contents button.wpcf7-form-control:hover,
#content__contact #contents input[type=submit]:hover,
#content__contact #contents input[type=button]:hover {
  background: white;
  color: #e1680c;
}
#content__contact #contents button.wpcf7-form-control.wpcf7c-btn-back,
#content__contact #contents input[type=submit].wpcf7c-btn-back,
#content__contact #contents input[type=button].wpcf7c-btn-back {
  background: white;
  border: 1px solid rgba(0, 0, 0, 0.5);
  color: rgba(0, 0, 0, 0.5);
}
#content__contact #contents button.wpcf7-form-control.wpcf7cp-cfm-edit-btn {
  background: rgba(0, 0, 0, 0.1);
}

#footer {
  text-align: center;
  font-size: 1.5rem;
}
#footer #pagetopbtnbox {
  position: fixed;
  bottom: 1.5em;
  right: 0.5em;
}
#footer #pagetopbtnbox a {
  display: none;
  opacity: 0;
  position: absolute;
  width: 7rem;
  aspect-ratio: 1/1;
  background: #e1680c;
  border-radius: 50%;
  text-indent: -2000em;
  bottom: 2rem;
  right: 2rem;
  z-index: 10;
  text-decoration: none;
}
#footer #pagetopbtnbox a:hover {
  background-color: #999999;
}
@media screen and (max-width: 768px) {
  #footer #pagetopbtnbox a {
    width: 5rem;
  }
}
#footer #pagetopbtnbox a::before {
  font-family: "Material Symbols Outlined";
  content: "\e316";
  vertical-align: middle;
  font-size: 150%;
  font-weight: 200;
  color: white;
  text-indent: 0;
}
#footer #pagetopbtnbox.fixed a {
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 1;
}
#footer h1 {
  margin: 5rem 0;
}
#footer h1 img {
  height: 6rem;
}
#footer h2 {
  margin-bottom: 1rem;
}
#footer h2 img {
  height: 5rem;
}
#footer small {
  margin-top: 2rem;
  display: block;
  border-top: 2px solid #eee;
  padding: 1.5rem;
  font-size: 1rem;
}
#footer small span {
  font-size: 1.4rem;
}

.grecaptcha-badge {
  display: none !important;
}

.page-parent .grecaptcha-badge {
  display: block !important;
  bottom: 50% !important;
  transform: translateY(-50%) !important;
}/*# sourceMappingURL=style.css.map */