body {
  font-family: "BIZ UDPGothic", sans-serif;
  font-weight: 400;
  font-style: normal;
  background-color: #f6fcff;
  line-height: 2rem;
  color: #000a0f;
}

.biz-bold {
  font-family: "BIZ UDPGothic", sans-serif;
  font-weight: 700;
  font-style: normal;
}
section {
  padding: 50px 0;
}

h2 {
  font-size: 2.5rem;
  text-align: center;
}

h3 {
  font-size: 2rem;
  text-align: center;
}
p {
  margin: 10px 0;
}
/***共通***/
.pc-hidden {
  display: none;
}
.content1 {
  width: 1300px;
  margin: 0 auto;
}
.content2 {
  width: 1160px;
  margin: 0 auto;
}
.content3 {
  width: 1160px;
  margin: 0 auto;
  height: auto;	
}

.link-hover {
  display: inline-block;
  transform: scale(1);
}
.link-hover:hover {
  transform: scale(1.05);
  color: #ed1c24;
}
.line-cloud-top,
.line-cloud-bottom {
  overflow: hidden;
  display: flex;
  justify-content: center;
  position: relative;
}
.line-cloud-top {
  top: -80px;
  margin-bottom: -100px;
}
.line-cloud-bottom {
  margin-top: -20px;
  margin-bottom: -40px;
}
.img-max {
  width: 110vw;
  max-width: initial;
}
.center {
  text-align: center;
}
.under {
  border-bottom: 5px solid #fff21c;
}
.small {
  font-size: 0.8em;
}

/*btn*/
.btn a {
  display: block;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  width: 300px;
  font-size: 1.2rem;
  margin: 30px auto;
  padding: 1rem;
  border-radius: 100vw;
  color: #fff;
  background: #ed1c24;
}
.btn a:hover {
  background-position: right center;
  background-size: 200% auto;
  -webkit-animation: pulse 2s infinite;
  animation: shadbtn 1.5s infinite;
  color: #fff;
}
@keyframes shadbtn {
  0% {
    box-shadow: 0 0 0 0 #ed1c24;
  }
  70% {
    box-shadow: 0 0 0 10px rgb(39 172 217 / 0%);
  }
  100% {
    box-shadow: 0 0 0 0 rgb(39 172 217 / 0%);
  }
}

/***header***/
.header {
  display: flex;
  width: 90%;
  height: 80px;
  margin: 0 auto;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 999;
}

.header-nav {
  position: relative;
  margin-right: 50px;
}

.header-nav::before {
  position: absolute;
  content: "";
  background-color: #fff;
  border: 1px solid #5e5e5e;
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
  left: -30px;
  top: -10px;
  height: 50px;
  width: 100vw;
  z-index: -1;
}

.header-nav-list {
  display: flex;
  gap: 20px;
}
.header-cloud {
  position: relative;
  z-index: 5;
  margin-left: 50px;
}
.header-cloud a {
  z-index: 5;
}
.header-cloud::before {
  content: "";
  background-image: url(../img/cloud2.png);
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  width: 200px;
  height: 250px;
  z-index: -1;
  left: -65px;
  top: -30px;
}

/***fv***/
.fv {
  height: 700px;
  display: flex;
  align-items: center;
}
.fv-gokuu {
  position: absolute;
}
.fv-box {
  background-color: #fff;
  width: 750px;
  height: 550px;
  margin-left: auto;
  padding: 20px;
  position: relative;
  z-index: -1;
}
.fv-box h2 img {
  width: 65%;
}
.fv-textbox {
  width: 50%;
  position: absolute;
  bottom: 100px;
  right: 30px;
}
.fv-box-gokuu {
  width: 23%;
  position: absolute;
}
.fbg1 {
  top: 120px;
  left: 20px;
  transform: rotate(-10deg);
}
.fbg2 {
  top: 200px;
  left: 190px;
  transform: rotate(10deg);
}
.fbg3 {
  bottom: 10px;
  left: 50px;
  transform: rotate(5deg);
}

/***about***/
.about {
  background-color: #fff;
}
.about h2 {
  margin-bottom: 50px;
}
.about-imgbox {
  display: flex;
  justify-content: space-between;
  margin: 20px 0;
}

/******/
.kotei {
  position: relative;
  overflow: hidden;
}
.kotei::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -5;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  background: url(../img/cliff.png) no-repeat;
  background-position: top;
  background-size: auto;
}

/***function***/
.function {
  padding: 50px 0 5vw;
  position: relative;
  overflow: hidden;
}
.function::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100%;
}
.function-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 50px;
  margin-bottom: 100px;
  gap: 100px 50px;
}
.function-box-item {
  width: calc(50% - 50px);
}
.function-box-title {
  font-size: 1.5rem;
  width: 60%;
  text-align: center;
  margin: 10px auto;
}

.function-box-detail {
  width: 60%;
  margin: 0 auto;
}
.function-img {
  position: absolute;
  pointer-events: none;
  z-index: -1;
}
.function-img.function-cliff {
  position: relative;
  z-index: -5;
  top: 0;
  left: 0;
  width: 70vw;
}
.function-img.function-cloud1 {
  top: 5%;
  left: max(50% - 60.7rem, 4rem);
  width: min(18vw, 300px);
  transition: 2s ease-in-out;
  animation: fuwa-cloud 4s ease-in-out infinite alternate;
}
@keyframes fuwa-cloud {
  0% {
    transform: translate(0, 0) rotate3d(1, 9, 0, 180deg);
  }
  50% {
    transform: translate(-3px, -10px) rotate3d(1, 11, 0, 180deg);
  }
  100% {
    transform: translate(0, 0) rotate3d(1, 9, 0, 180deg);
  }
}

.function-img.function-gokuu {
  bottom: 8%;
  right: clamp(4vw, -1vw, 0vw);
  width: clamp(300px, 20vw, 400px);
  transition: 2s ease-in-out;
  animation: fuwa-gokuu 4s ease-in-out -1.5s infinite alternate;
}
@keyframes fuwa-gokuu {
  0% {
    transform: translate(0, 0) rotate3d(1, -15, 0, 0deg);
  }
  50% {
    transform: translate(-10px, -5px) rotate3d(1, -12, 0, 0deg);
  }
  100% {
    transform: translate(0, 0) rotate3d(1, -15, 0, 0deg);
  }
}
.function-img.function-pc {
  top: 15%;
  right: max(50% - 60.7rem, 3rem);
  width: min(18vw, 300px);
  transition: 2s ease-in-out;
  animation: fuwa-pc 4s ease-in-out -0.5s infinite alternate;
}
@keyframes fuwa-pc {
  0% {
    transform: translate(0, 0px) rotate(8deg);
  }
  50% {
    transform: translate(0, 6px) rotate(10deg);
  }
  100% {
    transform: translate(0, 0px) rotate(8deg);
  }
}
.function-img.function-phone {
  bottom: 35%;
  left: max(50% - 60.7rem, 7.5rem);
  width: min(10vw, 180px);
  transition: 2s ease-in-out;
  animation: fuwa-phone 4s ease-in-out -1s infinite alternate;
}
@keyframes fuwa-phone {
  0% {
    transform: translate(0, 0px) rotate(10deg);
  }
  50% {
    transform: translate(2px, -9px) rotate(14deg);
  }
  100% {
    transform: translate(0, 0px) rotate(10deg);
  }
}

/***price***/
.price {
  padding: 0;
  position: relative;
}
.price-bg {
  position: relative;
  overflow: hidden;
  z-index: 2; /*
  background-color: #e0dad0; */
  padding-bottom: 100px;
  padding-top: 50px;
}
.price-bg::after {
  content: "";
  position: absolute;
  height: 430px;
  width: 150vw;
  background-color: #fff21c;
  top: 21px;
  left: -2vw;
  z-index: -1;
  border: 1px solid #000a0f;
  transform: rotate(-2deg);
}
.price::after {
  content: "";
  height: 530px;
  width: 150vw;
  position: absolute;
  background-color: #e0dad0;
  z-index: -9;
  bottom: 0;
  left: -2vw;
}
.price h2 {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  height: 8vw;
  width: 100%;
  background-position: bottom;
  background-size: cover;
  z-index: 3;
}
.price h2::before {
  position: absolute;
  content: url(../img/cloud2.png);
  z-index: -1;
  top: 2vw;
}
.price::before {
  position: absolute;
  display: block;
  content: "";
  height: 220px;
  width: 15vw;
  background-color: #fff21c;
  top: 20px;
  right: -9vw;
  z-index: 5;
  border: 1px solid #000a0f;
  transform: rotate(5deg) skewX(55deg);
}
.ribbon::before {
  position: absolute;
  content: "";
  height: 220px;
  width: 11vw;
  background-color: #fff21c;
  bottom: 50px;
  left: -7vw;
  z-index: -5;
  border: 1px solid #000a0f;
  transform: rotate(5deg) skewX(55deg);
}

.price-box1 {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
  margin: 50px 0 5px;
}

.price-box1-basic,
.price-box1-option,
.price-box1-property {
  background-color: #fff;
  padding: 30px 30px;
  border-radius: 10px;
  width: 450px;
  max-width: 500px;
}
.price-box1-basic,
.price-box1-property {
  align-self: stretch;
}
.price-box1-list {
  height: 80%;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  margin: 5px 0;
}
.price-box1-add p,
.price-box-add p {
  font-size: 50px;
}

/***qa***/
.qa {
  padding: 50px 0 0;
  background-color: #e0dad0;
}

.qa-container {
  padding: 50px;
}

.qa-list:not(:first-child) {
  margin-top: 15px;
}

.qa-title {
  background: #fff;
  cursor: pointer;
  font-size: 16px;
  padding: 20px 40px;
  position: relative;
  border-radius: 50px;
  z-index: 2;
}

.qa-title:after {
  position: absolute;
  display: block;
  content: "";
  top: 40%;
  right: 30px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #000a0f;
  border-right: 2px solid #000a0f;
  transform: rotate(135deg);
  transition: all 0.3s ease-in-out;
}

.qa-title.open:after {
  transform: rotate(-45deg);
  top: 45%;
}

.qa-text {
  position: relative;
  top: -30px;
  background-color: #fff;
  display: none;
  padding: 50px 40px 20px;
  border-bottom-right-radius: 50px;
  border-bottom-left-radius: 50px;
  z-index: 1;
}

.wrap {
  overflow: hidden;
}
.semicircle {
  background: #e0dad0;
  border-bottom-left-radius: 1000px 200px;
  border-bottom-right-radius: 1000px 200px;
  border: solid 1px #000a0f;
  height: 200px;
  margin: -50px -100px 100px;
  padding-left: 100px;
  padding-right: 100px;
}

/***news***/
.news {
  overflow: hidden;
}
.news-new::before {
  content: "";
  position: absolute;
  top: -25px;
  left: -25px;
  width: 50px;
  height: 50px;
  border-radius: 50px;
  background-color: #ed1c24;
  z-index: 3;
}
.news-new::after {
  content: "new";
  position: absolute;
  top: -17px;
  left: -17px;
  width: auto;
  height: auto;
  color: #fff;
  z-index: 4;
}

:root {
  --easing: cubic-bezier(0.2, 1, 0.2, 1);
  --transition: 0.8s var(--easing);
  --color-base: #f8f8f8;
  --color-gray: #ddd;
  --color-theme: #f5695f;
  --color-theme-darken: #f12617;
  --box-shadow: 0.8rem 0.8rem 1.2rem rgba(0, 0, 0, 0.05),
    -0.8rem -0.8rem 1.2rem #fff;
  --box-shadow-hover: 1rem 1rem 1.5rem rgba(0, 0, 0, 0.08),
    -1rem -1rem 1.5rem #fff;
  --box-shadow-inset: inset 0.8rem 0.8rem 1.2rem rgba(0, 0, 0, 0.05),
    inset -0.8rem -0.8rem 1.2rem #fff;
  --box-shadow-dark: 0.8rem 0.8rem 1.2rem rgba(0, 0, 0, 0.1),
    -0.8rem -0.8rem 1.2rem rgba(#fff, 0.2);
}
.news-inner {
  position: relative;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 10rem;
  padding-top: 8rem;
  padding-bottom: 8rem;
}

.slide-media,
.thumb-media {
  position: relative;
  overflow: hidden;
}
.slide-media {
  padding-top: 62.5%;
}

.slide-media img,
.thumb-media img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.slide-media img {
  height: calc(100% + 16px);
  -webkit-transform: translateY(-16px);
  transform: translateY(-16px);
}
.swiper-slide:hover .slide-media img {
  transform: scale(1.1);
}
.swiper-button-prev,
.swiper-button-next {
  display: grid;
  place-content: center;
  width: 2.4rem;
  height: 2.4rem;
  cursor: pointer;
  -webkit-transition: var(--transition);
  transition: var(--transition);
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  margin: auto;
}

.swiper-button-prev::before,
.swiper-button-next::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  border-radius: 50%;
  -webkit-box-shadow: var(--box-shadow);
  box-shadow: var(--box-shadow);
  background-color: rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: var(--box-shadow-dark);
  box-shadow: var(--box-shadow-dark);
  -webkit-transition: var(--transition);
  transition: var(--transition);
}
.swiper-button-prev::after,
.swiper-button-next::after {
  width: 0.6rem;
  height: 0.6rem;
  content: "";
  border: solid var(--color-gray);
  border-width: 3px 3px 0 0;
  border-color: #fff;
}

.swiper-button-prev::after {
  margin-left: 0.3rem;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}

.swiper-button-next::after {
  margin-right: 0.3rem;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.swiper-button-prev {
  right: 100%;
  left: 0;
}

.swiper-button-next {
  left: 96.5%;
  right: 0;
}

.swiper-button-disabled {
  pointer-events: none;
  opacity: 0;
}

.swiper {
  overflow: visible;
}

.slide {
  overflow: hidden;
  -webkit-transition: var(--transition), opacity 1s;
  transition: var(--transition), opacity 1s, box-shadow 0.3s, transform 0.3s;
  border-radius: 4px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
}
.slide img {
  -webkit-transition: var(--transition);
  transition: var(--transition);
}

.slide-content {
  padding: 1rem;
  transition: background-position 0.3s;
}

.swiper-slide:hover .slide-content {
  background-position: 0 0;
}
.slide-date {
  font-size: 1rem;
  line-height: 1;
  display: block;
}

.slide-title {
  font-size: 1rem;
  line-height: 1.6;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  height: 3.2em;
  margin-top: 1.6rem;
  text-align: left;
}

.swiper-slide:not(.swiper-slide-visible) .slide {
  pointer-events: none;
  opacity: 0.3;
}

/***profile***/
.profile {
  position: relative;
}

.profile-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.profile-content p {
  width: 30%;
}
.profile-box {
  display: flex;
  flex-direction: column;
  gap: 30px;
  width: 60%;
}
.profile-item {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.profile-index {
  background-color: #ed1c24;
  width: 10%;
  text-align: center;
  color: #fff;
  padding: 10px 5px;
}
.profile-detail {
  width: calc(90% - 10px);
}

.profile-cloud1,
.profile-cloud2 {
  position: absolute;
  width: 40vw;
  z-index: 2;
}
.profile-cloud3,
.profile-cloud4 {
  position: absolute;
  width: 40vw;
  z-index: -2;
}
.profile-cloud1 {
  top: 0;
  left: -20vw;
  transform: scale(-1, 1);
}
.profile-cloud2 {
  top: 0px;
  right: -20vw;
}
.profile-cloud3 {
  bottom: -100px;
  left: -20vw;
  transform: scale(-1, 1);
}
.profile-cloud4 {
  bottom: -100px;
  right: -20vw;
}

.displayed {
  animation: fadeUp 1s forwards;
}
@keyframes fadeUp {
  0% {
    opacity: 0;
    transform: translateY(0);
  }
  100% {
    opacity: 1;
    transform: translateY(-100px);
  }
}

.test {
  position: relative;
}
/* 奥にあるくっきりとした葉 */
.leaves {
  position: absolute;
  width: 26vw;
  max-width: 600px;
}

.leaves01 {
  left: -80px;
  bottom: 25vw;
}

.leaves02 {
  right: -80px;
  top: 5vw;
}

/* 手前にあるぼかしのかかった葉 */
.leaves-b {
  position: absolute;
  width: 30vw;
  max-width: 600px;
  z-index: 2;
}

.leaves-b01 {
  left: -10px;
  bottom: -10px;
}

.leaves-b02 {
  right: -10px;
  bottom: -10px;
}

.leaves-b03 {
  left: -10px;
  top: -10px;
}

.leaves-b04 {
  right: -10px;
  top: -10px;
}

/***footer***/
.footer {
  position: relative;
  overflow: hidden;
  height: 487px;
  gap: 50px;
  padding: 130px 0 0;
}
.footerbg {
  position: absolute;
  height: 100%;
  width: 100%;
  opacity: 50%;
  object-fit: cover; /* この一行を追加するだけ！ */
  object-position: 50% 0;
  top: 0;
  left: 0;
  z-index: -5;
}
/* .footer::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  height: 500px;
  background: url(../img/footer.png) no-repeat center top;
  background-size: auto 100%;
  opacity: 50%;
} */
.footer h2 {
  text-align: initial;
  font-size: 1.5rem;
}

.footer-gokuu-nav-list {
  display: flex;
  justify-content: space-between;
}

.footer-gokuu-nav-link {
  font-size: 1.2rem;
}
.footer-gokuu-mininav-link {
  padding-left: 1em;
}

.footer-megumi-box {
  display: flex;
  gap: 50px;
  align-items: center;
  font-size: 1.2rem;
}

.footer-img {
  position: absolute;
  bottom: 0;
  right: 150px;
  width: min(15vw, 300px);
  transform: scale(-1, 1);
}

.logo-megumiicon {
  width: 4%;
  max-width: none;
}
.logo-megumi {
  width: 15%;
  max-width: none;
}
.footer-privacy {
  text-align: center;
  display: flex;
  justify-content: center;
  gap: 30px;
}

/*TOPに戻る*/
#pagetop {
  position: fixed;
  right: 2vw;
  bottom: 1vw;
  cursor: pointer;
  z-index: 10;
  width: 6vw;
}

/*フローティングバナー*/
.floating-banner {
  position: fixed; /* バナーを追従させる */
  z-index: 9; /* 他の要素の下に隠れないように */
  bottom: 1vw; /* バナーの上下の位置 */
  right: 8vw; /* バナーの左右の位置 */
  width: 300px; /* バナーの横幅 */
}
.floating-banner__image {
  max-width: 100%; /* 画像の最大幅 */
}

/***main***/
/*breadcrumb*/
.breadcrumb {
  display: flex;
  gap: 0 20px;
  list-style: none;
  padding: 0;
  margin-bottom: 20px;
  font-size: 0.9em;
}

.breadcrumb li {
  display: flex;
  align-items: center;
}

.breadcrumb li:not(:last-child)::after {
  display: inline-block;
  width: 0.3em;
  height: 0.6em;
  margin-left: 12px;
  background-color: #333333;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  content: "";
}

.breadcrumb a {
  color: #333333;
  text-decoration: none;
}
/**/

.main-top {
  margin-top: 80px;
  position: relative;
  overflow: hidden;
  padding: 150px 0;
  height: 400px;
}
.main-top::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 0;
  right: 0;
  height: 400px;
  background: url(../img/main-top.png) no-repeat center top;
  background-size: 100% 100%;
}
.main-top h2 {
  text-align: initial;
}

.main-section {
  margin-bottom: 50px;
}

.main-section-item {
  display: flex;
  gap: 50px;
}

.main-section-item li::before {
  content: "▽";
}

/***main-function***/

.main-function-bg {
  width: 90vw;
  margin: 0 calc(50% - 50vw);
} /*
.function-bgcloudl {
  position: fixed;
  z-index: -5;
  top: 50px;
  left: 10px;
  width: 30%;
} */
.main-function-list-img {
  width: 50px;
}
.main-function-box {
  display: flex;
  gap: 60px;
  margin: 100px 0;
  padding: 50px;
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 50px;
  justify-content: center;
}

.main-function-box:nth-child(2n) {
  flex-direction: row-reverse;
}

.main-function-box-text {
  width: calc(45% - 30px);
}
.main-function-box-text h3 {
  margin: 30px 0;
}
.main-function-box-img {
  width: calc(55% - 30px);
}

.main-function {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px 50px;
}
.main-function-dl {
  border: 1px solid #000a0f;
  display: inline-block;
  text-align: center;
}
.main-function-dllist,
.main-function-dllist2 {
  display: flex;
  justify-content: center;
}
.main-function-dllist a,
.main-function-dllist2 a {
  border-left: 1px solid #000a0f;
}
.main-function-dllist a:first-of-type,
.main-function-dllist2 a:first-of-type {
  border-left: 0px solid #000a0f;
}

.main-function-dt {
  background-color: #ed1c24;
  padding: 10px 0;
  font-size: 1.8em;
  color: #fff;
}

.main-function-dd,
.main-function-dd2 {
  display: inline-block;
  width: 200px;
  margin-top: 20px;
}

/***main-price***/
.cooling-off {
  background-color: #fff;
}
#main-price {
  position: relative;
  overflow: hidden;
}
.mprice {
  position: relative;
  margin-top: 80px;
}
.mprice::before {
  content: "";
  position: absolute;
  height: 480px;
  width: 150vw;
  background-color: #fff21c;
  top: -40px;
  left: -2vw;
  z-index: -1;
  border: 1px solid #000a0f;
  margin: 0 calc(50% - 50vw);
}
.secondbtn {
  display: flex;
  gap: 8vw;
  justify-content: center;
}

/***flow***/
.flow-box {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  margin: 50px 0;
  justify-content: center;
}
.flow-box p {
  position: relative;
}
.flow-box p::before {
  content: "";
  position: absolute;
  top: 50%;
  right: -40px;
  transform: translateY(-50%);
  border: 10px solid transparent;
  border-left: 15px solid #000a0f;
}
.flow-box p:last-child::before {
  border-left: 0;
}

/***subsidy***/
#subsidy {
  margin-bottom: 80px;
}
#subsidy h2 {
  margin-bottom: 50px;
}
#subsidy h3 {
  margin: 50px 0;
}

/***news子ページ***/
.news-container {
  display: flex;
  justify-content: space-between;
}
.aaa {
  width: 0;
}
.aaa img {
  position: sticky;
  position: -webkit-sticky;
  background-color: #fff;
  border: solid 1px #000a0f;
  padding: 15px;
  top: 150px;
}
.news-body {
  width: 75%;
  background-color: #fff;
  padding: 2% 5%;
}
.news-body-img {
  width: 100%;
}
.news-side {
  width: 20%;
}
.news-side-box {
  position: sticky;
  position: -webkit-sticky;
  background-color: #fff;
  border: solid 1px #000a0f;
  padding: 15px;
  top: 150px;
}

.news-side-box dd {
  position: relative;
}
.news-side-box dd::after {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  width: 90%;
  height: 1px;
  background-color: #000a0f;
}
.news-side-box dd:last-child::after {
  width: 0;
}
.news-side-new {
  margin-top: 40px;
}
.news-side-title {
  text-align: center;
  position: relative;
}
.news-side-img {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}
.news-side-sns {
  margin-top: 40px;
}
.news-side-snsicon {
  display: flex;
  justify-content: space-between;
}
.news-side-snsicon a {
  width: calc(90% / 3);
}

/***問い合わせフォーム***/
.Form {
  margin-top: 80px;
  margin-left: auto;
  margin-right: auto;
  max-width: 780px;
}
.Form-Item,
.Form2-Item {
  padding-bottom: 24px;
  width: 100%;
  display: flex;
  flex-direction: column;
}
.Form2-Item {
  flex-direction: row;
  gap: 20px;
}
.Form2-Item p {
  width: 100%;
}
.Form-Item-Label,
.Form2-Item-Label {
  width: 100%;
  letter-spacing: 0.05em;
  font-weight: bold;
}
p.Form2-Item-Label {
  width: 300px;
}
.Form-Item-Label-Required,
.Form2-Item-Label-Required {
  border-radius: 6px;
  margin-left: 8px;
  width: 48px;
  display: inline-block;
  text-align: center;
  background: #ed1c24;
  color: #fff;
  font-size: 12px;
}
.Form-Item-Input,
.Form2-Item-Input {
  border: 1px solid #000a0f;
  border-radius: 6px;
  padding-left: 1em;
  padding-right: 1em;
  height: 40px;
  width: 100%;
  background: #fff;
}
.Form-Item-Textarea,
.Form2-Item-Textarea {
  border: 1px solid #000a0f;
  border-radius: 6px;
  padding: 1em;
  height: 216px;
  width: 100%;
  background: #fff;
}
input.Form-Btn,
input.Form-Btnback {
  display: block;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  width: 300px;
  font-size: 1.2rem;
  margin: 30px auto;
  padding: 1rem;
  border-radius: 100vw;
  border: 0px;
  color: #fff;
  background: #ed1c24;
  cursor: pointer;
}
input.Form-Btnback {
  color: #ed1c24;
  background: #f6fcff;
  border: 1px solid #000a0f;
}

.Form-Btn:hover {
  background-position: right center;
  background-size: 200% auto;
  -webkit-animation: pulse 2s infinite;
  animation: shadbtn 1.5s infinite;
  color: #fff;
}
.Form-Item label,
.Form2-Item label {
  margin-left: 30px;
  margin-right: 10px;
  white-space: nowrap;
}
a[class~="under-link"] {
  border-bottom: 1px solid #ed1c24;
  color: #ed1c24;
  font-weight: bold;
}

/***privacy***/
.privacy-box {
  width: 85%;
  margin: 0 auto;
}
.privacy-dt {
  font-weight: bold;
  margin-top: 30px;
}
.privacy-sign {
  text-align: right;
}
.privacy-ol {
  counter-reset: cnt;
}
.privacy-ol li::before {
  counter-increment: cnt;
  content: "【" counter(cnt) "】";
  margin: 0 20px;
}
.terms-ol {
  counter-reset: listnum;
}
.terms-ol li {
  margin: 0 20px;
}

.terms-ol li::before {
  counter-increment: listnum;
  content: "（" counter(listnum, katakana) "）";
}
