@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');


/* =================== */
/*       pubulic       */
/* =================== */
html {
	font-size: clamp(10px, 1.04vw, 25px);
	overflow-x: hidden;
	scroll-padding-top: 250px;
}

body {
	position: relative;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	-webkit-text-size-adjust: 100%;
	overflow: hidden;
	background: #ecf2e1;
}



main {
	position: relative;
}



img {
	width: 100%;
	height: auto;
	max-width: 100%;
}

a {
	transition: 0.3s ease all;
}

.sp-on {
	display: none;
}

.flex-box {
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: justify;
	justify-content: space-between;
	align-items: center;
}

.fadein {
	opacity: 0;
	transform: translate(0, 30px);
	transition: .5s;
}

.fadein.is-show {
	transform: translate(0, 0);
	opacity: 1;
}

.fadein-lt {
	opacity: 0;
	transform: translate(-5%, -5%);
	transition: .3s;
}

.fadein-lt.is-show {
	transform: translate(0, 0);
	opacity: 1;
}

.fadein-rt {
	opacity: 0;
	transform: translate(5%, -5%);
	transition: .3s;
}

.fadein-rt.is-show {
	transform: translate(0, 0);
	opacity: 1;
}

.fadein-lb {
	opacity: 0;
	transform: translate(-5%, 5%);
	transition: .3s;
}

.fadein-lb.is-show {
	transform: translate(0, 0);
	opacity: 1;
}

.fadein-rb {
	opacity: 0;
	transform: translate(5%, 5%);
	transition: .3s;
}

.fadein-rb.is-show {
	transform: translate(0, 0);
	opacity: 1;
}


.center-fade {
	transform: scale(1.2);
	opacity: 0;
	transition: .3s;
}

.center-fade.is-show {
	opacity: 1;
	transform: scale(1);
}

.transscaleX {
	opacity: 0;
}

.transscaleX.is-show {
	animation: transscaleX .3s ease 0s forwards;
}

@keyframes transscaleX {
	0% {
		transform: scaleX(0);
		opacity: 0;
	}

	100% {
		transform: scaleX(1);
		opacity: 1;
	}
}

.blur {
	filter: blur(10px);
	transition: 1.5s;
}

.blur.is-show {
	filter: blur(0);
	opacity: 1;
}



.in-w85 {
	width: 85rem;
	margin: 0 auto;
	position: relative;
}

.in-w80 {
	width: 80rem;
	margin: 0 auto;
	position: relative;
}

.in-w75 {
	width: 75rem;
	margin: 0 auto;
	position: relative;
}

.in-w60 {
	width: 60rem;
	margin: 0 auto;
	position: relative;
}

.max-w-box {
	max-width: 2500px;
	margin: 0 auto;
	position: relative;
}


h2, h3, h4 {
	font-weight: 100;
}



#footer {
	padding: 3rem 2.5rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: #fff;
}

#footer .foot-logo {
	width: 13.1rem;
}

#fixed-cont-box {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 10;
}

#fixed-cont-box #pagetop {
	width: 3rem;
	margin-left: calc(100% - 3rem - 15px);
	margin-bottom: 15px;
}

#fixed-cont-box #fixed-box {
	background: url(../img/fixed_bk.jpg) no-repeat;
	background-size: cover;
	padding: 1rem 0;
}

#fixed-cont-box #fixed-box .ttl {
	width: 18.25rem;
	margin: 0 auto;
}

#fixed-cont-box #fixed-box .btn-box {
	justify-content: center;
	align-items: flex-end;
}

#fixed-cont-box #fixed-box .btn-box .btn {
	width: 25rem;
	margin: 0 1rem;
}

#fixed-cont-box #fixed-box .btn-box .btn2 a {
	pointer-events: none;
}

/*#fixed-box .btn-box .btn a picture { transition:0.3s ease all; }*/
#fixed-cont-box #fixed-box .btn-box .btn a:hover picture {
	transform: translate(0, 2px);
	display: block;
}

#faq-sec {
	margin: 8.5rem auto 15rem;
}

#faq-sec h2 {
	font-size: 2.5rem;
	text-align: center;
	font-weight: bold;
	margin-bottom: 2rem;
}

#faq-sec dl .line {
	background: #fff;
	border-radius: 1rem;
	padding: 1rem 2rem;
	margin-bottom: 1rem;
}

#faq-sec dl .line .icon {
	font-size: 1.5rem;
	font-weight: bold;
	background: #4879d4;
	border-radius: 100vmax;
	height: 3rem;
	text-align: center;
	color: #fff;
	width: 3rem;
	display: inline-block;
	padding-top: .6rem;
	box-sizing: border-box;
	margin-right: 1.5rem;
}

#faq-sec dl .line dt .icon {
	background: #4879d4;
}

#faq-sec dl .line dd .icon {
	background: #ff9523;
}

#faq-sec dl .line dt {
	position: relative;
	cursor: pointer;
}

#faq-sec dl .line dt::after {
	content: "＋";
	display: block;
	position: absolute;
	right: 1rem;
	top: .5rem;
	font-size: 2rem;
	font-weight: bold;
}

#faq-sec dl .line dt.open::after {
	content: "－";
}

#faq-sec dl .line dt .txt {
	font-size: 1.25rem;
	font-weight: bold;
}

#faq-sec dl .line dd {
	display: none;
}

#faq-sec dl .line dd div {
	display: flex;
	align-items: baseline;
	margin-top: 1rem;
}

#faq-sec dl .line dd .txt {
	font-size: 1.1rem;
	line-height: 1.8;
	display: block;
}

#precautions-sec {
	margin: 8.5rem auto 20rem;
}

#precautions-sec h2 {
  font-size: 2.5rem;
  font-weight: bold;
  text-align: center;
  color: #000; /* 黒文字 */
  -webkit-text-stroke: 10px #fff; /* 白い縁取り（太さ3px） */
  text-stroke: 10px #fff;
  paint-order: stroke;
  margin-bottom: 2rem;
}

#precautions-sec p {
	font-size: 1.25rem;
	font-weight: bold;
 margin-bottom: 1.5rem;
}

#top-box {
	position: relative;
	margin-top: 4rem;
	padding-top: 7rem;
}

#top-box::before {
	content: "";
	width: 75rem;
	height: 53rem;
	background: url(../img/top_bk.png) no-repeat;
	background-size: cover;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

#top-box .copy {
	font-size: 4rem;
	text-align: center;
	color: #fff;
	font-weight: bold;
}

#top-box .copy .sml {
	font-size: 50%;
	display: block;
	margin-bottom: .7rem;
}

#top-box .copy .sml2 {
	font-size: 2.5rem;
}

#top-box .copy .clr {
	font-size: 4.5rem;
	color: #fff600;
}

#top-box .txt {
	font-size: 1.1rem;
	line-height: 1.45;
	text-align: center;
	color: #fff;
	margin: 1.7rem 0 1rem;
}

#top-box .pic {
	width: 47.15rem;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}

#top-box .illust-box {
	margin: -1rem auto 0;
	width: 27.5rem;
	position: relative;
}

#top-box .illust-box .ttl {
	color: #fff;
	font-size: 1.5rem;
	text-align: center;
	position: relative;
	z-index: 1;
	background: #5a5a5a;
	border-radius: 1rem 1rem 0 0;
	position: absolute;
	width: 100%;
	padding: 1.2rem 0;
}

#top-box .illust-box .ttl .big {
	font-size: 2rem;
	font-weight: bold;
}

.dot-bk {
	width: 100%;
	background: url(../img/bg.jpg) repeat;
	background-size: 12.4rem .4rem;
	position: relative;
}

.dot-bk::before {
	content: "";
	width: 100%;
	height: 10rem;
	background: #ecf2e1;
	position: absolute;
	top: 0;
	left: 0;
}

#intro-sec {
	margin-top: 6.5rem;
	padding-top: 8.5rem;
	position: relative;
	background: url(../img/intro_bk.png) no-repeat center top;
	background-size: 100% auto;
	margin-bottom: 16rem;
}

#intro-sec h2 {
	width: 63.7rem;
	margin: 0 auto;
}

#intro-sec .pic {
	width: 22.75rem;
	position: absolute;
	right: -5rem;
	top: -7rem;
}

#intro-sec .frame-box {
	position: relative;
}

#intro-sec .frame-box::before {
	content: "";
	width: 100%;
	height: 30rem;
	background: url(../img/intro_bk2.png) no-repeat;
	background-size: cover;
	display: block;
	position: absolute;
	top: 3rem;
	left: 0;
	right: 0;
	margin: 0 auto;
}

#intro-sec .frame-box .cont {
	position: relative;
	z-index: 1;
}

#intro-sec .frame-box .copy {
	width: 36.85rem;
	margin: 0 auto;
}

#intro-sec .frame-box .date {
	color: #fff;
	text-align: center;
	font-size: 1rem;
	font-weight: bold;
	margin: .5rem 0 1rem;
}

#intro-sec .frame-box .txt {
	font-size: 1.1rem;
	line-height: 1.59;
	text-align: center;
	color: #ffff;
}

#intro-sec .frame-box ul {
	align-items: flex-start;
	justify-content: center;
	margin-top: 1.5rem;
}

#intro-sec .frame-box li {
	margin: 0 .75rem;
	width: 18.5rem;
	position: relative;
}

#intro-sec .frame-box li::before {
	content: "";
	width: 100%;
	height: 18.5rem;
	background: #fff88d;
	border: .5rem solid #ff9523;
	border-radius: 100vmax;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	box-sizing: border-box;
}

#intro-sec .frame-box li .txt-box {
	position: relative;
}

#intro-sec .frame-box li.list1 .icon {
	width: 6.8rem;
	margin: -1.5rem auto .5rem;
}

#intro-sec .frame-box li.list2 .icon {
	width: 9.6rem;
	margin: -.8rem auto .5rem;
}

#intro-sec .frame-box li.list3 .icon {
	width: 8.9rem;
	margin: -2.1rem auto .5rem;
}

#intro-sec .frame-box li h3 {
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
}

#intro-sec .frame-box li.list2 h3 {
	position: relative;
}

#intro-sec .frame-box li.list2 h3 span {
	width: 100%;
	position: absolute;
	bottom: calc(100% + 0.1em);
	left: 50%;
	transform: translateX(-50%);
	font-size: calc(22/40*1em);
	-webkit-text-stroke: 3px #fff88d;
	paint-order: stroke;
}

#intro-sec .frame-box li .list-txt {
	line-height: 1.5;
	font-size: 1rem;
	text-align: center;
	margin-top: .5rem;
}

#intro-sec .frame-box li .list-txt .red {
	font-size: 1.5rem;
	color: #e83f3f;
	font-weight: bold;
	line-height: 1.1;
}

#intro-sec .frame-box li .list-txt .red span {
	font-size: 1rem;
}

#intro-sec .frame-box li .att-txt {
	font-size: .8rem;
	line-height: 1.25;
	text-align: center;
	margin-top: .3rem;
}

#intro-sec .frame-box .list2 .att-txt {
	width: 16em;
	text-align: left;
	text-indent: -1em;
	padding-left: 1em;
	margin-left: auto;
	margin-right: auto;
	-webkit-text-stroke: 3px #fff88d;
	paint-order: stroke;

}

#intro-sec .cost-box {
	margin-top: 7.5rem;
}

#intro-sec .cost-box h4 {
	text-align: center;
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 1rem;
}

#intro-sec .cost-box h4 span {
	color: #ff9523;
	font-size: 3rem;
	font-weight: bold;
}

#intro-sec .cost-box table {
	width: 100%;
	font-size: 1.1rem;
	border-collapse: separate;
	border-spacing: 3px;
}

#intro-sec .cost-box table th {
	background: #4879d4;
	color: #fff;
	text-align: center;
	font-weight: bold;
	padding: .8rem 0;
	line-height: 1.45;
}

#intro-sec .cost-box table td {
	background: #fff;
	text-align: center;
	line-height: 1.45;
	padding: .8rem 0;
	vertical-align: middle;
}

#intro-sec .cost-box table td .bld {
	font-weight: bold;
}

#intro-sec .cost-box table td .red {
	color: #e83f3f;
}

#intro-sec .cost-box table td .sml1 {
	font-size: 1rem;
}

#intro-sec .cost-box table td .sml2 {
	font-size: .9rem;
	display: block;
}

#intro-sec .cost-box table td .big {
	font-size: 1.5rem;
}

#reason-sec {
	margin-bottom: 6rem;
}

#reason-sec .wht-box {
	background: #fff;
	border-radius: 1rem;
	padding: 14.5rem 5rem 4rem;
	position: relative;
}

#reason-sec .wht-box h2 {
	width: 51.55rem;
	position: absolute;
	left: 0;
	right: 0;
	top: -8.5rem;
	margin: 0 auto;
}

#reason-sec .wht-box .txt {
	font-size: 1.1rem;
	line-height: 1.45;
	text-align: center;
}

#reason-sec .wht-box .txt span {
	font-weight: bold;
}

#reason-sec ol {
	flex-wrap: wrap;
	align-items: initial;
	margin-top: 5rem;
}

#reason-sec ol li {
	background: #f7faf6;
	border-radius: 1rem;
	width: calc((100% - 6rem) / 3);
	padding: 0 2rem 3rem;
}

#reason-sec ol li:nth-child(-n+3) {
	margin-bottom: 6.5rem;
}

#reason-sec ol li .icon {
	width: 6.55rem;
	margin: -3rem auto 1rem;
}

#reason-sec ol li .num {
	font-size: 1rem;
	font-weight: bold;
	color: #ff9523;
	text-align: center;
}

#reason-sec ol li h3 {
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.25;
	text-align: center;
	margin: .5rem 0 1.5rem;
}

#reason-sec ol li .list-txt {
	font-size: 1rem;
	line-height: 1.5;
}

#reason-sec ol li .list-txt span {
	font-weight: bold;
}

.blue-bk-box {
	background: #97bcff;
	padding: 5.5rem 0;
}

.blue-bk-box .wht-box {
	border-radius: 1rem;
	background: #fff;
	padding: 4rem 6rem;
}

#detection-sec {
	margin-bottom: 4.5rem;
}

#detection-sec h2 {
	font-size: 3rem;
	font-weight: bold;
	text-align: center;
}

#detection-sec h2 span {
	color: #ff9523;
	font-size: 4rem;
	font-weight: bold;
}

#detection-sec li {
	width: calc((100% - 2rem) / 3);
}

#detection-sec .txt {
	font-size: 1.1rem;
	line-height: 1.45;
	text-align: center;
	margin: 2rem 0;
}

#detection-sec .txt2 {
	font-size: 1.25rem;
	line-height: 1.4;
	text-align: center;
	margin-top: 2rem;
}

#notice-sec h2 {
	font-size: 3rem;
	font-weight: bold;
	text-align: center;
}

#notice-sec h2 span {
	color: #174190;
	font-size: 4rem;
	font-weight: bold;
	display: block;
	margin-top: .7rem;
}

#notice-sec .txt {
	font-size: 1.1rem;
	line-height: 1.45;
	text-align: center;
	margin: 2rem 0;
}

#notice-sec .txt span {
	font-weight: bold;
}

#compare-sec {
	background: #fff;
	padding: 5.5rem 0 7.5rem;
}

#compare-sec h4 {
	text-align: center;
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 1rem;
}

#compare-sec table {
	width: 100%;
	font-size: 1.1rem;
	border-collapse: separate;
	border-spacing: 3px;
	font-weight: bold;
}

#compare-sec table th {
	width: calc(100% / 3);
	padding: .8rem 0;
	color: #fff;
	text-align: center;
	line-height: 1.45;
}

#compare-sec table td {
	padding: .8rem 0;
	text-align: center;
	line-height: 1.45;
}

#compare-sec table th.clr1 {
	background: #c4c4c4;
}

#compare-sec table th.clr2 {
	background: #ff9523;
}

#compare-sec table th.clr3 {
	background: #4879d4;
}

#compare-sec table td.clr1 {
	background: #f7faf3;
}

#compare-sec table td.clr2 {
	background: #fff4c1;
}

#compare-sec table td.clr3 {
	background: #f7faf3;
}

#flow-sec {
	padding: 7rem 0 5rem;
}

#flow-sec h2 {
	font-size: 2.5rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 4rem;
}

#flow-sec ol {
	align-items: flex-start;
}

#flow-sec ol li {
	width: calc((100% - 8rem) / 3);
	position: relative;
}

#flow-sec ol li::before {
	content: "▲";
	font-size: 2rem;
	color: #4879d4;
	position: absolute;
	right: -3rem;
	top: 11rem;
	transform: rotate(90deg);
}

#flow-sec ol li:last-child::before {
	display: none;
}

#flow-sec ol li h3 {
	font-size: 1.75rem;
	font-weight: bold;
	text-align: center;
	margin: 1.5rem 0;
}

#flow-sec ol li .txt {
	font-size: 1rem;
	line-height: 1.5;
}

.contact-box {
	width: 100%;
	background: url(../img/contact_bk.png) no-repeat;
	background-size: cover;
	padding: 9rem 0 7rem;
}

.contact-box .ttl {
	width: 34.4rem;
	margin: 0 auto 3rem;
}

.contact-box .btn-box {
	justify-content: center;
}

.contact-box .btn-box .btn {
	width: 33rem;
	margin: 0 1rem;
}

.contact-box .btn-box .btn2 a {
	pointer-events: none;
}

.contact-box .btn-box .btn a img {
	display: block;
}

.contact-box .btn-box .btn a:hover img {
	transform: translate(0, 2px);
	display: block;
}



#header {
	background: url(../img/kv_bk.jpg) no-repeat center top;
	background-size: 100% auto;
	padding-top: 5.5rem;
	height: 46rem;
}

#header .in-w85 {
	align-items: flex-start;
}

#header .l-box {
	width: calc(100% - 45.5rem + 2rem);
	position: relative;
	height: calc(46rem - 5.5rem);
}

#header .r-box {
	width: 45.5rem;
	margin-right: -2rem;
	background: url(../img/kv_waku.png) no-repeat;
	background-size: 100% 100%;
	margin-top: 4rem;
	position: relative;
}

#header h1 {
	width: 44rem;
	margin-left: -3.5rem;
	position: relative;
	z-index: 1;
}

#header .pic1 {
	width: 34.7rem;
	position: absolute;
	bottom: 0;
	left: -6.5rem;
}

#header .pic2 {
	width: 20.75rem;
	position: absolute;
	right: -3rem;
	top: 14rem;
}

#header .copy {
	width: 36.85rem;
	margin: -3rem auto .5rem;
}

#header .date {
	font-size: 1rem;
	font-weight: bold;
	color: #fff;
	text-align: center;
	margin-bottom: .5rem;
}

#header ul {
	justify-content: center;
	margin-bottom: -6rem;
	padding-left: .5rem;
}

#header li {
	width: 21.5rem;
	margin: 0 -.3rem;
}



@media screen and (max-width: 960px) {
	.in-w80 {
		width: 86.6%;
	}

	.in-w85 {
		width: 93.3%;
	}

	.in-w75 {
		width: 86.6%;
	}

	.in-w60 {
		width: 86.6%;
	}

	html {
		scroll-padding-top: 80px;
	}

	/*.fadein { transform:translate(0, 0); opacity:1; transition:none; }*/
	.center-fade img {
		transform: translate(0, 0);
		opacity: 1;
		transition: none;
	}

	#top-box {
		width: 100%;
	}

	#reason-sec .wht-box {
		padding: 14.5rem 3rem 4rem;
	}

	#reason-sec ol li {
		width: calc((100% - 3rem) / 3);
	}

	#reason-sec ol li:nth-child(-n+3) {
		margin-bottom: 5rem;
	}

	#reason-sec ol li h3 {
		font-size: 1.8rem;
	}

	#header {
		height: auto;
		padding-top: 0;
		background-size: 150% auto;
		background: url(../img/kv_bk.jpg) no-repeat center top;
	}

	#header .in-w85 {
		display: block;
	}

	#header .l-box {
		width: 100%;
		height: auto;
	}

	#header .pic-box {
		display: flex;
		justify-content: center;
		align-items: center;
	}

	#header .pic1 {
		position: initial;
		margin-top: -45px;
		margin-left: 0;
	}

	#header .pic2 {
		position: initial;
		margin-left: -55px;
		margin-top: -50px;
	}

	#header h1 {
		margin: -55px auto 40px;
	}

	#header .r-box {
		width: 100%;
		max-width: 600px;
		margin: 0 auto 100px;
		background: url(../img/kv_waku.png) no-repeat;
		background-size: 100% auto;
		background-position: 0 30px;
	}

	#header .copy {
		width: 82%;
	}

	#header .date {
		font-size: 13px;
	}

	#header ul {
		padding-left: .7rem;
	}

	#header li {
		width: 49.5%;
	}
}



@media screen and (max-width: 750px) {
	.sp-on {
		display: initial;
	}

	.pc-on {
		display: none;
	}

	#top-box .copy {
		font-size: 35px;
	}

	#top-box .copy .clr {
		font-size: 35px;
	}

	#top-box .copy .sml2 {
		font-size: 20px;
	}

	#top-box .copy .sml {
		font-size: 20px;
	}

	#top-box::before {
		left: -50%;
		right: -50%;
		margin: 0 auto;
	}

	#top-box .txt {
		font-size: 15px;
		line-height: 1.33;
	}

	#top-box .pic {
		width: 95%;
		max-width: 450px;
	}

	#intro-sec {
		background: url(../img/intro_bk_sp.png) no-repeat center top;
		background-size: 100% auto;
		padding-top: 90px;
	}

	#intro-sec .in-w75 {
		width: 100%;
	}

	#intro-sec h2 {
		width: 373.5px;
		position: relative;
		z-index: 1;
	}

	#intro-sec .pic {
		width: 132.5px;
		right: -10px;
		top: -60px;
	}

	#intro-sec .frame-box::before {
		height: 0;
		width: 36rem;
		padding-top: 279.7%;
		background: url(../img/intro_bk2_sp.png) top center no-repeat;
		background-size: contain;
	}

	#intro-sec .frame-box .copy {
		width: 332px;
	}

	#intro-sec .frame-box .date {
		font-size: 13px;
		margin-bottom: 15px;
	}

	#intro-sec .frame-box .txt {
		font-size: 15px;
		line-height: 1.5;
		margin-bottom: 5px;
	}

	#intro-sec .frame-box ul {
		display: block;
		margin-top: 0;
	}

	#intro-sec .frame-box li {
		width: 220px;
		height: 245px;
		margin: 0 auto 5px;
	}

	#intro-sec .frame-box li::before {
		height: 220px;
		top: 20px;
	}

	#intro-sec .frame-box li .icon {
		margin-top: 0 !important;
	}

	#intro-sec .frame-box li .list-txt {
		font-size: 13px;
		margin-top: 8px;
	}

	#intro-sec .frame-box li .list-txt .red {
		font-size: 20px;
	}

	#intro-sec .frame-box li .list-txt .red span {
		font-size: 13px;
	}

	#intro-sec .frame-box li .att-txt {
		font-size: 11px;
		line-height: 1.5;
		margin-top: 8px;
	}

	#intro-sec .cost-box {
		margin-top: 40px;
		width: 86.6%;
	}

	#intro-sec .cost-box .tbl-wrap {
		max-width: 750px;
		overflow: hidden;
	}

	#intro-sec .cost-box table {
		width: 649px;
	}

	#reason-sec .wht-box {
		padding: 225px 20px 40px;
	}

	#reason-sec .wht-box h2 {
		width: 279px;
	}

	#reason-sec .wht-box .txt {
		font-size: 15px;
		line-height: 1.5;
		text-align: left;
	}

	#reason-sec ol li {
		width: 100%;
		padding: 0 30px 30px;
		margin-bottom: 50px;
	}

	#reason-sec ol li:last-child {
		margin-bottom: 0;
	}

	#reason-sec ol li .num {
		font-size: 13px;
	}

	#reason-sec ol li h3 {
		font-size: 20px;
	}

	#reason-sec ol li .list-txt {
		font-size: 15px;
	}

	#detection-sec h2 span {
		display: block;
		margin-top: 7px;
	}

	#detection-sec ul {
		display: block;
	}

	#detection-sec li {
		width: 200px;
		margin: 0 auto 10px;
	}

	.blue-bk-box .wht-box {
		padding: 40px 20px;
	}

	#detection-sec .txt {
		font-size: 15px;
		line-height: 1.5;
		text-align: left;
	}

	#detection-sec .txt2 {
		font-size: 15px;
		line-height: 1.5;
		text-align: left;
	}

	#notice-sec {
		padding: 40px 20px 20px;
	}

	#notice-sec h2 span {
		line-height: 1.1;
	}

	#notice-sec .txt {
		font-size: 15px;
		line-height: 1.5;
		text-align: left;
	}

	#notice-sec .pic {
		width: calc(100% + 40px);
		margin: 0 -20px;
	}

	#compare-sec .tbl-wrap {
		max-width: 750px;
		overflow: hidden;
	}

	#compare-sec table {
		width: 649px;
	}

	#compare-sec table th, #compare-sec table td {
		padding: 12px 0;
	}

	#flow-sec ol {
		display: block;
	}

	#flow-sec ol li {
		width: 75%;
		max-width: 450px;
		margin: 0 auto 60px;
	}

	#flow-sec ol li .pic {
		width: 83.3%;
		margin: 0 auto;
	}

	#flow-sec ol li h3 {
		font-size: 20px;
	}

	#flow-sec ol li .txt {
		font-size: 15px;
	}

	#flow-sec ol li::before {
		right: 0;
		left: 0;
		margin: 0 auto;
		top: inherit;
		bottom: -40px;
		transform: rotate(180deg);
		width: 1em;
	}

	.contact-box {
		background: url(../img/contact_bk_sp.png) no-repeat top center;
		background-size: cover;
		padding-bottom: 30px;
	}

	.contact-box .btn-box {
		display: block;
	}

	.contact-box .btn-box .btn {
		width: 325px;
		margin: 0 auto 15px;
	}

	.contact-box .btn-box .btn2 a {
		pointer-events: inherit;
	}

	#faq-sec {
		margin-top: 45px;
	}

	#faq-sec dl .line {
		padding: 1.5rem 2rem;
	}

	#faq-sec dl .line dt .txt {
		font-size: 15px;
		line-height: 1.5;
		width: calc(100% - 35px);
	}

	#faq-sec dl .line dt {
		padding-right: 25px;
		display: flex;
	}

	#faq-sec dl .line dt::after {
		right: -5px;
	}

	#faq-sec dl .line .icon {
		margin-right: .5em;
	}

	#faq-sec dl .line dd .txt {
		font-size: 15px;
		line-height: 1.5;
		width: calc(100% - 35px);
	}
 
 #precautions-sec {
	 margin-top: 45px;
 }

	#fixed-cont-box #fixed-box {
		background: url(../img/fixed_bk_sp.jpg) no-repeat;
		background-size: cover;
	}

	#fixed-cont-box #pagetop {
		margin-left: calc(100% - 3rem - 5px);
		margin-bottom: 5px;
	}

	#fixed-cont-box #fixed-box .ttl {
		width: 217.5px;
	}

	#fixed-cont-box #fixed-box .btn-box {
		margin-top: 7px;
		justify-content: space-between;
		max-width: 450px;
	}

	#fixed-cont-box #fixed-box .btn-box .btn {
		width: calc((100% - 5px) / 2);
		margin: 0;
	}

	#fixed-cont-box #fixed-box .btn-box .btn2 a {
		pointer-events: inherit;
	}

	#footer {
		display: block;
	}

	#footer .foot-logo {
		width: 208px;
		margin: 0 auto;
	}

	#footer small {
		font-size: 11px;
		display: block;
		text-align: center;
		margin-top: 20px;
	}

	#header {
		background: url(../img/kv_bk_sp.jpg) no-repeat center top;
		background-size: 100% auto;
	}

	#header h1 {
		margin: -55px -2.5% 40px;
		width: 105%;
	}

	#header ul {
		padding-left: 0;
	}
}

.p-mv {
	position: inherit;
	font-size: 0;
}

.p-mv_pc {
	display: none
}

.p-mv_title, .p-mv_logoArea, .p-mv_logo {
	position: absolute;
	top: 0
}

.p-mv_title {
	left: 50%;
	width: 100%;
	translate: -50%
}

.p-mv_logoArea {
	width: 30%;
	font-size: 0
}

.p-mv_logo {
	top: 50%;
	left: 50%;
	width: 86.5%;
	translate: -50% -50%
}

@media (min-width: 768px) {
	.p-mv_pc {
		display: block
	}

	.p-mv_sp {
		display: none
	}

	.p-footer {
		display: flex;
		justify-content: space-between;
		margin-block: 0;
		padding: 25px 20px
	}

	.p-footer_copyright {
		padding-top: 0;
		text-align: left
	}
}

@media (min-width: 961px) {
	.p-mv_logoArea {
		left: 0;
		width: 17%
	}
}

@media screen and (min-width: 751px) and (max-width: 960px) {
	.p-mv_logoArea {
		width: 20%
	}
}

@media (max-width: 500px) {
	.p-mv_logoArea {
		width: 27%
	}
}

@media (min-width: 750px) {
	.p-footer {
		padding: 41px 28px 36px 35px;
	}
}

.p-footer {
	display: grid;
	align-items: center;
	justify-content: center;
	margin: 24px 20px;
}

.p-footer_copyright {
	display: block;
	padding-top: 20px;
	font-size: 1.2rem;
	text-align: center
}

.p-footer_logo {
	max-width: 350px;
	width: 100%;
}

@media (max-width: 750px) {
	.p-footer_logo {
		margin: 0 auto;
	}
}

.button-link a {
	background: white;
	border-radius: 1rem;
	border: 4px solid transparent;
	border-color: #4979d0;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	margin: 30px auto 0px auto;
	max-width: 500px;
	padding: 1.5rem 2.5rem;
	color: #313131;
	transition: 0.3s ease-in-out;
	font-weight: bold;
	font-size: 1.4rem;
}

.button-link a:after {
	content: "";
	position: absolute;
	top: 50%;
	bottom: 0;
	right: 2rem;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: right 0.3s;
	width: 6px;
	height: 6px;
	border-top: solid 2px currentColor;
	border-right: solid 2px currentColor;
	transform: translateY(-50%) rotate(45deg);
}

.button-link a:hover {
	background: #4979d0;
	color: #FFF;
}

.button-link a:hover:after {
	right: 1.4rem;
}

/* 20251003追加 */
#flow-sec li .txt-box {
	text-align: center;
}

@media screen and (min-width: 751px) {

	/* 1. olの幅を80%に設定し、中央寄せ */
	#flow-sec .flex-box {
		width: 90%;
		margin: 0 auto;
		list-style: none;
		padding: 0;

		/* ★★★ <li>を縦並びにするための設定 ★★★ */
		display: flex;
		/* olをFlexコンテナにする */
		flex-direction: column;
		/* 子要素(li)を縦方向に並べることを強制 */
		/* ★★★ ★★★ ★★★ ★★★ ★★★ ★★★ */
	}

	/* 2. li要素（縦並びの各項目）の設定 */
	#flow-sec li {
		/* 項目間のスペース（縦並びの間隔） */
		margin-bottom: 120px;

		/* liの子要素 (.pic と .txt-box) を横並びのコンテナとして設定 */
		/* ・<div class="pic">一つと<div class="txt-box">一つが並列に並ぶ */
		/* ・上下左右が中央並び */
		display: flex;
		flex-direction: row;
		/* 横並びにする */
		align-items: center;
		/* 垂直方向の中央揃え */
		justify-content: center;
		/* 水平方向の中央揃え */

		width: 100% !important;
		/* olの幅いっぱいに広がる */
		box-sizing: border-box;
	}

	/* 3. .picと.txt-boxの幅を設定し、スペースを確保 */
	/* ・スペースは適度に取る */
	#flow-sec li .pic {
		width: 40%;
		display: flex;
		justify-content: flex-end;
		align-items: center;
		padding-right: 20px;
		/* .picと.txt-box間のスペース */
		box-sizing: border-box;
	}

	#flow-sec li .txt-box {
		width: 60%;
		text-align: left;
		padding: 0 10px;
		box-sizing: border-box;
	}

	/* 画像のサイズ調整 */
	#flow-sec li .pic img {
		max-width: 100%;
		height: auto;
		display: block;
	}

	/* 4. h3とp.txtのテキストサイズ */
	#flow-sec .txt-box h3 {
		font-size: 1.8em;
		/* タイトルサイズ */
		margin-top: 0;
		margin-bottom: 0.6em;
		line-height: 1.4;
	}

	#flow-sec .txt-box .txt {
		font-size: 1.4em;
		/* 本文サイズ */
		margin-top: 0;
		line-height: 1.7;
	}

	#flow-sec ol li::before {
		font-size: 4.5rem !important;
		right: 31.5rem !important;
		top: 28.5rem !important;
		transform: rotate(180deg) !important;
	}

}