@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;500&family=Zen+Maru+Gothic:wght@500;700&display=swap');

html {
	scroll-behavior: smooth;
}

:not(span) {
	margin: 0;
	padding: 0;
	line-height: 1;
	box-sizing: border-box;
}
* {
	font-style: normal;
	font-family: "Zen Maru Gothic", sans-serif;
	letter-spacing: calc(1em / 12);
	font-size: clump(0.95rem, 3vw, 1.05rem);
	font-feature-settings: "palt";
	max-height: 99999px;
}
li {
	list-style: none;
}
body {
	-webkit-text-size-adjust: 100%;
	color: #222;
	background: #FFF;
	animation: fadeIn 0.5s ease 0s 1 normal;
	font-family: sans-serif;
}
@keyframes fadeIn {
	0% { opacity: 0; }
	100% { opacity: 1; }
}
a:any-link {
	text-decoration: none;
	transition: .2s;
}
img {
	display: block;
	width: 100%;
	height: auto;
	transition: .2s;
}

section {
	width: 100%;
}
section.gray {
	background: #F0F0F0;
	padding-bottom: 4rem;
	border-top: solid thin #F0F0F0;
}
section.white {
	background: white;
	padding: 4rem 0 6rem;
}
@media  (orientation: portrait) {
	section.gray {
		padding-bottom: 4vw;
	}
	section.white {
		padding: 6vw 0 8vw;
	}
}


header {
	border-top: solid 0.5rem #FF2A0C;
	width: 100%;
}
h1 {
	/* width="357.775px" height="56.997px" */
		width: calc(22.36rem * 0.6);
		height: calc(3.56rem * 0.6);
		margin: 0.75rem 0 0.5rem min(5vw, 2.5rem);
}
h2 {
	font-weight: 500;
	font-family: "M PLUS Rounded 1c", sans-serif;
	text-align: center;
	font-size: min(5.5vw, 2.25rem);
	margin: min(7.5vw, 2.5rem) 0 min(10vw, 5rem);
}
#block1 {
	background: url(./img/tomato_bg.svg) center top no-repeat,
		linear-gradient(to bottom, white 0, white 10rem, #F1E9DC 10rem, #F1E9DC 100%) repeat-x,
		#F1E9DC;
	background-size: auto 27rem;
	padding-top: 7rem;
	padding-bottom: min(10vw, 3rem);
	border-top: solid thin white;
	position: relative;
}

#block1 h3 {
	width: 55rem;
	max-width: calc(100% - 5vw);
	margin: 0 auto 2rem;
	border: solid medium white;
	border-radius: 3rem;
	font-size: min(5vw, 2.25rem);
	font-weight: 700;
	color: white;
	padding: 0.5em;
	display: flex;
	justify-content: center;
	align-items: center;
}
#block1 h3 small {
	font-size: 0.8em;
}

h3 + p {
	width: 55rem;
	max-width: calc(100% - 10vw);
	margin: 2rem auto;
	padding-inline: min(1vw, 0.75rem);
	color: white;
	line-height: 1.75;
	font-weight: 500;
}


#circle1 {
	position: absolute;
	top: calc(100vh - 5rem);
	left: calc(50% - 48.5rem);
	width: 20rem;
	height: 20rem;
	background: white;
	border-radius: 50%;
	font-size: 0.95rem;
	line-height: 2;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	opacity: 0;
	transition: 1.5s;
}
#circle1.visible {
	top: 21rem;
	opacity: 1;
}

ul {
	width: 55rem;
	display: flex;
	gap: 0.5rem;
	padding: 2rem;
	background: white;
	margin: 0 auto;
	border-radius: 3rem;
	position: relative;
}
#block1 ul::after {
	content: '';
	position: absolute;
	bottom: -5rem;
	right: -12rem;
	width: 9rem;
	height: 18rem;
	background: url(./img/tomato.svg) center center no-repeat;
	background-size: cover;
}
@media (max-width: 97rem) {
	#block1 ul {
		width: 30rem;
		flex-direction: column;
		position: relative;
		left: 12.5rem;
	}
	#circle1 {
		top: 49rem;
		left: calc(50% - 27.5rem);
		width: 22rem;
		height: 22rem;
		font-size: 1rem;
	}
	#circle1.visible {
		top: 34rem;
		opacity: 1;
	}
	#block1 ul::after {
		content: none;
		display: none;
	}
}
@media (max-width: 60rem) {
	#block1 ul {
		position: static;
		max-width: calc(100% - 5vw);
	}
	#circle1 {
		position: relative;
		top: 10rem;
		left: 0;
		margin: 2rem auto 0;
		width: 20rem;
		height: 20rem;
		font-size: 0.95rem;
	}
	#circle1.visible {
		top: 0;
		opacity: 1;
	}
}
@media (max-width: 35rem) {
	#block1 {
		background-size: auto 35rem;
	}
	#block1 ul {
		padding: 1rem;
		border-radius: 1.5rem;
	}
}
#block1 div a {
	display: flex;
	justify-content: center;
	margin:  min(10vw, 3rem) auto 0;
	padding: 1rem;
	color: white;
	background: #FF2A0C;
	font-weight: 500;
	width: 18rem;
	border-radius: 2rem;
	box-shadow: 0.25rem 0.25rem 0.5rem rgb(0,0,0,0.1);
	transition: .2s;
}
#block1 div a:hover {
	opacity: 0.75;
}
#block1 div a:active {
	box-shadow: 0 0 0 rgb(0,0,0,0);
}

#block2 {
	background: #70C78C;
	padding-block: min(10vw, 5rem);
	position: relative;
}

#block2 h3 {
	width: 55rem;
	max-width: calc(100% - 5vw);
	margin: 0 auto 2rem;
	border: solid medium white;
	background: white;
	border-radius: 3rem;
	font-size: min(5vw, 2.25rem);
	color: #70C78C;
	padding: 0.5em;
	display: flex;
	justify-content: center;
	align-items: center;
}

#circle2 {
	position: absolute;
	top: 30rem;
	right: calc(50% - 48.5rem);
	width: 20rem;
	height: 20rem;
	background: white;
	border-radius: 50%;
	font-size: 0.95rem;
	line-height: 2;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	opacity: 0;
	transition: 1.5s;
}

#circle2.visible {
	top: 15rem;
	opacity: 1;
}
@media (max-width: 97rem) {
	#block2 ul {
		width: 30rem;
		flex-direction: column;
		position: relative;
		right: 12.5rem;
	}
	#circle2 {
		top: 40rem;
		right: calc(50% - 27.5rem);
		width: 22rem;
		height: 22rem;
		font-size: 1rem;
	}
	#circle2.visible {
		top: 25rem;
		opacity: 1;
	}
}
@media (max-width: 60rem) {
	#block2 ul {
		position: static;
		max-width: calc(100% - 5vw);
	}
	#circle2 {
		position: relative;
		top: 10rem;
		left: 0;
		margin: 2rem auto 0;
		width: 20rem;
		height: 20rem;
		font-size: 0.95rem;
	}
	#circle2.visible {
		top: 0;
		opacity: 1;
	}
}
@media (max-width: 35rem) {
	#block2 ul {
		padding: 1rem;
		border-radius: 1.5rem;
	}
}

footer p a:any-link {
	display: block;
	font-size: 1.25rem;
	padding: 1em 0;
	width: 20rem;
	border-radius: 3rem;
	margin: min(10vw, 5rem) auto;
	background: #FF2A0C;
	color: white;
	text-align: center;
	box-shadow: 0.25rem 0.25rem 0.5rem rgb(0,0,0,0.1);
	transition: .2s;
}
footer p a:hover {
	opacity: 0.75;
}
footer p a:active {
	box-shadow: 0 0 0 rgb(0,0,0,0);
}
footer #copyright p {
	text-align: center;
	margin: 4rem 0;
	font-size: 0.95rem;
	font-family: "M PLUS Rounded 1c", sans-serif;
}
@media  (orientation: portrait) {
	footer #copyright p {
		margin-bottom: 3.75rem;
		font-size: 2.75vw;
	}
}



#back_to_top {
	width: 3rem;
	height: 3rem;
	position: fixed;
	bottom: -4rem;
	right: 1rem;
	transition: .5s;
}
#back_to_top.is-animation2 {
	bottom: 2rem;
}
#back_to_top a:hover,
#back_to_top a:hover img {
	opacity: 1;
}

@media  (orientation: portrait) {
	#back_to_top.is-animation2 {
		bottom: 5rem;
	}
}
