@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Italianno&family=Noto+Sans+JP:wght@100..900&display=swap');
:root {
  --vw1920: 19.2;
	--vw1024: 10.24;
	--vw767: 7.67;
	--vw480: 4.80;
	--vw414: 4.14;
	--vw375: 3.75;
	--maxw320: 0.18;
	--sec_main: 730;
	--w85: 0.85;
	--w8570: 0.595; /*0.85 * 0.7*/
	--w70: 0.7;
	--wrap_main_left_w: 778;
	--wrap_main_left_h: 597;
	--left_wrap_circle: 508;
	--wrap_main_left_circle_w_w: 152;
	--wrap_main_left_circle_border_w: 396;
	--circle01: 48;
	--circle02: 130;
	--circle03: 130;
	--circle04: 48;
	--circle05: 130;
	--circle06: 130;
	--illust_main01_w: 206;
	--illust_main01_left: 110;
	--illust_main02_w: 133;
	--illust_main02_top: 48;
	--illust_main02_right: 95;
	--illust_main03_w: 169;
	--illust_main03_w_sp: 88;
	--illust_main03_bottom: 177;
	--illust_main04_w: 100;
	--illust_main04_right: 249;
	--illust_main05_w: 136;
	--illust_main05_w_sp: 69;
	--illust_main05_bottom: 98;
	--illust_main06_w: 88;
	--illust_main06_bottom: 249;
	--illust_main06_left: 36;
	--illust_main07_w: 90;
	--illust_main07_top: 133;
	--illust_main07_left: 70;
}
#home .sec_main {
	width: 100%;
	height: clamp(
		calc(var(--sec_main) * var(--w85) * 1px), 
		calc(var(--sec_main) / var(--vw1920) * 1vw), 
		calc(var(--sec_main) * 1px)
		);
	background: url(../images/main_bg.png) no-repeat;
	background-size: cover;
	background-position: center bottom;
}
#home .wrap_main {
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 1560px;
	width: calc(100% - 80px);
	margin: auto;
}
#home .wrap_main .left {
	width: clamp(
		calc(var(--wrap_main_left_w) * var(--w85) * 1px), 
		calc(var(--wrap_main_left_w) / var(--vw1920) * 1vw), 
		calc(var(--wrap_main_left_w) * 1px)
		);
	height: clamp(
		calc(var(--wrap_main_left_h) * var(--w85) * 1px), 
		calc(var(--wrap_main_left_h) / var(--vw1920) * 1vw), 
		calc(var(--wrap_main_left_h) * 1px)
		);
	position: relative;
	margin-top: 32px;
}
#home .wrap_main .left .wrap_circle {
	width: clamp(
		calc(var(--left_wrap_circle) * var(--w85) * 1px), 
		calc(var(--left_wrap_circle) / var(--vw1920) * 1vw), 
		calc(var(--left_wrap_circle) * 1px)
		);
	height: clamp(
		calc(var(--left_wrap_circle) * var(--w85) * 1px), 
		calc(var(--left_wrap_circle) / var(--vw1920) * 1vw), 
		calc(var(--left_wrap_circle) * 1px)
		);
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 2;
}
#home .wrap_main .left .circle_w {
	max-width: calc(var(--wrap_main_left_circle_w_w) * 1px);
	width: clamp(
		calc(var(--wrap_main_left_circle_w_w) * var(--w85) * 1px), 
		calc(var(--wrap_main_left_circle_w_w) / var(--vw1920) * 1vw), 
		calc(var(--wrap_main_left_circle_w_w) * 1px)
		);
	display: flex;
	align-items: center;
	justify-content: center;
	background: #65cb9d;
	border: 2px solid #2db97a;
	border-radius: 50%;
	opacity: 0;
}
#home .wrap_main .left .wrap_circle.add .circle_w {
	animation: popup 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
@keyframes popup {
  0% {
    transform: translateY(40px) scale(0.8);
    opacity: 0;
  }
  100% {
    transform: translateY(0) scale(1.0);
  }
  80%, 100% {
    opacity: 1;
  }
}
@keyframes fade01 {
  0% {
    transform: translateY(20px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
  }
  80%, 100% {
    opacity: 1;
  }
}
#home .wrap_main .left .circle_h {
	position: relative;
	padding-top: 100%;
	width: 100%;
}
#home .wrap_main .left .circle_h p {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	font-size: clamp(18px, 1.145vw, 22px);
	font-weight: 800;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1.45;
	text-align: center;
	flex-direction: column;
}
#home .wrap_main .left .circle_h p span {
	font-weight: 800;
	line-height: 1.45;
	font-size: clamp(14px, 0.9375vw, 18px);
}
#home .wrap_main .left .circle_border_w {
	width: clamp(
		calc(var(--wrap_main_left_circle_border_w) * var(--w85) * 1px), 
		calc(var(--wrap_main_left_circle_border_w) / var(--vw1920) * 1vw), 
		calc(var(--wrap_main_left_circle_border_w) * 1px)
		);
	height: clamp(
		calc(var(--wrap_main_left_circle_border_w) * var(--w85) * 1px), 
		calc(var(--wrap_main_left_circle_border_w) / var(--vw1920) * 1vw), 
		calc(var(--wrap_main_left_circle_border_w) * 1px)
		);
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	position: absolute;
}
.circle_svg {
  width: 100%;
  height: auto;
	transform: rotate(-90deg);
}
/* 中心は透明、線だけ */
.circle_svg circle {
  fill: none;
  stroke-width: 0.8;
	/*vector-effect: non-scaling-stroke;*/
}
.circle_svg .progress {
  stroke: #65cb9d;
  stroke-linecap: round;
  stroke-dasharray: 308;
  stroke-dashoffset: 308;
}
.wrap_circle.add .circle_svg .progress {
	animation: draw-circle 0.5s ease forwards 0.5s;
}
@keyframes draw-circle {
  to {
    stroke-dashoffset: 0;
  }
}
#home .wrap_main .left .circle_border_h {
	padding-top: 100%;
}
#home .wrap_main .left .circle01 {
	position: absolute;
	left: clamp(
		calc(var(--circle01) * var(--w85) * 1px), 
		calc(var(--circle01) / var(--vw1920) * 1vw), 
		calc(var(--circle01) * 1px)
		);
	top: clamp(
		calc(var(--circle01) * var(--w85) * 1px), 
		calc(var(--circle01) / var(--vw1920) * 1vw), 
		calc(var(--circle01) * 1px)
		);
	margin: auto;
}
#home .wrap_main .left .wrap_circle.add .circle01 {
	animation-delay: 0.6s;
}
#home .wrap_main .left .circle02 {
	position: absolute;
	right: clamp(
		calc(var(--circle02) * var(--w85) * 1px), 
		calc(var(--circle02) / var(--vw1920) * 1vw), 
		calc(var(--circle02) * 1px)
		);
	top: 0;
}
#home .wrap_main .left .wrap_circle.add .circle02 {
	animation-delay: 0.8s;
}
#home .wrap_main .left .circle03 {
	position: absolute;
	right: 0;
	top: clamp(
		calc(var(--circle03) * var(--w85) * 1px), 
		calc(var(--circle03) / var(--vw1920) * 1vw), 
		calc(var(--circle03) * 1px)
		);
}
#home .wrap_main .left .wrap_circle.add .circle03 {
	animation-delay: 1s;
}
#home .wrap_main .left .circle04 {
	position: absolute;
	right: clamp(
		calc(var(--circle04) * var(--w85) * 1px), 
		calc(var(--circle04) / var(--vw1920) * 1vw), 
		calc(var(--circle04) * 1px)
		);
	bottom: clamp(
		calc(var(--circle04) * var(--w85) * 1px), 
		calc(var(--circle04) / var(--vw1920) * 1vw), 
		calc(var(--circle04) * 1px)
		);
}
#home .wrap_main .left .wrap_circle.add .circle04 {
	animation-delay: 1.2s;
}
#home .wrap_main .left .circle05 {
	position: absolute;
	left: clamp(
		calc(var(--circle05) * var(--w85) * 1px), 
		calc(var(--circle05) / var(--vw1920) * 1vw), 
		calc(var(--circle05) * 1px)
		);
	bottom: 0;
}
#home .wrap_main .left .wrap_circle.add .circle05 {
	animation-delay: 1.4s;
}
#home .wrap_main .left .circle06 {
	position: absolute;
	left: 0;
	bottom: clamp(
		calc(var(--circle06) * var(--w85) * 1px), 
		calc(var(--circle06) / var(--vw1920) * 1vw), 
		calc(var(--circle06) * 1px)
		);
}
#home .wrap_main .left .wrap_circle.add .circle06 {
	animation-delay: 1.6s;
}
#home .wrap_main .left .illust_main01 {
	max-width: 206px;
	position: absolute;
	width: clamp(
		calc(var(--illust_main01_w) * var(--w85) * 1px), 
		calc(var(--illust_main01_w) / var(--vw1920) * 1vw), 
		calc(var(--illust_main01_w) * 1px)
		);
	top: 0;
	left: clamp(
		calc(var(--illust_main01_left) * var(--w85) * 1px), 
		calc(var(--illust_main01_left) / var(--vw1920) * 1vw), 
		calc(var(--illust_main01_left) * 1px)
		);
}
#home .wrap_main .left .illust_main02 {
	max-width: 133px;
	position: absolute;
	width: clamp(
		calc(var(--illust_main02_w) * var(--w85) * 1px), 
		calc(var(--illust_main02_w) / var(--vw1920) * 1vw), 
		calc(var(--illust_main02_w) * 1px)
		);
	top: clamp(
		calc(var(--illust_main02_top) * var(--w85) * 1px), 
		calc(var(--illust_main02_top) / var(--vw1920) * 1vw), 
		calc(var(--illust_main02_top) * 1px)
		);
	right: clamp(
		calc(var(--illust_main02_right) * var(--w85) * 1px), 
		calc(var(--illust_main02_right) / var(--vw1920) * 1vw), 
		calc(var(--illust_main02_right) * 1px)
		);
}
#home .wrap_main .left .illust_main03 {
	max-width: calc(var(--illust_main03_w) * 1px);
	position: absolute;
	width: clamp(
		calc(var(--illust_main03_w) * var(--w85) * 1px), 
		calc(var(--illust_main03_w) / var(--vw1920) * 1vw), 
		calc(var(--illust_main03_w) * 1px)
		);
	bottom: clamp(
		calc(var(--illust_main03_bottom) * var(--w85) * 1px), 
		calc(var(--illust_main03_bottom) / var(--vw1920) * 1vw), 
		calc(var(--illust_main03_bottom) * 1px)
		);
	right: 0;
	opacity: 0;
	transition: opacity .5s ease-in-out 2.2s;
	z-index: 2;
}
#home .wrap_main .left .illust_main03.add,
#home .wrap_main .left .illust_main05.add {
	opacity: 1;
}
#home .wrap_main .left .illust_main04 {
	max-width: calc(var(--illust_main04_w) * 1px);
	position: absolute;
	width: clamp(
		calc(var(--illust_main04_w) * var(--w85) * 1px), 
		calc(var(--illust_main04_w) / var(--vw1920) * 1vw), 
		calc(var(--illust_main04_w) * 1px)
		);
	bottom: 0;
	right: clamp(
		calc(var(--illust_main04_right) * var(--w85) * 1px), 
		calc(var(--illust_main04_right) / var(--vw1920) * 1vw), 
		calc(var(--illust_main04_right) * 1px)
		);
}
#home .wrap_main .left .illust_main05 {
	max-width: calc(var(--illust_main05_w) * 1px);
	position: absolute;
	width: clamp(
		calc(var(--illust_main05_w) * var(--w85) * 1px), 
		calc(var(--illust_main05_w) / var(--vw1920) * 1vw), 
		calc(var(--illust_main05_w) * 1px)
		);
	bottom: clamp(
		calc(var(--illust_main05_bottom) * var(--w85) * 1px), 
		calc(var(--illust_main05_bottom) / var(--vw1920) * 1vw), 
		calc(var(--illust_main05_bottom) * 1px)
		);
	left: 0;
	opacity: 0;
	transition: opacity .5s ease-in-out 1.8s;
	z-index: 2;
}
#home .wrap_main .left .illust_main06 {
	max-width: calc(var(--illust_main06_w) * 1px);
	position: absolute;
	width: clamp(
		calc(var(--illust_main06_w) * var(--w85) * 1px), 
		calc(var(--illust_main06_w) / var(--vw1920) * 1vw), 
		calc(var(--illust_main06_w) * 1px)
		);
	bottom: clamp(
		calc(var(--illust_main06_bottom) * var(--w85) * 1px), 
		calc(var(--illust_main06_bottom) / var(--vw1920) * 1vw), 
		calc(var(--illust_main06_bottom) * 1px)
		);
	left: clamp(
		calc(var(--illust_main06_left) * var(--w85) * 1px), 
		calc(var(--illust_main06_left) / var(--vw1920) * 1vw), 
		calc(var(--illust_main06_left) * 1px)
		);
}
#home .wrap_main .left .illust_main07 {
	max-width: 90px;
	position: absolute;
	width: clamp(
		calc(var(--illust_main07_w) * var(--w85) * 1px), 
		calc(var(--illust_main07_w) / var(--vw1920) * 1vw), 
		calc(var(--illust_main07_w) * 1px)
		);
	top: clamp(
		calc(var(--illust_main07_top) * var(--w85) * 1px), 
		calc(var(--illust_main07_top) / var(--vw1920) * 1vw), 
		calc(var(--illust_main07_top) * 1px)
		);
	left: clamp(
		calc(var(--illust_main07_left) * var(--w85) * 1px), 
		calc(var(--illust_main07_left) / var(--vw1920) * 1vw), 
		calc(var(--illust_main07_left) * 1px)
		);
}
#home .wrap_main .right {
	width: calc(100% - 48.666%);
	max-width: 760px;
	padding-left: 1.2%;
	position: relative;
	bottom: 34px;
}
#home .wrap_main .right .txt_main {
  max-width: 147px;
  width: 19.6%;
	width: clamp(calc(147px * 0.85), calc(147 / var(--vw1920) * 1vw), 147px);
	height: clamp(calc(50px * 0.85), calc(50 / var(--vw1920) * 1vw), 50px);
  position: relative;
  line-height: 0;
}
#home .wrap_main .right .txt_main p {
	transform: translate(-100%, 0);
	transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
	overflow: hidden;
}
#home .wrap_main .right .txt_main p img {
	transform: translate(100%, 0);
	transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
}
#home .wrap_main .right .txt_main p.add,
#home .wrap_main .right .txt_main p.add img {
	transform: translate(0, 0);
	transition-delay: 1.8s;
}
#home .wrap_main .right .txt_main p,
#home .wrap_main .right .txt_main p img,
#home .wrap_main .right .main_h2,
#home .wrap_main .right .main_h2 h2 {
	opacity: 0;
	visibility: hidden;
}
#home .wrap_main .right .txt_main p.add,
#home .wrap_main .right .txt_main p.add img,
#home .wrap_main .right .main_h2.add,
#home .wrap_main .right .main_h2.add h2 {
	opacity: 1;
	visibility: visible;
	transform: translate(0, 0);
}
#mask-path {
  fill: none;
  stroke: #ffffff;
  stroke-width: 12;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 2000;
  stroke-dashoffset: 2000;
  animation: draw 2s ease forwards 1.5s;
}
@keyframes draw {
to {
stroke-dashoffset: 0;
}
}

#home .wrap_main .right h2 {
	font-size: clamp(calc(50px * 0.85), calc(50 / var(--vw1920) * 1vw), 50px);
	font-weight: 800;
	line-height: 1.5;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
	transform: translate(100%, 0);
	transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
}
#home .wrap_main .right .main_h2 {
	overflow: hidden;
	transform: translate(-100%, 0);
	transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
	margin-left: clamp(20px, 2.0833vw, 40px);
}
#home .wrap_main .right .main_h2.add,
#home .wrap_main .right .main_h2.add h2 {
	transform: translate(0, 0);
	transition-delay: 2.2s;
}
#home .wrap_main .right h2 span {
	line-height: 1.5;
}
#home .wrap_main .right h2 .letter0 {
	letter-spacing: 0;
}
#home .wrap_main .right h2 .txt_black {
	font-weight: bold;
}
#home .wrap_main .right h2 .txt_green {
	color: #2db97a;
	font-weight: 800;
	font-size: clamp(calc(54px * 0.85), calc(54 / var(--vw1920) * 1vw), 54px);
}
#home .wrap_main .right h2 .txt_small01 {
	font-size: clamp(calc(44px * 0.85), calc(44 / var(--vw1920) * 1vw), 44px);
	font-weight: 800;
}
#home .wrap_main .right h2 .txt_small02 {
	font-size: clamp(calc(50px * 0.85), calc(50 / var(--vw1920) * 1vw), 50px);
	font-weight: 800;
}
#home .btn_contact {
	width: 334px;
	height: 64px;
	font-size: 19px;
	font-weight: bold;
	line-height: 1.5;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #333;
	background: #fff000;
	border-radius: 32px;
	box-shadow: 4px 4px 0 0 #333;
	position: relative;
	top: 0;
	left: 0;
	transition: 
  box-shadow .3s ease-in-out,
  background .5s ease-in-out,
	color .5s ease-in-out,
  top .3s ease,
  left .3s ease;
}
#home .btn_contact:hover {
	top: 4px;
	left: 4px;
	box-shadow: 0 0 0 0 #333;
	background: #fff064;
	color: #666;
}
#home .wrap_main .right .btn_contact {
	margin-left: clamp(20px, 2.0833vw, 40px);
	margin-top: 30px;
	opacity: 0;
}
#home .wrap_main .right .btn_contact.add {
	animation: fade01 .75s ease-in-out forwards 2.6s;
}
#home .btn_contact span {
	width: 24px;
	height: 17px;
	background: url(../images/icon_contact.svg) no-repeat;
	margin-right: 12px;
}
#home #sec01 {
	background: url(../images/sec_01_bg.jpg) no-repeat;
	background-size: cover;
	padding: 80px 0 120px;
}
#home .title_en {
	overflow: hidden;
	transform: translate(-100%, 0);
	display: inline-block;
	transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) .5s;
}
#home .title_en span {
	font-family: "Italianno", cursive;
  font-weight: 400;
	letter-spacing: 0.05em;
	font-size: 2.7rem;
	line-height: 1.3;
	color: #22b573;
	display: inline-block;
	transform: translate(100%, 0);
	transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) .5s;
}
#home .title_en.add,
#home .title_en.add span {
	transform: translate(0, 0);
}
#home #sec01 .wrap_flex01 {
	display: flex;
	align-items: flex-start;
}
#home .wrap_h2 {
	overflow: hidden;
	transform: translate(-100%, 0);
	transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) .5s;
	display: inline-block;
}
#home h2.type01 {
	font-size: clamp(calc(36px * 0.7), 3vw, 36px);
	line-height: 1.5;
	font-weight: bold;
	text-align: center;
	display: flex;
	justify-content: center;
	letter-spacing: 0.1em;
	transform: translate(100%, 0);
	transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) .5s;
}
#home .wrap_h2.add,
#home .wrap_h2.add h2.type01 {
	transform: translate(0, 0);
	transition-delay: .25s;
}
#home #sec01 h2.type01 {
	align-items: flex-end;
}
#home #sec01 h2.type01 span {
	width: clamp(calc(51px * 0.7), 4.25vw, 51px);
	height: clamp(calc(44px * 0.7), 3.666vw, 44px);
	background: url(../images/icon_sec01.svg) no-repeat;
	display: flex;
	margin-right: clamp(calc(16px * 0.7), 1.333vw, 16px);
}
#home #sec01 h3.type01 {
	line-height: 1.75;
	font-size: clamp(calc(28px * 0.7), 2.333vw, 28px);
	font-weight: bold;
	letter-spacing: 0.1em;
	color: #22b573;
}
#home #sec01 .wrap_flex01 p {
	font-size: clamp(15px, 1.5vw, 18px);
	font-weight: 400;
	line-height: 2.33;
}
#home #sec01 .wrap_flex01 .left {
	width: 42.166%;
	margin-right: 6.916%;
	margin-top: 50px;
}
#home #sec01 .wrap_flex01 .right {
	width: calc(100% - 42.166% - 6.916%);
	position: relative;
}
#home #sec01 .wrap_flex01 .right .layer01.add {
	animation-delay: .5s;
}
#home #sec01 .wrap_flex01 .right .layer02.add {
	animation-delay: 1s;
}
#home #sec01 .wrap_flex01 .right .layer02 {
	position: absolute;
	left: 0;
	top: 0;
}
#home #sec01 h3.type02 {
	font-size: clamp(calc(28px * 0.7), 2.333vw, 28px);
	line-height: 1.45;
	position: relative;
	padding: 0 50px;
	display: inline-block;
	font-weight: bold;
}
#home #sec01 h3.type02::before {
	content: "";
	background: url(../images/fukidashi01.svg) no-repeat;
	position: absolute;
	width: clamp(calc(29px * 0.7), 2.416vw, 29px);
	height: clamp(calc(55px * 0.7), 4.583vw, 55px);
	left: 0;
	top: 6px;
	bottom: 0;
	margin: auto;
}
#home #sec01 h3.type02::after {
	content: "";
	background: url(../images/fukidashi02.svg) no-repeat;
	position: absolute;
	width: clamp(calc(29px * 0.7), 2.416vw, 29px);
	height: clamp(calc(55px * 0.7), 4.583vw, 55px);
	right: 0;
	top: 6px;
	bottom: 0;
	margin: auto;
	letter-spacing: 0.1em;
}
#home #sec01 h3.type02 span {
	font-weight: bold;
	color: #22b573;
	line-height: 1.45;
}
#home #sec01 ul.wrap_flex02 {
	display: flex;
	gap: 6.66%;
}
#home #sec01 ul.wrap_flex02 li {
	width: calc((100% - 6.66%) / 2);
}
#home #sec01 ul.wrap_flex02 li:nth-child(2).add {
	animation-delay: .5s;
}
#home #sec01 .wrap_flex02 h4 {
	font-size: clamp(22px * 0.85, 1.145vw, 22px);
	font-weight: bold;
	line-height: 1.3;
	letter-spacing: 0.1em;
	position: relative;
	padding-left: 32px;
	padding-bottom: 13px;
	border-bottom: 1px solid #22b573;
}
#home #sec01 .wrap_flex02 h4::before {
	content: "";
	background: url(../images/icon_checkbox.svg) no-repeat;
	width: clamp(22px * 0.85, 1.145vw, 22px);
	height: clamp(22px * 0.85, 1.145vw, 22px);
	position: absolute;
	top: clamp(calc(5px * 0.85), 0.26vw, 5px);
	left: 0;
}
#home #sec01 .wrap_flex02 h4 span {
	color: #22b573;
	font-weight: bold;
	line-height: 1.3;
}
#home #sec01 .wrap_flex02 h5 {
	font-size: clamp(16px, 0.9375vw, 18px);
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.1em;
}
#home #sec01 .wrap_flex02 h5 span {
	color: #22b573;
	font-weight: bold;
	line-height: 1.5;
}
#home #sec01 ul.wrap_flex02 li p {
	font-size: clamp(15px, 1.5vw, 18px);
	line-height: 2;
	margin-top: 15px;
}
#home #sec01 .wrap_flex02 {
	padding: clamp(40px, 4.166vw, 80px);
	background: #fff;
	border-radius: 40px;
}
#home #sec01 .wrap_flex02 figure {
	display: flex;
	align-items: center;
}
#home #sec01 .wrap_flex02 figure .img_left {
	width: 48.076%;
	max-width: 500px;
	border-radius: 40px;
	overflow: hidden;
}
#home #sec01 .wrap_flex02 figure figcaption {
	width: calc(100% - 48.076%);
	padding-left: clamp(40px, 3.0208vw, 58px);
}
#home #sec01 .wrap_example {
	display: flex;
	align-items: stretch;
	margin-top: 15px;
}
#home #sec01 .wrap_example h6 {
	font-size: clamp(16px, 0.9375vw, 18px);;
	line-height: 1.75;
	letter-spacing: 0.1em;
	width: 89px;
	border-radius: 4px;
	border: 1px solid #333;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 20px;
	height: auto;
}
#home #sec01 .wrap_example ul {
	width: calc(100% - 89px - 20px);
}
#home #sec01 .wrap_example ul li {
	font-size: clamp(16px, 0.9375vw, 18px);
	line-height: 1.75;
}
#home #sec01 .txt_indent {
	font-size: 16px;
	padding-left: 16px;
	text-indent: -16px;
}
#home #sec02 {
	background: #4ec48f;
	padding: 80px 120px;
}
#home .title_en.white span,
.wrap_h2 h2.type01.white {
	color: #fff;
}
#home #sec02 h2.type01 {
	align-items: center;
}
#home #sec02 h2.type01.white span {
	background: url(../images/icon_sec02.svg) no-repeat;
	width: clamp(calc(45px * 0.7), 3.75vw, 45px);
	height: clamp(calc(45px * 0.7), 3.75vw, 45px);
	margin-right: 14px;
	position: relative;
	top: clamp(2.8px, 0.333vw, 4px);
	left: 1px;
}
#home #sec02 .border {
	width: 0;
	max-width: 1680px;
	height: 1px;
	background: #fff;
	transition: .5s ease-in-out;
	transform-origin: left;
}
#home #sec02 .border.add {
	width: 100%;
}
#home #sec02 ul.wrap_step {
	display: flex;
	gap: 11.083%;
}
#home #sec02 ul.wrap_step li {
	width: 16.666%;
	max-width: 200px;
	position: relative;
}
#home #sec02 ul.wrap_step li .txt_step {
	position: absolute;
	top: clamp(calc(45px * 0.7), 3.75vw, 45px);
	left: 15px;
	opacity: 0;
}
#home #sec02 ul.wrap_step li.add .txt_step {
	animation: popup 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
#home #sec02 ul.wrap_step li .txt_step p {
	font-size: clamp(calc(24px * 0.7), 2vw, 24px);
	line-height: 1;
	font-family: "Italianno", cursive;
  font-weight: 400;
	color: #fff;
	transform: rotate(-15deg);
}
#home #sec02 ul.wrap_step li .txt_step span {
	font-size: clamp(calc(48px * 0.7), 4vw, 48px);
	line-height: 1;
	font-family: "Italianno", cursive;
}
#home #sec02 ul.wrap_step li .point {
	width: 1px;
	height: 0;
	background: #fff;
	margin: 0 auto 0;
	position: absolute;
	transition: 1s ease-in-out;
	right: 0;
	left: 0;
}
#home #sec02 ul.wrap_step li.add .point {
	height: clamp(calc(90px * 0.7), 7.5vw, 90px);
}
#home #sec02 ul.wrap_step li:nth-child(1).add .point {
	transition-delay: .25s;
}
#home #sec02 ul.wrap_step li:nth-child(2).add .point {
	transition-delay: .5s;
}
#home #sec02 ul.wrap_step li:nth-child(3).add .point {
	transition-delay: .75s;
}
#home #sec02 ul.wrap_step li:nth-child(4).add .point {
	transition-delay: 1s;
}
#home #sec02 ul.wrap_step li figure {
	opacity: 0;
	margin-top: clamp(calc(90px * 0.7), 7.5vw, 90px);
}
#home #sec02 ul.wrap_step li.add figure {
	animation: popup 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
#home #sec02 ul.wrap_step li:nth-child(1).add figure,
#home #sec02 ul.wrap_step li:nth-child(1) .txt_step {
	animation-delay: .5s;
}
#home #sec02 ul.wrap_step li:nth-child(2).add figure,
#home #sec02 ul.wrap_step li:nth-child(2) .txt_step {
	animation-delay: .75s;
}
#home #sec02 ul.wrap_step li:nth-child(3).add figure,
#home #sec02 ul.wrap_step li:nth-child(3) .txt_step {
	animation-delay: 1s;
}
#home #sec02 ul.wrap_step li:nth-child(4).add figure,
#home #sec02 ul.wrap_step li:nth-child(4) .txt_step {
	animation-delay: 1.25s;
}
#home #sec02 ul.wrap_step li .circle {
	width: 12px;
	height: 12px;
	background: #fff;
	border-radius: 50%;
	position: absolute;
	top: -6px;
	left: 0;
	right: 0;
	margin: auto;
	opacity: 0;
	transition: .5s ease-in-out;
}
#home #sec02 ul.wrap_step li.add .circle {
	opacity: 1;
}
#home #sec02 ul.wrap_step li:nth-child(2).add .circle {
	animation-delay: .25s;
}
#home #sec02 ul.wrap_step li:nth-child(3).add .circle {
	animation-delay: .5s;
}
#home #sec02 ul.wrap_step li:nth-child(4).add .circle {
	animation-delay: .75s;
}
#home #sec02 ul.wrap_step li h3 {
	color: #fff;
	text-align: center;
	font-size: clamp(calc(24px * 0.7), 2vw, 24px);
	letter-spacing: 0.1em;
	line-height: 1.5;
	font-weight: bold;
	margin-top: 20px;
}
#home #sec02 ul.wrap_step li figcaption p {
	font-size: clamp(15px, 1.333vw, 16px);
	font-weight: 500;
	line-height: 1.5;
	color: #fff;
	margin-top: 10px;
	display: flex;
	justify-content: center;
}
#home #sec02 .area_white {
	background: #fff;
	border-radius: 80px;
	padding: 80px;
}
#home #sec02 .area_white h2.type01 span {
	background: url(../images/icon_area_white.svg) no-repeat;
	width: clamp(calc(49px * 0.7), 4.083vw, 49px);
	height: clamp(calc(46px * 0.7), 3.833vw, 46px);
	margin-right: clamp(calc(20px * 0.7), 1.666vw, 20px);
}
#home #sec02 .area_white .wrap_h2 {
	right: clamp(calc(34px * 0.7), 2.833vw, 34px);
	position: relative;
}
#home #sec02 .illust_map {
	max-width: 500px;
	margin: auto;
	border-radius: 50px;
	overflow: hidden;
}
#home #sec02 .area_white .wrap_h3 {
	overflow: hidden;
	transform: translate(-100%, 0);
	transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
	display: inline-block;
	position: relative;
	padding-bottom: 10px;
}
#home #sec02 .area_white h3 {
	font-size: clamp(18px, 2vw, 24px);
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.05em;
	padding: 0 20px 0;
	display: inline-block;
	transform: translate(100%, 0);
	transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
}
#home #sec02 .area_white .wrap_h3.add,
#home #sec02 .area_white .wrap_h3.add h3,
#home #sec02 .area_white .wrap_h3.add::after {
	transform: translate(0, 0);
}
#home #sec02 .area_white h3 .icon_checkbox {
	background: url(../images/icon_checkbox.svg) no-repeat;
	width: clamp(calc(22px * 0.7), 1.833vw, 22px);
	height: clamp(calc(22px * 0.7), 1.833vw, 22px);
	display: inline-block;
	margin-right: 14px;
	position: relative;
	top: 2px;
}
#home #sec02 .area_white h3 .icon_click {
	background: url(../images/icon_click.svg) no-repeat;
	width: clamp(calc(35px * 0.7), 2.916vw, 35px);
	height: clamp(calc(30px * 0.7), 2.5vw, 30px);
	display: inline-block;
	margin-left: 0;
	position: relative;
	top: 4px;
}
#home #sec02 .area_white h3 span {
	font-weight: bold;
	line-height: inherit;
	color: #22b573;
}
#home #sec02 .area_white .wrap_h3::after {
	content: "";
	height: 1px;
	width: 100%;
	background: #22b573;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	transform: translate(100%, 0);
	transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
}
#home #sec02 .area_white h4 {
	font-size: clamp(16px, 1.5vw, 18px);
	line-height: 1.5;
	font-weight: bold;
	position: relative;
	padding-left: 22px;
	letter-spacing: 0.1em;
}
#home #sec02 .area_white h4::before {
	content: "";
	position: absolute;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #fff;
	left: 4px;
	top: 0;
	bottom: 0;
	margin: auto;
	z-index: 2;
}
#home #sec02 .area_white h4::after {
	position: absolute;
	content: "";
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: #22b573;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}
#home #sec02 .area_white ul.list_area {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 10px;
}
#home #sec02 .area_white ul.list_area li {
	width: calc((100% - 80px) / 9);
	font-size: clamp(14px, 1.333vw, 16px);
}
#home .dotted {
	border: 1px dashed #ccc;
	width: 100%;
	margin: 30px 0;
}
#home #sec02 .area_white .btn_contact {
	margin: 40px auto 0;
}
#home #sec03 {
	background-image: repeating-linear-gradient(-45deg, #a8ebc8, #a8ebc8 1px, #bcf5d5 1px, #bcf5d5 21px);
	border: 30px solid #4ec48f;
	box-sizing: border-box;
	padding: 80px 0 90px;
}
#home #sec03 h2.type01 span {
	background: url(../images/icon_sec03.svg) no-repeat;
	width: clamp(calc(36px * 0.7), 3vw, 36px);
	height: clamp(calc(46px * 0.7), 3.833vw, 46px);
	margin-right: clamp(calc(18px * 0.7), 1.5vw, 18px);
	margin-left: 1px;
	margin-bottom: 1px;
	background-position: right center;
}
#home #sec03 h2.type01 {
	align-items: flex-end;
}
#home #sec03 .wrap_step {
	display: flex;
	justify-content: space-between;
	position: relative;
	padding-bottom: 40px;
}
#home #sec03 .wrap_step::after {
	content: "";
	position: absolute;
	width: 2px;
	height: 0%;
	background: #22b573;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	transition: 1s ease-in-out;
}
#home #sec03 .wrap_step.animation.add::after {
	height: 100%;
}
#home #sec03 .list_step {
	position: relative;
}
#home #sec03 .list_step.left,
#home #sec03 .list_step.right {
	width: 50%;
}
#home #sec03 .list_step.left .child_step .box_w {
	margin-left: auto;
	opacity: 0;
	z-index: 2;
}
#home #sec03 .list_step.right .box_w {
	margin-right: auto;
	opacity: 0;
}
#home #sec03 .list_step .end_step .box_w {
	opacity: 0;
}
#home #sec03 .list_step.left .child_step.add .box_w,
#home #sec03 .list_step.right .child_step.add .box_w,
#home #sec03 .list_step .end_step.add .box_w {
	animation: popup 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards 0.5s;
}
#home #sec03 .list_step .child_step .box_w,
#home #sec03 .list_step .end_step .box_w {
	background: #fff;
	border: 2px solid #22b573;
	border-radius: 30px;
	padding: clamp(28.8px, 3vw, 36px);
	position: relative;
	z-index: 2;
}
#home #sec03 .list_step .child_step {
	position: relative;
}
#home #sec03 .list_step .child_step::before {
	content: "";
	height: 2px;
	background: #22b573;
	position: absolute;
}
#home #sec03 .list_step.left .child_step::before {
	width: 0;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	transform-origin: right;
	transition: 1s ease-in-out;
}
#home #sec03 .list_step.right .child_step::before {
	width: 0;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	transform-origin: left;
	transition: 1s ease-in-out;
}
#home #sec03 .list_step .child_step::after {
	content: "";
	position: absolute;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #22b573;
	opacity: 0;
	transition: .5s ease-in-out;
}
#home #sec03 .list_step .child_step.add::after {
	opacity: 1;
}
#home #sec03 .list_step.left .child_step::after {
	right: -6px;
	top: 0;
	bottom: 0;
	margin: auto;
}
#home #sec03 .list_step.right .child_step::after {
	left: -6px;
	top: 0;
	bottom: 0;
	margin: auto;
}
#home #sec03 .list_step.left .child_step.nth01 .box_w {
	max-width: clamp(280px, 29.166vw, 350px);
	margin-right: clamp(113.6px, 11.833vw, 142px);
	margin-top: clamp(25.6px, 2.666vw, 32px);
}
#home #sec03 .list_step.left .child_step.add::before,
#home #sec03 .list_step.right .child_step.add::before {
	width: 50%;
}
#home #sec03 .list_step.left .child_step.nth02 .box_w {
	max-width: clamp(216px, 22.5vw, 270px);
	margin-right: clamp(80px, 8.333vw, 100px);
	margin-top: clamp(46.4px, 4.833vw, 58px);
}
#home #sec03 .list_step.right .child_step.nth01 .box_w {
	max-width: clamp(232px, 24.166vw, 290px);
	margin-left: clamp(152px, 15.833vw, 190px);
	margin-top: clamp(196.8px, 20.5vw, 246px);
}
#home #sec03 .list_step.right .child_step.nth02 .box_w {
	max-width: clamp(216px, 22.5vw, 270px);
	margin-left: clamp(88px, 9.166vw, 110px);
	margin-top: clamp(65.6px, 6.833vw, 82px);
}
#home #sec03 .list_step .end_step .box_w {
	max-width: clamp(216px, 22.5vw, 270px);
	margin-left: auto;
	margin-right: auto;
}
#home #sec03 .list_step .num {
	font-family: "Italianno", cursive;
	font-size: clamp(56px, 6.66vw, 80px);
	color: #22b573;
	position: absolute;
	top: 10px;
	left: 10px;
	line-height: 0.6;
	margin-top: 0;
}
#home #sec03 .list_step .icon_step {
	display: flex;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	margin-top: 15px;
}
#home #sec03 .list_step.left .child_step.nth01 .icon_step {
	width: clamp(calc(36px * 0.7), 3vw, 36px);
	height: clamp(calc(26px * 0.7), 2.166vw, 26px);
}
#home #sec03 .list_step.left .child_step.nth02 .icon_step {
	width: clamp(calc(56px * 0.7), 4.666vw, 56px);
	height: clamp(calc(41px * 0.7), 3.416vw, 41px);
}
#home #sec03 .list_step.right .child_step.nth01 .icon_step {
	width: clamp(calc(27px * 0.7), 2.25vw, 27px);
	height: clamp(calc(47px * 0.7), 3.916vw, 47px);
}
#home #sec03 .list_step.right .child_step.nth02 .icon_step {
	width: clamp(calc(50px * 0.7), 4.166vw, 50px);
	height: clamp(calc(51px * 0.7), 4.25vw, 51px);
}
#home #sec03 .list_step .end_step .icon_step {
	width: clamp(calc(78px * 0.7), 6.5vw, 78px);
	height: clamp(calc(36px * 0.7), 3vw, 36px);
}
#home #sec03 .list_step h3 {
	font-size: clamp(18px, 2vw, 24px);
	font-weight: bold;
	line-height: 1.5;
	color: #22b573;
	text-align: center;
	margin-top: 20px;
}
#home #sec03 .list_step .btn_contact {
	max-width: 240px;
	width: 100%;
	font-size: 16px;
	height: 56px;
	margin: 20px auto 0;
}
#home #sec03 .list_step .btn_contact span {
	width: 20px;
	height: 14px;
	margin-right: 10px;
}
#home #sec03 .list_step p {
	font-size: 15px;
	font-feature-settings: "palt";
	margin-top: clamp(calc(20px * 0.7), 1.666vw, 20px);
	display: flex;
	justify-content: center;
}
#home #sec03 .img_step {
	position: absolute;
	border-radius: 30px;
	overflow: hidden;
}
#home #sec03 .img_step01 {
	position: absolute;
	max-width: clamp(calc(140px * 0.8), 11.666vw, 140px);
	top: clamp(44.8px, 4.666vw, 56px);
	left: clamp(calc(115px * 0.8), 9.583vw, 115px);
}
#home #sec03 .list_step .img_step02 {
	position: absolute;
	max-width: clamp(calc(140px * 0.8), 11.666vw, 140px);
	top: clamp(288px, 30vw, 360px);
	left: clamp(16px, 1.666vw, 20px);
}
#home #sec03 .list_step .img_step03 {
	position: absolute;
	max-width: clamp(calc(160px * 0.8), 13.333vw, 160px);
	top: clamp(174.4px, 18.166vw, 218px);
	left: clamp(124px, 12.916vw, 155px);
}
#home #sec03 .list_step .img_step04 {
	position: absolute;
	max-width: clamp(calc(140px * 0.8), 11.666vw, 140px);
	top: clamp(224px, 23.333vw, 280px);
	right: clamp(28.8px, 3vw, 36px);
}
#home #sec03 .list_step .img_step05 {
	position: absolute;
	max-width: clamp(calc(160px * 0.8), 13.333vw, 160px);
	top: clamp(39.2px, 4.083vw, 49px);
	right: clamp(206.4px, 21.5vw, 258px);
}
#home #sec04 {
	background: #4ec48f;
	padding: 40px 40px 85px;
}
#home #sec04 h2 {
	color: #fff;
	text-align: center;
	font-size: clamp(25.2px, 3vw, 36px);
	font-weight: bold;
	line-height: 1.33;
	letter-spacing: 0.1em;
	display: flex;
	align-items: flex-start;
	justify-content: center;
}
#home #sec04 .illust_left {
	max-width: clamp(calc(97px * 0.7), 8.083vw, 97px);
	display: inline-block;
	margin-right: clamp(calc(36px * 0.7), 3vw, 36px);
	line-height: 0;
}
#home #sec04 .illust_right {
	max-width: clamp(calc(106px * 0.7), 8.833vw, 106px);
	display: inline-block;
	margin-left: clamp(calc(36px * 0.7), 3vw, 36px);
	line-height: 0;
}
#home #sec04 p {
	font-size: 16px;
	text-align: center;
	color: #fff;
	margin-top: -24px;
}
#home #sec04 .btn_contact {
	width: clamp(350px, 41.666vw, 500px);
	height: clamp(70px, 8.333vw, 100px);
	margin: 30px auto 0;
	border-radius: clamp(35px, 4.166vw, 50px);
	font-size: clamp(21px, 2.5vw, 30px);
	letter-spacing: 0.05em;
}
#home #sec04 .btn_contact span {
	width: clamp(25.2px, 3vw, 36px);
	height: clamp(18.2px, 2.166vw, 26px);
}
.animation_pop {
	opacity: 0;
}
.animation_pop.add {
	animation: popup 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.animation_fade {
	opacity: 0;
}
.animation_fade.add {
	animation: fade01 1s forwards;
}


@media screen and (min-width: 1367px) {
}
@media screen and (max-width: 1366px) {
	.maxw1366none {
		display: none;
	}
	#home #sec02 {
		padding: 80px 40px;
	}
}
@media screen and (max-width: 1366px) and (min-width: 769px) {
}
@media screen and (max-width: 1365px) and (min-width: 768px) {
	.maxw1365minw768 {
		display: none;
	}
}
@media screen and (min-width: 1200px) {
}

@media screen and (max-width: 1199px) {
	#home .wrap_main {
		width: calc(100% - 40px);
	}
	#home #sec03 .list_step.left .child_step.nth01 .box_w,
	#home #sec03 .list_step.left .child_step.nth02 .box_w {
		margin-right: 40px;
	}
	#home #sec03 .list_step.right .child_step.nth01 .box_w,
	#home #sec03 .list_step.right .child_step.nth02 .box_w {
		margin-left: 40px;
	}
	#home #sec04 h2 {
		align-items: flex-end;
	}
	#home #sec04 p {
		margin-top: 20px;
		font-size: 15px;
	}
}
@media screen and (max-width: 1599px) and (min-width: 1025px) {
}
@media screen and (min-width: 1025px) {
	#home .wrap_main .right .txt_main {
		left: -10px;
	}
}
@media screen and (max-width: 1024px) {
	.maxw1024none {
		display: none;
	}
	#home #sec01 .wrap_flex01 .left {
		margin-top: 0;
	}
	#home #sec01 .wrap_flex02 {
		max-width: 480px;
		margin-left: auto;
		margin-right: auto;
	}
	#home #sec01 .wrap_flex02 figure {
		flex-direction: column;
	}
	#home #sec01 .wrap_flex02 figure .img_left {
		width: 100%;
		max-width: 460px;
	}
	#home #sec01 .wrap_flex02 figure figcaption {
		width: 100%;
		margin-top: 40px;
		padding-left: 0;
	}
	#home #sec02 ul.wrap_step {
		gap: 30px;
		justify-content: space-between;
	}
	#home #sec02 ul.wrap_step li {
		width: calc((100% - 90px) / 4);
	}
	#home #sec02 ul.wrap_step,
	#home #sec02 .area_white {
		width: 100%;
	}
	#home #sec02 .area_white {
		padding: 40px;
	}
	#home #sec02 .area_white ul.list_area li {
		width: calc((100% - 50px) / 6);
	}
	#home #sec02 .area_white h3 {
		padding: 0 10px 0;
	}
	#home #sec02 .area_white h4 {
		padding-left: 18px;
	}
	#home #sec02 .area_white h4::before {
		width: 6px;
		height: 6px;
		left: 3px;
	}
	#home #sec02 .area_white h4::after {
		width: 12px;
		height: 12px;
	}
	#home #sec03 .list_step .child_step .box_w, #home #sec03 .list_step .end_step .box_w {
		padding: 20px;
	}
	#home #sec03 .list_step h3 {
		margin-top: 10px;
	}
	#home #sec03 .list_step p {
		margin-top: 10px;
	}
	#home #sec03 .list_step p {
		font-size: 14px;
	}
	#home #sec03 .list_step .btn_contact {
		margin-top: 10px;
	}
	#home #sec03 .list_step .img_step02 {
		left: -20px;
		top: 260px;
	}
	#home #sec03 .list_step .img_step04 {
		right: -20px;
		top: 180px;
	}
	#home #sec03 .list_step .img_step05 {
		right: 50px;
	}
	#home #sec01 {
		padding: 60px 0 80px;
	}
	#home #sec02 {
		padding: 80px 40px 0;
	}
	#home #sec03 {
		padding: 60px 0 80px;
		border-width: 40px;
	}
	#home #sec04 {
		padding: 0 40px 60px;
	}
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
	.minw769maxw1024none {
		display: none;
	}
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
	.minw768maxw1024none {
			display: none;
	}
	#home .wrap_main .left {
		width: calc(var(--wrap_main_left_w) * var(--w8570) * 1px);
		height: calc(var(--wrap_main_left_h) * var(--w8570) * 1px);
		margin-top: calc(32px * 0.7);
	}
	#home .wrap_main .left .wrap_circle {
		width: calc(var(--left_wrap_circle) * var(--w8570) * 1px);
		height: calc(var(--left_wrap_circle) * var(--w8570) * 1px);
	}
	#home .wrap_main .left .circle_border_w {
		width: calc(var(--wrap_main_left_circle_border_w) * var(--w8570) * 1px);
		height: calc(var(--wrap_main_left_circle_border_w) * var(--w8570) * 1px);
	}
	#home .wrap_main .left .circle_h p {
		font-size: 16px;
		line-height: 1.3;
	}
	#home .wrap_main .left .circle_w {
		width: calc(var(--wrap_main_left_circle_w_w) * var(--w8570) * 1px);
	}
	#home .wrap_main .left .circle01 {
		left: calc(var(--circle01) * var(--w8570) * 1px);
		top: calc(var(--circle01) * var(--w8570) * 1px);
	}
	#home .wrap_main .left .circle02 {
		right: calc(var(--circle02) * var(--w8570) * 1px);
	}
	#home .wrap_main .left .circle03 {
		top: calc(var(--circle03) * var(--w8570) * 1px);
	}
	#home .wrap_main .left .circle04 {
		right: calc(var(--circle04) * var(--w8570) * 1px);
		bottom: calc(var(--circle04) * var(--w8570) * 1px);
	}
	#home .wrap_main .left .circle05 {
		left: calc(var(--circle05) * var(--w8570) * 1px);
	}
	#home .wrap_main .left .circle06 {
		bottom: calc(var(--circle06) * var(--w8570) * 1px);
	}
	#home .wrap_main .right {
		bottom: calc(34px * 0.3);
	}
	#home .wrap_main .right .txt_main {
		max-width: 102px;
		width: clamp(calc(147px * var(--w8570)), calc(147 / var(--vw1024) * 1vw), calc(147px * 0.85));
		height: clamp(calc(50px * var(--w8570)), calc(50 / var(--vw1024) * 1vw), calc(50px * 0.85));
	}
	#home .wrap_main .right .main_h2 {
		margin-left: 10px;
	}
	#home .wrap_main .right h2 {
		font-size: 29px;
	}
	#home .wrap_main .right h2 span {
		line-height: 1.3;
	}
	#home .wrap_main .right h2 .txt_green {
		font-size: 32px;
	}
	#home .wrap_main .right h2 .txt_small01 {
		font-size: 26px;
	}
	#home .wrap_main .right h2 .txt_small02 {
		font-size: 29px;
	}
	#home .sec_main {
		height: calc(var(--sec_main) * var(--w8570) * 1px);
	}
	#home .wrap_main .left .illust_main01 {
		width: calc(var(--illust_main01_w) * var(--w8570) * 1px);
		left: calc(var(--illust_main01_left) * var(--w8570) * 1px);
	}
	#home .wrap_main .left .illust_main02 {
		width: calc(var(--illust_main02_w) * var(--w8570) * 1px);
		top: calc(var(--illust_main02_top) * var(--w8570) * 1px);
		right: calc(var(--illust_main02_right) * var(--w8570) * 1px);
	}
	#home .wrap_main .left .illust_main03 {
		width: calc(var(--illust_main03_w) * var(--w8570) * 1px);
		bottom: calc(var(--illust_main03_bottom) * var(--w8570) * 1px);
	}
	#home .wrap_main .left .illust_main04 {
		width: calc(var(--illust_main04_w) * var(--w8570) * 1px);
		right: calc(var(--illust_main04_right) * var(--w8570) * 1px);
	}
	#home .wrap_main .left .illust_main05 {
		width: calc(var(--illust_main05_w) * var(--w8570) * 1px);
		bottom: calc(var(--illust_main05_bottom) * var(--w8570) * 1px);
	}
	#home .wrap_main .left .illust_main06 {
		width: calc(var(--illust_main06_w) * var(--w8570) * 1px);
		bottom: calc(var(--illust_main06_bottom) * var(--w8570) * 1px);
		left: calc(var(--illust_main06_left) * var(--w8570) * 1px);
	}
	#home .wrap_main .left .illust_main07 {
		width: calc(var(--illust_main07_w) * var(--w8570) * 1px);
		top: calc(var(--illust_main07_top) * var(--w8570) * 1px);
		left: calc(var(--illust_main07_left) * var(--w8570) * 1px);
	}
	#home .wrap_main .right .btn_contact {
		width: 260px;
		height: 54px;
		font-size: 17px;
		margin-left: 10px;
		margin-top: 15px;
	}
	#home #sec01 .txt_indent {
		font-size: 15px;
	}
}
@media screen and (min-width: 769px) {
}
@media screen and (min-width: 768px) {
	.minw768none {
		display: none;
	}
}
@media screen and (max-width: 768px) {
}
@media screen and (max-width: 1024px) and (min-width: 481px) {
}
@media screen and (max-width: 768px) and (min-width: 481px) {
}
@media screen and (max-width: 767px) {
	#home .sec_main {
		background: url(../images/main_bg_sp.png) no-repeat;
		background-size: contain;
		background-position: center bottom;
	}
	#home .wrap_main {
		flex-direction: column;
		padding-top: 10px;
		max-width: 520px;
		width: calc(100% - 20px);
	}
	#home .wrap_main .left {
		order: 2;
		width: clamp(
			calc(var(--wrap_main_left_w) * var(--w8570) * 1px), 
			calc(var(--wrap_main_left_w) * var(--w85) / var(--vw480) * 1vw), 
			calc(var(--wrap_main_left_w) * var(--w85) * 1px)
			);
		height: clamp(
			calc(var(--wrap_main_left_h) * var(--w8570) * 1px), 
			calc(var(--wrap_main_left_h) * var(--w85) / var(--vw480) * 1vw), 
			calc(var(--wrap_main_left_h) * var(--w85) * 1px)
			);
		margin-top: 5px;
		max-width: 100%;
	}
	#home .wrap_main .right {
		padding-left: 0;
		width: calc(100% - 10px);
		bottom: 0;
	}
	#home .wrap_main .right .main_h2.add,
	#home .wrap_main .right .main_h2.add h2 {
		transition-delay: .5s;
	}
	#home .wrap_main .right .main_h2 {
		margin-left: 0;
	}
	#home .wrap_main .right h2 {
		font-size: clamp(19px, 6.4vw, 30px);
	}
	#home .wrap_main .right h2 .txt_green {
		font-size: clamp(20px, 6.933vw, 32.5px);
	}
	#home .wrap_main .right h2 .txt_small01 {
		font-size: clamp(16px, 5.6vw, 26.25px);
	}
	#home .wrap_main .right h2 .txt_small02 {
		font-size: clamp(19px, 6.4vw, 30px);
	}
	.wrap_circle.add .circle_svg .progress {
		animation-delay: .5s;
	}
	#home .wrap_main .left .circle_w {
		width: clamp(
			calc(var(--wrap_main_left_circle_w_w) * var(--w70) * 1px), 
			calc((var(--wrap_main_left_circle_w_w) * var(--w85)) / var(--vw480) * 1vw), 
			calc(var(--wrap_main_left_circle_w_w) * var(--w85) * 1px)
			);
	}
	#home .wrap_main .left .circle01 {
		left: 9.389%;
		top: 9.389%;
	}
	#home .wrap_main .left .wrap_circle.add .circle01 {
		animation-delay: .7s;
	}
	#home .wrap_main .left .circle02 {
		right: 25.649%;
	}
	#home .wrap_main .left .wrap_circle.add .circle02 {
		animation-delay: .9s;
	}
	#home .wrap_main .left .circle03 {
		top: 25.649%;
	}
	#home .wrap_main .left .wrap_circle.add .circle03 {
		animation-delay: 1.1s;
	}
	#home .wrap_main .left .circle04 {
		right: 9.37%;
		bottom: 9.37%;
	}
	#home .wrap_main .left .wrap_circle.add .circle04 {
		animation-delay: 1.3s;
	}
	#home .wrap_main .left .circle05 {
		left: 25.649%;
	}
	#home .wrap_main .left .wrap_circle.add .circle05 {
		animation-delay: 1.5s;
	}
	#home .wrap_main .left .circle06 {
		bottom: 25.649%;
	}
	#home .wrap_main .left .wrap_circle.add .circle06 {
		animation-delay: 1.7s;
	}	
	#home .wrap_main .left .wrap_circle {
		width: clamp(
			calc(var(--left_wrap_circle) * var(--w8570) * 1px), 
			calc((var(--left_wrap_circle) * var(--w85)) / var(--vw480) * 1vw), 
			calc(var(--left_wrap_circle) * var(--w85) * 1px)
			);
		height: clamp(
			calc(var(--left_wrap_circle) * var(--w8570) * 1px), 
			calc(var(--left_wrap_circle) * var(--w85) / var(--vw480) * 1vw), 
			calc(var(--left_wrap_circle) * var(--w85) * 1px)
			);
		right: 0;
		left: 0;
		bottom: auto;
		margin: auto;
		max-width: 100%;
	}
	#home .wrap_main .left .circle_border_w {
		width: clamp(
			calc(var(--wrap_main_left_circle_border_w) * var(--w8570) * 1px), 
			calc((var(--wrap_main_left_circle_border_w) * var(--w85)) / var(--vw480) * 1vw), 
			calc(var(--wrap_main_left_circle_border_w) * var(--w85) * 1px)
			);
		height: clamp(
			calc(var(--wrap_main_left_circle_border_w) * var(--w8570) * 1px), 
			calc((var(--wrap_main_left_circle_border_w) * var(--w85)) / var(--vw480) * 1vw), 
			calc(var(--wrap_main_left_circle_border_w) * var(--w85) * 1px)
			);
	}
	#home .wrap_main .left .circle_h p {
		font-size: clamp(14px, 4.106vw, 22px);
	}
	#home .wrap_main .left .illust_main01 {
		right: clamp(14.35px, 5.466vw, 29.285px);
		left: auto;
		width: clamp(
			calc(var(--illust_main01_w) * var(--w8570) * 1px), 
			calc((var(--illust_main01_w) * var(--w70)) / var(--vw480) * 1vw), 
			calc(var(--illust_main01_w) * var(--w70) * 1px)
			);
		top: -40px;
	}
	#home .wrap_main .left .illust_main02 {
		right: 0;
		width: clamp(
			calc(var(--illust_main02_w) * var(--w8570) * 1px), 
			calc((var(--illust_main02_w)) * var(--w70) / var(--vw375) * 1vw), 
			calc(var(--illust_main02_w) * var(--w70) * 1px)
			);
	}
	#home .wrap_main .left .illust_main03 {
		bottom: 10%;
		right: -5px;
		width: clamp(
			calc(var(--illust_main03_w_sp) * var(--w8570) * 1px), 
			calc((var(--illust_main03_w_sp)) / var(--vw375) * 1vw), 
			calc(var(--illust_main03_w_sp) * 1px)
			);
	}
	#home .wrap_main .left .illust_main04 {
		bottom: 47%;
		right: 35%;
		width: clamp(
			calc(var(--illust_main04_w) * var(--w8570) * 1px), 
			calc((var(--illust_main04_w)) * var(--w70) / var(--vw375) * 1vw), 
			calc(var(--illust_main04_w) * var(--w70) * 1px)
			);
		opacity: 0;
		transition: opacity .5s ease-in-out .5s;
	}
	#home .wrap_main .left .illust_main04.add {
		opacity: 1;
	}
	#home .wrap_main .left .illust_main05 {
		bottom: 11%;
		left: 0;
		width: clamp(
			calc(var(--illust_main05_w_sp) * var(--w8570) * 1px), 
			calc((var(--illust_main05_w_sp)) / var(--vw375) * 1vw), 
			calc(var(--illust_main05_w_sp) * 1px)
			);
	}
	#home .wrap_main .left .illust_main06 {
		top: 9%;
		left: 0;
		width: clamp(
			calc(var(--illust_main06_w) * var(--w8570) * 1px), 
			calc((var(--illust_main06_w)) * var(--w70) / var(--vw375) * 1vw), 
			calc(var(--illust_main06_w) * var(--w70) * 1px)
			);
	}
	#home .wrap_main .left .illust_main07 {
		left: 34%;
		top: 31%;
		width: clamp(
			calc(var(--illust_main07_w) * var(--w8570) * 1px), 
			calc((var(--illust_main07_w)) * var(--w70) / var(--vw375) * 1vw), 
			calc(var(--illust_main07_w) * var(--w70) * 1px)
			);
		opacity: 0;
		transition: opacity .5s ease-in-out .5s;
	}
	#home .wrap_main .left .illust_main07.add {
		opacity: 1;
	}
	#home .wrap_main .left .txt_main_sp {
		width: clamp(50.4px, 19.2vw, 102.857px);
		top: 2.7px;
		left: 3.3px;
		position: absolute;
		overflow: hidden;
		transform: translate(-100%, 0);
		transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
	}
	#home .wrap_main .left .txt_main_sp img {
		transform: translate(100%, 0);
		transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
	}
	#home .wrap_main .left .txt_main_sp.add,
	#home .wrap_main .left .txt_main_sp.add img {
		transform: translate(0, 0);
		transition-delay: 1s;
	}
	#home #sec01 {
		padding: 30px 0 50px;
	}
	#home #sec01 .wrap {
		max-width: 540px;
	}
	#home #sec01 .wrap_flex01 {
		flex-direction: column;
	}
	#home #sec01 .wrap_flex01 .left {
		width: 100%;
		margin-right: 0;
		margin-bottom: 20px;
	}
	#home #sec01 .wrap_flex01 .right {
		width: 100%;
		max-width: 400px;
	}
	#home #sec01 h3.type02 {
		padding: 0 30px;
	}
	#home #sec01 h3.type02::before,
	#home #sec01 h3.type02::after {
		height: 100%;
		width: 29px;
	}
	#home #sec01 .wrap_flex01 p {
		font-size: 14px;
	}
	#home #sec01 .wrap_flex02 {
		border-radius: 20px;
		padding: 20px;
	}
	#home #sec01 .wrap_flex02 figure figcaption {
		margin-top: 20px;
	}
	#home #sec01 .wrap_flex02 figure .img_left {
		border-radius: 20px;
	}
	#home #sec01 .wrap_flex02 h4 {
		padding-left: 28px;
	}
	#home #sec01 .wrap_example {
		flex-direction: column;
		margin-top: 10px;
	}
	#home #sec01 .wrap_example h6 {
		margin-right: 0;
		margin-bottom: 4px;
		width: 76px;
		font-size: 15px;
	}
	#home #sec01 .txt_indent {
		font-size: 14px;
		padding-left: 14px;
		text-indent: -14px;
	}
	#home #sec01 .wrap_example ul {
		width: 100%;
	}
	#home #sec02 {
		padding: 50px 20px 0;
	}
	#home #sec02 ul.wrap_step {
		flex-direction: column;
	}
	#home #sec02 ul.wrap_step {
		width: 100%;
		max-width: 260px;
		margin-left: auto;
		margin-right: auto;
	}
	#home #sec02 ul.wrap_step li {
		width: 100%;
		max-width: 100%;
	}
	#home #sec02 ul.wrap_step li figure .illust {
		position: relative;
	}
	#home #sec02 ul.wrap_step li .point {
		width: 0;
		height: 1px;
		right: auto;
		top: 0;
		bottom: 0;
		left: -80px;
		margin: auto;
	}
	#home #sec02 ul.wrap_step li.add .point {
		width: 80px;
		height: 1px;
	}
	#home #sec02 ul.wrap_step li .point::before {
		content: "";
		position: absolute;
		top: -4px;
		left: -4px;
		bottom: 0;
		width: 8px;
		height: 8px;
		border-radius: 50%;
		background: #fff;
	}
	#home #sec02 ul.wrap_step li .circle {
		display: contents;
	}
	#home #sec02 ul.wrap_step {
		gap: 40px;
		position: relative;
	}
	#home #sec02 ul.wrap_step::before {
		content: "";
		position: absolute;
		width: 1px;
		height: 100%;
		background: #fff;
		left: 0;
		top: 0;
	}
	#home #sec02 ul.wrap_step li figure {
		margin-top: 0;
		width: calc(100% - 80px);
		margin-left: auto;
	}
	#home #sec02 ul.wrap_step.add li figure .illust {
		position: relative;
	}
	#home #sec02 ul.wrap_step.add li .point::before {
		content: "";
		position: absolute;
		width: 8px;
		height: 8px;
		background: #fff;
		border-radius: 50%;
		left: -4px;
		top: 0;
		bottom: 0;
		margin: auto;
	}
	#home #sec02 .area_white {
		border-radius: 20px;
		padding: 20px 20px 30px;
	}
	#home #sec02 .illust_map {
		border-radius: 20px;
		max-width: 400px;
	}
	#home #sec02 .area_white .wrap_area {
		max-width: 400px;
		margin-left: auto;
		margin-right: auto;
	}
	#home #sec02 .area_white h3 {
		padding: 0;
	}
	#home #sec02 .area_white h3 .icon_checkbox {
		margin-right: 7px;
	}
	#home #sec02 .area_white h3 .icon_click {
		margin-left: -4px;
	}
	#home #sec02 .area_white ul.list_area {
		gap: 10px;
	}
	#home #sec02 .area_white ul.list_area li {
		width: calc((100% - 20px) / 3);
	}
	#home #sec02 .area_white .btn_contact {
		margin-top: 20px;
		max-width: 334px;
		width: 100%;
	}
	#home #sec02 ul.wrap_step li:nth-child(1).add .point,
	#home #sec02 ul.wrap_step li:nth-child(2).add .point,
	#home #sec02 ul.wrap_step li:nth-child(3).add .point,
	#home #sec02 ul.wrap_step li:nth-child(4).add .point {
		transition: .6s ease-in-out;
		transition-delay: 0s;
	}
	#home #sec02 ul.wrap_step li:nth-child(1).add figure,
	#home #sec02 ul.wrap_step li:nth-child(1) .txt_step,
	#home #sec02 ul.wrap_step li:nth-child(2).add figure,
	#home #sec02 ul.wrap_step li:nth-child(2) .txt_step,
	#home #sec02 ul.wrap_step li:nth-child(3).add figure,
	#home #sec02 ul.wrap_step li:nth-child(3) .txt_step,
	#home #sec02 ul.wrap_step li:nth-child(4).add figure,
	#home #sec02 ul.wrap_step li:nth-child(4) .txt_step {
		animation-delay: 0s;
	}
	#home #sec02 ul.wrap_step li .txt_step {
		top: 45px;
		left: 10px;
	}
	#home #sec03 {
		border-width: 20px;
		padding: 30px 0 40px;
	}
	#home #sec03 .wrap_step {
		flex-direction: column;
	}
	#home #sec03 .list_step.left, #home #sec03 .list_step.right {
		width: 100%;
	}
	#home #sec03 .wrap_step::after {
		width: 1px;
	}
	#home #sec03 .sp_step_wrap {
		position: relative;
		max-width: 320px;
		margin-left: auto;
		margin-right: auto;
	}
	#home #sec03 .list_step.left .child_step::before,
	#home #sec03 .list_step .child_step::before {
		height: 1px;
		left: 0;
		right: auto;
	}
	#home #sec03 .list_step.left .child_step.add::before,
	#home #sec03 .list_step.right .child_step.add::before {
		content: none;
	}
	#home #sec03 .list_step.left .child_step.nth01 .box_w,
	#home #sec03 .list_step.left .child_step.nth02 .box_w {
		margin-right: 0;
		margin-left: 40px;
	}
	#home #sec03 .list_step.left .child_step::after,
	#home #sec03 .list_step.right .child_step::after {
		width: 8px;
		height: 8px;
		right: 0;
		left: 0;
		top: -4px;
		bottom: auto;
		z-index: 3;
		opacity: 0;
	}
	#home #sec03 .list_step .end_step {
		position: relative;
	}
	#home #sec03 .list_step .end_step::after {
		position: absolute;
		content: "";
		width: 8px;
		height: 8px;
		top: -4px;
		left: 0;
		right: 0;
		margin: auto;
		background: #22b573;
		border-radius: 50%;
		z-index: 3;
		opacity: 0;
	}
	#home #sec03 .list_step .end_step.add::after,
	#home #sec03 .list_step.left .child_step.add::after,
	#home #sec03 .list_step.right .child_step.add::after {
		animation: popup 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards 0.5s;
	}

	#home #sec03 .wrap_step .sp_img {
		border-radius: 15px;
		overflow: hidden;
	}
	#home #sec03 .wrap_step .sp_img.sp_img_step01 {
		max-width: 80px;
		margin-left: 15px;
		margin-top: 15px;
	}
	#home #sec03 .list_step .child_step .box_w,
	#home #sec03 .list_step .end_step .box_w {
		border-radius: 15px;
		padding: 10px;
		border-width: 1px;
	}
	#home #sec03 .list_step.left .child_step.nth01 .box_w,
	#home #sec03 .list_step.left .child_step.nth02 .box_w,
	#home #sec03 .list_step.right .child_step.nth01 .box_w,
	#home #sec03 .list_step.right .child_step.nth02 .box_w {
		margin-top: 0;
		margin-left: auto;
		margin-right: auto;
	}
	.list_step.left,
  .list_step.right {
    display: contents;
  }
	#home #sec03 .list_step.left .child_step.nth01 .box_w {
		padding-bottom: 20px;
	}
	#home #sec03 .list_step.left .child_step.nth01 {
		order: 0;
	}
	#home #sec03 .list_step.left .child_step.nth02 {
		order: 2;
	}
	#home #sec03 .list_step.right .child_step.nth01 {
		order: 1;
	}
	#home #sec03 .list_step.right .child_step.nth02 {
		order: 3;
	}
	#home #sec03 .list_step .child_step {
		margin-top: 40px;
	}
	#home #sec03 .list_step.right .child_step.nth01 .box_w {
		max-width: 180px;
	}
	#home #sec03 .list_step.left .child_step.nth02 .box_w,
	#home #sec03 .list_step.right .child_step.nth02 .box_w {
		max-width: 160px;
	}
	#home #sec03 .img_step {
		border-radius: 15px;
	}
	#home #sec03 .wrap_step {
		padding-bottom: 40px;
	}
	#home #sec03 .img_step01 {
		max-width: 60px;
		left: auto;
		right: -10px;
		bottom: -30px;
		top: auto;
	}
	#home #sec03 .list_step .img_step02 {
		max-width: 60px;
		left: -10px;
		right: auto;
		bottom: auto;
		top: -20px;
	}
	#home #sec03 .list_step .img_step03 {
		max-width: 70px;
		top: 60px;
		right: auto;
		left: -10px;
	}
	#home #sec03 .list_step .img_step04 {
		max-width: 60px;
		bottom: auto;
		right: 0;
		left: auto;
		top: -30px;
	}
	#home #sec03 .list_step .img_step05 {
		max-width: 70px;
		max-height: 70px;
		right: 20px;
		bottom: -20px;
		z-index: 4;
	}
	#home #sec03 .list_step .num {
		font-size: 48px;
	}
	#home #sec04 {
		padding: 10px 20px 40px;
	}
	#home #sec04 .illust_left {
		margin-right: 10px;
		max-width: calc(97px * 0.4);
	}
	#home #sec04 .illust_right {
		margin-left: 10px;
		max-width: calc(106px * 0.4);
	}
	#home #sec04 h2 {
		letter-spacing: 0;
		font-size: clamp(23px, 4.791vw, 25px);
	}
	#home #sec04 p {
		text-align: left;
		font-size: 14px;
		max-width: 480px;
		margin-left: auto;
		margin-right: auto;
	}
	#home #sec04 .btn_contact {
		width: 100%;
		max-width: 350px;
	}
	#home .contact_follow {
		position: fixed;
		bottom: 0;
		background: #59c896;
		padding: 12px 15px;
		z-index: 4;
		width: 100%;
	}
	#home .contact_follow .btn_contact {
		margin: auto;
		max-width: 334px;
		width: 100%;
	}
	.footer-menu small {
		font-size: 11px;
		letter-spacing: 0;
	}
	#home h2.type01 {
		letter-spacing: 0;
	}
}
@media screen and (max-width: 767px) and (min-width: 481px) {
	#home .sec_main {
		height: clamp(684px, 121.6vw, 760px);
	}
}
@media screen and (max-width: 767px) and (min-width: 375px) {
}

@media screen and (min-width: 481px) {
}

@media screen and (max-width: 480px) {
	#home .sec_main {
		height: clamp(calc(100% - 60px), 140.533vw, 752.857px);
	}
	#home #sec04 .illust_left,
	#home #sec04 .illust_right {
		display: none;
	}
	#home #sec01 {
		background-position: 10% top;
	}
}
@media screen and (min-width: 376px) {
}
@media screen and (max-width: 375px) {
	.maxw375none {
		display: none;
	}
	#home .wrap_main .left .circle_w {
		width: clamp(
			calc(var(--wrap_main_left_circle_w_w) * var(--w8570) * 1px), 
			calc((var(--wrap_main_left_circle_w_w) * var(--w70)) / var(--vw375) * 1vw), 
			calc(var(--wrap_main_left_circle_w_w) * var(--w70) * 1px)
			);
	}
}
@media screen and (max-width: 374px) {
}
@media screen and (max-width: 349px) {
	#home .contact_follow .btn_contact,
	#home #sec04 .btn_contact {
		font-size: clamp(16px, 5.1575vw, 18px);
	}
	#home #sec02 .area_white .btn_contact {
		height: 54px;
		font-size: clamp(15px, 4.871vw, 17px);
	}
	#home .btn_contact span,
	#home #sec03 .list_step .btn_contact span,
	#home #sec04 .btn_contact span {
		width: 19.2px;
		height: 13.6px;
		margin-right: 6px;
	}
	#home #sec03 .list_step .btn_contact {
		font-size: clamp(13px, 4.297vw, 15px);
		height: 50px;
	}
	#home h2.type01 {
		font-size: clamp(19px, 6.303vw, 23px);
	}
	#home #sec01 h2.type01 span {
		width: clamp(calc(51px * 0.5), 4.25vw, 51px);
		height: clamp(calc(44px * 0.5), 3.666vw, 44px);
		margin-right: 8px;
	}
	#home #sec02 h2.type01.white span {
		width: clamp(calc(45px * 0.5), 3.75vw, 45px);
		height: clamp(calc(45px * 0.5), 3.75vw, 45px);
		top: 0;
		margin-right: 7px;
	}
	#home #sec02 .area_white h2.type01 span {
		width: clamp(calc(49px * 0.5), 4.083vw, 49px);
		height: clamp(calc(46px * 0.5), 3.833vw, 46px);
		margin-right: 10px;
	}
	#home #sec03 h2.type01 {
		align-items: center;
	}
	#home #sec03 h2.type01 span {
		width: clamp(calc(36px * 0.5), 3vw, 36px);
		height: clamp(calc(46px * 0.5), 3.833vw, 46px);
		margin-right: 8px;
		margin-bottom: 0;
		margin-top: 2px;
	}
	#home #sec03 .list_step .img_step05 {
		right: -10px;
	}
}
@media screen and (max-width: 320px) {
	#home .wrap_main {
		width: calc(100% - 20px)
	}
	#home .wrap_main .left .circle_border_w {
		width: min(
        calc(var(--wrap_main_left_circle_border_w) * var(--maxw320) * 1vw), 
        calc(var(--wrap_main_left_circle_border_w) * var(--w8570) * 1px)
    );
		height: min(
        calc(var(--wrap_main_left_circle_border_w) * var(--maxw320) * 1vw), 
        calc(var(--wrap_main_left_circle_border_w) * var(--w8570) * 1px)
    );
	}
	#home .wrap_main .left .circle_w {
		width: min(
				calc(var(--wrap_main_left_circle_w_w) * var(--maxw320) * 1vw),
				calc(var(--wrap_main_left_circle_w_w) * var(--w8570) * 1px)
		);
	}
	#home .wrap_main .left {
		width: min(
			calc(var(--wrap_main_left_w) * var(--maxw320) * 1vw),
			calc(var(--wrap_main_left_w) * var(--w8570) * 1px)
		);
		height: min(
			calc(var(--wrap_main_left_h) * var(--maxw320) * 1vw),
			calc(var(--wrap_main_left_h) * var(--w8570) * 1px)
		);
	}
	#home .wrap_main .left .wrap_circle {
		width: min(
			calc(var(--left_wrap_circle) * var(--maxw320) * 1vw),
			calc(var(--left_wrap_circle) * var(--w8570) * 1px)
		);
		height: min(
			calc(var(--left_wrap_circle) * var(--maxw320) * 1vw),
			calc(var(--left_wrap_circle) * var(--w8570) * 1px)
		);
	}
	#home .wrap_main .left .illust_main01 {
		top: -20px;
		right: 0;
	}
	#home .wrap_main .left .illust_main04 {
		bottom: 42%;
		right: 34%;
	}
	#home .wrap_main .left .illust_main07 {
		left: 35%;
		top: 27%;
	}
}
@media screen and (max-width: 319px) {
	header {
		padding-left: 10px;
	}
}