@charset "utf-8";
:root {
	--c_gr:#19BE4C;
	--c_or:#F05A24;
	--c_rd:#E50012;
	--c_ye:#FFF100;
	--c_lgr:#E8F9EE;
	--c_ly:#FFFCDB;
	--c_lo:#FEEFEA;
}
.clr-gr {
	color: var(--c_gr)!important;
}
.clr-or {
	color: var(--c_or)!important;
}
.clr-rd {
	color: var(--c_rd)!important;
}
.clr-ye {
	color: var(--c_ye)!important;
}
.clr-wh {
	color: #fff!important;
}
.bg-lgr {
	background-color: var(--c_lgr)!important;
}
.bg-ly {
	background-color: var(--c_ly)!important;
}
.bg-or {
	background-color: var(--c_or)!important;
}
.bg-lo {
	background-color: var(--c_lo)!important;
}
.bg-gy {
	background-color: #f1f1f1!important;
}
.bg-wh {
	background-color: #fff!important;
}
body {
	padding-top: 10.1rem;
}


/*header
---------------------------------------------------------*/
#header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	background: #fff;
	z-index: 9990;
	transition: .4s;
}
#header.scrollCrass {
	box-shadow: 0 .1rem .5rem rgba(0,0,0,.05)
}
.hWrap {
	padding: 1.5rem 0;
}
.hLogo .logo {
	max-width: 19.5rem;
}
.hTxt {
	text-align: left;
	font-size: 1.9rem;
	margin-right: 1rem;
	line-height: 1.4;
	font-weight: 600;
	padding-bottom: .5rem	
}
.hTel {
	margin-right: 2rem;
	white-space: nowrap;
	text-align: right;
	align-items: flex-start;
	padding-top: 0.5rem;
}
.hTel >span {
	display: block;
	text-align: center;
	font-size: 1.8rem;
	margin-right: 1rem;
	line-height: 1.1;
	font-weight: 800;
}
.hTel a {
	font-size: 4.7rem;
	display: block;
}
.hBtn a {
	display: block;
	color: #fff;
	background: var(--c_rd);
	text-align: center;
	font-weight: 700;
	width: 31rem;
	border-radius: 10rem;
	padding: 1rem 3rem;
	font-size: 2.6rem;
	line-height: 1.1;
	position: relative;
	margin-bottom: 0.2rem;
}
.hBtn a::after {
	content: "";
	display: block;
	background: url(../img/arrow.svg) center center no-repeat;
	background-size: contain;
	width: 1.1rem;
	aspect-ratio: 1;
	position: absolute;
	top: 50%;
	right: 2rem;
	transform: translateY(-50%);
	z-index: 1;
}
.hBtn a:hover {
	background: var(--c_or);
}
.hBtn > small {
	display: block;
}

/*footer
---------------------------------------------------------*/
#footer {
	background: #fff;
	padding: 3rem 0;
	border-top: 1px solid #4d4d4d;
}
.fLogo {
	max-width: 17.5rem;
	margin-right: 2.5rem;
}
.fWrap .txt {
	text-align: left;
}
.copyright {
	margin-top: 2rem;
	font-size: 90%;
}
.spFix {
	display: none;
}

/*contents
---------------------------------------------------------*/
.heroArea {
	background:url(../img/main_bg.jpg) center center no-repeat;
	background-size: cover;
	position: relative;
	margin-bottom: 4rem;
}
.heroWrap {
	padding: 1rem 0 2rem;
	position: relative;
	color: #fff;
}
.heroBox h1 {
	font-size: 11.9rem;
	line-height: 1;
	letter-spacing: -.05em;
}
.heroBox .ttl {
	font-size: 6.6rem;
	font-weight: 700;
	line-height: 1.1;
	margin-bottom: 2rem;
}
.heroTxt {
	display: inline-block;
	position: relative;
	font-size: 12rem;
	line-height: 1;
	color: var(--c_ye);
}
.heroTxt  strong {
	font-size: 216%;
}
.heroBox .sub {
	font-size: 2.8rem;
	color: var(--c_gr);
	background: #fff;
	border-radius: 10rem;
	position: absolute;
	top: 0;
	right: 0;
	line-height: 1.2;
	padding: 1rem 2rem;
	display: block;
}
.heroBox .sub::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: #fff transparent transparent transparent;
	border-width: 1.6rem 1rem 0px 1rem;
	position: absolute;
	left: 0;
	right: 0;
	top: 99.9%;
	margin: 0 auto;
}
.heroWrap .imgs li {
	position: absolute;
	bottom: 0;
	left: -7rem;
}
.heroWrap .imgs li:nth-of-type(2) {
	right: -7rem;
	left: auto;
}
.heroWrap .imgs li img {
	max-height: 21.6rem;
}
.heroWrap .note {
	font-size: 1.8rem;
}
.appBtn {
	max-width: 100rem;
	margin: 0 auto;
}
.appBtn a {
	display: block;
	color: #fff;
	background: var(--c_rd);
	text-align: center;
	padding: 2.5rem 1rem;
	font-size: 9.5rem;
	line-height: 1.1;
	position: relative;
	border-radius: 10rem;
}
.appBtn a::after {
	content: "";
	display: block;
	background: url("../img/arrow.svg") center center no-repeat;
	background-size: contain;
	width: 3.6rem;
	aspect-ratio: 1;
	position: absolute;
	top: 50%;
	right: 4rem;
	transform: translateY(-50%);
	z-index: 1
}
.appBtn a:hover {
	background: var(--c_or);
}
sup {
	font-size: 50%;
	vertical-align: .9em;
}
.note,.btnNote {
	margin-top: 1rem;
	font-size: 1.8rem;
}
.topBtn {
	position: relative;
	padding-bottom: 3rem;
}
.topBtn .btnWrap {
	position: relative;
	z-index: 10;
}
.topBtn figure {
	max-width: 27.6rem;
	position: absolute;
	bottom: 0;
	right: -12rem;
	pointer-events: none;
}
@media screen and (max-width: 1360px) {
	.topBtn figure {
		max-width: 16.375vw;
		right: -2.25vw;
	}
}
.termsLink {
	padding: 1rem;
}
.termsLink a {
	display: inline-block;
	position: relative;
	font-size: 2rem;
	padding-right: 2.5rem;
}
.termsLink a::after {
	content: "";
	display: block;
	width: 2rem;
	height: 2rem;
	background: #000 url(../img/arrow01.svg) center center no-repeat;
	background-size: .6rem auto;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%) rotate(90deg);
}
.termsLink a:hover {
	color: #878787
}
.ttlBox {
	background: url(../img/dot.svg) center bottom no-repeat;
	background-size: auto .9rem;
	padding-bottom: 2rem;
	margin-bottom: 4rem;
}
.ttlBox h2 {
	font-size: 5.9rem;
	font-weight: 800;
	line-height: 1.2;
	color: var(--c_gr);
}
.ttlBox .sub {
	display: inline-block;
	background: var(--c_gr);
	position: relative;
	color: #fff;
	line-height: 1.1;
	border-radius: 10rem;
	font-size: 4.2rem;
	font-weight: 800;
	margin-bottom: 3rem;
	padding: .8rem 6rem;
}
.ttlBox .sub::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	top: 99.9%;
	margin: 0 auto;
	clip-path: polygon(50% 100%, 0% 0%, 100% 0%);
	background: var(--c_gr);
	aspect-ratio: 7/6;
	width: 1.4rem;
}
.tetlTxtWrap {
	border-radius: 2rem;
	background: var(--c_ly);
	padding: 5rem;
}
.tetlTxtWrap.bg-wh {
	padding-top: 0;
	padding-bottom: 0;
}
.tetlTxtWrap h3 {
	font-size: 4.2rem;
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: 1rem;
}
.tetlTxt {
	font-size: 2.9rem;
	font-weight: 700;
	margin-bottom: 5rem;
}
.telWrap {
	background: var(--c_or);
	color: #fff;
	border-radius: 2rem;
	padding: 5rem 2rem 2rem;
	font-size: 2.7rem;
	font-weight: 700;
	position: relative;
}
.telWrap .ttl {
	background: var(--c_gr);
	color: #fff;
	font-size: 3.1rem;
	padding: .8rem 3rem;
	line-height: 1.1;
	border-radius: 10rem;
	z-index: 5;
	width: fit-content;
	max-width: 95%;
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	top: -2.5rem;
}
.telWrap dt {
	background: #fff;
	border-radius: 10rem;
	color: var(--c_or);
	line-height: 1;
	padding: .5rem 1rem;
	margin-bottom: .8rem;
}
.telWrap .telnum {
	white-space: nowrap;
	color: #fff;
	font-size: 9.6rem;
}
.telBox {
	gap: 1rem 2rem;
}
.telWrap figure img {
	max-height: 18.6rem;
}
.telWrap figure {
	position: absolute;
	right: 4rem;
	top: -17.5rem;
	z-index: 1;
}
.reasonTtlImg {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin: -17rem -.5rem 0 -1.5rem;
}
.reasonTtlImg img {
	max-height: 17rem;
}
.reasonWrap {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 3rem 4rem;
}
.reasonBox {
	background: #fff;
	border-radius: 2rem;
	overflow: hidden;
}
.reasonBox h3 {
	background: var(--c_gr);
	color: #fff;
	font-size: 4.2rem;
	font-weight: 700;
	line-height: 1.1;
	padding: 1rem;
}
.reasonBox dl {
	padding: 3rem 1rem;
	font-size: 2.8rem;
	text-align: left;
	font-weight: 500;
}
.reasonBox dt {
	width: fit-content;
	font-size: 7.4rem;
	font-weight: 800;
	line-height: 1.1;
	text-align: center;
	letter-spacing: -0.05em;
	margin: 0 auto 2.5rem;
	position: relative;
}
.reasonBox dt big {
	display: inline-block;
	font-size: 115%;
	padding: .2em 0;
}
.reasonBox dt .fo-spg {
	font-size: 215%;
	vertical-align: -.03em;
}
.reasonBox dt .note {
	font-weight: 700;
	letter-spacing: normal;
	letter-spacing: -0.02em;
	position: absolute;
	top: 1rem;
	right: .5rem;
	color: #000;
	font-size: 1.8rem;
}
.reasonBox dd {
	padding: 0 3rem;
}
.ttlBox + .txt {
	font-size: 2.8rem;
	margin-bottom: 4rem;
	font-weight: 700;
}
.useWrap {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 3rem;
}
.useWrap li {
	background: var(--c_lgr);
	border-radius: 2rem;
	padding: 2.5rem;
	font-weight: 800;
	font-size: 3.2rem;
	line-height: 1.2;
}
.useWrap li figure {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 14.8rem;
	margin-bottom: 0.5rem;
}
.appokWrap {
	display: flex;
	justify-content: center;
	flex-direction: row-reverse;
	align-items: flex-end;
	gap: 0 2rem;
}
#appok {
	padding-bottom: 0;
}
.txtBox {
	max-width: 55rem;
	font-size: 2.8rem;
	text-align: left;
	font-weight: 500;
	letter-spacing: -.02em;
	padding-bottom: 3rem;
}
.txtBox h3 {
	color: var(--c_or);
	margin-bottom: 1rem;
	font-size: 4.2rem;
	line-height: 1.4;
	font-weight: 800;
}
.appokWrap .img {
	flex: 1;
}
.appokWrap .img figure {
	max-width: 34.5rem;
	margin: 0 auto;
}
.appokWrap .img h4 {
	font-size: 3rem;
	font-weight: 800;
	line-height: 1.4;
	margin-bottom: 4rem;
}
.appokWrap .img h4 span {
	color: var(--c_or);
}
.appWrap {
	display: flex;
	flex-direction: row-reverse;
	justify-content: center;
	gap: 2rem;
	padding: 5rem 7rem 0;
}
.appWrap .img {
	flex: 1;
}
.appWrap figure {
	max-width: 38.2rem;
}
.appWrap .txtBox {
	max-width: 60rem;
}
.btnArea {
	background: var(--c_lo);
	padding: 3rem 0;
}
.btnArea h2 {
	font-size: 3.8rem;
	font-weight: 800;
	color: var(--c_rd);
	margin-bottom: 1rem;
}
.simuArea {
	position: relative;
	overflow: visible;
	padding: 6rem 0;
}
.simuArea::before,
.simuArea::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	top: -.8rem;
	background: url(../img/wave_pn.png) top center repeat-x;
	width: 100%;
	height: 0.8rem;
}
.simuArea::after {
	top: auto;
	bottom: -.8rem;
	transform: rotate(180deg);
}
.simuArea h3 {
	display: inline-block;
	font-size: 3.6rem;
	font-weight: 800;
	color: var(--c_or);
	position: relative;
	line-height: 1.2;
	padding: 0 3rem;
	margin-bottom: 2rem;
}
.simuArea h3::before,
.simuArea h3::after {
	content: "";
	display: block;
	width: .5rem;
	border-radius: 10rem;
	height: 90%;
	background: var(--c_or);
	position: absolute;
	left: 0;
	bottom: 0;
	transform: skew(35deg);
}
.simuArea h3::after {
	left: auto;
	right: 0;
	transform: skew(-35deg);
}
.simuTtl {
	background: var(--c_gr);
	color: #fff;
	position: relative;
	padding: 1.5rem;
	gap: 2.5rem;
	margin-bottom: 4rem;
}
.simuTtl::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: var(--c_gr) transparent transparent transparent;
	border-width: 1.8rem 1.2rem 0px 1.2rem;
	position: absolute;
	left: 0;
	right: 0;
	top: 99%;
	margin: 0 auto;
}
.simuTtl figure {
	position: absolute;
	left: 2.5rem;
	bottom: 0;
	z-index: 1;
}
.simuTtl figure._02 {
	left: auto;
	right: 2.5rem;
}
.simuTtl figure img {
	max-height: 16.5rem;
}
.simuTtl .ttl {
	background: #fff;
	color: var(--c_or);
	font-size: 2.6rem;
	border-radius: 1rem;
	line-height: 1.2;
	width: 23rem;
	padding: .5rem;
}
.simuTtl .txt01 {
	font-size: 3.6rem;
	line-height: 1.4;
	font-weight: 600;
}
.simuTtl .txt01 small {
	display: block;
	font-size: 1.4rem;
	font-weight: 500;
}
.simuTtl .txt02 {
	font-size: 9rem;
	line-height: 1;
	color: #FFF100;
	font-weight: 600;
}
.simuTtl .txt02 small {
	font-size: 43%;
}
#simuleation .container {
	max-width: 930px;
}
.simbox {
	padding: 4rem 2rem;
	background: #fff;
	text-align: left;
}
.simFormWrap {
	max-width: 700px;
	margin: 0 auto;
}
.diagForm {
	font-size: 3rem;
}
.diagForm dt,.diagForm dd {
	padding: 1.5rem 0;
	font-weight: 600;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
.diagForm dt {
	width: 40%;
}
.diagForm dd {
	width: 60%;
}
.diagForm input,.diagForm select {
	width: 27rem;
	border: 1px solid #000;
	padding: 1rem 2rem;
	font-size: 3.5rem;
}
.diagForm p {
	width: 100%;
}
.diagForm dd select + span {
	margin-left: .5em;
}
.calcbtn{
	cursor: pointer;
	position: relative;
	display: block;
	color: #fff;
	font-size: 3.9rem;
	line-height: 1;
	padding: 2.2rem 1rem;
	text-align: center;
	background: var(--c_gr) url("../img/arrow.svg") right 3rem center no-repeat;
	background-size: 2.1rem auto;
	width: 50rem;
	margin: 4rem auto 0;
	letter-spacing: .075em;
	text-indent: .075em;
	border-radius: 10rem;
	border: none;
	transition: .2s;
}
.calcbtn:hover {
	background-color: var(--c_or);
}
.simClear{
	border: 1px solid #999;
	color: #000;
	font-size: 1.4rem;
	cursor: pointer;
	position: relative;
	display: block;
	background: #fff url("../img/arrow_bk.svg") right 1rem center no-repeat;
	background-size: .9rem auto;
	width: 20rem;
	margin: 2rem auto 0;
	padding: .5rem;
	transition: .2s;
	border-radius: 10rem;
}
.simClear:hover {
	background-color: var(--c_lgr)
}
.simresuutwrap {
	padding-top: 6rem;
}
.simresuut{
	background: #fff;
	border: 3px var(--c_gr) solid;
	position: relative;
}
.simresuut h3{
	text-align: center;
	background:  var(--c_gr);
	color: #fff;
	max-width: 49rem;
	font-size: 2.6rem;
	padding: .5rem .5rem .7rem;
	margin: -3rem auto 0;
	border-radius: 10rem;
}
.sim02Wrap{
	padding: 2rem;
	font-weight: 700;
	font-size: 4rem;
}
.simresuutwrap .notice{
	text-align: left;
	font-size: 1.4rem;
	margin-top: 2rem;
}
.faqArea dl {
	background: #fff;
	border-radius: 2rem;
	overflow: hidden;
	text-align: left;
	border-radius: 1rem;
}
.faqArea dl:not(:first-of-type) {
	margin-top: 3rem;
}
.faqArea dt,.faqArea dd {
	position: relative;
	padding: 1.5rem 2rem 1.5rem 10rem;
	font-size: 2.4rem;
}
.faqArea dd {
	font-weight: 500;
	padding-bottom: 3rem;
}
.faqArea dd small {
	font-size: 1.6rem;
	font-weight: 500;
}
.faqArea dt {
	background: var(--c_or);
	color: #fff;
	font-weight: 600;
	font-size: 3.2rem;
	line-height: 1.4;
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
	margin-bottom: 2rem;
	display: flex;
}
.faqArea dt::before,.faqArea dd::before {
	content: "Q.";
	display: block;
	font-family: "special-gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
	line-height: .8;
	text-align: center;
	border-radius: 50%;
	width: 4.2rem;
	color: #fff;
	font-size: 4.8rem;
	position: absolute;
	top: 1.7rem;
	left: 4rem;
	z-index: 1;
}
.faqArea dd::before {
	content: "A.";
	color: var(--c_or);
	top: 1rem;
}
.faqArea dl:nth-of-type(even) dd::before {
	color: var(--c_gr);
}
.faqArea dl:nth-of-type(even) dt {
	background: var(--c_gr);
}
#flow {
	padding: 0;
}
.flowTop {
	padding: 6rem 0;
}
.ttlBox._wh .sub {
	border: 2px solid #fff;
	background: transparent;
}
.ttlBox._wh .sub::after {
	background: #fff;
	width: 2rem;
}
.ttlBox._wh .sub::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	top: 98%;
	margin: 0 auto;
	clip-path: polygon(50% 100%, 0% 0%, 100% 0%);
	background: var(--c_or);
	aspect-ratio: 7 / 6;
	width: 1.4rem;
	z-index: 5;
}
.ttlBox._wh {
	color: #fff;
	background-image: url(../img/dots_wh.svg);
}
.ttlBox._wh h2 {
	color: #fff;
}
.anc li {
	width: 32%;
}
.anc li a {
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	background: #fff;
	position: relative;
	border-radius: 1rem;
	padding: 1.5rem;
	padding-right: 7rem;
	font-size: 2.6rem;
}
.anc li a::after {
	content: "";
	display: block;
	width: 6.5rem;
	background: var(--c_gr) url(../img/arrow01.svg) center center no-repeat;
	background-size: 30% auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
}
.anc li a:hover {
	background: var(--c_ly);
}
.flowTtl .sub {
	font-size: 2rem;
	color: #fff;
	border-radius: 10rem;
	z-index: 1;
	position: relative;
	display: block;
	max-width: 30rem;
	margin: 0 auto 1rem;
	padding: 0.5rem;
	background: var(--c_lgr);
}
.flowTtl .sub::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: var(--c_lgr) transparent transparent transparent;
	border-width: 1.2rem .6rem 0px .6rem;
	position: absolute;
	left: 0;
	right: 0;
	top: 99%;
	margin: 0 auto;
}
.flowTtl h2 {
	font-size: 5.2rem;
	margin-bottom: 6rem;
}
.stepWrap {
	gap: 8rem 4%
}
.stepWrap li {
	position: relative;
	border: .5rem solid var(--c_gr);
	border-radius: 2rem;
	font-size: 2.4rem;
	font-weight: 500;
	min-height: 23.5rem;
	padding: 5rem 2.5rem 3rem 40rem;
}
.stepWrap li + li {
	margin-top: 7rem;
}
.stepWrap li + li::before {
	content: "";
	display: block;
	background: var(--c_gr);
	width: 3.3rem;
	aspect-ratio: 33/25;
	position: absolute;
	left: 0;
	right: 0;
	top: -4.75rem;
	margin: 0 auto;
	clip-path: polygon(50% 100%, 0% 0%, 100% 0%);
}
.stepWrap li .num {
	color: var(--c_gr);
	font-size: 5rem;
	letter-spacing: 0.1em;
	margin-bottom: -0.1em;
}
.stepWrap dl {
	text-align: left;
}
.stepWrap dt {
	display: flex;
	align-items: center;
	gap: .5rem;
	margin-bottom: 1rem;
}
.stepWrap dt h3 {
	font-size: 4.2rem;
	font-weight: 800;
}
.stepWrap li figure {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 40rem;
}
.stepWrap li figure img {
	max-height: 17.9rem;
}
.stepWrap li:nth-of-type(2) figure,
.stepWrap li:nth-of-type(3) figure {
	padding-bottom: 2.5rem;
}
.dlArea {
	border-radius: 2rem;
	background: var(--c_gr);
	color: #fff;
	position: relative;
	margin-top: 11rem;
	padding: 3rem;
	z-index: 1;
}
.dlArea._02 {
	background: #fff;
	color: #000;
}
.dlArea._03 {
	background: var(--c_or);
}
.dlArea .num {
	background: var(--c_gr);
	width: 11rem;
	aspect-ratio: 1;
	border-radius: 50%;
	font-size: 5rem;
	letter-spacing: 0.05em;
	color: #fff;
	padding-top: 2rem;
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	top: -6rem;
	z-index: -1;
}
.dlArea._02 .num {
	color: var(--c_gr);
	background: #fff;
}
.dlArea._03 .num {
	background: var(--c_or);
}
.dlArea h3 {
	font-size: 4.5rem;
	font-weight: 800;
	color: #fff;
	margin-bottom: 1rem;
	line-height: 1.2;
}
.dlArea._02 h3 {
	color: var(--c_gr);
}
.dlArea > .txt {
	font-size: 2.4rem;
	font-weight: 500;
}
.dlArea > .txt + * {
	margin-top: 3rem;
}
.dlArea .note {
	font-size: 87.5%;
	font-weight: 400;
}
.dlWrap {
	gap: 0 4rem
}
.dlWrap dl {
	display: flex;
	border-radius: 2rem;
	background: #fff;
	color: var(--c_lgr);
	overflow: hidden;
}
.dlWrap dt {
	width: 15rem;
	margin-right: 2rem;
	font-size: 2.2rem;
	font-weight: 600;
	text-align: left;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--c_lgr);
	color: #000;
}
.dlWrap dd {
	flex: 1;
	gap: 1.5rem;
	padding: 1rem;
}
.dlWrap dd a {
	display: block;
	width: 16.5rem;
}
.cardsWrap {
	background: var(--c_ly);
	padding: 2rem 3rem;
	gap: 2rem 3rem;
	border-radius: 1rem;
}
.cardsWrap .img {
	width: 42.1rem;
}
.cardsWrap .txt {
	font-size: 2.6rem;
	font-weight: 500;
	text-align: left;
	flex: 1;
	border-radius: 2rem;
	letter-spacing: .05em;
}
.cardsWrap .txt span {
	color: #fff;
	background: var(--c_or);
	display: inline-block;
	padding: 0 1rem;
}
.dlResult {
	background: var(--c_pn);
	color: #fff;
	border-radius: 2rem;
	position: relative;
	padding: 3rem 2rem 3.5rem;
	font-size: 1.8rem;
	font-weight: 600;
}
.dlResult h3 {
	display: inline-block;
	font-size: 4rem;
	color: #fff;
	background: linear-gradient(to top, #ff95bc 25%, transparent 25%);
	margin-bottom: 2rem;
}
.dlResult figure {
	max-width: 16.5rem;
	position: absolute;
	bottom: 0;
	right: 3rem;
	z-index: 1;
}
.shoruiArea h3 {
	font-size: 4rem;
	margin: 0 auto 4rem;
}
.shoruiBox {
	background: #fff;
	border-radius: 2rem;
	padding: 0 5rem 5rem;
	border: .5rem solid var(--c_or);
}
.shoruiBox + .shoruiBox {
	margin-top: 6rem;
}
.shoruiBox h4 {
	background: var(--c_or);
	font-size: 3.2rem;
	font-weight: 700;
	padding: .5rem;
	margin: 0 -5rem 3rem;
	color: #fff;
}
.shoruiBox h5 {
	font-size: 4.2rem;
	font-weight: 800;
	margin-bottom: 3rem;
}
.shoruiBox h6 {
	width: 100%;
	font-size: 2.8rem;
	font-weight: 700;
	color: var(--c_or);
	text-align: left;
	margin-bottom: -3rem;
}
.shoruiCont {
	display: flex;
	gap: 3rem 4%;
	flex-wrap: wrap;
}
.shoruiCont + .shoruiCont {
	margin-top: 3rem;
	padding-top: 3rem;
	border-top: 1px solid #ccc;
}
.shoruiCont dl {
	width: 48%;
	text-align: left;
}
.shoruiCont dl.d-flex {
	gap: 0 4rem;
}
.shoruiCont dl.w100 {
	width: 100%;
}
.shoruiCont dt {
	font-size: 2.8rem;
	font-weight: 700;
	text-indent: -1em;
	padding-left: 1em;
	margin-bottom: 1rem;
}
.shoruiCont dt::before {
	content: "●";
	color: var(--c_or);
}
.shoruiCont .note {
	font-size: 2rem;
	font-weight: 700;
	text-indent: -1em;
	padding-left: 1em;
}
img[src*="shorui01-3.svg"] {
	display: block;
	margin-left: 20%;
}
.shoruiCont dd.d-flex {
	gap: 1rem 4rem;
}
.shoruiCont dd .txt {
	font-size: 2.8rem;
	font-weight: 700;
}

.keiyakuWrap {
	position: relative;
	border-radius: 2rem;
	border: .5rem solid var(--c_gr);
	background: #fff;
	text-align: left;
	font-size: 2.4rem;
	font-weight: 500;
	padding: 3rem 5rem 3rem 37rem;
}
.keiyakuWrap figure {
	width: 37rem;
	text-align: center;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}
.keiyakuWrap figure img {
	max-height: 14.1rem;
}
.keiyakuWrap figure img[src*="02."] {
	max-height: 18.6rem;
	margin-bottom: 0;
}
.keiyakuWrap h3 {
	font-size: 4.2rem;
	margin-bottom: 2rem;
}
.keiyakuWrap .txt {
	flex: 1;
}
.keiyakuWrap:not(:first-of-type) {
	margin-top: 7rem;
}
.keiyakuWrap:not(:first-of-type)::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: var(--c_gr) transparent transparent transparent;
	border-width: 2.4rem 1.75rem 0px 1.75rem;
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	top: -4.7rem;
}
#haigusha {
	background: url(../img/bg_dots.png) top left repeat;
	background-size: 44.2rem auto;
	position: relative;
}
.ttlImg {
	position: relative;
	height: 0;
	max-width: 81.5rem;
	margin: 0 auto;
}
.ttlImg figure {
	position: absolute;
	bottom: 0;
	left: 0;
}
.ttlImg figure._02 {
	left: auto;
	right: 0;
}
.ttlImg figure img {
	max-height: 18.9rem;
}
.haiguArea h3 {
	background: var(--c_or);
	color: #fff;
	font-size: 2.8rem;
	border-radius: 10rem;
	padding: 2rem 2rem 1.5rem;
	margin: 0 auto;
	max-width: 1050px;
	position: absolute;
	left: 0;
	right: 0;
	top: -6rem;
	z-index: 1;
}
.haiguArea {
	background: #fff;
	padding: 8rem 10rem 3rem;
	position: relative;
	border-radius: 2rem;
	margin-top: 12rem;
}
.haiguArea .txt {
	font-size: 1.8rem;
	font-weight: 600;
	margin-bottom: 3rem;
	text-align: left;
	line-height: 1.6;
}
.haiguArea .txt b {
	background: var(--c_pn);
	color: #fff;
	font-weight: 600;
}
.haiguWrap {
	border-radius: 2rem;
	background: var(--c_lgr);
	color: #fff;
	border-radius: 1.5rem;
	padding: 3rem;
}
.haiguWrap h4 {
	font-size: 2.6rem;
	display: inline-block;
	padding-bottom: 0.5rem;
	margin-bottom: 1rem;
	background: url(../img/txt_wave_pn.png) bottom left repeat-x;
	background-size: auto .7rem;
	margin-bottom: 2rem;
}
.haiguCont {
	gap: 3rem 5rem
}
.haiguCont li {
	width: 26rem;
	border: .4rem solid #ffd6e5;
	border-radius: 1rem;
	background: #fff;
	padding: 2rem;
	color: #000;
	font-size: 2rem;
	line-height: 1.4;
	position: relative;
}
.haiguCont li strong {
	display: block;
	font-size: 170%;
	color: var(--c_pn);
	line-height: 1.2;
}
.haiguCont li._lg {
	border-color: #abe8e6;
}
.haiguCont li._lg strong {
	color: var(--c_lgr);
}
.haiguCont li::before {
	content: "-";
	color: #fff;
	font-size: 5rem;
	line-height: 1;
	position: absolute;
	top: 20%;
	right: -4.3rem;
	font-family: "fot-tsukuardgothic-std", sans-serif;
	font-weight: 700;
	font-style: normal;;
}
.haiguCont li:nth-of-type(2)::before {
	content: "=";
}
.haiguCont li:last-of-type::before {
	display: none;
}
.haiguSimu {
	background: #fff;
	margin-top: 10rem;
	border-radius: 2rem;
	padding: 7rem 5rem 5rem;
	position: relative;
}
.haiguSimu h3 {
	border-radius: 10rem;
	position: absolute;
	left: 0;
	right: 0;
	top: -2.7rem;
	z-index: 1;
	background: var(--c_lgr);
	color: #fff;
	font-size: 2.8rem;
	margin: 0 auto;
	max-width: 54rem;
	padding: 0.5rem 1rem .7rem;
}
.haiguSimuBox {
	width: 48.5%;
}
.haiguSimuBox h4 {
	font-size: 2.2rem;
	margin-bottom: 0.5rem;
}
.haiguTbl table {
	border: 3px solid var(--c_pn);
	border-collapse: separate;
	border-radius: 1rem;
	font-size: 1.8rem;
	table-layout: fixed;
}
.haiguTbl th,.haiguTbl td {
	border: 1px solid var(--c_pn);
	padding: 0.8rem;
	font-weight: 600;
}
.haiguTbl thead th {
	background: var(--c_pn);
	color: #fff;
}
.haiguTbl thead th:not(:first-of-type) {
	border-left-color: #fff;
}
.haiguTbl tbody th {
	background: var(--c_lp);
	color: var(--c_pn);
}
.haiguTbl td {
	font-size: 111%;
	text-align: right;
	line-height: 1;
}
.haiguTbl td span {
	font-size: 210%;
}
.haiguTbl td:last-of-type {
	color: var(--c_or);
	background: var(--c_ye);
}
.haiguTbl tbody tr:last-of-type th {
	border-bottom-left-radius: .7rem;
}
.haiguTbl tbody tr:last-of-type td:last-of-type {
	border-bottom-right-radius: .7rem;
}
.haiguTotal {
	margin-top: 3rem;
	text-align: right;
	padding: 0 2rem;
	font-size: 2.2rem;
	font-weight: 600;
}
.haiguTotal .txt01 {
	text-align: left;
}
.haiguTotal .txt01 span {
	font-size: 215%;
}
.haiguTotal .txt01 span._01 {
	letter-spacing: .15em;
}
.haiguTotal .txt01 b {
	font-size: 135%;
}
.haiguTotal .txt02 .ttl {
	background: var(--c_pn);
	color: #fff;
	text-align: center;
	font-size: 1.8rem;
	line-height: 1.2;
	padding: 0.5rem 1.5rem .7rem;
	border-radius: 1rem;
	margin-right: 1rem;
}
.haiguTotal .txt02 {
	display: inline-flex;
	margin-top: 1rem;
	padding-bottom: 0.5rem;
	background: url(../img/txt_wave_pn.png) bottom left repeat-x;
	background-size: auto .7rem;
}
.haiguTotal .txt02 .txt {
	font-size: 3rem;
	color: var(--c_or);
}
.haiguTotal .txt02 .txt span {
	font-size: 260%;
}
.telSecArea.bdrNone {
	border: none;
}
.contTtl {
	font-size: 4.6rem;
	font-weight: 700;
	margin-bottom: 2rem;
}
.contWrap {
	background: #fff;
	padding: 4.5rem 6rem;
	border: 1px solid #b2b2b2;
}
.tlbWrap dt,.tlbWrap dd {
	text-align: left;
	width: 73%;
	padding: 1.5rem 2.5rem;
	font-size: 107%;
	letter-spacing: -.01em;
	border-top: 1px solid #808080
}
.tlbWrap dt:last-of-type,.tlbWrap dd:last-of-type {
	border-bottom: 1px solid #808080
}
.tlbWrap dt {
	width: 27%;
	background: #F1F1F1;
}
#product dt {
	width: 17%;
}
#product dd {
	width: 83%;
}
.tlbWrap dt:first-of-type,.tlbWrap dd:first-of-type {
	border-top: none;
}
.tlbWrap dt:last-of-type,.tlbWrap dd:last-of-type {
	border-bottom: none;
}
.tlbWrap + .note {
	font-weight: 700;
	margin-top: 2rem;
	font-size: 1.8rem;
	color: #E50012;
}
.achievementWrap {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 4rem;
}
.achievementWrap li {
	background: var(--c_lo);
	position: relative;
	border-radius: 2rem;
	margin-top: 13.4rem;
	padding: 4rem 0 2rem;
	font-size: 6.1rem;
	color: var(--c_or);
	line-height: 1.2;
}
.achievementWrap li .txt small {
	font-size: 64%;
}
.achievementWrap li figure img {
	max-height: 13.4rem;
}
.achievementWrap li figure {
	position: absolute;
	left: 0;
	right: 0;
	top: -13.4rem;
}
.achievementWrap li h3 {
	display: block;
	background: var(--c_or);
	color: #fff;
	max-width: 32.5rem;
	margin: 0 auto;
	border-radius: 10rem;
	padding: .5rem;
	font-size: 3.2rem;
	position: absolute;
	left: 0;
	right: 0;
	top: -2.4rem;
	z-index: 1;
}




/*ieハック*/
@media screen\0  {
}

/*********************************/
/* タブレット用のスタイル記述 */
/*********************************/
@media screen and (max-width: 1250px) {
	html {
		font-size: .8vw;
	}
}

/*********************************/
/* スマートフォン用のスタイル記述 */
/*********************************/
@media screen and (max-width: 780px) {
/*全体レイアウト
---------------------------------------------------------*/
	html {
		font-size: 2.7777777vw;
	}
	body {
		font-size: 1.4rem;
		line-height: 1.5;
		padding-top: 6.18rem;
		padding-bottom: 7rem;
	}
	body.active {
		overflow: hidden;
	}
	article > section {
		padding: 4rem 0;
	}
	/*header
	-------------------------------------------------------*/
	.hWrap {
		padding: 1rem 0;
	}
	.hLogo .logo {
		max-width: 13rem;
	}
	.hTel {
		line-height: 1;
	}
	.hTel {
		margin-right: 0;
		padding: 0;
	}
	.hTel >span {
		font-size: 1.2rem;
		display: none;
	}
	.hTel a {
		font-size: 2.6rem;
		margin-bottom: 0;
		line-height: 1;
	}
	.hBtn {
		display: none;
	}

	/*footer
	-------------------------------------------------------*/
	#footer {
		padding: 4rem 0;
	}
	.fWrap {
		display: block;
	}
	.fLogo {
		margin: 0 0 2rem
	}
	.copyright {
		margin-top: 3rem;
	}
	.spFix {
		display: block;
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		background: #fff;
		padding: 1rem 5%;
		box-shadow: 0 -.1rem .5rem rgba(0,0,0,.05);
		z-index: 9999;
		opacity: 0;
		bottom: -6rem;
		transition: .2s;
		pointer-events: none;
	}
	.spFix.scrollCrass {
		bottom: 0;
		opacity: 1;
	}
	.spFix .appBtn {
		margin-top: 0;
	}
	.spFix .appBtn a {
		font-size: 2rem;
		padding: 1.2rem .8rem;
	}

	/*contents
	-------------------------------------------------------*/
	.heroArea {
		overflow: hidden;
		margin-bottom: 2rem;
	}
	.heroWrap {
		padding-bottom: 6rem;
	}
	.heroBox .ttl {
		font-size: 2.2rem;
		margin-bottom: 1rem;
	}
	.heroTxt {
		font-size: 5rem;
		padding-top: 8rem;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: left;
		gap: .5rem;
		white-space: nowrap;
		margin-bottom: 1rem;
	}
	.heroBox .sub {
		font-size: 2.2rem;
		top: 0;
		left: 0;
		right: 0;
		padding: .5rem;
		text-align: center;
	}
	.heroTxt strong {
    font-size: 255%;
		margin-bottom: -.05em;
	}
	.heroBox h1 {
		font-size: 6.5rem;
		white-space: nowrap;
		line-height: 1;
	}
	.heroWrap .imgs li {
		left: -2.5rem;
	}
	.heroWrap .imgs li:nth-of-type(2) {
		right: -2.5rem;
	}
	.heroWrap .imgs li img {
    max-height: 11.5rem;
	}
	.heroWrap .note {
		text-align: center;
		font-size: 1.4rem;
	}
	.appBtn a {
		font-size: 2.6rem;
		padding: 1.5rem 1rem
	}
	.appBtn a::after {
		width: 2.2rem;
		height: 1.7rem;
		right: 2rem;
	}
	.note, .btnNote {
		font-size: 1.2rem;
		text-align: left;
	}
	.btnNote {
		text-align: center;
	}
	.topBtn figure {
		max-width: 7rem;
		right: 4.2rem;
		bottom: 11rem;
	}
	.topBtn .appBtn {
		margin-top: 2rem;
	}
	.termsLink a {
		font-size: 1.6rem;
	}
	.termsLink a::after {
		width: 1.5rem;
		height: 1.5rem;
		background-size: .4rem auto;
	}
	.txt-arc, .txt-arc2 {
		display: block;
		min-width: auto;
		height: 6.3rem;
		font-size: 1.6rem;
	}
	.txt-arc2 {
		font-size: 1.8rem;
		max-width: 100%;
		top: -4rem;
	}
	.ttlBox {
		background-size: auto .6rem;
		margin-bottom: 3rem;
	}
	.ttlBox .sub {
		font-size: 1.6rem;
		padding: .7rem 1.5rem;
		margin-bottom: 2rem;
	}
	.ttlBox h2 {
		font-size: 2.8rem;
	}
	.ttlBox .sub::after {
		aspect-ratio: 5/3;
	}
	.tetlTxtWrap {
		padding: 2rem;
	}
	.tetlTxtWrap h3 {
		font-size: 2.2rem;
	}
	.tetlTxt {
		font-size: 1.7rem;
		text-align: left;
	}
	.telWrap .ttl {
		font-size: 1.6rem;
	}
	.telBox {
		display: block;
	}
	.telWrap {
		font-size: 1.6rem;
		padding: 4rem 1.5rem 1rem;
		margin-top: 11rem;
	}
	.telWrap .telnum {
		display: block;
		font-size: 3.6rem;
		margin-bottom: 1rem;
	}
	.telWrap dt {
		font-size: 1.6rem;
		margin-bottom: 0.5rem;
	}
	.telWrap figure img {
		max-height: 10rem;
	}
	.telWrap figure {
		top: -10rem;
		right: 0;
		left: 0;
		margin: 0 auto;
	}
	.reasonTtlImg img {
		max-height: 9rem;
	}
	.reasonTtlImg {
		margin: -8rem 0 0;
		padding: 0 2.5rem 0 1rem;
	}
	.reasonWrap {
		gap: 1rem;
	}
	.reasonBox {
		border-radius: 1rem;
	}
	.reasonBox h3 {
		font-size: 1.5rem;
	}
	.reasonBox dl {
		font-size: 1.4rem;
		padding: 2rem .5rem 1rem;
	}
	.reasonBox dt {
		font-size: 2.2rem;
		white-space: nowrap;
		margin-bottom: 1rem;
	}
	.reasonBox dd {
		padding: 0;
	}
	.reasonBox dt big {
		font-size: 105%;
	}
	.reasonBox dt .note {
		font-size: 1rem;
		position: static;
		margin-top: 0.5rem;
	}
	.ttlBox + .txt {
		font-size: 1.8rem;
	}
	.useWrap {
		grid-template-columns: repeat(2,1fr);
		gap: 1rem;
	}
	.useWrap li {
		padding: 1rem;
		font-size: 1.4rem;
		font-weight: 700;
		border-radius: 1rem;
	}
	.useWrap li figure img {
		max-width: 10rem;
		max-height: 7rem;
	}
	.useWrap li figure {
		height: 7rem;
	}
	.appokWrap {
		display: block;
	}
	.txtBox {
		font-size: 1.8rem;
		padding-bottom: 0;
	}
	.txtBox h3 {
		font-size: 2rem;
		text-align: center;
		white-space: nowrap;
	}
	.appokWrap .img {
		margin-top: 3rem;
	}
	.appokWrap .img h4 {
		font-size: 2.2rem;
		margin-bottom: 2rem;
	}
	.appokWrap .img figure,
	.appWrap figure {
    max-width: 20rem;
		margin: 0 auto;
	}
	.appWrap {
		display: block;
		padding: 2rem 2rem 0;
	}
	.appWrap .img {
		margin-top: 2rem;
	}
	.tetlTxtWrap.bg-wh {
		padding: 0;
	}
	.btnArea h2 {
		font-size: 2.6rem;
		margin-bottom: 0.5rem;
	}
	.simuArea h3 {
		font-size: 2.4rem;
		padding: 0 2rem;
	}
	.simuTtl {
		display: block;
		padding: 1rem;
	}
	.simuTtl .ttl {
		width: 100%;
		font-size: 1.8rem;
		margin-bottom: 1rem;
	}
	.simuTtl .txt01 {
		font-size: 2.2rem;
		display: flex;
		justify-content: center;
		align-items: center;
		gap: .5rem;
	}
	.simuTtl .txt02 {
		font-size: 5.2rem;
		margin-top: 1rem;
	}
	.simuTtl figure {
		left: .3rem;
	}
	.simuTtl figure._02 {
		right: .3rem;
	}
	.simuTtl figure img {
    max-height: 7rem;
	}
	.simuArea {
		padding: 4rem 0;
	}
	.simbox {
		padding: 2rem;
	}
	.diagForm {
		display: block;
	}
	.diagForm dt,.diagForm dd {
		width: 100%;
		font-size: 1.8rem;
		margin-bottom: 1rem;
		padding: 0;
	}
	.diagForm dt {
		padding: 0;
		margin-bottom: .5rem;
	}
	.diagForm select,
	.diagForm input[type="text"] {
		width: 60%;
		font-size: 1.6rem;
		padding: 1.2rem
	}
	.diagForm select {
		width: 23.5rem
	}
	.diagForm dd p {
		font-size: 1.3rem;
		margin-top: .5rem;
	}
	.diagForm dt.diagAbout {
		font-size: 2rem;
	}
	.diagBtn button {
		font-size: 2.6rem;
		padding-bottom: 2rem;
	}
	.diagBtn button::after {
		width: 2.4rem;
		height: 2.4rem;
		right: 2rem	
	}
	.diagnosisArea div.note {
		font-size: 1.6rem
	}
	#diagnosis01 .diagnosisBox h2 {
		margin-bottom: .5rem;
	}
	#diagnosis01 .diagnosisBox .txt {
		font-size: 2.6rem;
		text-indent: -.75em;
		padding-left: .75em;
	}
	#diagnosis02 .diagnosisBox {
		padding: 3rem 2rem;
	}
	#diagnosis02 .diagnosisBox h2 {
		font-size: 2.2rem;
		margin-bottom: 2rem;
	}
	#diagnosis02 .diagnosisBox .txt {
		font-size: 1.8rem;
		margin-bottom: 3rem;
		text-align: left;
	}
	.calcbtn {
		font-size: 2rem;
		width: 100%;
		background-size: 1.5rem auto;
		background-position: right 2rem center;
		padding: 1.8rem;
		margin-top: 3rem;
	}
	.sim02Wrap {
		font-size: 1.8rem;
		white-space: nowrap;
	}
	.simresuut h3 {
		width: 90%;
		font-size: 1.8rem;
	}
	.simresuutwrap .notice {
		font-size: 1.2rem;
	}
	.faqArea dt, .faqArea dd {
		font-size: 1.6rem;
		padding: 1rem 2rem 1rem 5rem;
	}
	.faqArea dt {
		margin-bottom: 1rem;
	}
	.faqArea dt::before,.faqArea dd::before {
		left: 1rem;
		width: 3.2rem;
		font-size: 2.4rem;
		top: 2.2rem;
	}
	.faqArea dl dd::before {
		top: 1.2rem;
	}
	.faqArea dl:not(:first-of-type) {
		margin-top: 2rem;
	}
	.flowTop {
		padding: 4rem 0;
	}
	.anc {
		flex-direction: column;
		gap:1.5rem
	}
	.anc li {
		width: 100%;
	}
	.anc li a {
		font-size: 2rem;
		padding: 1rem;
		padding-right: 4rem;
	}
	.anc li a::after 
	{
		width: 4rem;
	}
	.flowTtl .sub {
		font-size: 1.6rem;
	}
	.flowTtl h2 {
		font-size: 2.4rem;
		margin-bottom: 4rem;
	}
	.stepWrap li {
		width: 100%;
		padding: 2rem;
		font-size: 1.4rem;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column-reverse;
	}
	.stepWrap li + li {
		margin-top: 4rem;
	}
	.stepWrap li .num {
		font-size: 2.6rem;
	}
	.stepWrap dt h3 {
		font-size: 2rem;
	}
	.stepWrap li figure {
		position: static;
		width: 15rem;
		padding: 0 1rem;
		margin-bottom: 1rem;
		top: 0;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.stepWrap li figure img {
		max-height: 9rem;
	}
	.stepWrap li:nth-of-type(2) figure,
	.stepWrap li:nth-of-type(3) figure {
		padding-bottom: 0;
	}
	.stepWrap {
		gap: 5rem 0
	}
	.dlArea {
		padding: 2rem 1.5rem;
		margin-top: 8rem;
	}
	.dlArea h3 {
		font-size: 2.4rem;
	}
	.dlWrap {
		gap: 0 1rem
	}
	.dlWrap dl {
		flex-direction: column;
		border-radius: 1rem;
		padding: 1rem .5rem;
		width: 49%;
	}
	.qr {
		display: none;
	}
	.dlWrap dd a {
		width: 100%;
	}
	.dlWrap dd a img {
		max-height: 3.5rem;
	}
	.dlWrap dt {
		width: 100%;
		font-size: 1.4rem;
		border-right: none;
		margin-bottom: 0.5rem;
	}
	.dlArea > .txt {
		font-size: 1.6rem;
	}
	.dlArea .num {
		width: 9rem;
		font-size: 4rem;
		top: -5rem;
	}
	.cardsWrap {
		padding: 1.5rem;
		flex-direction: column;
		gap: 1rem;
	}
	.cardsWrap .img {
		width: 100%;
	}
	.cardsWrap .txt {
		font-size: 1.6rem;
	}
	.cardsWrap .txt span {
		padding: 0 .5rem;
	}
	.dlResult {
		padding: 1.5rem;
		font-size: 1.4rem;
		overflow: hidden;
		border-radius: 1rem;
	}
	.dlResult h3 {
		font-size: 1.8rem;
	}
	.dlResult .txt {
		text-align: left;
		padding-right: 7.5rem;
	}
	.dlResult figure {
		max-width: 8rem;
		right: 1rem;
	}
	.shoruiArea h3 {
		font-size: 2rem;
		margin-bottom: 3rem;
	}
	.shoruiBox h4 {
		font-size: 2.2rem;
		margin: 0 -2rem 2rem;
	}
	.shoruiBox {
		padding: 0 2rem 2rem;
		border-radius: 1rem;
	}
	.shoruiBox h5 {
		font-size: 2rem;
		margin-bottom: 2rem;
	}
	.shoruiCont {
		flex-wrap: wrap;
	}
	.shoruiCont dl {
		width: 100%;
	}
	.shoruiCont dt {
		font-size: 1.8rem;
	}
	img[src*="shorui01-3.svg"] {
		max-height: 8.6rem;
		margin-left: 25%;
	}
	.shoruiCont .note {
		font-size: 1.4rem;
	}
	.shoruiBox h6 {
		font-size: 2rem;
		margin-bottom: -2.5rem;
	}
	.shoruiCont dd.d-flex {
		flex-direction: column;
	}
	.shoruiCont dd .txt {
		font-size: 1.6rem;
	}
	.shoruiCont dl.d-flex {
		gap: 0;
		justify-content: space-between;
	}
	.shoruiCont dl.d-flex dd {
		width: 13rem;
	}
	.keiyakuWrap {
		padding: 1.5rem 1rem 1.5rem 10rem;
		flex-direction: column;
		font-size: 1.4rem;
		border-radius: 1rem;
	}
	.keiyakuWrap h3 {
		width: 100%;
		font-size: 1.8rem;
		margin: 0 auto 1rem;
	}
	.keiyakuWrap figure {
		width: 10rem;
		padding: 0 1rem;
	}
	.keiyakuWrap figure img[src*="02."] {
		max-height: 10rem;
		margin-bottom: auto;
	}
	.keiyakuWrap figure img {
		max-height: 4.5rem;
	}
	.keiyakuWrap:not(:first-of-type) {
		margin-top: 3rem;
	}
	.keiyakuWrap:not(:first-of-type)::after {
		top: -3.7rem;
	}
	.ttlImg figure img {
		max-height: 9rem;
	}
	.ttlImg figure {
		left: 6rem;
	}
	.ttlImg figure._02 {
		right: 6rem;
	}
	.ttlImg {
		margin-top: 9.5rem;
	}
	.haiguArea h3 {
		font-size: 1.4rem;
	}
	.haiguArea {
		padding: 5.5rem 2rem 2rem;
		margin-top: 15rem;
	}
	.haiguArea .txt {
		font-size: 1.4rem;
	}
	.haiguWrap {
		padding: 2rem 1rem;
	}
	.haiguWrap h4 {
		font-size: 1.6rem;
		background-size: auto .4rem;
	}
	.haiguCont {
		flex-wrap: wrap;
		gap: 4rem 10%
	}
	.haiguCont li {
		width: 45%;
		font-size: 1.4rem;
		padding: 1rem
	}
	.haiguCont li strong {
		font-size: 125%;
	}
	.haiguCont li:nth-of-type(3) {
		width: 100%;
	}
	.haiguCont li:nth-of-type(1)::before {
		top: auto;
		right: -2.6rem;
		font-size: 4rem;
	}
	.haiguCont li:nth-of-type(2)::before {
		display: none;
	}
	.haiguCont li:nth-of-type(3)::before {
		content: "||";
		font-size: 3rem;
		display: block;
		top: -3.7rem;
		right: 0;
		left: 0;
		margin: 0 auto;
		line-height: .6;
	}
	.haiguSimu h3 {
		font-size: 1.8rem;
		max-width: 90%;
		margin: 0 auto;
	}
	.haiguSimu {
		margin-top: 6rem;
		padding: 3rem 2rem 3rem;
	}
	.haiguSimuWrap {
		flex-direction: column;
		gap:0
	}
	.haiguSimuBox {
		width: 100%;
	}
	.haiguSimuBox + .haiguSimuBox {
		padding-top: 3rem;
		margin-top: 3rem;
		border-top: 1px solid #ccc;
	}
	.haiguSimuBox h4 {
		font-size: 1.6rem;
	}
	.haiguTbl table {
		border-width: .2rem;
	}
	.haiguTbl th, .haiguTbl td {
		font-size: 1.2rem;
		padding: 0.5rem;
		height: 4.8rem;
	}
	.haiguTbl thead th {
		height: auto;
	}
	.haiguTbl td span {
		font-size: 175%;
	}
	.haiguTotal {
		font-size: 1.6rem;
		padding: 0;
		margin-top: 2rem;
	}
	.haiguTotal .txt01 span {
		font-size: 175%;
	} 
	.haiguTotal .txt02 .ttl {
		font-size: 1.4rem;
		padding: 0.5rem 1rem;
	}
	.haiguTotal .txt02 .txt {
		font-size: 2rem;
	}
	.contWrap {
		padding: 2rem;
	}
	.tlbWrap {
		display: block;
	}
	.tlbWrap dt, .tlbWrap dd {
		width: 100%!important;
		border: none;
		font-size: 1.4rem;
		padding: 1.2rem 1rem
	}
	.tlbWrap dt {
		padding: .8rem 1rem
	}
	.tlbWrap + .note {
		font-size: 1.2rem;
		text-align: left;
		margin-top: 1rem;
		letter-spacing: -.02em;
	}
	#haigusha .tetlTxtWrap {
		padding-right: 7rem;
	}
	.contTtl {
		font-size: 2.4rem;
	}
	#haigusha {
		background-size: 22rem auto;
	}
	#haigusha .telSecArea {
		margin-top: 1.5rem;
	}
	.achievementWrap {
		display: block;
	}
	.achievementWrap li h3 {
		font-size: 2rem;
		max-width: 22rem;
		top: -1.7rem;
	}
	.achievementWrap li {
		font-size: 2.8rem;
		padding: 3rem 1rem 1.5rem;
		margin-top: 12rem;
	}
	.achievementWrap li figure img {
		max-height: 9rem;
	}
	.achievementWrap li figure {
		top: -9rem;
	}







}



