@charset "utf-8";
/* CSS Document */
html {
	scroll-padding-top: 124px;
}
main {
    background: #afdbc1;
	color: #666;
	line-height: 1.8em;
	word-break: break-all;
}
ul {
	padding: 0;
	list-style: none;
}
a,a:hover {
	text-decoration: none;
}
.center{
	text-align: center;
}
main h2 {
	text-align: center;
    text-decoration: underline;
    text-decoration-thickness: 0.5em;
    text-decoration-color: rgba(255, 228, 0, 0.4);
    text-underline-offset: -0.2em;
    text-decoration-skip-ink: none;
}
main p {
	margin-bottom: 0;
}
@media (min-width: 768px) {
	.forSp {
		display: none;
	}
}
/*------------------------------
#wrap
------------------------------*/
#wrap {
	max-width: 900px;
	margin: 0 auto;
}
h1 img {
	width: 100%;
	padding: 0.3em 0 2em;
}
@media (max-width: 910px) {
#wrap {
	padding: 0 1em;
	}
}
@media (max-width: 480px) {
	h1 img {
		padding: 0.3em 0 0.8em;
	}
}
/*------------------------------
.intro
------------------------------*/
.intro {
	background: #ffffff;
    border-radius: 30px;
    width: 80%;
    margin: 0 auto 5em;
    padding: 1em;
    position: relative;
}
.intro:after {
	content: "";
    position: absolute;
    bottom: -1em;
    left: 50%;
    border-style: solid;
    border-width: 42px 40px 0 40px;
    border-color: #fdfdfb transparent transparent;
    translate: -50% 100%;
}
.intro h2 {
	font-size: clamp(1.2rem, 1.239rem + 0.68vw, 1.75rem);
    line-height: 1.5;
}
.intro ul {
	width: fit-content;
    margin: 1.5em auto 0.5em;
}
.intro li {
	font-size: 1.4rem;
    line-height: 1.5;
}
.intro li:before {
    content: '\f14a';
    color: #7dab90;
    font-family: 'Font Awesome 6 Free';
    padding: 0 7px 0 0;
}
@media (max-width: 768px) {
	.intro {
    width: 90%;
	}
}
@media (max-width: 480px) {
	.intro li {
		font-size: 1.1rem;
		line-height: 1.7;
	}
	.intro:after {
    	border-width: 32px 30px 0 30px;
	}
}
/*------------------------------
#choice
------------------------------*/
#choice .solution {
	border-radius: 20px;
    background: radial-gradient(#fff, #f2efe0);
    text-align: center;
    padding: 2em 1em;
    margin: 2em auto;
}
#choice .solution ol {
	width: fit-content;
    margin: 0 auto;
    text-align: left;
    font-size: 1.2rem;
    line-height: 1.6;
	padding-left: 0;
}
#choice .solution ol {
  counter-reset: li;
  padding-left: 0;
}

#choice .solution ol li {
  display: flex;
  align-items: flex-start;
  padding: .3em 0;
}

#choice .solution ol li::before {
  display: inline-block;
  min-width: 1.7em;
  height: 1.7em;
  margin-right: 5px;
  margin-top: 0.25em;
  border-radius: 50%;
  background-color: #6e7471;
  color: #fff;
  font-weight: bold;
  font-size: .75em;
  line-height: 1.7em;
  text-align: center;
  content: counter(li);
  counter-increment: li;
  flex-shrink: 0;
}
#choice .itemsInner {
	display: flex;
}
#choice .ph {
	margin-top: 0.5em;
	width: 45%;
}
#choice .txt {
	padding-left: 1.2em;
    width: 48%;
}
#choice .txt h3 a {
	color: #fff;
	text-shadow: 0px 0px 6px #497a5d;
	font-size: clamp(1.2rem, 0.85rem + 0.7vw, 1.375rem);
}
#choice .items img {
	border-radius: 20px;
	width: 100%;
}
#choice li a {
	color: #fff;
    display: block;
    text-align: center;
    background: #cd352a;
    margin-bottom: 1.2em;
    padding: 0.3em;
}
#choice li:last-child a {
	background: #333;
}
#choice li a:hover {
	background: #fff;
	color: #cd352a;
}
#choice li:last-child a:hover {
	color: #333;
}
#choice .ph ul {
	display: flex;
	margin-top: 1em;
}
#choice .ph li {
	font-size: 12px;
	text-align: center;
	letter-spacing: -1.2px;
	line-height: 1.6;
	width: 50%;
}
#choice .ph li img {
	padding: 0 2em;
}
#choice .ph p a:hover,#choice .txt h3 a:hover {
	opacity: 0.6;
}
@media (min-width: 768px) {
	#choice .items {
		display: flex;
        justify-content: center;
        flex-wrap: wrap;
	}
	#choice .itemsInner {
		width: 50%;
	}	
}
@media (max-width: 768px) {
	#choice .solution figure img{
		width: 100%;
	}
	#choice h2 img {
		width: 80%;
	}
}

@media (max-width: 480px) {
	#choice .solution ol {
		font-size: 0.9rem;
        letter-spacing: -1px;
	}
	#choice .solution ol li::before {
		margin-right: 3px;
		font-size: .7em;
	}
	#choice .itemsInner {
    	margin-top: 1.5em;
		justify-content: space-between;
	}
	#choice .txt {
		padding-left: 0;
		width: 50%;
	}
	#choice .solution {
		padding: 1.5em 0.5em 1em;
	}
	#choice .ph li img {
    	padding: 0 1.5em;
	}
}

@media (max-width: 389px) {
	#choice .ph li {
    font-size: 10px;
	}
}
/*------------------------------
aside
------------------------------*/
main aside {
	padding: 3em 0;
    background: #d2ebdc;
    margin: 3em auto 0;
}
main aside p a {
	font-size: 1.3rem;
	margin: 2em auto 0;
    text-align: center;
    display: block;
    background: #333;
	color: #fff;
    width: fit-content;
    padding: 1em 10em;
}
main aside p a:hover {
	background: #fff;
	color: #333;
}
@media (max-width: 600px) {
	main aside {
    	padding: 2em 1em;
	}
	main aside h2 img {
		width: 100%;
	}
	main aside p a {
		font-size: 1.3rem;
        width: 90%;
        padding: 0.8em 1em;
        margin: 1em auto 0;
	}
}