@charset "utf-8";
/* CSS Document */
html {
	margin: 0 auto;
}
body {
	margin: 0;
	overflow-x: hidden;
}
main {
	max-width: 1400px;
	margin: 0 auto;
	color: var(--text-primary);
}

h1 {
	font-size: clamp(1.25rem, 2.9vw + 1rem, 3.125rem);
}
h2 {
	margin: 0;
	font-size: clamp(1.25rem, 1.9vw + 1rem, 2.375rem);
	text-align: center;
}
h3 {
	font-size: clamp(1rem, 1.3vw + 1rem, 1.875rem);
	margin: 0;
}

section {
	padding: 30px 60px;
}
section > section {
	margin: 3em 0;
	padding: 0;
}
ul {
	list-style-type: none;
	padding: 0;
}

a {
	text-decoration: none;
}

a :visited{
	color: inherit;
}

.pct img{
	width: 100%;
	height: auto;
}
.point-blue {
	color: var(--accent);
}
button {
	background: none;
	border: none;
	cursor: pointer;
}
.mod-btn {
	padding: 12px 24px;
	background: var(--accent);
	color: #fff;
	border-radius: 8px;
	text-align: center;
	text-decoration: none;
	font-weight: bold;
}

.dt-only{
	display: block;
}
.mobile-only {
	display: none;
}

.nav-btn .mod-btn{
	margin-left: 2em;
}
.mod-btn.bg-white {
	border: 1px solid var(--accent);
	background: #fff;
	color: var(--accent);
}

.mod-center{
	text-align: center;
}
.mod-bold {
	font-weight: bold;
}
.mod-text-s {
	font-size: 0.8125rem;
}
.mod-text-m {
	font-size: 1.2rem;
}
.mod-text-l {
	font-size: 1.5rem;
	font-weight: bold;
}
.icon {
	display: block;
	width: 1em;
	height: 1em;
	margin: 0 auto;
	color: var(--accent);
}
.nav-btn button{
	border: none;
	background: none;
	font-weight: bold;
}
.grid-container {
	display: grid;
	gap: 10px;
	padding: 0 60px;
}
.hero-area.grid-container {
	grid-template-columns: 1fr clamp(300px, 50%, 500px);
	align-items: center;
}
.hero-area.grid-container .pct {
	position: relative;
	max-width: 600px;
}
.hero-area.grid-container .pct::before{
	position: absolute;
	content:"";
	width: 400px;
	height: 400px;
	background: var(--bg);
	z-index: -1;
	border-radius: 50%;
	bottom: -26px;
	right: -30px;
}

.cta-link {
	display: grid;
	grid-template-columns: repeat(2, minmax(250px, 350px));
	gap: 1em;
	justify-content: center;
	margin: 2em 0;
}

.feature {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: 3em 0;
	gap: 1em;
}
.feature .feature__item {
	display: flex;
}
.feature__item::before,
.feature__item::after{
	display: inline-block;
	width: 29px;
	height: 67px;
	padding: 0 10px;
	background: url("../images/feature.png") no-repeat;
	background-size: contain;
	content:"";
}
.feature__item::before {
	transform: scaleX(-1);
}

.feature .feature__item .item-wrap {
	text-align: center;
}

.feature__item span{
	display: block;
}
.feature__item span sub {
	font-size: 0.875rem;
	vertical-align: baseline;
	font-weight: normal;
	color: #000;
}

.feature__item .mod-text-s {
	white-space: nowrap;
}
.feature__item .item-text-l {
	font-size: 1.25rem;
	font-weight: bold;
	color: var(--accent);
}
.feature__item small {
	font-size: 50%;
	white-space: nowrap;
}

.bg-color {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	background: var(--bg);
}

.problem--list {
	list-style-type: none;
	display: grid;
	grid-template-columns: repeat(3, clamp(250px, 32%, 340px));
	gap: 10px;
	justify-content: space-around;
	margin: 2em 0;
}
.problem--list .problem--item {
	display: flex;
	flex-direction: column-reverse;
	padding: 20px;
	background-color: #fff;
	text-align: center;
}

.problem--list .problem--item .pct img {
	max-width: 210px;
	min-width: 140px;
}

	
.solution--area {
	margin: 2em 0;
}
.solution--list {
	list-style-type: none;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px;
	margin: 2em 0 0 0;
}
.solution--list li{
	display: flex;
	flex-direction: column-reverse;
	align-items: stretch;
	padding: 10px;
	border-radius: 5px;
	box-shadow: 1px 3px 5px 2px #eee;
	text-align: center;
}
.bg-circle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: var(--bg);
}

.solution--list .bg-circle {
	inline-size: 64px;
	block-size: 64px;
	margin: 0 auto;
	border-radius: 50%;
}
.solution--list .icon{
	width: 2.5em;
	height: 2.5em;
}

.solution--list .bg-circle {
	inline-size: 64px;
	block-size: 64px;
	margin: 0 auto;
}

.function-area .grid-container {
	grid-template-columns: 368px clamp(600px, 64%, 800px);
	margin-top: 20px;
	justify-content: center;
}

.function-list {
	list-style-type: none;
	padding: 0;
}

.function-list li + li{
	margin-top: 1em;
}
.function--item {
	display: grid;
	grid-template-columns: 40px 1fr;
	gap: 1em;
	flex-direction: row-reverse;
}


.function--item .item--wrap p {
	margin: 0;
}

.function-list .bg-circle {
	inline-size: 40px;
	block-size: 40px;
	border-radius: 30%;
	margin-right: 10px;
}
.function-list .icon{
	width: 30px;
	height: 30px;
}


.cta-area.grid-container {
	grid-template-columns: 1fr clamp(240px, 65%, 450px);
	align-items: center;
	padding: 20px 80px;
	text-align: center;
}


/* PC */

@media screen and (max-width: 1200px) {
	section {
		padding: 30px;
	}
	.grid-container {
		padding: 0 30px;
		gap: 20px;
	}
}

@media screen and (max-width: 1025px) {
	.hero-area.grid-container {
		grid-template-columns: 1fr;
	}	
	.hero-area.grid-container .pct {
		margin: 0 auto;
	}
	
	.mobile-only {
		display: block;
	}
	.dt-only {
		display: none;
	}
	
	section.problem-area{
		margin-top: 3em;
	}
	
	.function-area h3 {
		text-align: center;
	}
	.function-area .grid-container {
		display: block;
		padding: 0;
	}
	
	.function-area .grid-container .pct {
		text-align: center;
	}
	.function-list {
		display: grid;
		grid-template-columns: repeat(2, minmax(250px, 350px));
		gap: 2em;
		justify-content: center;
		margin-bottom: 2em;
	}
	.cta-area {
		margin: 0 auto;
	}
	.cta-area.grid-container{
		display: block;
		text-align: center;
	}
	.cta-area.grid-container .item-wrap{
	}
	
	.cta-area .pct img.l-img {
		max-width: 400px;
	}
	
}
@media screen and (max-width: 966px) {
	.solution--list {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media screen and (max-width: 820px) {
	.hero-area.grid-container .pct::before {
		bottom: -24px;
	}	
	.problem--list	{
		grid-template-columns: 1fr;
	}
	
	.problem--list .problem--item {
		flex-direction: row-reverse;
		justify-content: center;
		align-items: center;
		gap: 20px;
		text-align: left;
	}
	
	
}

/* スマホ */
@media screen and (max-width: 767px) {
	.mod-text-m {
		font-size: 1rem;
	}
	.problem--list {
		grid-template-columns: 1fr;
	}
	.problem--list .problem--item {
		flex-direction: row-reverse;
		justify-content: space-around;
		align-items: center;
		padding: 0;
	}
	.problem--list .problem--item .pct img {
		max-width: 180px;
		min-width: 140px;
	}
}

@media screen and (max-width: 600px) {
	.function-area .grid-container > .item--wrap {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	.function-list {
		display: block;
	}
	.cta-link {
		grid-template-columns: 1fr;
	}
	br.dt-only {
		display: block;
    }
}

@media screen and (max-width: 492px) {
	.problem--list .problem--item {
		flex-direction: column-reverse;
		gap: 0;
	}
	
	.problem--list .problem--item .pct {
		margin-top: 20px;
	}
	.solution--list {
		grid-template-columns: 1fr;
	}
	.cta-area.grid-container {
		padding: 20px;
	}
}




