@charset "utf-8";

:root {
--color1:#12bd58;
}



/*==================================================
共通
==================================================*/
html {
font-size: 100%;
}
body {
font-family: "Noto Sans JP","Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
font-size: 1rem;
position: relative;
margin: 0px;
padding: 0px;
-webkit-text-size-adjust: 100%;
-moz-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
-o-text-size-adjust: 100%;
text-size-adjust: 100%;
color: #333;
}

header, nav, div, h1, h2, h3, h4, h5, h6, p, ol, ul, li, dl, dt, dd, img, table, tr, td, th, input, textarea, select, a, figure {
box-sizing: border-box;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
list-style: none;
margin: 0px;
padding: 0px;
font-weight: normal;
font-size: 100%;
}
h1, h2, h3, h4, h5, h6 {
font-weight: bold;
line-height: 1.3em;
}
a, a:link, a:visited {
text-decoration: none;
color:#333;
transition: all ease 300ms;
}
a:hover,a:active {
text-decoration: underline;
}
img {
width: 100%;
display:block;
transition: all ease 300ms;
}
a:hover img,
a:active img {
opacity: 0.85;
}
figure {
text-align: center;
}
p {
line-height: 1.8em;
}
mark {
font-style: normal;
margin:0 0.1em;
padding:0 0.1em;
background: linear-gradient(transparent 70%, var(--color3) 0%);
font-weight: bold;
color:#BD2020;
display:inline-block;
}

.spNone {
display: none;
}

.wrap {
max-width:750px;
margin:0 auto;
background-color: #FFF;
}



/*==================================================
Header
==================================================*/
#header {
display:table;
width:100%;
border-bottom:var(--color1) solid 2px;
}
#header .logo,
#header >p  {
display:table-cell;
padding:10px 10px 6px;
}
#header .logo img {
height:4vw;
width:auto;
}
#header >p {
font-size:2.5vw;
width:25em;
text-align: right;
}
@media screen and (min-width: 601px) {
	#header .logo,
	#header >p  {
	box-sizing: border-box;
	width:50%;
	}
	#header .logo img {
	height:auto;
	max-width:100%;
	}
	#header >p {
	font-size:14px;
	}
}/* min-width: 601px */



/*==================================================
CTA
==================================================*/
.cta {
padding:0.5rem 8% 1.5rem;
}
.cta ul.btnG li {
text-align: center;
}
.cta > ol {
margin-top:1rem;
}
.cta > ol li {
font-size:0.7rem;
line-height: 1.5em;
padding-left:1.5em;
position: relative;
}
.cta > ol li::before {
content:'※';
position: absolute;
left:0; top:0;
}
@media screen and (min-width: 601px) {

}/* min-width: 601px */




/*==================================================
content
==================================================*/
.keyV p {
position: relative;
margin: 0.5rem 5% 0;
padding-left:1.5em;
font-size:0.7rem;
line-height: 1.5em;
}
.keyV p::before {
content:'*1';
display: block;
width:1.5em;
position: absolute;
left:0; top:0;
}


.jirei {
background:#f8f8ce;
}
.jirei .swiper {
padding:2rem 5%;
}
.jirei ul li {
overflow: hidden;
border-radius: 1.5rem;
background-color: #FFF;
box-shadow: 4px 4px 4px rgba(0,0,0,0.2);
}
.jirei ul li p {
padding:0.5em 1.5em 2em;
font-size:0.9rem;
line-height:1.6em;
}
@media screen and (min-width: 601px) {
	.jirei .swiper {
	padding:4rem 4%;
	}
	.jirei ul li p {
	padding:1em 3em 3em;
	font-size:1rem;
	line-height:1.8em;
	}
}/* min-width: 601px */


.linekanketsu {
padding:1rem 3% 1.5rem;
}
.linekanketsu h2 {
margin-bottom:1.5rem;
}
.linekanketsu ul li:first-child {
margin-bottom:1.5rem;
}
@media screen and (min-width: 601px) {

}/* min-width: 601px */



.step {
background-color: #fee9d8;
}
.step h2 {
margin-bottom:1rem;
text-align: center;
padding-top:1.5rem;
}
.step ol {
display:flex;
flex-wrap: nowrap;
justify-content: space-between;
padding:0 5% 1.5rem;
}
.step ol li {
width:49%;
}
.step h3 {
background: url(../img/saimu24_hca/step_arrbg.png) no-repeat center top #FFF;
background-size:contain;
text-align: center;
padding:15vw 5% 1.5rem;
}
@media screen and (min-width: 601px) {
	.step h3 {
	padding:8rem 5% 3rem;
	}
}/* min-width: 601px */


.point h3 {
margin:2rem 5% 1rem;
}
.point h3 {
margin:2rem 5% 1rem;
}
.point ol {
margin:0 2% 1rem;
}



/*==================================================
foot
==================================================*/
#footer {
padding:1rem 3%;
background-color: #EEE;
padding-bottom:min(30vw, 230px);
}
#footer table {
font-size:0.85rem;
line-height:1.2em;
background-color: #FFF;
border-radius: 1rem;
border:transparent solid 1rem;
border-width: 1rem 1.5rem;
box-sizing: border-box;
width:100%;
}
#footer table th,
#footer table td {
width:100%;
padding:1em 0.5em;
font-size:0.8rem;
line-height:1.5em;
display: block;
text-align: left;
}
#footer table th {
font-weight:500;
padding-bottom:0;
}
#footer table td {
padding-top: 0;
}
#footer table tr:not(:last-child) td {
border-bottom:#CCC dotted 1px;
}
#footer > dl {
padding:1rem;
border-bottom:#E6E6E6 solid 1px;
width:100%;
}
#footer > ul {
display:flex;
justify-content: center;
gap: 1rem 3rem;
margin-top: 2rem;
}
#footer > ul li a {
font-size:0.85rem;
}
#footer .copyRight {
line-height: 1em;
margin-top:2rem;
text-align: center;
font-size: 60%;
}
@media screen and (min-width: 601px) {
	#footer {
	padding:2rem 10%;
	padding-bottom:min(30vw, 180px);
	}
	#footer table {
	font-size:1rem;
	width:100%;
	}
	#footer table th,
	#footer table td {
	padding:1em;
	}
	#footer table th {
	width:25%;
	}
	#footer > dl {
	padding:2rem;
	}
	#footer .copyRight {
	font-size: 70%;
	}
}/* min-width: 601px */





/*==================================================
スクロール表示ボタン
==================================================*/
#fixBtn {
position: fixed;
left:0; bottom:0;
width:100vw;
z-index: 1000;
background-color: rgba(255,255,255,0.7);
padding:4px 0;
display: none;
}
#fixBtn.active {
display: block;
}
#fixBtn ul {
text-align: center;
max-width:80vw;
margin:0 auto;
}
@media screen and (min-width: 601px) {
	#fixBtn ul {
	max-width:500px;
	margin:0 auto;
	}
	#fixBtn ul li img {
	max-width:100%;
	height:auto;
	}
}/* min-width: 601px */