html {
    font-size: 10px;
    scroll-padding-top: 160px;
  }
body {
  margin: 0;
  background-color: #fff;
  color: #282828;
  font-family: "游明朝", "Yu Mincho", "YuMincho", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%; 
  word-wrap: break-word;
  -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
h2 span,
h3 span,
h4 span,
h5 span {
  display: inline-block;
}
.sp-only,
.small-only {
  display: none;
}
    
/*-- header --*/
.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  height: 100px;
  background-color: #ffffff;
  border-bottom: 1px solid #D9D9D9;
  display: flex;
  justify-content: space-between;
  padding-left: 10px;
  margin: auto;
  font-family: 'Noto Sans JP', sans-serif;
}
.header-left {
  display: flex;
  flex-direction: column;
  margin-top: 10px;
  padding-right: 20px;
}
.header h1 {
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.05em;
}
.header-logo {
  width: 100%;
  max-width: 548px;
  margin-top: 13px;
}
.header-right {
  display: flex;
}
.header-contact {
  min-width: 320px;
  padding: 17px 13px 0 0;
  margin-right: clamp(130px, 19vw, 190px);
}
.header-contact-message {
  font-size: 12px;
}
.header-phone {
  max-width: 306px;
  margin-top: 4px;
}
.header-contact-bottom {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  margin-top: 1px;
}
.header-contact-time span {
  letter-spacing: 0.02em;
}
.header-contact-workday span {
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #399D26;
}
.header-inquiry {
  width: clamp(130px, 19vw, 190px);
  height: clamp(100px, 15vw, 150px);
  background-color: #C70E2E;
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  opacity: 0;
  animation-name: fade-in;
  animation-delay: 2s;
	animation-duration: 2000ms;
  animation-fill-mode: forwards;
}
.header-inquiry div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.header-inquiry div img {
  width: 24px;
  height: 19px;
}
.header-inquiry div p {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: calc(24 / 14);
  color: #FFFFFF;
  margin-top: 19px;
}

main {
  padding-top: 100px;
}

.fv {
  width: 100%;
  background-color: #FAFFF8;
}
.fv .wrapper {
  display: flex;
  overflow-x: hidden;
}
.fv .container.left {
  width: 46.9%;
  min-width: max-content;
  padding: 50px 0 41px 0;
  position: relative;
}

.fv .container.left .inner.top p:nth-child(1),
.fv .container.left .inner.top p:nth-child(1)::after {
	animation-delay: var(--animation-delay, .2s);
	animation-iteration-count: var(--iterations, 1);
	animation-duration: var(--duration, 800ms);
	animation-fill-mode: both;
	animation-timing-function: cubic-bezier(0.0, 0.0, 0.2, 1);
}

.fv .container.left .inner.top p:nth-child(1) {
	--animation-delay: var(--delay, .2s);
	--animation-duration: var(--duration, 800ms);
	--animation-iterations: var(--iterations, 1);
	position: relative;
	animation-name: clip-text;
	cursor: default;
}	
.fv .container.left .inner.top p:nth-child(2),
.fv .container.left .inner.top p:nth-child(2)::after {
	animation-delay: var(--animation-delay, .4s);
	animation-iteration-count: var(--iterations, 1);
	animation-duration: var(--duration, 800ms);
	animation-fill-mode: both;
	animation-timing-function: cubic-bezier(0.0, 0.0, 0.2, 1);
}

.fv .container.left .inner.top p:nth-child(2) {
	--animation-delay: var(--delay, .4s);
	--animation-duration: var(--duration, 800ms);
	--animation-iterations: var(--iterations, 1);
	position: relative;
	animation-name: clip-text;
	white-space: nowrap;
	cursor: default;
}	
.fv .container.left .inner.top p:nth-child(3),
.fv .container.left .inner.top p:nth-child(3)::after {
	animation-delay: var(--animation-delay, .6s);
	animation-iteration-count: var(--iterations, 1);
	animation-duration: var(--duration, 800ms);
	animation-fill-mode: both;
	animation-timing-function: cubic-bezier(0.0, 0.0, 0.2, 1);
}

.fv .container.left .inner.top p:nth-child(3) {
	--animation-delay: var(--delay, .6s);
	--animation-duration: var(--duration, 800ms);
	--animation-iterations: var(--iterations, 1);
	position: relative;
	animation-name: clip-text;
	white-space: nowrap;
	cursor: default;
}	
.fv .container.left .inner.top p::after {
  content: "";
  position: absolute;
  z-index: 999;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #399D26;
  transform: scaleX(0);
  transform-origin: 0 50%;
  pointer-events: none;
  animation-name: text-revealer;
}
.fv .container.left .inner.middle {
	animation-delay: .2s;
	animation-duration: 4000ms;
  animation-fill-mode: forwards;
	animation-name: fade-in;
}	
.fv .container.left .inner.bottom {
	animation-delay: .6s;
	animation-duration: 4000ms;
  animation-fill-mode: forwards;
	animation-name: fade-in;
}	



@keyframes clip-text {
	from {
		clip-path: inset(0 100% 0 0);
	}
	to {
		clip-path: inset(0 0 0 0);
	}
}


@keyframes text-revealer {
	
	0%, 50% {
		transform-origin: 0 50%;
	}
	
	60%, 100% {
		transform-origin: 100% 50%;		
	}

	60% {
		transform: scaleX(1);
	}
	
	100% {
		transform: scaleX(0);
	}
}

@keyframes fade-in {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

.fv .container.left .inner.top {
  position: relative;
}
.fv .container.left .inner.top::before {
  content: "";
  display: block;
  width: calc(100% + 5.7vw);
  height: 604%;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: -1;
}
.fv .container.left .inner.top p {
  padding-left: 5.7vw;
}
.fv .container.left .inner.top p span {
  display: inline-block;
}
.fv .container.left .inner.top p:nth-child(1) {
  font-size: clamp(14px, 1.62vw, 32px);
  font-weight: 600;
  line-height: calc(46/32);
}
.fv .container.left .inner.top p:nth-child(2) {
  font-size: clamp(16px, 2.15vw, 41px);
  font-weight: 600;
  line-height: calc(41/24);
  margin-top: 51px;
}
.fv .container.left .inner.top p:nth-child(3) {
  font-size: clamp(114px, 14.9vw, 286px);
  font-weight: 600;
  letter-spacing: 0.08em;
  margin-top: 51px;
  padding: 28px 0 35px 5.7vw;
  background: #E8F5E1;
}
.fv .container.left .inner.middle {
  font-size: clamp(18px, 2.46vw, 48px);
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #ffffff;
  text-align: center;
  width: fit-content;
  padding-left: 5.7vw;
  opacity: 0;
}
.fv .container.left .inner.middle p {
  padding: 1.07vw 2.5vw;
  background-color: #C70E2E;
}
.fv .container.left .inner.bottom {
  display: flex;
  align-items: center;
  width: fit-content;
  margin-left: auto;
  padding: 0.9vw 1.4vw;
  background-color: #C70E2E;
  color: #ffffff;
  opacity: 0;
}
.fv .container.left .inner.bottom p:nth-child(1) {
  font-size: clamp(16px, 2.15vw, 42px);
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: calc(42 / 28);
  margin-right: 20px;
}
.fv .container.left .inner.bottom p:nth-child(2) span:nth-child(1) {
  font-size: clamp(74px, 9.76vw, 188px);
  font-weight: 900;
}
.fv .container.left .inner.bottom p:nth-child(2) span:nth-child(2) {
  font-size: clamp(22px, 3.38vw, 64px);
  font-weight: 600;
  letter-spacing: 0;
  display: inline-block;
  margin-left: 11px;
}
.fv .container.right {
  width: 53.1%;
  overflow: hidden;
  opacity: 0;
  animation-delay: .6s;
	animation-duration: 4000ms;
  animation-fill-mode: forwards;
  animation-name: fade-in;
}
.fv .container.right img {
  aspect-ratio: 690 / 880;
}

@keyframes zoomUp {
  0% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}

.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img {
  animation: zoomUp 10s linear 0s 1 normal both;  
}

.slide-img p {
  display: block;
}

.campaign {
  width: 100%;
  padding: 140px 20px 20px;
  background-color: #FAFFF8;
  position: relative;
  z-index: 2;
}
.campaign .wrapper {
  width: 100%;
  max-width: 1000px;
  padding: 0 0 80px;
  margin: auto;
  background-color: #ffffff;
  box-shadow: 0 0 10px rgba(0, 0, 0, .28);
}
.campaign .title-box {
  width: 100%;
  max-width: 1000px;
  margin: auto;
  background-color: #399D26;
  padding: 36px 10px;
}
.campaign .title {
  font-size: clamp(22px, 3vw, 30px);
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: calc(47/30);
  color: #ffffff;
  text-align: center;
}
.campaign .description {
  font-size: clamp(17px, 2.2vw, 22px);
  font-weight: 600;
  letter-spacing: 0.05em;
  text-align: center;
  color: #ffffff;
  margin-top: 12px;
}
.campaign .container {
  width: 100%;
  margin: auto;
  position: relative;
  background-image: url(../images/bg_campaign.png);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position-y: bottom;
  padding: 90px 0 28px;
}
.campaign .inner {
  max-width: 700px;
  margin: auto;
  display: flex;
  column-gap: 20px;
}
.campaign .message {
  width: 50%;
  max-width: 350px;
  margin-left: auto;
  font-size: clamp(17px, 2.2vw, 22px);
  font-weight: 600;
  line-height: calc(40 / 22);
}
.campaign .message span.red {
  font-weight: 900;
  color: #C70E2D;
}
.campaign .image-box {
  width: calc(50% - 20px);
}
.campaign .content {
  width: 100%;
  max-width: 700px;
  margin: 8px auto 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(12px, 1.8vw, 14px);
  letter-spacing: 0.04em;
}
.campaign .content:first-of-type {
  margin: 30px auto 0;
}

.first {
  width: 100%;
  padding: 172px 20px 210px;
  background-image: url(../images/bg_first_01.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
}
.first .wrapper {
  width: 100%;
  max-width: 1040px;
  padding: 20px clamp(8px, 2.5vw, 20px);
  margin: auto;
  background-color: #F4EFDF;
  box-shadow: 0 0 10px rgba(0, 0, 0, .45);
  position: relative;
  z-index: 1;
}
.first .band {
  position: absolute;
  top: -11px;
  left: 50%;
  transform: translateX(-50%);
  width: 43vw;
  max-width: 430px;
}
.first .container {
  width: 100%;
  max-width: 960px;
  padding: 140px 12px 80px;
  margin: auto;
  background-color: #ffffff;
}
.first .title {
  font-size: clamp(30px, 3.7vw, 37px);
  font-weight: 600;
  letter-spacing: 0.01em;
  text-align: center;
  }
.first .title span {
  font-size: clamp(36px, 4.6vw, 46px);
  font-weight: 600;
  letter-spacing: 0.045em;
  text-align: center;
  color: #399D26;
  }
.first .inner {
  max-width: 700px;
  margin: 60px auto 0;
  display: flex;
  column-gap: 40px;
}
.first .message {
  width: 50%;
  max-width: 330px;
  margin-left: auto;
  font-size: clamp(22px, 2.8vw, 28px);
  font-weight: 600;
}
.first .message span.green {
  font-size: clamp(24px, 3.1vw, 31px);
  font-weight: 900;
  color: #399D26;
}
.first .message span.green.large {
  font-size: clamp(44px, 5.5vw, 55px);
  font-weight: 600;
}
.first .message span.red {
  font-size: clamp(32px, 4vw, 40px);
  font-weight: 900;
  letter-spacing: 0.04em;
  color: #C70E2E;
  display: inline-block;
  margin-top: 12px;
}
.first .message span.small {
  font-size: clamp(26px, 3.3vw, 33px);
  letter-spacing: 0.04em;
}
.first .message span.s-large {
  font-size: clamp(112px, 13.8vw, 138px);
  font-weight: 900;
  color: #C70E2E;
}
.first .message span.red.big {
  font-size: clamp(38px, 4.8vw, 48px);
  font-weight: 900;
  color: #C70E2E;
  letter-spacing: -0.03em;
}
.first .image-box {
  width: 50%;
}
.first .content {
  width: 100%;
  max-width: 700px;
  margin: 30px auto 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(16px, 1.8vw, 18px);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: calc(40 / 18);
}
.first .annotation {
  width: 100%;
  max-width: 700px;
  margin: 24px auto 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-align: end;
}
.first .list {
  width: 100%;
  max-width: 700px;
  margin: 60px auto 0;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.first .link {
  display: block;
  width: 340px;
  padding: 20px;
  background-color: #289097;
  border: 1px solid #289097;
  border-radius: 3px;
  position: relative;
}
.first .link:hover {
  background-color: #ffffff;
  color: #289097;
}
.first .link.blue {
  background-color: #285EA7;
  border: 1px solid #285EA7;
}
.first .link.blue:hover {
  background-color: #ffffff;
  color: #285EA7;
}
.first .link.green {
  background-color: #408949;
  border: 1px solid #408949;
}
.first .link.green:hover {
  background-color: #ffffff;
  color: #408949;
}
.first .link.purple {
  background-color: #6A5795;
  border: 1px solid #6A5795;
}
.first .link.purple:hover {
  background-color: #ffffff;
  color: #6A5795;
}
.first .link::after {
  display: block;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  content: '>';
  color: #ffffff;
  font-size: 0.8em;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.22);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.first .link:hover::after {
  color: #808080;
  background-color: rgba(211, 211, 211, 0.22);
}
.first .type-desc {
  font-size: 12px;
  line-height: calc(16 / 12);
  color: #ffffff;
}
.first .link:hover .type-desc {
  color: #289097;
}
.first .link.blue:hover .type-desc {
  color: #285EA7;
}
.first .link.green:hover .type-desc {
  color: #408949;
}
.first .link.purple:hover .type-desc {
  color: #6A5795;
}
.first .type-name {
  display: inline-block;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.03em;
  margin-top: 12px;
  color: #ffffff;
}
.first .link:hover .type-name {
  color: #289097;
}
.first .link.blue:hover .type-name {
  color: #285EA7;
}
.first .link.green:hover .type-name {
  color: #408949;
}
.first .link.purple:hover .type-name {
  color: #6A5795;
}

.second {
  width: 100%;
  background-image: url(../images/bg_second_01.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position-x: center;
  padding: 123px 0 254px;
}
.second .wrapper {
  width: 100%;
  margin: auto;
  padding-left: 23%;
}
.second .title {
  font-size: clamp(22px, 2.8vw, 28px);
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: calc(55 / 28);
}
.second .content {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(15px, 1.8vw, 18px);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: calc(37 / 18);
  max-width: 500px;
  margin-top: 56px;
}

/* thirdに変更する */
.third {
  width: 100%;
  background-image:  url(../images/bg_third_01.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
  padding-bottom: 100px;
}
.third .wrapper {
  width: 100%;
  max-width: 1000px;
  margin: auto;
  padding: 200px 0 140px;
  background-color: #ffffff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.17);
  position: relative;
}
.third .title-box {
  width: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  padding: 48px 10px 34px;
}
.third .title-box.top {
  background-image: url(../images/bg_third_02.jpg);
  position: absolute;
  top: -100px;
  left: 0;
}
.third .title-box.middle {
  background-image: url(../images/bg_third_03.jpg);
  position: static;
  margin-top: 50px;
  padding: 50px 10px;
}
.third .description {
  font-size: clamp(18px, 2.2vw, 22px);
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #ffffff;
  text-align: center;
}
.third .title {
  font-size: clamp(32px, 4vw, 40px);
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #ffffff;
  text-align: center;
  margin-top: 38px;
  display: flex;
  justify-content: center;
  align-items: baseline;
}
.third .title span.big {
  font-size: clamp(38px, 4.8vw, 48px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 0.7;
  color: #ffffff;
  display: inline-block;
  margin-left: 29px;
}
.third .title span.small {
  font-size: clamp(15px, 1.8vw, 18px);
  font-weight: 600;
  letter-spacing: 0;
  color: #ffffff;
  display: inline-block;
  margin-top: 6px;
  position: relative;
}
.third .title span.small::before,
.third .title span.small::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  content: '';
  width: 1em;
  height: 1px;
  background-color: #ffffff;
}
.third .title span.small::before {
  left: -1.2em;
}
.third .title span.small::after {
  right: -1.2em;
}
.third .image-box {
  width: 100%;
  max-width: 700px;
  margin: 24px auto 0;
}
.third .image-box:first-of-type {
  margin: 0 auto 0;
}
.third .box.middle + .image-box {
  width: 40%;
  margin: 0;
  padding-left: 23px;
}
.third .box.middle + .image-box.fill {
  padding-left: 0;
}
.third .inner {
  width: 100%;
  max-width: 700px;
  display: flex;
  column-gap: 60px;
  margin: 20px auto 0;
}
.third .box {
  width: 100%;
  max-width: 250px;
}
.third .label {
  font-size: clamp(15px, 1.8vw, 18px);
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #ffffff;
  background-color: #C70E2E;
  border-radius: 3px;
  padding: 5px 9px;
  margin-top: 20px;
  width: fit-content;
}
.third .price {
  display: grid;
  grid-template-areas: 
  "total big small"
  "cost cost cost";
  align-items: center;
  width: fit-content;
}
.third .price .total {
  grid-area: total;
  width: 100%;
  font-size: clamp(36px, 4.4vw, 44px);
  font-weight: 600;
  letter-spacing: 0.04em;
}
.third .price .big {
  grid-area: big;
  font-size: clamp(76px, 9.4vw, 94px);
  font-weight: 600;
  letter-spacing: 0;
  color: #C70E2E;
  margin-left: 11px;
}
.third .price .small {
  grid-area: small;
  font-size: clamp(48px, 6.1vw, 61px);
  font-weight: 600;
  letter-spacing: 0;
  color: #C70E2E;
  margin-top: 0.35em;
}
.third .price .cost {
  grid-area: cost;
  font-size: clamp(20px, 2.4vw, 24px);
  font-weight: 600;
  letter-spacing: 0;
  color: #282828;
  text-align: end;
}
.third .annotation {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(12px, 1.4vw, 14px);
  font-weight: 500;
  letter-spacing: 0.04em;
  margin-top: 10px;
}
.third .content {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(15px, 1.8vw, 18px);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: calc(37 / 18);
  max-width: 700px;
  margin: 50px auto 0;
}
.third .outer {
  width: clamp(66px, 8.2vw, 82px);
  height: clamp(66px, 8.2vw, 82px);
  margin: 40px auto 0;
  border-radius: 50%;
  background: linear-gradient(to bottom, #D1C038, #E2CF98 21%, #8E853B 42%, #D1C038 63%, #8E853B 84%, #D1C038);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.third .number {
  width: clamp(62px, 7.6vw, 76px);
  height: clamp(62px, 7.6vw, 76px);
  border-radius: 50%;
  background-image: url(../images/bg_third_num.png);
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: clamp(15px, 1.8vw, 18px);
  font-weight: 600;
  letter-spacing: 0.05em;
  text-align: center;
  color: #ffffff;
}
.third .number span {
  font-size: clamp(24px, 2.9vw, 29px);
  font-weight: 500;
  display: inline-block;
  margin-top: 2px;
}
.third .type-detail {
  font-size: clamp(18px, 2.2vw, 22px);
  font-weight: 600;
  color: #285EA7;
  text-align: center;
  margin-top: 33px;
}
.third .type-detail span {
  display: inline-block;
}
.third .inner.middle {
  width: 100%;
  max-width: 700px;
  height: max-content;
  display: flex;
  margin: 30px auto 0;
  column-gap: 0;
}
.third .box.middle {
  width: 60%;
  max-width: 420px;
}
.third .plan {
  width: 100%;
  background-color: #808080;
  padding: 10px 10px;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #ffffff;
  text-align: center;
}
.third .plan-detail {
  display: flex;  
  justify-content: flex-start;
  align-items: center;
  column-gap: 20px;
  margin-top: 10px;
}
.third .size {
  font-size: clamp(20px, 2.4vw, 24px);
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #808080;
  text-align: center;
  background-color: #ebebeb;
  border: 1px solid #eaeaea;
  padding: 16px 26px;
  white-space: nowrap;
}
.third .plan-detail ul {
  display: flex;
  flex-wrap: wrap;
}
.third .plan-detail ul li {
  font-size: clamp(15px, 1.8vw, 18px);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: calc(31/18);
  margin-right: 0.5em;
}
.third .plan-detail ul li::before {
  display: inline-block;
  content: '';
  width: 0.8em;
  height: 0.8em;
  border-radius: 50%;
  background-color: #808080;
  margin-right: 0.3em;
}


/* fourthへ変更する */
.fourth {
  width: 100%;
  background-image: url(../images/bg_fourth_01.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position-x: center;
  background-position-y: top;
  padding: 235px 0 200px;
}
.fourth .wrapper {
  width: 100%;
  max-width: 1000px;
  padding: 160px 10px 80px;
  margin: auto;
  background-color: rgba(255, 255, 255, .85);
  box-shadow: 0 0 5px rgba(0, 0, 0, .3);
  position: relative;
}
.fourth .title-box {
  width: 100%;
  max-width: 1000px;
  margin: auto;
  background: linear-gradient(to right, rgba(255, 255, 255, 0), #E4F3F5 20%, #F5E9EF 60%, #FFE3EC 80%, rgba(255, 255, 255, 0) 100%);
  padding: 36px 0;
  position: absolute;
  top: -100px;
  left: 0;
}
.fourth .description {
  font-size: clamp(18px, 2.2vw, 22px);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-align: center;
  padding: 0 10px;
}
.fourth .title {
  font-size: clamp(24px, 3vw, 30px);
  font-weight: 600;
  line-height: calc(47/30);
  color: #5C29A3;
  text-align: center;
  margin-top: 21px;
  padding: 0 10px;
}
.fourth .image-box {
  width: 100%;
  max-width: 700px;
  margin: 0 auto 0;
}
.fourth .content {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(16px, 1.8vw, 18px);
  letter-spacing: 0.04em;
  line-height: calc(37 / 18);
  max-width: 700px;
  margin: 60px auto 0;
}

.fifth {
  width: 100%;
  background: url(../images/bg_fifth_01.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
  padding: 120px 10px 155px;
}
.fifth .top-content {
  font-size: clamp(22px, 2.8vw, 28px);
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: calc(55 / 28);
  color: #ffffff;
  text-align: center;
  text-shadow: 1px 1px 5px #412D14;
}
.fifth .top-content  span {
  display: inline-block;
}
.fifth .wrapper {
  width: 100%;
  max-width: 1000px;
  margin: 72px auto 0;
  padding-bottom: 95px;
  background-color: #ffffff;
}
.fifth .image-container {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}
.fifth .title-container {
  width: 100%;
  max-width: 700px;
  margin: 45px auto 0;
  position: relative;
}
.fifth .title {
  font-size: clamp(22px, 2.8vw, 28px);
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #E58525;
}
.fifth .badge {
  position: absolute;
  top: -100px;
  right: -50px;
  width: clamp(160px, 22.7vw, 227px);
}
.fifth .main-content {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(16px, 1.8vw, 18px);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: calc(37 / 18);
  max-width: 700px;
  margin: 50px auto 0;
}
.fifth .style-container {
  width: 100%;
  max-width: 700px;
  margin: 54px auto 0;
  padding: 0 clamp(10px, 4vw, 40px) 33px;
  border: 1px solid #E58525;
  border-radius: 6px;
  position: relative;
}
.fifth .style-title {
  position: absolute;
  top: -21px;
  left: 50%;
  transform: translateX(-50%);
  width: 350px;
  padding: 11px 5px;
  background-color: #E58525;
  border-radius: 6px;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-align: center;
  color: #ffffff;
}
.fifth .style-subtitle {
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 600;
  text-align: center;
  color: #E58525;
  margin-top: 60px;
}
.fifth .style-description {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(14px, 1.6vw, 16px);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: calc(30 / 16);
  margin-top: 30px;
}
.fifth .style-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 40px;
  margin: 10px auto 0;
}
.fifth .style-label {
  width: 100%;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #ffffff;
  text-align: center;
  background-color: #808080;
  border-radius: 6px;
  padding: 8px 5px;
}
.fifth .box-inner {
  display: grid;
  grid-template-columns: 148px 1fr;
  column-gap: 10px;
  margin: 10px auto 0;
}
.fifth .price-top {
  display: flex;
}
.fifth .price .total {
  font-size: clamp(24px, 3vw, 30px);
  font-weight: 600;
  letter-spacing: 0.04em;
}
.fifth .price .label {
  font-size: clamp(15px, 1.8vw, 18px);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-align: center;
  width: 77px;
  padding: 5px 4px;
  margin-left: 7px;
  border: 1px solid #282828;
  border-radius: 3px;
}
.fifth .price-bottom {
  display: grid;
  grid-template-areas: 
  "big small"
  "cost cost";
  align-items: center;
  width: fit-content;
  margin-top: 8px;
}
.fifth .price .big {
  grid-area: big;
  font-size: clamp(78px, 9.8vw, 98px);
  font-weight: 600;
  letter-spacing: 0;
  color: #C70E2E;
}
.fifth .price .small {
  grid-area: small;
  font-size: clamp(54px, 6.9vw, 69px);
  font-weight: 600;
  letter-spacing: 0;
  color: #C70E2E;
  margin-top: 0.35em;
}
.fifth .price .cost {
  grid-area: cost;
  font-size: clamp(20px, 2.4vw, 24px);
  font-weight: 600;
  letter-spacing: 0;
  color: #282828;
  text-align: end;
}
.fifth .annotation {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(14px, 1.6vw, 16px);
  font-weight: 500;
  letter-spacing: 0.04em;
  text-align: end;
  max-width: 700px;
  margin: 18px auto 0;
}

.sixth {
  width: 100%;
  background-image: url(../images/bg_sixth_01.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 40px 0 230px;
  margin-top: 75px;
}
.sixth .wrapper {
  width: 100%;
  max-width: 800px;
  margin: auto;
  padding: 0 8px;
}
.sixth .award {
  width: clamp(130px, 16.3vw, 163px);
}
.sixth .title {
  font-size: clamp(36px, 4.5vw, 45px);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-align: center;
  line-height: 1.5;
  margin-top: -30px;
}
.sixth .title span.bottom {
  letter-spacing: 0;
}
.sixth .title span.flower {
  font-size: clamp(48px, 5.9vw, 59px);
  color: #BD5495;
}
.sixth .title span.green {
  font-size: clamp(48px, 5.9vw, 59px);
  color: #669737;
}
.sixth .title span.big {
  font-size: clamp(48px, 5.9vw, 59px);
  font-weight: 900;
  color: #5C29A3;
}


.other {
  width: 100%;
  position: relative;
}
.other .title-box {
  width: 100%;
  max-width: 1000px;
  background-image: url(../images/bg_other_01.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 58px 20px;
  position: absolute;
  top: -100px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
}
.other .description {
  font-size: clamp(18px, 2.2vw, 22px);
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #ffffff;
  text-align: center;
}
.other .description span {
  display: inline-block;
}
.other .title {
  font-size: clamp(32px, 4vw, 40px);
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #ffffff;
  text-align: center;
  margin-top: 38px;
  display: flex;
  justify-content: center;
  align-items: baseline;
}


.seventh {
  width: 100%;
  background-image:  url(../images/bg_seventh_01.jpg);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-size: cover;
  padding-bottom: 220px;
  position: relative;
  overflow: hidden;
}
.seventh .flower01 {
  position: absolute;
  top: clamp(260px, 32.6vw, 326px);
  left: -82px;
  z-index: 10;
  width: clamp(220px, 27.6vw, 360px);
}
.seventh .flower02 {
  position: absolute;
  top: clamp(710px, 88.7vw, 887px);
  right: -88px;
  z-index: 10;
  width: clamp(160px, 20.8vw, 267px);
}
.seventh .flower03 {
  position: absolute;
  bottom: 100px;
  right: -104px;
  z-index: 10;
  width: clamp(178px, 23vw, 300px);
}
.seventh .wrapper {
  width: 100%;
  max-width: 1000px;
  margin: auto;
  padding: 125px 0 90px;
  background-color: rgba(255, 255, 255, .85);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.17);
}
.seventh .container {
  width: 100%;
  max-width: 800px;
  margin: auto;
}
.seventh .type-name {
  font-size: clamp(26px, 3.2vw, 32px);
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #2E5D3D;
  margin-top: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.seventh .type-name span.big {
  font-family: 'Yutuki Midashi Mincho OTF', serif;
  font-size: clamp(42px, 5.2vw, 52px);
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #2E5D3D;
  display: inline-block;
  margin-left: 30px;
}
.seventh .type-name span.small {
  font-size: clamp(18px, 2.2vw, 22px);
  font-weight: 600;
  letter-spacing: 0.08em;
  color: #2E5D3D;
  position: relative;
  display: inline-block;
  margin-left: 30px;
}
.seventh .type-name span.small::after,
.seventh .type-name span.small::before {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  content: '';
  width: 18px;
  height: 2px;
  background-color: #2E5D3D;
}
.seventh .type-name span.small::before {
  left: -1em;
}
.seventh .image-box {
  width: 100%;
  margin-top: 40px;
}
.seventh .box {
  width: 100%;
  width: 87.5%;
  max-width: 700px;
  border: 1px solid #282828;
  border-radius: 6px;
  padding: 27px 10px;
  margin: 50px auto 0;
}
.seventh .box ul {
  width: 100%;
  max-width: 600px;
  display: flex;
  flex-wrap: wrap;
  column-gap: 2em;
  row-gap: 18px;
  margin: auto;
}
.seventh .point {
  font-size: clamp(14px, 1.6vw, 16px);
  font-weight: 500;
  letter-spacing: 0.04em;
}
.seventh .point::before {
  display: inline-block;
  content: '';
  width: 0.8em;
  height: 0.8em;
  border-radius: 50%;
  background-color: #4F805F;
  margin-right: 0.3em;
}
.seventh .plans {
  width: 87.5%;
  max-width: 700px;
  background: linear-gradient(to right ,transparent, #FAECC0 12.5%, #FAECC0 87.5%, transparent 100%);
  font-size: clamp(20px, 2.6vw, 26px);
  font-weight: 600;
  color: #408949;
  text-align: center;
  padding: 16px 10px;
  margin: 40px auto 0;
}
.seventh .plan-box {
  width: 87.5%;
  max-width: 700px;
  margin: 38px auto 0;
  padding-bottom: 12px;
}
.seventh .plan {
  width: 100%;
  background-color: #408949;
  border-radius: 20px;
  padding: 11px 10px;
  font-size: clamp(15px, 1.8vw, 18px);
  font-weight: 600;
  color: #ffffff;
  text-align: center;
}
.seventh .inner {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
}
.seventh .circle {
  width: clamp(80px, 9.8vw, 98px);
  height: clamp(80px, 9.8vw, 98px);
  border: 1px solid #727272;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 600;
  letter-spacing: 0.04em;
}
.seventh .total {
  font-size: clamp(18px, 2.2vw, 22px);
  font-weight: 600;
  letter-spacing: 0.04em;
  margin-left: 22px;
}
.seventh .total span {
  font-size: clamp(56px, 6.9vw, 69px);
  display: inline-block;
  margin-top: 6px;
}
.seventh .cost {
  font-size: clamp(96px, 12vw, 120px);
  font-weight: 600;
  letter-spacing: 0;
  color: #C70E2E;
  margin-left: 15px;
}
.seventh .cost span {
  font-size: clamp(32px, 4vw, 40px);
  font-weight: 600;
  letter-spacing: 0;
  display: inline-block;
  margin-left: 11px;
  margin-top: -4px;
}
.seventh .annotation {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(14px, 1.6vw, 16px);
  font-weight: 500;
  letter-spacing: 0.04em;
  text-align: end;
  width: 87.5%;
  max-width: 700px;
  margin: 53px auto 0;
}

.eighth {
  width: 100%;
  background: url(../images/bg_eighth_01.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 106px 10px 280px;
}
.eighth .top-content {
  font-size: clamp(32px, 4vw, 40px);
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: calc(68/ 40);
  text-align: center;
  color: #ffffff;
  text-shadow: 0 3px 6px #585169;
}
.eighth .top-content span {
  display: inline-block;
}
.eighth .wrapper {
  width: 100%;
  max-width: 1000px;
  margin: 84px auto 0;
  padding: 0 0 180px;
  background-color: #f7f7f7;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.17);
  position: relative;
}
.eighth .title-box {
  width: 100%;
  background-image: url(../images/bg_eighth_02.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  padding: 50px 10px 38px;
}
.eighth .title {
  font-size: clamp(24px, 3vw, 30px);
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: calc(51 / 30);
  color: #ffffff;
  text-align: center;
  padding: 0 10px;
}
.eighth .description {
  font-size: clamp(18px, 2.2vw, 22px);
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: calc(37 / 22);
  color: #ffffff;
  text-align: center;
  margin-top: 34px;
  padding: 0 10px;
}
.eighth .container {
  width: 100%;
  max-width: 720px;
  margin: 84px auto 0;
  padding: 0 10px;
  display: grid;
  grid-template-columns: 55% 1fr;
}
.eighth .box {
  width: 100%;
  height: fit-content;
  border: 1px solid #282828;
  border-radius: 6px;
  padding: 38px 10px 38px 35px;
}
.eighth .point {
  font-size: clamp(14px, 1.6vw, 16px);
  font-weight: 500;
  letter-spacing: 0.04em;
  margin-top: 23px;
}
.eighth .point:first-of-type {
  margin-top: 0;
}
.eighth .point::before {
  display: inline-block;
  content: '';
  width: 0.8em;
  height: 0.8em;
  border-radius: 50%;
  background-color: #6A5795;
  margin-right: 0.3em;
}
.eighth .box + .image-box {
  padding-left: 39px;
}
.eighth .plans {
  width: 87.5%;
  max-width: 700px;
  background: linear-gradient(to right ,transparent, #FAECC0 12.5%, #FAECC0 87.5%, transparent 100%);
  font-size: clamp(20px, 2.6vw, 26px);
  font-weight: 600;
  color: #408949;
  text-align: center;
  padding: 16px 10px;
  margin: 55px auto 0;
}
.eighth .plan-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 20px;
  width: 87.5%;
  max-width: 700px;
  margin: 38px auto 0;
}
.eighth .plan-box {
  width: 100%;
}
.eighth .plan {
  width: 100%;
  background-color: #6A5795;
  border-radius: 20px;
  padding: 12px 10px;
  font-size: clamp(14px, 1.6vw, 16px);
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #ffffff;
  text-align: center;
}
.eighth .inner {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 18px;
}
.eighth .circle {
  width: clamp(56px, 7vw, 70px);
  height: clamp(56px, 7vw, 70px);
  border: 1px solid #282828;
  border-radius: 3px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: clamp(15px, 1.8vw, 18px);
  font-weight: 600;
  letter-spacing: 0.04em;
}
.eighth .total {
  font-size: clamp(14px, 1.6vw, 16px);
  font-weight: 600;
  letter-spacing: 0.04em;
  margin-left: 12px;
}
.eighth .total span {
  font-size: clamp(38px, 4.8vw, 48px);
  display: inline-block;
  margin-top: 6px;
}
.eighth .cost {
  font-size: clamp(66px, 8.2vw, 82px);
  font-weight: 600;
  letter-spacing: 0;
  color: #C70E2E;
  margin-left: 6px;
}
.eighth .cost span {
  font-size: clamp(24px, 3vw, 30px);
  font-weight: 600;
  letter-spacing: 0;
  display: inline-block;
  margin-left: 5px;
  margin-top: -4px;
}
.eighth .annotation {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(14px, 1.6vw, 16px);
  font-weight: 500;
  letter-spacing: 0.04em;
  text-align: end;
  width: 87.5%;
  max-width: 700px;
  margin: 32px auto 0;
}
.eighth .title-box.bottom {
  width: 100%;
  background: linear-gradient(to right ,transparent, #E0EEFF 12.5%,#CAF1FC 45%, #FBFFE2 87.5%, transparent 100%);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  padding: 48px 10px 54px;
  position: absolute;
  bottom: 0;
  transform: translateY(50%);
}
.eighth .description.bottom {
  font-size: clamp(22px, 2.6vw, 26px);
  font-weight: 600;
  letter-spacing: 0;
  line-height: calc(46 / 26);
  color: #2C6588;
  text-align: center;
  margin-top: 0;
  padding: 0 10px;
}
.eighth .description.bottom span {
  display: inline-block;
}

.ninth {
  width: 100%;
  background-image: url(../images/bg_ninth_01.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 0 0 200px;
}
.ninth .title-box {
  width: 100%;
  padding: 144px 0 0 19.8%;
}
.ninth .description {
  font-size: clamp(20px, 2.4vw, 24px);
  font-weight: 900;
  color: #399D26;
}
.ninth .title {
  font-size: clamp(45px, 5.6vw, 56px);
  font-weight: 900;
  color: #399D26;
  margin-top: 13px;
  display: flex;
  align-items: baseline;
}
.ninth .title span.big {
  font-size: clamp(64px, 8vw, 80px);
  font-weight: 900;
}
.ninth .title span.small {
  font-size: clamp(38px, 4.8vw, 48px);
  font-weight: 900;
}
.ninth .wrapper {
  width: 100%;
  max-width: 1020px;
  padding: 80px 10px 100px;
  margin: 67px auto 0;
  background-color: rgba(255, 255, 255, 1);
  box-shadow: 0 0 5px rgba(0, 0, 0, .16);
}
.ninth .content {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(16px, 1.8vw, 18px);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: calc(37 / 18);
  max-width: 800px;
  margin: auto;
}
.ninth .cards {
  width: 100%;
  max-width: 800px;
  margin: 120px auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.ninth .card {
  width: 100%;
  max-width: 374px;
  margin-bottom: 70px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.ninth .number {
  font-family: 'a-otf-ud-shin-maru-go-pr6n', sans-serif;
  font-style: normal;
  font-weight: 300;
  font-size: clamp(13px, 1.6vw, 16px);
  color: #ffffff;
  text-align: center;
  width: fit-content;
  padding: 6px 8px 6px 8px;
  background-color: #399D26;
  border-radius: 5px 5px 0 0;
}
.ninth .number span::before {
  display: inline-block;
  content: '';
  background-image: url(../images/heart.png);
  background-repeat: no-repeat;
  background-size: cover;
  width: 0.8em;
  height: 0.65em;
  margin: 0 5px;
}
.ninth .card-inner {
  width: 100%;
  min-height: 532px;
  padding: 24px 17px 38px;
  background-color: #FAFFF8;
  border: 1px solid #399D26;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-family: 'Noto Sans JP', sans-serif;
}
.ninth .card-description {
  font-size: clamp(13px, 1.6vw, 16px);
  font-weight: 600;
}
.ninth .card-title {
  font-size: clamp(21px, 2.6vw, 26px);
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #399D26;
  margin-top: 16px;
}
.ninth .card-image {
  width: 100%;
  margin-top: 22px;
}
.ninth .card-content {
  font-size: clamp(13px, 1.6vw, 16px);
  font-weight: 500;
  line-height: calc(35/16);
  margin-top: 20px;
}

.tenth {
  width: 100%;
  background-image: url(../images/bg_tenth_01.jpg);
  background-repeat: repeat;
  padding: 0 0 210px;
}
.tenth .image-box {
  width: 100%;
  display: block;
}
.tenth .wrapper {
  width: 100%;
  max-width: 1020px;
  padding: 110px 10px 130px;
  margin: -80px auto 0;
  background-color: #FFFDF2;
  box-shadow: 0 0 5px rgba(0, 0, 0, .16);
  position: relative;
}
.tenth .content {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(16px, 1.8vw, 18px);
  letter-spacing: 0.04em;
  line-height: calc(37 / 18);
  max-width: 800px;
  margin: auto;
}
.tenth .cards {
  width: 100%;
  max-width: 800px;
  margin: 70px auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.tenth .card {
  width: 100%;
  max-width: 374px;
  margin-bottom: 50px;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
.tenth .ribbon {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: clamp(64px, 8vw, 80px);
  height: clamp(64px, 8vw, 80px);
}
.tenth .line {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 0;
  width: clamp(48px, 6vw, 60px);
  height: clamp(48px, 6vw, 60px);
}
.tenth .card-inner {
  width: 100%;
  min-height: 334px;
  padding: 47px 37px 50px;
  background-color: #ffffff;
  border: 2px solid #E6BF24;
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-family: 'Noto Sans JP', sans-serif;
}
.tenth .card-title {
  font-size: clamp(21px, 2.6vw, 26px);
  font-weight: 700;
  line-height: calc(36/26);
  text-align: center;
  color: #374095;
}
.tenth .card-description {
  font-size: clamp(13px, 1.6vw, 16px);
  font-weight: 500;
  margin-top: 19px;
}
.tenth .card-content {
  font-size: clamp(15px, 1.8vw, 18px);
  font-weight: 500;
  line-height: calc(35/16);
  margin-top: 19px;
  padding-top: 19px;
  border-top: 1px solid #C3C3C3;
}

.access {
  width: 100%;
  background-color: #FAFFF8;
  padding: 0 0 210px;
}
.access .image-box {
  display: block;
  width: 100%;
}
.access .wrapper {
  width: 100%;
  max-width: 1020px;
  padding: 105px 10px 127px;
  margin: -80px auto 0;
  background-color: #ffffff;
  box-shadow: 0 0 5px rgba(0, 0, 0, .16);
  position: relative;
  z-index: 1;
}
.access .subtitle {
  font-size: clamp(18px, 2.2vw, 22px);
  letter-spacing: 0.04em;
  font-weight: 600;
  color: #ffffff;
  line-height: calc(38 / 22);
  text-align: center;
  max-width: 800px;
  margin: auto;
  padding: 12px 10px;
  background-color: #3E7744;
}
.access .content {
  font-size: clamp(18px, 2.2vw, 22px);
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #C70E2D;
  text-align: center;
  max-width: 800px;
  margin: 22px auto 0;
}
.access .content span {
  display: inline-block;
}
.access .container {
  width: 100%;
  max-width: 800px;
  margin: 40px auto 0;
  display: flex;
  justify-content: space-between;
}
.access .inner.left {
  width: 66.6%;
  max-width: 553px;
}
.access .inner ul {
  width: 100%;
  margin-top: 24px;
}
.access .inner ul li {
  font-size: clamp(13px, 1.6vw, 16px);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 2;
  text-indent: -1em;
  margin-left: 1em;
}
.access .inner ul li::before {
  display: inline-block;
  content: '';
  width: 0.8em;
  height: 0.8em;
  border-radius: 50%;
  background-color: #4F805F;
  margin-right: 0.3em;
}
.access .inner.right {
  display: flex;
  flex-direction: column;
  row-gap: 4px;
  width: 30.8%;
  max-width: 247px;
}
.access figure:first-of-type {
  position: relative;
}
.access figure .circle {
  position: absolute;
  z-index: 2;
  top: -18px;
  right: -13px;
  width: clamp(63px, 9vw, 90px);
  height: clamp(63px, 9vw, 90px);
  border-radius: 50%;
  background-color: #E60113;
  border: 1px solid #ffffff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: clamp(14px, 1.9vw, 19px);
  font-weight: 600;
  color: #ffffff;
  line-height: calc(22 / 19);
  text-align: center;
}
.access figcaption {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
  text-align: end;
  margin-top: 4px;
}

/* Google Map */
.googlemap {
  position: relative;
  width: 100%;
  max-width: 800px;
  height: 0;
  padding-top: 44%;
  margin: 36px auto 0;
}
.googlemap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.access .address {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(13px, 1.6vw, 16px);
  letter-spacing: 0.04em;
  text-align: center;
  margin-top: 14px;
}
.access .alert {
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: calc(35/20);
  border: 1px solid #C70E2E;
  padding: 22px 27px 27px;
  max-width: 800px;
  margin: 24px auto 0;
}
.access .alert span {
  color: #C70E2E;
}
.access .annotation {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(13px, 1.4vw, 14px);
  font-weight: 500;
  letter-spacing: 0.04em;
  text-align: end;
  max-width: 800px;
  margin: 16px auto 0;
}


.entryform {
  width: 100%;
  background-color: #FAFFF8;
}
.entryform .title {
  font-size: clamp(28px, 3.5vw, 35px);
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: calc(58 / 35);
  text-align: center;
  color: #3E7744;
  padding: 104px 0 73px;
  background-image: url(../images/bg_inquiry_01.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
.main-entryform-001 p.text-001 {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(15px, 1.8vw, 18px);
  letter-spacing: 0.04em;
  text-align: center;
  margin: 60px 0;
}
.entryform table {
  font-family: 'Noto Sans JP', sans-serif;
}
.entryform p {
  font-size: clamp(15px, 1.8vw, 18px);
  letter-spacing: 0.04em;
  text-align: center;
  margin-top: 44px;
}
.entryform label.error {
  position: absolute;
  margin: -52px 0px 0px 0px;
  display: block;
  background-color: #ee0000;
  color: #ffffff;
  font-size: 10px;
  padding: 2px 15px;
  border-radius: 5px;
  -moz-opacity: 0.60;
  -khtml-opacity: 0.60;
  opacity: 0.60;
  -ms-filter:"progid:DXImageTransform.Microsoft.Alpha"(Opacity=60);
  filter: progid:DXImageTransform.Microsoft.Alpha(opacity=60);
  filter:alpha(opacity=60);
}
.entryform label.error:before {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 18px;
  border: 5px solid transparent;
  border-top: 5px solid #ee0000;
}
.entryform input.error {
  border: solid 1px #ff7777;
}
.entryform dl {
  margin: 0px;
  padding: 0px;
  display: flex;
  align-items: center;
}
.entryform dl dt {
  float: left;
}
.entryform dl dt:nth-of-type(2) {
  padding: 8px 0px 0px 15px;
  padding: 0px 0px 0px 15px;
  padding: 0px 0px 0px 1em;
}
.entryform dl dd {
  padding: 0px;
  margin: 0px 0px 0px 8px;
  margin: 0px 0px 0px 0.5em;
  float: left;
}
.entryform textarea {
  width: 100%;
  max-width: 480px;
}
.entryform table {
  max-width: 1000px;
  margin: 0px auto;
  padding: 0px;
  border: solid 1px #aaaaaa;
  border-collapse: collapse;
}
.entryform table td:nth-of-type(odd) {
  width: 256px;
  padding: 16px 16px;
  border-right: solid 1px #ffffff;
  border-bottom: solid 1px #ffffff;
  background-color: #E3E3E3;
  vertical-align: middle;
  font-size: 18px;
  letter-spacing: 0.03em;
  line-height: 1.6;
}
.entryform table td:nth-of-type(even) {
  padding: 16px 16px;
  background-color: #F5F5F5;
  border-bottom: solid 1px #ffffff;
  line-height: 2.4;
}
.entryform table td.bold {
  font-weight: 700;
}
.entryform table td.bold label {
  font-weight: 500;
}
.entryform table tr:last-of-type td {
  border-bottom: solid 1px #aaaaaa;
}
.entryform span {
  padding: 5px 9px;
  font-size: 16px;
  color: #ffffff;
  background-color: #D04343;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  vertical-align: middle;
}
.entryform input,
.entryform select {
  padding: 5px 8px;
  margin: 0 0.5em;
  font-size: 16px;
  border: solid 1px #dddddd;
}
.entryform textarea {
  padding: 5px 8px;
  font-size: 16px;
  font-family: ãƒ¡ã‚¤ãƒªã‚ª, "ï¼­ï¼³ ï¼°ã‚´ã‚·ãƒƒã‚¯", Osaka, "ãƒ’ãƒ©ã‚®ãƒŽè§’ã‚´ Pro W3", Arial, sans-serif;
}
.entryform .submit {
  max-width: 384px;
  margin: 46px auto 0;
}
.entryform .submit input {
  font-size: clamp(15px, 1.8vw, 18px);
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  color: #ffffff;
  background-color: #C70E2E;
  border-radius: 44px;
  width: 100%;
  max-width: 360px;
  margin: auto;
  padding: 21px 0;
  text-align: center;
}
.entryform .submit input:hover {
  cursor: pointer;
  background-color: #cc3333;
}


.present {
  width: 100%;
  background-color: #FAFFF8;
  padding: 166px 0 200px;
}
.present .wrapper {
  width: 100%;
  max-width: 800px;
  margin: auto;
  padding: 0 0 70px;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, .16);
  background-color: #ffffff;
}
.present h2 {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(20px, 2.4vw, 24px);
  font-weight: 700;
  color: #ffffff;
  text-align: center;
  padding: 24px 10px;
  background-color: #399D26;
}
.present h3 {
  width: 100%;
  margin: 30px auto 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(18px, 2.2vw, 22px);
  font-weight: 700;
  color: #333333;
  text-align: center;
}
.present h3 span {
  color: #399D26;
}
.present .container {
  display: grid;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 680px;
  margin: 28px auto 0;
}
.present .logo {
  width: 286px;
}
.present .contact {
  width: 308px;
}
.present .time {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 12px;
  display: flex;
  align-items: flex-end;
}
.present .time span.big {
  font-size: 14px;
  letter-spacing: 0.02em;
}
.present .time span.green {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #399D26;
}
.present .time span.bold {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #282828;
}
.present .overview {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(15px, 1.8vw, 18px);
  line-height: calc(28 / 18);
  color: #333333;
  width: 100%;
  max-width: 800px;
  margin: 60px auto 0;
  padding: 24px 24px;
  background-color: #fff;
  border: 1px solid #333333;
}


/* footer */
#footer {
  width: 100%;
  font-family: 'Noto Sans JP', sans-serif;
  color: #FFFFFF;
}
#footer .top {
  width: 100%;
  background-color: #389D25;
  padding: 36px 0 140px;
}
#footer .wrapper {
  width: 100%;
  max-width: 800px;
  margin: auto;
  display: flex;
  justify-content: space-between;
}
#footer .container.left {
  padding-top: 10px;
}
#footer p {
  font-size: clamp(13px, 1.6vw, 16px);
  font-weight: 700;
  letter-spacing: 0.03em;
}
#footer .name {
  font-size: clamp(23px, 2.8vw, 28px);
  font-weight: 700;
  letter-spacing: 0;
  margin-top: 14px;
}
#footer .footer-link {
  font-size: clamp(20px, 2.8vw, 28px);
  font-weight: 700;
  color: #ffffff;
  letter-spacing: 0;
  margin-top: 14px;
}
#footer .address,
#footer .phone a {
  font-size: clamp(12px, 1.4vw, 14px);
  font-weight: 500;
  line-height: calc(23 / 14);
  color: #ffffff;
}
#footer .address {
  margin-top: 13px;
}
#footer .container.right {
  display: flex;
  justify-content: space-between;
  column-gap: 70px;
}
#footer .container.right ul {
  display: flex;
  flex-direction: column;
  row-gap: 23px;
}
#footer .container.right ul li {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.03em;
  display: flex;
  align-items: center;  
}
#footer .container.right ul li a {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.03em;
  color: #ffffff;
}
#footer .container.right ul li::before {
  display: inline-block;
  content: '>';
  margin-right: 1.5em;
}
#footer .bottom {
  width: 100%;
  background-color: #FAFFF8;
  padding: 22px 10px;
}
#footer .copyright,
#footer .copyright a {
  font-size: 12px;
  font-weight: 500;
  color: #389D25;
  text-align: center;
}

/* thanks */
#thanks #top-slider .mask {
  position: absolute;
  width: 100%;
  background-color: #1F2C5C;
}
#thanks #top-slider .logo {
  width: 150px;
  margin: 10px auto 0;
}
#thanks .bx-wrapper {
  height: 220px;
}
#thanks #first {
  padding-top: 190px;
}
#thanks #first .text_001 {
  text-align: center;
}
/*-- privacy --*/
.privacy-main {
  background-color: #FAFFF8;
}
.privacy {
  margin: 15px 0px 25px;
  padding: 0px 25px;
  line-height: 1.85;
}
.privacy h2 {
  font-size: calc(32px * 0.78125);
  text-align: center;
  margin: 70px auto;
}
.privacy h3 {
  margin: 0px 0px 16px;
  padding: 0px;
  font-size: calc(24px * 0.78125);
  text-align: left;
  border-bottom: solid 1px #eeeeee;
}
.privacy p {
  margin: 0px 0px 16px;
  font-size: calc(24px * 0.78125);
  text-align: left;
}
  