@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@400;700;800;900&display=swap');

/* dx common 
--------------------------------------------------------------*/
/* .pagetop a */
.pagetop a{z-index: 3;}
/* block */
.sp-dsp-none{display: block;}
.sp-dsp-block{display: none;}
.textBold{
	margin-top: 20px;
	font-size: 18px;
	font-weight: 700;
}
/* dx-wrapper */
#dx-wrapper{
	background-color: #56C154;
	color: #222;
	overflow: hidden;
	margin-top: 30px;
}
#dx-wrapper a{text-decoration: none;}
.dx-inner{
	max-width: 1200px;
	margin: 0 auto;
	padding:10px 20px;
	box-sizing: border-box;
}
#dx-wrapper p{line-height: 36px;}
/* dx-bg-radius */
.dx-bg-radius{border-radius: 50px 50px 0 0;}

/* pageTtl */
#pageTtl-wrapper{
  background: #fff url("../img/ttl-bg.png") no-repeat;
	background-size: cover;
	background-position: center bottom;
  min-height: 660px;
	position: relative;
}
#pageTtl-wrapper h1{
	text-align: center;
	max-width: 1040px;
	width: 100%;
	margin: 20px auto;
}
/* dx-bg-color */
.dx-bg-green .dx-inner{
	position: relative;
	background-color: #56C154;
	margin-top: -127px;
	padding: 50px 0 40px;
}

/* link-ac */
.link-ac{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	max-width: 875px;
	margin: 0 auto;
	gap: 16px;
}
.link-ac li{
	width: calc((100% - 32px) / 3);
}
.link-ac li a{
	font-size: 18px;
  font-weight: 600;
  position: relative;
  border-radius: 20px;
	padding: 10px;
	box-sizing: border-box;
	max-width: 280px;
	width: 100%;
	min-height:75px; 
  display: flex;
  align-items: center;
  justify-content: center;
  color: #333333;
  background-color: #ffffff;
  box-shadow: inset 0px 0px 30px 5px rgba(151, 235, 255, 1);
	transition: all .3s;
}
.link-ac li:nth-child(4) a,.link-ac li:last-child a{box-shadow: inset 0px 0px 30px 5px rgba(255, 156, 245, 1);}
.link-ac li a::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
  border-radius: 20px;
	padding: 10px;
	border: 1px solid transparent;
	box-sizing: border-box;
	max-width: 280px;
	width: 100%;
	min-height:74px; 
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: transparent;
	box-shadow: 5px 5px 20px 0px rgba(0, 0, 0, 0.4);
}
.link-ac li a span{
	font-family: "M PLUS 1p", sans-serif;
	display: inline-block;
	position: relative;
	z-index: 2;
	padding-right: 26px;
	box-sizing: border-box;
}
.link-ac li a span::after{
	content: '';
	width: 20px;
	height: 20px;
	background: url("../img/link-ac-arw.png") no-repeat;
	background-size: 96%;
	position: absolute;
	top: calc((100% - 20px) / 2);
	right: 0;
}
.link-ac li a:hover{
	background: #97EBFF;
}
.link-ac li:nth-child(4) a:hover,.link-ac li:last-child a:hover{background: #FF9CF5;}
/* balloon */
.balloon-bottom{
	font-family: "M PLUS 1p", sans-serif;
	position: relative;
  display: inline-block;
	border-radius: 30px;
	padding: 30px 30px;
	box-sizing: border-box;
  margin: 0;
  min-width: 30%;
	max-width: 994px;
	width: 100%;
  color: #2C48AD;
  background: #FEECAC;
	text-align: center;
	box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.2);
}
.balloon-bottom:after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #FEECAC;
	z-index: 2;
	filter: drop-shadow(6px 6px 0 rgba(0, 0, 0, 0.2));
}

.point{
	position: relative;
	margin-bottom: -3px;
	font-size: 30px;
	line-height: 1;
	font-weight: 700;
	color: #FEECAC;
}

.balloon-ttl-block{
	display: inline-block;
	position: relative;
	width: auto;
	text-align: left;
	padding-right: 100px;
	box-sizing: border-box;
}
.balloon-ttl-block:after{
	content: '';
	height: 95px;
	width: 95px;
	background: url("../img/ac01-balloon-ttl-p01.png") no-repeat;
	background-size: cover;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
}
.balloon-ttl-block p{
	font-family: "M PLUS 1p", sans-serif;
	font-size: 18px;
	line-height: 1.2;
	font-weight: 700;
}
.balloon-ttl-block p.ttl{font-size: 32px;}
.balloon-ttl-block p.ttl span{font-size: 60px;}
.balloon-ttl-block p + p{margin-top: 5px;}

/* color-box */
.color-box{
  position: relative;
  border-radius: 20px;
	padding: 10px;
	box-sizing: border-box;
	width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #333333;
  background-color: #ffffff;
  box-shadow: inset 0px 0px 30px 5px rgba(151, 235, 255, 1);
	transition: all .3s;
	text-align: left;
}

/* ttl */
.color-box .ttl-h3{
	color: #333;
	text-align: center;
	font-family: "M PLUS 1p";
	font-size: 28px;
	font-style: normal;
	font-weight: 800;
	line-height: normal;
	margin: 25px 0 40px;
}
.color-box .ttl-h3>span{
	display: block;
}
.color-box .ttl-h4{
	color: #2A45A5;
	font-size: 20px;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
	margin-bottom: 24px;
}
.dx-inner h3{
	color: #fff;
	margin: 50px 0 24px;
	font-size: 30px;
}

/* col-2 */
.col-2{
	display: flex;
	justify-content: space-between;
	gap: 24px;
}
.col-2>*{
	border-radius: 20px;
	overflow: hidden;
	background: #fff;
	width: calc((100% - 24px) / 2);
	box-sizing: border-box;
}
.col-2>* .ttl{
	font-size: 20px;
	font-weight: 600;
	line-height: 1.2;
	padding: 14px 40px;
	box-sizing: border-box;
}
.col-2>*:first-child .ttl{background: #D1F6FF;}
.col-2>*:last-child .ttl{background: #FEDA5A;}
.col-2>* .text{
	font-size: 16px;
	line-height: 30px;
	padding: 32px 40px;
	box-sizing: border-box;
	text-align: left;
}
/* col-3 */
.col-3{
	display: flex;
	gap:2px;
}
.col-3>*{
	width: calc((100% - 4px) /3);
}

/* list-circle */
.list-circle{
	padding-left: .4em;
}
.list-circle>li{
	line-height: 150%;
	padding-left:1em;
	position:relative;
}
.list-circle>li::before{
	content:"";
	background: #1673D7;
	display:block;
	width:10px;
	height:10px;
	border-radius:50%;
	position:absolute;
	top:8px;
	left:0;
}
.col-2>*:last-child .list-circle>li::before{background: #FEDA5A;}

.list-circle>li>span{
	display: block;
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 5px;
}
.list-circle>li + li{margin-top: 24px;}

/* ac01
--------------------------------------------------------------*/
#ac01 #ac01-ttl-block{
	font-family: "M PLUS 1p", sans-serif;
	border-top: 6px dotted #FEDA5A;
	padding: 32px 0 0;
	box-sizing: border-box;
}
#ac01 #ac01-ttl-block h2{
	font-size: 18px;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: bold;
	display: inline-block;
	background: #FEDA5A;
	padding: 14px 24px;
	box-sizing: border-box;
	border-radius: 27px;
}
#ac01 #ac01-ttl-block .ac01-catch{
	position: relative;
	font-family: "M PLUS 1p", sans-serif;
	color: #fff;
	padding: 30px 140px 0 0;
	box-sizing: border-box;
	font-size: 32px;
	font-weight: 600;
	line-height: 1.2;
}
#ac01 #ac01-ttl-block .ac01-catch::after{
	content: '';
	width: 198px;
	height: 140px;
	background: url("../img/ac02-ttl-p01.png") no-repeat;
	background-size: cover;
	position: absolute;
	top: 50%;
	transform: translateY(-40%); 
}
#ac01 #ac01-ttl-block .ac01-catch span{font-size: 50px;}

/* point01 */
#ac01 .dx-inner.point01{padding: 40px 20px 100px;}
#ac01 .dx-inner.point01 .text-white{
	font-size: 18px;margin-bottom: 30px;
	color: #fff;
}


/* point02 */
#ac01 .point02 .dx-inner:first-child{
	position: relative;
	z-index: 1;
	padding: 80px 20px 100px;
}
#ac01 .point02 .balloon-ttl-block:after{
	background: url("../img/ac01-balloon-ttl-p02.png") no-repeat;
	background-size: cover;
}
#ac01 .point02{
	/*background: #1673D7;*/
	position: relative;
	width: 100%;
	overflow: hidden;
}
#ac01 .point02::after{
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 120%;
	height: 400px;
	background-color: #1976D2; /* 青 */
	border-radius: 100% 100% 0 0;
}
#ac01 .point02::before{
	content: "";
	position: absolute;
	top: 100px;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	background-color: #1976D2; /* 青 */
}
/* .point02-ac */
#ac01 .point02-ac{
	display: flex;
	gap:26px;
	justify-content: space-between;
	margin: 70px 0 70px;
}
#ac01 .point02-ac>li{width: calc((100% - 42px) / 3);}
#ac01 .point02-ac>li a{
	font-family: "M PLUS 1p", sans-serif;
	font-size: 18px;
	font-weight: 600;
	position: relative;
	border-radius: 20px;
	padding: 24px 37px;
	box-sizing: border-box;
	width: 100%;
	min-height: 75px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #333333;
	background-color: #ffffff;
	box-shadow: inset 0px 0px 30px 5px rgba(151, 235, 255, 1);
	transition: all .3s;
}
#ac01 .point02-ac>li a:hover{background: #D1F6FF;}
#ac01 .point02-ac>li a span{display: block;}
#ac01 .point02-ac .ac01-point02-ac-item span:last-child{
	font-family: "M PLUS 1p", sans-serif;
	font-size: 18px;
	font-weight: 700;
	display: inline-block;
	position: relative;
	z-index: 2;
	padding-right: 26px;
	box-sizing: border-box;
	margin-top: 5px;
}
#ac01 .point02-ac .ac01-point02-ac-item span:last-child::after{
	content: '';
	width: 20px;
	height: 20px;
	background: url(../img/link-ac-arw.png) no-repeat;
	background-size: 96%;
	position: absolute;
	top: calc((100% - 20px) / 2);
	right: 0;
}
/* item-block */
#ac01 .point02 .item-block{position: relative;}
#ac01 .point02 .item-block .ttl{
	position: relative;
	max-width: 790px;
	margin: 0 auto -200px;
	z-index: 2;
}
#ac01 .point02 .item-block + .item-block{margin-top: 56px;}
#ac01 .point02 .item-block .color-box{
	padding: 220px 100px 70px;
	box-sizing: border-box;
}
#ac01 .point02 .item-block .color-box .accuracy-area{
	border-top: 6px dotted #FEDA5A;
	border-bottom: 6px dotted #FEDA5A;
	padding: 24px 0;
	box-sizing: border-box;
	margin: 40px 0;
}
#ac01 .point02 .item-block .color-box .accuracy-area .accuracy-ttl-area{
	display: flex;
	align-items: center;
	column-gap: 20px;
	font-size: 20px;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
	color: #2A45A5;
	margin-bottom: 16px;
}
#ac01 .point02 .item-block .color-box .accuracy-area .accuracy-ttl-area>:first-child{
	width: 114px;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
	color: #333;
	background: #FEDA5A;
	padding: 20px;
	box-sizing: border-box;
	border-radius: 10px;
}
#ac01 .point02 .item-block .color-box .col-3>*{
	padding: 24px;
	box-sizing: border-box;
}
#ac01 .point02 .item-block .color-box .col-3>*:first-child{background: #D1F6FF;}
#ac01 .point02 .item-block .color-box .col-3>*:nth-child(2){background: #FFDCED;}
#ac01 .point02 .item-block .color-box .col-3>*:last-child{background: #FEECAC;}
#ac01 .point02 .item-block .color-box .col-3>*:nth-child(2) .list-circle>li::before{background: #F42500;}
#ac01 .point02 .item-block .color-box .col-3>*:last-child .list-circle>li::before{background: #F68C0A;}
#ac01 .point02 .item-block .color-box .col-3>* h5{
	font-size: 20px;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
	margin-bottom: 24px;
}



/* point03 */
#ac01 .point03{
	/*background: #ECE0FF;*/
}
#ac01 .point03 .dx-inner:first-child{
	position: relative;
	z-index: 1;
	padding: 80px 20px 0;
}
#ac01 .point03 .point{color: #2C48AD;}
#ac01 .point03 .balloon-bottom{background: #fff;}
#ac01 .point03 .balloon-bottom:after{border-top: 15px solid #fff;}
#ac01 .point03 .balloon-ttl-block:after{
	background: url("../img/ac01-balloon-ttl-p03.png") no-repeat;
	background-size: cover;
}
#ac01 .point03{
	background: #1673D7;
	position: relative;
	width: 100%;
}
#ac01 .point03::after{
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 120%;
	height: 400px;
	background-color: #ECE0FF; /* 青 */
	border-radius: 100% 100% 0 0;
}
#ac01 .point03::before{
	content: "";
	position: absolute;
	top: 100px;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	background-color: #ECE0FF; /* 青 */
}
#ac01 .point03 .point03-col{
	display: flex;
	margin: 75px 0 48px;
}
#ac01 .point03 .point03-col .lead{
	width: calc(100% - 360px);
}
#ac01 .point03 .point03-col .img{
	width: 280px;
	padding: 0;
}
#ac01 .point03 .lead{
	font-size: 20px;
	font-style: normal;
	font-weight: 600;
	line-height: 42px;
	
	text-align: left;
}

#ac01 .point03 .point03-ttl{
	color: #2A45A5;
	font-size: 20px;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
	text-align: left;
	margin: 0 0 16px;
}
#ac01 .point03 p + .point03-ttl{margin-top: 48px;}
#ac01 .point03 .list-text{text-align: left;}
/* ac02
--------------------------------------------------------------*/
#ac02{
	position: relative;
	background: #FEECAC;
}
#ac02::before{
	content: '';
	display: block;
  width: 100%;
	background: url("../img/ac02-bg.png") top repeat-x;
	background-size: 100%;
	height: 220px;
}
#ac02 .dx-inner{padding: 40px 20px;}

/* ac02 ac03 ac04 ac05*/
#ac02 .ac02-ttl-block,
#ac03 .ac03-ttl-block,
#ac04 .ac04-ttl-block,
#ac05 .ac05-ttl-block{
	font-family: "M PLUS 1p", sans-serif;
	border-top: 6px dotted #fff;
	padding: 32px 0 0;
	box-sizing: border-box;
}
#ac02 .ac02-ttl-block h2,
#ac03 .ac03-ttl-block h2,
#ac04 .ac04-ttl-block h2,
#ac05 .ac05-ttl-block h2{
	font-size: 18px;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: bold;
	display: inline-block;
	background: #fff;
	padding: 14px 24px;
	box-sizing: border-box;
	border-radius: 27px;
	max-width: 154px;
	width: 100%;
}
#ac03 .ac03-ttl-block h2{padding: 14px 5px;}
#ac04 .ac04-ttl-block h2,
#ac05 .ac05-ttl-block h2{max-width: 228px;padding: 14px 5px;}
#ac02 .ac02-ttl-block .ac02-catch-block,
#ac03 .ac03-ttl-block .ac03-catch-block{}
#ac02 .ac02-ttl-block .ac02-catch,
#ac03 .ac03-ttl-block .ac03-catch{
	display: inline-block;
	text-align: left;
	position: relative;
	font-family: "M PLUS 1p", sans-serif;
	color: #333;
	padding: 30px 198px 0 0;
	box-sizing: border-box;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 48px;
}
#ac03 .ac03-ttl-block .ac03-catch{
	font-size: 28px;
	line-height: 1.8;
}
#ac02 .ac02-ttl-block .ac02-catch::after,
#ac03 .ac03-ttl-block .ac03-catch::after{
	content: '';
	width: 198px;
	height: 140px;
	background: url("../img/ac02-ttl-p01.png") no-repeat;
	background-size: cover;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-40%); 
}
#ac02 .ac02-ttl-block .ac02-catch span,
#ac03 .ac03-ttl-block .ac03-catch span{font-size: 46px;}
#ac02 .lead,
#ac03 .lead{
	font-size: 20px;
	font-style: normal;
	font-weight: 600;
	line-height: 42px;
}
/* ac03
--------------------------------------------------------------*/
#ac03{
	position: relative;
	background: #FEDA5A;
}
#ac03::before{
	content: '';
	display: block;
  width: 100%;
	background: url("../img/ac03-bg.png") top repeat-x;
	background-size: 100%;
	height: 220px;
}
#ac03 .dx-inner{padding: 40px 20px;}

/* ac03-faq */
#ac03 .ac03-faq li{
	overflow: hidden;
	background: #fff;
	border-radius: 20px;
}
#ac03 .ac03-faq li + li{margin-top: 40px;}
#ac03 .ac03-faq li .ac03-faq-col{
	display: flex;
	gap:36px;
	font-size: 16px;
	font-style: normal;
	font-weight: 300;
	line-height: 36px;
}
#ac03 .ac03-faq li .ac03-faq-col{
	padding: 40px 40px;
	box-sizing: border-box;
}
#ac03 .ac03-faq li .ac03-faq-col>div:first-child{width: 60px;}
#ac03 .ac03-faq li .ac03-faq-col .ac03-faq-text{
	width: calc(100% - 96px);
	text-align: left;
}
#ac03 .ac03-faq li .ac03-faq-col.ac03-q{
	color: #fff;
	font-size: 20px;
	font-style: normal;
	font-weight: 600;
	line-height: 42px;
	background: #3DABF5;
	padding: 20px 40px;
	box-sizing: border-box;
	align-items: center;
}
#ac03 .ac03-faq li .ac03-faq-col .ac03-faq-text figure{margin-top: 30px;}

/* ac04
--------------------------------------------------------------*/
#ac04{
	position: relative;
	background: #FFDCED;
}
#ac04::before{
	content: '';
	display: block;
  width: 100%;
	background: url("../img/ac04-bg.png") top repeat-x;
	background-size: 100%;
	height: 220px;
}
#ac04 .ac04-ttl-block .ac04-catch-block,
#ac05 .ac05-ttl-block .ac04-catch-block{
	font-size: 20px;
	font-style: normal;
	font-weight: 600;
	line-height: 42px;
	margin: 46px 0;
}
#ac04 .dx-inner{padding-bottom: 40px;}
#ac04 .ac04-btn{
	margin: 0 auto;
	text-align: center;
}
#ac04 .ac04-btn .btn a{
	font-family: "M PLUS 1p";
	font-size: 18px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
  position: relative;
  border-radius: 20px;
	padding: 10px;
	box-sizing: border-box;
	max-width: 580px;
	width: 100%;
	min-height:75px; 
  display: flex;
  align-items: center;
  justify-content: center;
  color: #333333;
  background-color: #ffffff;
  box-shadow: inset 0px 0px 30px 5px rgba(151, 235, 255, 1);
	transition: all .3s;
	margin: 0 auto;
}
#ac04 .ac04-btn .btn a::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
  border-radius: 20px;
	padding: 10px;
	border: 1px solid transparent;
	box-sizing: border-box;
	max-width: 580px;
	width: 100%;
	min-height:74px; 
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: transparent;
	box-shadow: 5px 5px 20px 0px rgba(0, 0, 0, 0.4);
}
#ac04 .ac04-btn .btn a span{
	font-family: "M PLUS 1p", sans-serif;
	display: inline-block;
	position: relative;
	z-index: 2;
	padding: 0 26px 0 30px;
	box-sizing: border-box;
}
#ac04 .ac04-btn .btn a span::after{
	content: '';
	width: 19px;
	height: 20px;
	background: url("../img/ac04-btn-p02.png") no-repeat;
	background-size: cover;
	position: absolute;
	top: calc((100% - 19px) / 2);
	right: 0;
}
#ac04 .ac04-btn .btn a span::before{
	content: '';
	width: 20px;
	height: 20px;
	background: url("../img/ac04-btn-p01.png") no-repeat;
	background-size: cover;
	position: absolute;
	top: calc((100% - 20px) / 2);
	left: 0;
}
#ac04 .ac04-btn .btn a:hover{
	background: #D1F6FF;
}
/* ac05
--------------------------------------------------------------*/
#ac05{
	position: relative;
	background: #FFCCE5;
}
#ac05::before{
	content: '';
	display: block;
  width: 100%;
	background: url("../img/ac05-bg.png") top repeat-x;
	background-size: 100%;
	height: 220px;
}
#ac05 .ac05-ttl-block .ac05-catch-block{
	font-size: 20px;
	font-style: normal;
	font-weight: 600;
	line-height: 42px;
	margin: 46px 0;
}
#ac05 .ac05-ttl-block .text-link{text-decoration: underline;}
#ac05 .ac05-ttl-block .text-link:hover{text-decoration: none;color: #3DABF5;}

@media all and (max-width:320px) {
	/* */
}

@media all and (max-width:640px) {
	/* */
}

@media all and (max-width:960px) {/* GB 切り替え*/
/* dx common 
--------------------------------------------------------------*/
/* block */
.sp-dsp-none{display: none;}
.sp-dsp-block{display: block;}
	
/* dx-wrapper */
.dx-inner{}

#dx-wrapper{margin-top: 0;}
#dx-wrapper p{line-height: 30px;}
/* dx-bg-radius */
.dx-bg-radius{border-radius: 25px 25px 0 0;}

/* pageTtl */
#pageTtl-wrapper{
  background: url("../img/ttl-bg.png") no-repeat;
	background-size: cover;
  min-height: 400px;
}
#pageTtl-wrapper h1{
	text-align: center;
	width: 100%;
}
/* dx-bg-color */
.dx-bg-green .dx-inner{
	max-width: 95%;
	margin-top: -70px;
	padding: 20px 0 27px;
}

/* link-ac */
.link-ac{
	display: block;
	max-width: none;
	padding: 0 27px 0;
}
.link-ac li{
	width: 100%;
}
.link-ac li a{
	font-size: 16px;
  font-weight: 700;
	text-align: left;
  border-radius: 12px;
	padding: 10px 20px;
	max-width: none;
	min-height:48px; 
  justify-content: flex-start;
	box-shadow: inset 0px 0px 10px 5px rgba(151, 235, 255, 1);
}
.link-ac li a::before{
	max-width: none;
	width: 100%;
	min-height: 48px;
	border-radius: 12px;
}
.link-ac li a span{
	display: block;
	width: 100%;
	padding-right: 26px;
}
	.link-ac li + li{margin-top: 8px;}

/* balloon */
.balloon-bottom{
	border-radius: 20px;
	padding: 24px 18px;
}
.point{font-weight: 800;}

.balloon-ttl-block{
	padding-right: 45px;
}
.balloon-ttl-block:after{
	height: 45px;
	width: 45px;
}
.balloon-ttl-block p{
	font-size: 16px;
	font-weight: 900;
}
.balloon-ttl-block p.ttl{font-size: 20px;}
.balloon-ttl-block p.ttl span{font-size: 32px;}
.balloon-ttl-block p + p{margin-top: 5px;}

/* ttl */
.color-box .ttl-h3{
	font-size: 20px;
	margin-bottom: 32px;
}
.color-box .ttl-h4{
	font-size: 18px;
	margin-bottom: 20px;
}
.dx-inner h3{
	color: #fff;
	margin: 28px 0 16px;
	font-size: 20px;
}

/* col-2 */
.col-2{display: block;}
.col-2>*{width: 100%;}
.col-2>* .ttl{
	font-size: 18px;
	padding: 14px 16px;
}
.col-2>* .text{
	line-height: 30px;
	padding: 32px 16px;
}
.col-2>* + *{margin-top: 16px;}	
	
/* col-3 */
.col-3{display: block;}
.col-3>*{width: 100%;}

.list-circle>li + li{margin-top: 20px;}

/* ac01
--------------------------------------------------------------*/ 
#ac01 #ac01-ttl-block .ac01-catch{
	text-align: left;
	line-height: 40px;
	padding: 30px 0 80px 0;
	font-size: 24px;
}
#ac01 #ac01-ttl-block .ac01-catch::after{
	width: 109px;
	height: 77px;
	background: url(../img/ac02-ttl-p01.png) no-repeat;
	background-size: cover;
	top: inherit;
	bottom: 0;
	left: 50%;
	transform: none;
	transform: translateX(-50%);
}
#ac01 #ac01-ttl-block .ac01-catch span{font-size: 32px;}

/* point01 */
#ac01 .dx-inner.point01{padding: 0 20px 50px;}

/* point02 */
#ac01 .point02 .dx-inner:first-child{
	position: relative;
	z-index: 1;
	padding: 50px 20px 50px;
}
#ac01 .point02 .balloon-ttl-block:after{
	background: url("../img/ac01-balloon-ttl-p02.png") no-repeat;
	background-size: cover;
}
#ac01 .point02::after{width: 180%;}
/* .point02-ac */
#ac01 .point02-ac{
	display: block;
	margin: 50px 0 50px;
}
#ac01 .point02-ac>li{width:100%;}
#ac01 .point02-ac>li a{
	font-size: 16px;
	font-weight: 700;
	padding: 24px 20px 24px 20px;
	width: 100%;
	min-height: 92px;
	display: block;
}
#ac01 .point02-ac>li a .ac01-point02-ac-item{
	display: flex;
	align-items: center;
}
#ac01 .point02-ac>li + li{margin-top: 8px;}
#ac01 .point02-ac .ac01-point02-ac-item span:first-child{
	width: 110px;
}
#ac01 .point02-ac .ac01-point02-ac-item span:last-child{
	text-align: left;
	font-size: 16px;
	margin-top: 0;
	width: calc(100% - 110px);
}

/* item-block */
#ac01 .point02 .item-block .ttl{
	max-width: 90%;
	margin: 0 auto -160px;
}
#ac01 .point02 .item-block + .item-block{margin-top: 56px;}
#ac01 .point02 .item-block .color-box{
	margin-top: 100px;
	padding: 40px 24px 32px;
}
#ac01 .point02 .item-block .color-box .accuracy-area{
	padding: 24px 0;
	margin: 40px 0;
}
#ac01 .point02 .item-block .color-box .accuracy-area .accuracy-ttl-area{
	display: block;
	font-size: 18px;
	margin-bottom: 10px;
}
#ac01 .point02 .item-block .color-box .accuracy-area .accuracy-ttl-area>:first-child{
	width: 100px;
	font-size: 16px;
	padding: 10px;
	margin-bottom: 10px;
}
#ac01 .point02 .item-block .color-box .col-3>*{padding: 16px 12px;}
#ac01 .point02 .item-block .color-box .col-3>* + *{margin-top: 2px;}
#ac01 .point02 .item-block .color-box .col-3>* h5{
	font-size: 18px;
	margin-bottom: 12px;
}

/* point03 */
#ac01 .point03 .dx-inner:first-child{
	padding: 50px 20px 0;
}
#ac01 .point03::after{width: 180%;}

#ac01 .point03 .point03-col{display: block;}
#ac01 .point03 .point03-col .lead{
	width: 100%;
	text-align: left;
	margin: 50px 0 40px;
}
#ac01 .point03 .point03-col .img{
	max-width: 50%;
	width: 100%;
	padding: 0;
	margin: 0 auto;
}
#ac01 .point03 .lead{
	font-size: 18px;
	line-height: 1.8;
}

#ac01 .point03 .point03-ttl{
	font-size: 18px;
	margin: 0 0 12px;
}
#ac01 .point03 p + .point03-ttl{margin-top: 38px;}

/* ac02
--------------------------------------------------------------*/
#ac02::before{height: 50px;}	
#ac02 .dx-inner{padding: 30px 20px;}

/* ac02 ac03 ac04 ac05*/
#ac02 .ac02-ttl-block,
#ac03 .ac03-ttl-block,
#ac04 .ac04-ttl-block,
#ac05 .ac05-ttl-block{padding: 28px 0 0;}
#ac02 .ac02-ttl-block h2,
#ac03 .ac03-ttl-block h2,
#ac04 .ac04-ttl-block h2,
#ac05 .ac05-ttl-block h2{
	font-size: 18px;
	max-width: 154px;
}
#ac03 .ac03-ttl-block h2{padding: 14px 5px;}
#ac04 .ac04-ttl-block h2,
#ac05 .ac05-ttl-block h2{max-width: 228px;padding: 14px 5px;}
#ac02 .ac02-ttl-block .ac02-catch-block,
#ac03 .ac03-ttl-block .ac03-catch-block{}
#ac02 .ac02-ttl-block .ac02-catch,
#ac03 .ac03-ttl-block .ac03-catch{
	text-align: left;
	line-height: 40px;
	padding: 30px 0 80px 0;
	font-size: 24px;
}
#ac02 .ac02-ttl-block .ac02-catch::after,
#ac03 .ac03-ttl-block .ac03-catch::after{
	content: '';
	width: 109px;
	height: 77px;
	background: url("../img/ac02-ttl-p01.png") no-repeat;
	background-size: cover;
	top: inherit;
	bottom: 0;
	left: 50%;
	transform: none;
	transform: translateX(-50%);
}
#ac02 .ac02-ttl-block .ac02-catch span,
#ac03 .ac03-ttl-block .ac03-catch span{font-size: 32px;}
#ac02 .lead,
#ac03 .lead{
	font-size: 18px;
	line-height: 1.6;
	text-align: left;
}
/* ac03
--------------------------------------------------------------*/
#ac03::before{height: 100px;}
#ac03 .dx-inner{padding: 40px 20px;}

/* ac03-faq */
#ac03 .ac03-faq li{border-radius: 10px;}
#ac03 .ac03-faq li + li{margin-top: 20px;}
#ac03 .ac03-faq li .ac03-faq-col{
	gap:20px;
	font-size: 16px;
	line-height: 1.6;
}
#ac03 .ac03-faq li .ac03-faq-col{padding: 20px 10px;}
#ac03 .ac03-faq li .ac03-faq-col>div:first-child{width: 50px;}
#ac03 .ac03-faq li .ac03-faq-col .ac03-faq-text{width: calc(100% - 60px);}
#ac03 .ac03-faq li .ac03-faq-col.ac03-q{
	font-size: 18px;
	line-height: 1.6;
	padding: 10px 10px;
}
#ac03 .ac03-faq li .ac03-faq-col .ac03-faq-text figure{margin-top: 20px;}

/* ac04
--------------------------------------------------------------*/
#ac04::before{height: 100px;}
#ac04 .ac04-ttl-block .ac04-catch-block,
#ac05 .ac05-ttl-block .ac04-catch-block{
	font-size: 18px;
	line-height: 1.8;
	margin: 20px 0;
}
/* ac05
--------------------------------------------------------------*/
#ac05::before{height: 100px;}
#ac05 .ac05-ttl-block .ac05-catch-block{
	font-size: 18px;
	line-height: 1.8;
	margin: 20px 0;
	text-align: left;
}
	
/* sp-map	
--------------------------------------------------------------*/
.sp-map{
	background: #FEF5D5;
	border-radius: 20px;
	padding: 20px 0 32px;

}	
.sp-map-ac{margin-top: 18px;}
.sp-map-ac li + li{margin-top: 8px;}
.sp-map-ac li a{
	font-size: 16px;
	font-weight: 700;
	position: relative;
	border-radius: 12px;
	padding: 12px 20px;
	box-sizing: border-box;
	width: calc((100% - 60px));
	min-height: 70px;
	display: flex;
	align-items: center;
	color: #333333;
	background-color: #ffffff;
	box-shadow: inset 0px 0px 30px 5px rgba(151, 235, 255, 1);
	transition: all .3s;
	margin: 0 30px;
	text-align: left;
	padding-right: 40px;
}
.sp-map-ac li a::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	border-radius: 12px;
	padding: 12px 20px;
	box-sizing: border-box;
	width: 100%;
	min-height: 70px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: transparent;
	box-shadow: 5px 5px 20px 0px rgba(0, 0, 0, 0.4);
}
.sp-map-ac li a span{display: block;}	
.sp-map-ac li a>span::after {
	content: '';
	width: 20px;
	height: 20px;
	background: url(../img/link-ac-arw.png) no-repeat;
	background-size: 96%;
	position: absolute;
	top: calc((100% - 20px) / 2);
	right: 20px;
}
.sp-map-ac li a span>span:last-child{font-size: 14px;font-weight: 500;}	
	
}

@media all and (max-width:1200px) {
	/* 1200px+ settings */
}