@charset "UTF-8";
@font-face {
  font-family: "AAG Sans";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/AAGSans-300-subset.woff2") format("woff2");
  unicode-range: U+0030, U+0031, U+0032, U+0033, U+0034;
}
@font-face {
  font-family: "AAG Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/AAGSans-400-subset.woff2") format("woff2");
  unicode-range: U+0020, U+002F, U+0041, U+0042, U+0043, U+0044, U+0045, U+0046, U+0047, U+0049, U+004C, U+004D, U+004E, U+004F, U+0050, U+0052, U+0053, U+0054, U+0055, U+0056, U+0057, U+0059;
}
main > div:first-child {
  padding-bottom: 60px;
}
main > div:first-child > section:not(.one):not(.two):not(.three):not(.four):not(.five):not(.six) {
  max-width: 1124px;
  padding: 0 20px;
  margin: 0 auto;
}
main > div:first-child > section.one {
  padding: 80px 0;
}
main > div:first-child > section.one .container {
  max-width: 1660px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
}
main > div:first-child > section.one .container > div {
  width: 600px;
  max-width: 100%;
}
main > div:first-child > section.one .container > div h2 {
  font-weight: 400;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  font-feature-settings: "palt";
  line-height: 1.4;
}
main > div:first-child > section.one .container > div h2 span:last-child {
  font-size: 62.5%;
  margin-left: 1.65em;
}
main > div:first-child > section.one .container > div p {
  line-height: 1.875;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
  padding-bottom: 0;
}
main > div:first-child > section.one .container > div p + p {
  margin-top: 45px;
}
main > div:first-child > section.one .container > div p a {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 400px;
  max-width: 100%;
  padding: 14px 20px;
  border: 1px solid #a7c19f;
  background-color: white;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
main > div:first-child > section.one .container > div p a span:first-child {
  font-size: 112.5%;
  position: relative;
}
main > div:first-child > section.one .container > div p a span:first-child::before {
  content: "";
  width: 1.15em;
  height: 1.15em;
  position: absolute;
  top: calc(50% - 0.575em);
  right: calc(100% + 0.35em);
  background-color: currentColor;
  -webkit-mask: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAydpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDEwLjAtYzAwMCA3OS5kMjBlNDY2MzAsIDIwMjUvMTIvMDktMDI6MTE6MjMgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCAyNy44IChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo5RDU1ODY4MTg0NEQxMUYxOEJFOTg5ODg0MTgxOEI3QSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo5RDU1ODY4Mjg0NEQxMUYxOEJFOTg5ODg0MTgxOEI3QSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjlENTU4NjdGODQ0RDExRjE4QkU5ODk4ODQxODE4QjdBIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjlENTU4NjgwODQ0RDExRjE4QkU5ODk4ODQxODE4QjdBIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+9dUvPwAABpBJREFUeNrs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") no-repeat center center/contain;
          mask: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAydpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDEwLjAtYzAwMCA3OS5kMjBlNDY2MzAsIDIwMjUvMTIvMDktMDI6MTE6MjMgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCAyNy44IChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo5RDU1ODY4MTg0NEQxMUYxOEJFOTg5ODg0MTgxOEI3QSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo5RDU1ODY4Mjg0NEQxMUYxOEJFOTg5ODg0MTgxOEI3QSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjlENTU4NjdGODQ0RDExRjE4QkU5ODk4ODQxODE4QjdBIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjlENTU4NjgwODQ0RDExRjE4QkU5ODk4ODQxODE4QjdBIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+9dUvPwAABpBJREFUeNrs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") no-repeat center center/contain;
}
main > div:first-child > section.one .container > div p a span:last-child {
  font-size: 85%;
  letter-spacing: 0.08em;
}
main > div:first-child > section.one .container > img {
  max-width: 100%;
  height: auto;
}
main > div:first-child > section.two {
  padding-top: 29px;
}
main > div:first-child > section.two .container {
  max-width: none;
  padding: 0;
  border-bottom: 1px solid #03ac4b;
}
main > div:first-child > section.two .container ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  -moz-column-gap: 55px;
       column-gap: 55px;
}
main > div:first-child > section.two .container ul li a {
  display: block;
  padding-bottom: 17px;
  color: #000;
  letter-spacing: 0.07em;
  font-feature-settings: "palt";
  position: relative;
}
main > div:first-child > section.two .container ul li a::before {
  content: "";
  width: calc(100% - 14px);
  height: 3px;
  background-color: #03ac4b;
  position: absolute;
  left: 0;
  bottom: 0;
  opacity: 0;
  transition: opacity 300ms ease;
}
main > div:first-child > section.two .container ul li a::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 7px;
  margin-left: 6px;
  background-color: #03ac4b;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  vertical-align: 0.1em;
}
main > div:first-child > section.two .container ul li a:hover::before {
  opacity: 1;
  transition: opacity 300ms ease;
}
main > div:first-child > section.three {
  padding: 114px 0 147px 0;
}
main > div:first-child > section.three .container {
  max-width: 1180px;
}
main > div:first-child > section.three .container h3.en {
  font-size: 103%;
  font-weight: 400;
  font-family: "AAG Sans", sans-serif;
  letter-spacing: 0.05em;
  margin-bottom: 12px;
}
main > div:first-child > section.three .container h2 {
  font-weight: 400;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  font-feature-settings: "palt";
  margin-bottom: 0.48em;
}
main > div:first-child > section.three .container p {
  line-height: 1.875;
  letter-spacing: 0.08em;
  font-feature-settings: "palt";
  padding-bottom: 30px;
}
main > div:first-child > section.three .container h3:not(.en) {
  font-size: 150%;
  font-weight: 700;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, Verdana, Meiryo, sans-serif;
  margin: 50px 0 8px 0;
}
main > div:first-child > section.three .container h3:not(.en) + p {
  font-size: 85%;
}
main > div:first-child > section.three .container .step {
  --step-gap: clamp(20px, calc((100vw - 60px - 840px) / 2), 110px);
  display: flex;
  justify-content: center;
  -moz-column-gap: var(--step-gap);
       column-gap: var(--step-gap);
  margin-top: 28px;
  overflow: hidden;
}
main > div:first-child > section.three .container .step > div {
  width: 280px;
  flex-shrink: 1;
  position: relative;
}
main > div:first-child > section.three .container .step > div:not(:last-child)::after {
  content: "";
  width: calc(100% - 185px + var(--step-gap) + 39px);
  height: 15px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='15'%3E%3Cpath d='M1 0.5L9 7.5L1 14.5' fill='none' stroke='%23059e66' stroke-width='1'/%3E%3C/svg%3E") no-repeat right center, linear-gradient(#059e66, #059e66) no-repeat left center/calc(100% - 1px) 1px;
  position: absolute;
  top: 10px;
  left: 185px;
}
main > div:first-child > section.three .container .step > div h4 {
  display: flex;
  align-items: center;
  height: 40px;
  padding-left: 72px;
  margin: -3px 0 33px 0;
}
main > div:first-child > section.three .container .step > div h4 span:first-child {
  color: #04853b;
  font-size: 105%;
  font-weight: 400;
  font-family: "AAG Sans", sans-serif;
}
main > div:first-child > section.three .container .step > div h4 span:last-child {
  color: #059e66;
  font-size: 243.75%;
  font-weight: 300;
  font-family: "AAG Sans", sans-serif;
  line-height: 1;
  letter-spacing: 0.1em;
  margin-left: 2px;
}
main > div:first-child > section.three .container .step > div h5 {
  font-size: 100%;
  font-weight: 700;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, Verdana, Meiryo, sans-serif;
  line-height: 1.875;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
}
main > div:first-child > section.three .container .step > div p {
  font-size: 82.5%;
  line-height: 1.85;
  padding: 19px 0 0 0;
}
main > div:first-child > section.four {
  overflow-x: clip;
}
main > div:first-child > section.four .container {
  max-width: 1600px;
  padding: 74px max(30px, (min(100%, 1600px) - 1120px) / 2) 123px;
  background-color: #e0ede0;
  position: relative;
}
main > div:first-child > section.four .container::before {
  content: "";
  width: min(500px, 100% - max(30px, (100% - 1120px) / 2) - 510px);
  aspect-ratio: 500/313;
  background: url(../images/pages/service/img11.png) no-repeat center center;
  background-size: contain;
  position: absolute;
  top: 0;
  right: 56px;
  transform: translateY(-27.5%);
}
main > div:first-child > section.four .container h3.en {
  font-size: 103%;
  font-weight: 400;
  font-family: "AAG Sans", sans-serif;
  letter-spacing: 0.05em;
  margin-bottom: 12px;
}
main > div:first-child > section.four .container h2 {
  font-weight: 400;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  font-feature-settings: "palt";
  margin-bottom: 4px;
}
main > div:first-child > section.four .container > p {
  font-size: 87.5%;
  line-height: 2.15;
  letter-spacing: 0.08em;
  font-feature-settings: "palt";
  padding-bottom: 0;
}
main > div:first-child > section.four .container > h3:not(.en) {
  color: #03ac4b;
  font-size: 150%;
  font-weight: 700;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, Verdana, Meiryo, sans-serif;
  letter-spacing: 0.05em;
  margin: 103px 0 3px 0;
}
main > div:first-child > section.four .container > h4 {
  font-size: 100%;
  font-weight: 400;
  margin-top: 77px;
}
main > div:first-child > section.four .container > h4 + h3:not(.en) {
  margin-top: 14px;
}
main > div:first-child > section.four .container > h3 + div {
  container-type: inline-size;
  --pie-free: max(0px, min(204px, calc(100cqw - 916px)));
  --pie-w: min(342px, calc((100cqw - 536.4px) * 1.582));
  --pie-short: clamp(0px, 822.6px - 100cqw, 70px);
  --pie-overlap-l: min(var(--pie-short), calc(var(--pie-w) * 0.2047));
  display: flex;
  align-items: flex-end;
  margin-top: 50px;
}
main > div:first-child > section.four .container > h3 + div p {
  color: #000;
  font-size: 85%;
  line-height: 1.84;
  font-feature-settings: "palt";
  padding-bottom: 0;
}
main > div:first-child > section.four .container > h3 + div > .row {
  display: flex;
  align-items: flex-end;
  min-width: 0;
  padding-left: calc(var(--pie-free) * 0.288);
  margin-right: calc(120.4px - var(--pie-w) * 0.1632);
}
main > div:first-child > section.four .container > h3 + div > .row p {
  flex-shrink: 0;
  width: 196px;
  margin-bottom: 21px;
  position: relative;
}
main > div:first-child > section.four .container > h3 + div > .row img {
  flex-shrink: 0;
  width: var(--pie-w);
  height: auto;
  margin-left: calc(-1 * var(--pie-overlap-l));
}
main > div:first-child > section.four .container > h3 + div > div:last-child {
  width: 220px;
  flex-shrink: 0;
  margin: 0 calc(var(--pie-free) * 0.283) 21px auto;
  position: relative;
}
main > div:first-child > section.four .container > h3 + div > div:last-child::before {
  content: "";
  width: 118px;
  height: 219px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='118' height='219'%3E%3Cpath d='M0.5 218.5L117.5 0.5' fill='none' stroke='%2303ac4b' stroke-width='1.2'/%3E%3C/svg%3E") no-repeat;
  position: absolute;
  left: calc(-94px - var(--pie-free) * 0.319);
  bottom: 9px;
}
main > div:first-child > section.four .container > h3 + div > div:last-child h4 {
  font-size: 100%;
  font-weight: 400;
  font-feature-settings: "palt";
}
main > div:first-child > section.four .container > h3 + div > div:last-child h3 {
  color: #03ac4b;
  font-size: 125%;
  font-weight: 700;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, Verdana, Meiryo, sans-serif;
  letter-spacing: 0.05em;
  margin: 6px 0 17px 0;
}
main > div:first-child > section.four .container > h3 + div > div:last-child p {
  line-height: 1.76;
}
main > div:first-child > section.four .container > h3 + div + h3:not(.en) {
  margin-top: 134px;
}
main > div:first-child > section.four .container > div:first-of-type {
  display: flex;
  justify-content: space-between;
  gap: 40px;
  margin-top: 42px;
}
main > div:first-child > section.four .container > div:first-of-type > div {
  width: 540px;
  padding: 17px 28px 25px 29px;
  background-color: white;
  border: 1px solid #cde3cd;
  border-radius: 30px;
}
main > div:first-child > section.four .container > div:first-of-type > div h3 {
  color: #03ac4b;
  font-size: 150%;
  font-weight: 700;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, Verdana, Meiryo, sans-serif;
  letter-spacing: 0.05em;
  margin-bottom: 15px;
}
main > div:first-child > section.four .container > div:first-of-type > div h4 {
  font-size: 100%;
  font-weight: 700;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, Verdana, Meiryo, sans-serif;
  margin: 29px 0 4px 0;
}
main > div:first-child > section.four .container > div:first-of-type > div ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
}
main > div:first-child > section.four .container > div:first-of-type > div ul li {
  min-width: 100px;
  padding: 0 15px;
  background-color: #cde3cd;
  color: #000;
  line-height: 30px;
  text-align: center;
  letter-spacing: 0.065em;
  font-feature-settings: "palt";
}
main > div:first-child > section.four .container > div:first-of-type > div h4 + ul li {
  min-width: 0;
  padding: 0 12px;
  background-color: #dddddd;
  color: #9d9d9d;
  font-size: 85%;
  letter-spacing: 0.09em;
  text-decoration: line-through;
}
main > div:first-child > section.four .container > div:first-of-type > div:last-child {
  padding-left: 31px;
}
main > div:first-child > section.four .container > div:first-of-type > div:last-child ul {
  display: block;
  margin-top: -4px;
}
main > div:first-child > section.four .container > div:first-of-type > div:last-child ul li {
  min-width: 0;
  padding: 0 0 0 16px;
  background: none;
  line-height: 1.5;
  text-align: left;
  position: relative;
}
main > div:first-child > section.four .container > div:first-of-type > div:last-child ul li::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #03ac4b;
  position: absolute;
  left: 0;
  top: calc(50% - 5px);
}
main > div:first-child > section.four .container > div:first-of-type > div:last-child p {
  font-size: 85%;
  line-height: 1.76;
  padding: 12px 0 0 0;
}
main > div:first-child > section.four .container > div:last-of-type {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin-top: 29px;
}
main > div:first-child > section.four .container > div:last-of-type > div {
  width: 250px;
  padding: 31px 24px 30px 24px;
  background-color: white;
  border: 1px solid #cde3cd;
  border-radius: 20px;
  position: relative;
}
main > div:first-child > section.four .container > div:last-of-type > div:not(:last-child)::after {
  content: "";
  width: 9px;
  height: 16px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='16'%3E%3Cpath d='M1 1L8 8L1 15' fill='none' stroke='%2304853b' stroke-width='2'/%3E%3C/svg%3E") no-repeat;
  position: absolute;
  top: 170px;
  left: calc(100% + 15px);
}
main > div:first-child > section.four .container > div:last-of-type > div p.num {
  width: 32px;
  color: white;
  font-size: 85%;
  line-height: 32px;
  text-align: center;
  background-color: #04853b;
  padding: 0;
  position: absolute;
  top: 38px;
  left: -1px;
}
main > div:first-child > section.four .container > div:last-of-type > div img {
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}
main > div:first-child > section.four .container > div:last-of-type > div h4 {
  color: #03ac4b;
  font-size: 100%;
  font-weight: 700;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, Verdana, Meiryo, sans-serif;
  margin-top: 28px;
}
main > div:first-child > section.four .container > div:last-of-type > div p:not(.num) {
  font-size: 85%;
  line-height: 1.76;
  text-align: justify;
  padding: 26px 0 0 0;
}
main > div:first-child > section.five {
  padding: 104px 0 123px 0;
}
main > div:first-child > section.five .container {
  max-width: 1180px;
}
main > div:first-child > section.five .container h3.en {
  font-size: 103%;
  font-weight: 400;
  font-family: "AAG Sans", sans-serif;
  letter-spacing: 0.05em;
  margin-bottom: 12px;
}
main > div:first-child > section.five .container h2 {
  font-weight: 400;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  font-feature-settings: "palt";
  margin-bottom: -5px;
}
main > div:first-child > section.five .container > p {
  font-size: 87.5%;
  line-height: 2.15;
  letter-spacing: 0.08em;
  font-feature-settings: "palt";
  padding-bottom: 0;
}
main > div:first-child > section.five .container > div:first-of-type {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: 54px;
}
main > div:first-child > section.five .container > div:first-of-type > img {
  width: 62.77%;
  height: auto;
}
main > div:first-child > section.five .container > div:first-of-type > div {
  width: 28.57%;
  background-color: white;
  border: 1px solid #cde3cd;
  border-radius: 16px;
  overflow: hidden;
  text-align: center;
}
main > div:first-child > section.five .container > div:first-of-type > div h4 {
  color: white;
  font-size: 112.5%;
  font-weight: 700;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, Verdana, Meiryo, sans-serif;
  line-height: 58px;
  letter-spacing: 0.05em;
  background-color: #04853b;
}
main > div:first-child > section.five .container > div:first-of-type > div p {
  font-size: 85%;
  line-height: 1.95;
  letter-spacing: 0.05em;
  font-feature-settings: "palt";
  padding: 25px 0 24px 0;
}
main > div:first-child > section.five .container > div:first-of-type > div p span {
  font-size: 225%;
  font-weight: 700;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, Verdana, Meiryo, sans-serif;
  line-height: 1.27;
  letter-spacing: 0.1em;
}
main > div:first-child > section.five .container > h3:not(.en) {
  display: flex;
  align-items: center;
  -moz-column-gap: 16px;
       column-gap: 16px;
  color: #04853b;
  font-size: 112.5%;
  font-weight: 700;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, Verdana, Meiryo, sans-serif;
  letter-spacing: 0.05em;
  margin-top: 38px;
}
main > div:first-child > section.five .container > h3:not(.en) span:first-child {
  flex-shrink: 0;
  color: white;
  line-height: 38px;
  padding: 0 21px;
  background-color: #04853b;
  border-radius: 8px;
}
main > div:first-child > section.five .container > h3 + p {
  font-weight: 700;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, Verdana, Meiryo, sans-serif;
  letter-spacing: 0.05em;
  font-feature-settings: "palt";
  line-height: 1.5;
  padding: 18px 0 0 0;
}
main > div:first-child > section.five .container > h3 + p span {
  font-size: 150%;
  letter-spacing: 0.1em;
}
main > div:first-child > section.five .container > div:last-of-type {
  display: flex;
  background-color: white;
  border: 1px solid #03ac4b;
  border-radius: 20px;
  padding: 31px 0 34px 0;
  margin-top: 51px;
}
main > div:first-child > section.five .container > div:last-of-type > div {
  width: 50%;
  padding-left: 43px;
}
main > div:first-child > section.five .container > div:last-of-type > div:last-child {
  padding-left: 45px;
  border-left: 1px solid #03ac4b;
}
main > div:first-child > section.five .container > div:last-of-type > div:last-child h4 {
  color: #333;
}
main > div:first-child > section.five .container > div:last-of-type > div:last-child li::before {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Ccircle cx='10' cy='10' r='9' fill='none' stroke='%2304853b' stroke-width='2'/%3E%3Cpath d='M5.5 10H14.5' stroke='%2304853b' stroke-width='2'/%3E%3C/svg%3E") no-repeat;
}
main > div:first-child > section.five .container > div:last-of-type h4 {
  color: #03ac4b;
  font-size: 112.5%;
  font-weight: 700;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, Verdana, Meiryo, sans-serif;
  letter-spacing: 0.05em;
  font-feature-settings: "palt";
  margin-bottom: 9px;
}
main > div:first-child > section.five .container > div:last-of-type li {
  line-height: 30px;
  letter-spacing: 0.05em;
  padding-left: 33px;
  position: relative;
}
main > div:first-child > section.five .container > div:last-of-type li::before {
  content: "";
  width: 20px;
  height: 20px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Ccircle cx='10' cy='10' r='10' fill='%2304853b'/%3E%3Cpath d='M5.5 10.2L8.6 13.2L14.5 7' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat;
  position: absolute;
  left: 0;
  top: 5px;
}
main > div:first-child > section.six .container {
  max-width: 1600px;
  padding: 91px max(30px, (min(100%, 1600px) - 1120px) / 2) 88px;
  background-color: #e0ede0;
}
main > div:first-child > section.six .container h3.en {
  font-size: 103%;
  font-weight: 400;
  font-family: "AAG Sans", sans-serif;
  letter-spacing: 0.05em;
  margin-bottom: 12px;
}
main > div:first-child > section.six .container h2 {
  font-weight: 400;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  font-feature-settings: "palt";
  margin-bottom: -5px;
}
main > div:first-child > section.six .container > p {
  font-size: 87.5%;
  line-height: 2.15;
  letter-spacing: 0.08em;
  font-feature-settings: "palt";
  padding-bottom: 0;
}
main > div:first-child > section.six .container .row {
  container-type: inline-size;
  --six-gap: clamp(20px, calc(100cqw - 948px), 91px);
  margin-top: 63px;
}
main > div:first-child > section.six .container .row > div {
  display: grid;
  grid-template-columns: 62px minmax(0, 620px) calc(240px + var(--six-gap) - 26px);
  grid-template-rows: auto 1fr;
  -moz-column-gap: 26px;
       column-gap: 26px;
  position: relative;
}
main > div:first-child > section.six .container .row > div + div {
  margin-top: 26px;
}
main > div:first-child > section.six .container .row > div p.num {
  grid-column: 1;
  grid-row: 1;
  align-self: center;
  color: #04853b;
  font-size: 243.75%;
  font-weight: 300;
  font-family: "AAG Sans", sans-serif;
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
  padding: 0;
}
main > div:first-child > section.six .container .row > div:not(:last-child)::after {
  content: "";
  width: 1px;
  background-color: #04853b;
  position: absolute;
  left: 30px;
  top: 53px;
  bottom: -13px;
}
main > div:first-child > section.six .container .row > div h4 {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  color: #03ac4b;
  font-size: 112.5%;
  font-weight: 700;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, Verdana, Meiryo, sans-serif;
  letter-spacing: 0.05em;
  font-feature-settings: "palt";
}
main > div:first-child > section.six .container .row > div p:not(.num) {
  grid-column: 2;
  grid-row: 2;
  font-size: 85%;
  line-height: 1.76;
  letter-spacing: 0.08em;
  font-feature-settings: "palt";
  padding: 28px 0 0 0;
}
main > div:first-child > section.six .container .row > div img {
  grid-column: 3;
  grid-row: 1/3;
  justify-self: end;
  margin-top: 12px;
}

@media screen and (max-width: 1600px) {
  main > div:first-child > section.one .container > img {
    max-width: 800px;
    width: 50%;
  }
}
@media screen and (max-width: 1400px) {
  main > div:first-child > section.one .container > div h2 {
    font-size: 3.65vw;
  }
}
@media screen and (max-width: 1320px) {
  main > div:first-child > section.four .container > h2 + p {
    max-width: 434px;
  }
  main > div:first-child > section.four .container > h2 + p br {
    display: none;
  }
}
@media screen and (max-width: 980px) {
  main > div:first-child > section.four .container {
    display: flex;
    flex-direction: column;
  }
  main > div:first-child > section.four .container::before {
    order: 1;
    width: 100%;
    max-width: 500px;
    margin: 30px auto 0 auto;
    position: static;
    transform: none;
  }
  main > div:first-child > section.four .container > h2 + p ~ * {
    order: 2;
  }
  main > div:first-child > section.four .container > div:first-of-type {
    flex-direction: column;
    align-items: center;
  }
  main > div:first-child > section.four .container > div:first-of-type > div {
    width: 70%;
  }
  main > div:first-child > section.four .container > div:last-of-type {
    flex-wrap: wrap;
    width: 100%;
    max-width: 540px;
    margin-left: auto;
    margin-right: auto;
  }
  main > div:first-child > section.four .container > div:last-of-type > div {
    width: calc((100% - 40px) / 2);
  }
  main > div:first-child > section.five .container > div:first-of-type {
    display: block;
  }
  main > div:first-child > section.five .container > div:first-of-type > img {
    width: auto;
    max-width: 100%;
    margin: 0 auto;
  }
  main > div:first-child > section.five .container > div:first-of-type > div {
    width: 320px;
    margin: 40px auto 0 auto;
  }
  main > div:first-child > section.one .container {
    display: block;
  }
  main > div:first-child > section.one .container > div h2 {
    font-size: 320%;
  }
  main > div:first-child > section.one .container > img {
    width: 100%;
    margin: 40px auto 0 auto;
  }
}
@media screen and (max-width: 768px) {
  main > div:first-child > section.six .container .row > div h4 {
    grid-column: 2/4;
  }
  main > div:first-child > section.six .container .row > div img {
    grid-row: 2;
    margin-top: 28px;
  }
  main > div:first-child > section.four .container > h3 + div {
    --pie-w: min(342px, calc((100cqw - 196px) * 1.2574));
    --pie-short: clamp(0px, 538px - 100cqw, 70px);
    flex-direction: column;
    align-items: center;
  }
  main > div:first-child > section.four .container > h3 + div > .row {
    justify-content: center;
    padding-left: 0;
    margin-right: 0;
  }
  main > div:first-child > section.four .container > h3 + div > div:last-child {
    width: -moz-fit-content;
    width: fit-content;
    margin: 80px auto 21px auto;
  }
  main > div:first-child > section.four .container > h3 + div > div:last-child::before {
    width: 100%;
    height: 1px;
    background: #03ac4b;
    left: 0;
    top: -40px;
    bottom: auto;
  }
  main > div:first-child > section.four .container > div:first-of-type > div {
    width: 100%;
  }
  main > div:first-child > section.three .container .step {
    flex-direction: column;
    align-items: center;
    row-gap: 64px;
  }
  main > div:first-child > section.three .container .step > div {
    width: 60%;
  }
  main > div:first-child > section.three .container .step > div h4 {
    justify-content: center;
    padding-left: 0;
  }
  main > div:first-child > section.three .container .step > div:not(:last-child)::after {
    width: 120px;
    height: 16px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='16'%3E%3Cpath d='M0.5 0.5L60 15L119.5 0.5' fill='none' stroke='%23059e66' stroke-width='1'/%3E%3C/svg%3E") no-repeat;
    top: calc(100% + 12px);
    left: calc(50% - 60px);
  }
  main > div:first-child > section.five .container > div:last-of-type {
    display: block;
    padding: 31px 30px 34px 30px;
  }
  main > div:first-child > section.five .container > div:last-of-type > div {
    width: auto;
    padding-left: 0;
  }
  main > div:first-child > section.five .container > div:last-of-type > div:last-child {
    padding: 28px 0 0 0;
    margin-top: 28px;
    border-left: none;
    border-top: 1px solid #03ac4b;
  }
  main > div:first-child > section.one .container > div h2 {
    font-size: 6.65vw;
  }
  main > div:first-child > section.one .container > div {
    margin: 0 auto;
    text-align: center;
  }
  main > div:first-child > section.one .container > div p a {
    margin: 0 auto;
  }
}
@media screen and (max-width: 580px) {
  main > div:first-child > section.six .container .row > div {
    grid-template-columns: 62px minmax(0, 1fr);
  }
  main > div:first-child > section.six .container .row > div h4 {
    grid-column: 2;
  }
  main > div:first-child > section.six .container .row > div img {
    grid-column: 2;
    grid-row: 3;
    justify-self: start;
    max-width: 100%;
    height: auto;
    margin-top: 20px;
  }
  main > div:first-child > section.four .container > h3 + div > .row {
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
  }
  main > div:first-child > section.four .container > h3 + div > .row p {
    order: 1;
    width: auto;
    margin: 20px 0 0 0;
  }
  main > div:first-child > section.four .container > h3 + div > .row img {
    width: 100%;
    margin-left: 0;
  }
  main > div:first-child > section.four .container > div:last-of-type {
    flex-direction: column;
    align-items: center;
  }
  main > div:first-child > section.four .container > div:last-of-type > div {
    width: 250px;
    max-width: 100%;
  }
  main > div:first-child > section.four .container > div:last-of-type > div:not(:last-child)::after {
    width: 16px;
    height: 9px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='9'%3E%3Cpath d='M1 1L8 8L15 1' fill='none' stroke='%2304853b' stroke-width='2'/%3E%3C/svg%3E") no-repeat;
    top: calc(100% + 15px);
    left: calc(50% - 8px);
  }
  main > div:first-child > section.three .container .step > div {
    width: 90%;
  }
  main > div:first-child > section.five .container > div:first-of-type > div {
    width: 100%;
  }
}
