@charset "UTF-8";
:root{
	--text-main:#0f172a;
	--primary:#ec913d;
	--primary2:#f36900;
	--accent:#ff5a3c;
	--secondary:#22c55e;
	--blue:#0b3aa6;
	--bg-light:#f4f7f9;
}
*{margin:0;padding:0;box-sizing:border-box;}
html {
    font-size: 62.5%;
    -webkit-font-smoothing: antialiased;
}
body{
	font-family:'Noto Sans JP',sans-serif;
	color:var(--text-main);
	line-height:1.8;
	font-size:clamp(12px, 1.14vw, 22px);
	background:white;
}
@media screen and (max-width:699px){
    body{
        font-size:14px;
    }
}
header,footer,article,section,nav,small,aside,div,ul,li,h1,h2,h3,h4,h5,p{
	display:block;
	box-sizing:border-box;
	position:relative;
	font-size: 100%;
	line-height:150%;
}
h2{
    font-size: 1.5em;
    font-weight: 900;
    margin-bottom: .5em;
}
section{
	margin-bottom:0;
}
img{
	display:block;
	outline:none;
	width:100%;
	height:100%;
	object-fit:cover;
}
header{
    padding: .3em 0;
    position: sticky;
    top: 0;
    z-index: 9999;
    width: 100%;
    background: rgba(255, 255, 255, .8);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid #3a9251;
}
header .logo{
	width:15em;
	margin-bottom:0;
}
header .header-cta{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: .5em 1em;
    border-radius: 2em;
    background: rgba(31, 111, 235, .08);
    border: 1px solid rgba(31, 111, 235, .20);
    color: var(--blue);
    white-space: nowrap;
    font-size: 1.2em;
}
.card{
    background: #fff;
    border-radius: 1em;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}
.eigyo{
	color:red;
	font-weight: 600;
	font-size:.8em;
	background:yellow;
}
#hero .btn{
	background: linear-gradient(180deg, var(--primary), var(--primary2));
	color:white;
	font-weight: 600;
	box-shadow: 0 10px 26px rgb(0 61 68 / 28%);
	transition: 0.25s;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 3em;
	position: absolute;
	z-index: 1;
}
#hero .btn i{
	font-size:1.05em;
}
#ouen>div{
	border:.5em double #ffb3e7;
	padding:2em 0;
}
#ouen p{
	margin-bottom:0;
}
#ouen small{
	color:#aaa;
	font-size:.7em;
	margin-top:2em;
}
#risk{
    background: #fff5f5;
    border-top: .4em solid var(--accent);
}
#risk h2{
	color:var(--accent);
	font-weight:600;
}
#risk h2 span{
	color: red;
    background: yellow;
    padding: 0 .2em;
    margin-left: .2em;
}
#risk small{
    font-size: .6em;
    font-weight: 900;
}
#risk ul{
	margin-top:3em;
}
#risk li i{
    color: var(--accent);
    font-size: 2em;
    margin-bottom:.5em;
}
#risk h3{
	font-weight: 900;
    margin-bottom: 1em;
    color: #68a210;
}
#benefit {
    background: #eef9f1;
}
#benefit .benefit-box {
    background:#fff;
    padding:4em 2em;
    border-radius:2em;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    margin-top:2em;
}
#benefit h3{
	font-size:1.2em;
	font-weight:900;
	margin-bottom:.5em;
}
#benefit h4{
    font-size: 1.2em;
    font-weight: 900;
    margin: 2em 0 2em;
    color: var(--primary2);
}
#benefit h4 span{
    color: white;
    background: orange;
    padding: 0 .2em;
    border-radius: .3em;
}
#benefit small{
	margin-top:2em;
}
.feature-box{
	margin-top:4em;
}
.feature-item{
    display: flex;
    align-items: flex-start;
    background: var(--bg-light);
    border-radius: 1.5em;
}
.feature-icon{
	width:2.5em;
	height:2.5em;
	background:var(--primary);
	color:#fff;
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:1.5em;
	flex-shrink:0;
	margin-right:1em;
	font-weight:900;
}
.feature-item p{
    margin-bottom:0;
}
#features h3{
    font-size: 1.2em;
    margin-bottom: .2em;
}
#offer{
	background: #f8f9fa;
}
.offer-box{
	background:var(--white);
	border:.2em solid var(--primary);
	border-radius:1em;
	margin:2em auto;
	box-shadow:0 12px 28px rgba(2,6,23,.06);
}
.price-old{font-size:1.5em;text-decoration:line-through;color:#999;}
.price-arrow{font-size:2em;color:var(--primary);}
.price-new{font-weight:900;color:var(--primary);}
.flowcard{
	padding:3em 1em;
}
#monitor{
    background:#dae5e3;
}
#monitor .monitorimg{
    background: var(--bg-light);
    margin-top: 2em;
}
.jitsugaku{
    color:var(--accent);
}
.jitsugaku span{
    font-size:1.5em;
    font-weight:900;
}
.url{
    color:cadetblue;
}
#flow h2{
	margin-bottom:0;
}
#faq{
	background:var(--bg-light);
}
#faq ul{
	margin-top:3em;
}
#faq li{
	margin-bottom:1em;
}
.contact-form {
    background: var(--bg-light);
    border-radius: 2em;
    box-shadow: 0 14px 34px rgba(2, 6, 23, .08);
    border: 1px solid rgba(226, 232, 240, .95);
    margin: 2em auto;
}
.chuui{
	color:red;
	font-weight:900;
	font-size:.7em;
}
.formlabel {
    display: block;
    margin-bottom: 8px;
    font-weight: 900;
}
.form-group input,
.form-group select,
.form-group textarea {
    width: 100%;
    padding: 1em;
    border: 1px solid #ddd;
    border-radius: .8em;
    background: #fff;
    outline: none;
    transition: .15s;
    font-size: 1em;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    border-color: rgba(31, 111, 235, .55);
    box-shadow: 0 0 0 4px rgba(31, 111, 235, .12);
}
.form-group .wpcf7-form-control-wrap{
	margin-bottom:1.5em;
	display:block;
}
.form-group textarea{
	height:9em;
}
.kakunin p{
	margin-bottom:0;
}
.required-mark{
	color:red;
	font-size:.8em;
	font-weight:900;
	margin-left: .2em;
}
#submit{
	text-align:center;
}
.wpcf7-submit:disabled{
	background:#ddd;
}
.wpcf7-submit{
	background:var(--blue);
    cursor: not-allowed;
    display: inline;
    position: relative;
    padding: .5em 2em;
    margin-top: 2em;
	border:none;
	color:white;
	border-radius:1em;
	font-weight: 600;
	box-shadow: .1em .1em .5em #aaa;
	transition-duration:0.4s;
	font-size:1em;
}
.wpcf7-submit:not(:disabled):hover{
	box-shadow:0 0 .3em #aaa;
	cursor: pointer;
	transform:translateY(-.2em);
}
footer {
    background: #0f172a;
    color: #fff;
    padding: 5em 0;
    font-size: 0.9em;
}
@media screen and (min-width: 769px){
    .section-padding:not(#flow){
        padding:7em 0;
    }
    .card{
        padding:2em;
    }
    header .logo{
        width:15em;
    }
    #hero .btn{
        bottom: 4em;
        font-size:2em;
        padding: .5em 2em;
        left: 15%;
    }
    #hero .btn:hover{
        transform:translateY(-2px);
        box-shadow: 0 10px 26px rgb(0 61 68 / 28%);
    }
    #hero .btn:active{
        transform:translateY(0);
    }
    #risk h2{
        font-size:2em;
    }
    #risk h3{
        font-size: 1.3em;
    }
    .feature-item{
        margin-bottom: 2.5em;
        padding: 2em;
    }
    .price-row{
        margin:2em 0;
    	gap:30px;
    }
    .price-new{
        font-size:3.5em;
    }
    .offer-box{
        padding:3em;
    }
    #flow{
	    padding:3em 0;
    }
    .contact-form {
        padding: 5em;
    }
    .jitsugaku{
        font-size:1.5em;
    }
}
@media screen and (max-width: 768px){
    .section-padding:not(#flow){
        padding:3em 1em;
    }
    .card{
        padding:1em;
    }
    header .logo{
        width:10em;
    }
    header .header-cta{
        margin-right:.5em;
    }
    #hero .btn{
        bottom: 1.5em;
        font-size: 1.4em;
        padding: .5em 0;
        width: 90%;
        left: 5%;
        text-align: center;
        animation:btn 3s infinite;
        animation-timing-function: ease-in-out;
    }
    #risk li{
        margin-bottom:1em;
    }
    #risk li p{
        margin-bottom:0;
    }
    #risk h3{
        font-size: 1.1em;
    }
    .subsidy-list span{
        display:block;
        margin-bottom:1em;
        border-radius: 1em;
        overflow: hidden;
    }
    .feature-item{
        margin-bottom: 1.5em;
        padding: 1em;
    }
    .price-new{
        font-size:2.5em;
    }
    .offer-box{
        padding:2em;
    }
    .price-row{
        margin-bottom:1em;
    }
    .price-arrow{
        display: block;
        margin-bottom: .5em;
    }
    .price-arrow i{
        transform: rotate(90deg);
    }
    .contact-form {
        padding: 2em;
    }
    #flow{
        padding:1em;
    }
    .jitsugaku{
        font-size:1.2em;
    }
}
@-webkit-keyframes btn{
    0%{transform:translateY(0);}
    50%{transform:translateY(-20px);}
    100%{transform:translateY(0);}
}
@keyframes btn{
    0%{transform:translateY(0);}
    50%{transform:translateY(-20px);}
    100%{transform:translateY(0);}
}
































