@charset "UTF-8";

html {
	font-size: 10px;
	line-height: 1.6;
	letter-spacing: 0.3em;
	overflow-x: hidden;
	font-family: "Noto Sans JP", sans-serif;
	color: #333;
}

body{
	word-wrap: break-word;
	-webkit-text-size-adjust: 100%;
	overflow-x: hidden;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	background: #fff;
	position: relative;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}

.grecaptcha-badge { visibility: hidden; }

#wrapper a:link      {
	text-decoration: none;
	color: #e96087;
}

#wrapper a:visited      {
	text-decoration: none;
	color: #e96087;
}

#wrapper a:hover     {
	text-decoration: none;
}

#wrapper a:active    {
	text-decoration: none;
}

a[href^="tel:"] {
	pointer-events: none;
}

a,:focus {
	outline: none;
}

::-webkit-search-cancel-button {
	-webkit-appearance: none;
}

.img img {
	width: 100%;
	height: auto;
}

.tb   { display: none!important;}
.tbsp { display: none!important;}
.sp   { display: none!important;}

.pc   { display: block!important;}
.pctb { display: block!important;}
.pcsp { display: block!important;}

.opacity a:hover,
.opacity input:hover {
	opacity: 0.60;
	filter: alpha(opacity=60);
	-ms-filter: "alpha(opacity=60)";
	-moz-opacity: 0.60;
	-khtml-opacity: 0.60;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
	text-decoration: none!important;
}

/* mdlAra */
.hamburger {
	width: 100px;
	height: 100px;
	position: fixed;
	right: 0;
	top: 0;
	background: #e96087;
	cursor: pointer;
	z-index: 300;
}

.hamburger__line {
	position: absolute;
	height: 2px;
	right: 20px;
	background-color: #fff;
	transition: all 0.4s;
}

.hamburger__line--1 {
	width: 60px;
	top: 41px;
}

.hamburger__line--2 {
	width: 36px;
	top: 55px;
}

.open .hamburger__line--1 {
	transform: rotate(-45deg);
	top: 48px;
}

.open .hamburger__line--2 {
	width: 60px;
	transform: rotate(45deg);
	top: 48px;
}

.mdlNavBox {
	position: fixed;
	right: -100%;
	top: 100px;
	width: 35%;
	height: 100vh;
	padding: 80px 50px;
	box-sizing: border-box;
	background: #e96087;
	transition: all 0.4s;
	z-index: 200;
	overflow-y: auto;
}

.open .mdlNavBox {
	right: 0;
}

.black-bg {
	position: fixed;
	left: 0;
	top: 0;
	width: 100vw;
	height: 100vh;
	opacity: 0;
	visibility: hidden;
	transition: all 0.4s;
	cursor: pointer;
	z-index: 100;
}

.open .black-bg {
	visibility: visible;
}

.mdlNav {
	font-weight: 800;
	font-size: 1.8rem;
	line-height: 1.4;
}

.mdlNav li:not(:last-child) {
	border-bottom: solid 1px #fff;
}

.mdlNav li a {
	display: block;
	padding: 15px 0;
}

@media screen and (min-width:768px) and (max-width:1040px) {
	.mdlNavBox {
		padding: 60px 40px;
		width: 60%;
	}

	.mdlNav {
		font-size: 1.7rem;
	}
}

@media screen and (max-width:767px) {
	.hamburger {
		width: 60px;
		height: 60px;
	}

	.hamburger__line {
		right: 10px;
	}

	.hamburger__line--1 {
		width: 40px;
		top: 24px;
	}

	.hamburger__line--2 {
		width: 20px;
		top: 34px;
	}

	.open .hamburger__line--1 {
		top: 28px;
	}

	.open .hamburger__line--2 {
		width: 40px;
		top: 28px;
	}

	.mdlNavBox {
		width: 100%;
		top: 60px;
		padding: 40px 20px;
	}

	.mdlNav {
		font-size: 1.6rem;
	}
}

/*======================================================
  common
======================================================*/

.cntWrp {
	max-width: 1280px;
	margin: 0 auto;
}

.cntTtlBox {
	text-align: center;
	margin: 0 0 30px;
	padding: 0 0 30px;
	background: url(../images/bg_border.png) bottom repeat-x;
	background-size: 10px auto;
}

.cntTtlEn {
	display: inline-block;
	font-weight: 500;
	font-size: 1.4rem;
	line-height: 1;
	color: #fff;
	margin: 0 0 25px;
	padding: 6px 15px 8px;
	background: #e96087;
}

.cntTtl {
	font-weight: 700;
	font-size: 3.6rem;
	line-height: 1.4;
}
	
.cntBtn,
.cntBtn2 {
	text-align: center;
	width: 360px;
	font-weight: 700;
	font-size: 2.2rem;
	line-height: 1;
	margin: 0 auto;
	box-sizing: border-box;
	border: solid 3px #ccc;
	border-radius: 50px;
	transition: all 0.3s ease;
	pointer-events: none;
}

.cntBtn.chk,
.cntBtn2.chk2 {
	border: solid 3px #e14c39;
	transition: all 0.3s ease;
	pointer-events: auto;
}

.cntBtn a,
.cntBtn2 a {
	display: block;
	padding: 20px;
	overflow: hidden;
	background: #ccc;
	border: solid 3px #fff;
	border-radius: 50px;
}

.cntBtn.chk a,
.cntBtn2.chk2 a {
	background: #e96087;
	transition: all 0.3s ease;
}

.cntBtn a:link,
.cntBtn a:visited,
.cntBtn2 a:link,
.cntBtn2 a:visited {
	color: #fff!important;
}

.wtLnk a:link,
.wtLnk a:visited {
	color: #fff!important;
}

.bkLnk a:link,
.bkLnk a:visited {
	color: #333!important;
}

.cntCapTxtBox {
	text-align: center;
}

.cntCapTxt {
	text-align: left;
	position: relative;
	display: inline-block;
	font-weight: 500;
	font-size: 1.4rem;
	line-height: 1.6;
	margin: 15px 0 0;
	padding: 0 0 0 15px;
}

.flwCapTxt {
	position: relative;
	display: inline-block;
	font-weight: 500;
	font-size: 1.2rem;
	line-height: 1.6;
	letter-spacing: -0.005em;
	margin: 15px 0 0;
	padding: 0 0 0 15px;
}

.flwCapTxt a:link,
.flwCapTxt a:visited {
	color: #333!important;
	padding: 0 0 3px;
	border-bottom: solid 1px #333!important;
}

.flwCapTxt a:hover {
	border-bottom: none!important;
}

.nedCapTxt {
	text-align: left;
	position: relative;
	display: inline-block;
	font-weight: 800;
	font-size: 1.6rem;
	line-height: 1.6;
	letter-spacing: -0.005em;
	margin: 10px 0 0;
	padding: 0 0 0 17px;
}

.ansCapTxt {
	position: relative;
	display: inline-block;
	font-weight: 500;
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: -0.005em;
	margin: 15px 0 0;
	padding: 0 0 0 15px;
}

.cntCapTxt:before,
.flwCapTxt:before,
.nedCapTxt:before,
.nedCapLst li:before,
.ansCapTxt:before{
	content: "※";
	position: absolute;
	top: 0;
	left: 0;
}

@media screen and (min-width:768px) and (max-width:1040px) {
	.cntTtlBox {
		margin: 0 0 40px;
		padding: 0 0 30px;
		background-size: 8px auto;
	}

	.cntTtlEn {
		font-size: 1.7rem;
		margin: 0 0 15px;
		padding: 6px 12px 8px;
	}

	.cntTtl {
		font-size: 3.8rem;
	}

	.cntBtn,
	.cntBtn2 {
		width: 320px;
		font-size: 2rem;
	}
}

@media screen and (max-width:767px) {
	.cntTtlBox {
		margin: 0 0 30px;
		padding: 0 0 20px;
		background-size: 5px auto;
	}

	.cntTtlEn {
		font-size: 1.5rem;
		margin: 0 0 7px;
		padding: 5px 10px 7px;
	}

	.cntTtl {
		font-size: 2.6rem;
	}

	.cntBtn,
	.cntBtn2 {
		width: 250px;
		font-size: 1.5rem;
		border: solid 2px #ccc;
	}

	.cntBtn.chk,
	.cntBtn2.chk2 {
		border: solid 2px #e14c39;
	}

	.cntBtn a,
	.cntBtn2 a {
		padding: 18px;
		border: solid 2px #fff;
	}

	.nedCapTxt {
		font-size: 1.4rem;
		padding: 0 0 0 15px;
	}

	.ansCapTxt {
		margin: 10px 0 0;
	}
	.cntCapTxt {
		font-size: 1.2rem;
		letter-spacing: 1px;
	}
}

/*======================================================
  header
======================================================*/

.hdr {
	width: 100%;
	height: 100px;
	position: fixed;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	padding: 0 30px;
	box-sizing: border-box;
	background: #fff;
	borderr-bottom: solid 1px #ccc;
	z-index: 100;
}

.hdrLg {
	max-width: 240px;
}

@media screen and (min-width:768px) and (max-width:1040px) {
	.hdr {
		padding: 0 20px;
	}
	
	.hdrLg {
		max-width: 240px;
	}
}

@media screen and (max-width:767px) {
	.hdr {
		height: 60px;
		padding: 0 15px;
	}
	
	.hdrLg {
		max-width: 158px;
	}
}

/*======================================================
  mnAra
======================================================*/

.mnAra {
	margin: 100px 0 0;
}

.mnWrp {
	padding: 0 30px;
	box-sizing: border-box;
	background: #EAF6FA;
	background: linear-gradient(-135deg,rgba(234, 246, 250, 1) 0%, rgba(248, 234, 234, 1) 100%);
}

.mnImg {
	max-width: 1500px;
	margin: 0 auto;
}

.mnCthWrp {
	padding: 7px 0;
	background: #e96087;
}

.mnCthInr {
	padding: 25px 30px;
	border-top: solid 3px #fff;
	border-bottom: solid 3px #fff;
}

.mnCth {
	text-align: center;
	font-weight: 800;
	font-size: 2.4rem;
	line-height: 1.4;
	color: #fff;
}

.mnCth .ylTxt {
	color: #fffc00;
}

@media screen and (min-width:768px) and (max-width:1040px) {
	.mnAra {
		margin: 100px 0 0;
	}

	.mnImg {
		max-width: 400px;
	}
	
	.mnCthInr {
		padding: 25px 10px;
	}

	.mnCth {
		font-size: 2.6rem;
	}
}

@media screen and (max-width:767px) {
	.mnAra {
		margin: 60px 0 0;
	}
	
	.mnCthWrp {
		padding: 5px 0;
	}

	.mnCthInr {
		padding: 20px 10px;
		border-top: solid 2px #fff;
		border-bottom: solid 2px #fff;
	}

	.mnCth {
		font-size: 1.8rem;
		letter-spacing: -0.005em;
	}
}

/*======================================================
  content
======================================================*/

/* ctaAra */
.ctaAra {
	padding: 85px 30px 70px;
	background: #fff5d9;
}

.ctaWrp {
	max-width: 1000px;
	margin: 0 auto;
}

.ctaBox {
	padding: 25px;
	background: #fff;
	border-radius: 15px 15px 0 0;
}

.ctaTtl {
	text-align: center;
	font-weight: 800;
	font-size: 3.6rem;
	line-height: 1.4;
	margin: -55px 0 30px;
}

.ctaTxt {
	text-align: center;
	font-weight: 600;
	font-size: 1.6rem;
	line-height: 1.6;
	margin: 0 0 35px;
}

.ctaTxt a:link,
.ctaTxt a:visited {
	color: #e96087!important;
	padding: 0 0 3px;
	border-bottom: solid 1px #e96087!important;
}

.ctaChkBtn,
.ctaChkBtn2 {
	text-align: center;
	font-weight: 600;
	font-size: 1.8rem;
	line-height: 1.4;
	margin: 0 0 15px;
}

.ctaChkBtn input,
.ctaChkBtn2 input {
    width: 20px;
    height: 20px;
    margin: 4px 18px 0 0;
}

.ctaDtaBox {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 13px;
	background: #f4f4f4;
	border-radius: 0 0 15px 15px;
}

.ctaDtaTtl {
	font-weight: 700;
	font-size: 1.8rem;
	line-height: 1.4;
	margin: 0 20px 0 0;
}

.ctaDtaLst li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.ctaDtaLst li:not(:last-child) {
	margin: 0 0 3px;
}

.ctaDtaLstTtl {
	text-align: center;
	width: 90px;
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 1;
	color: #e96087;
	margin: 0 5px 0 0;
	padding: 5px;
	box-sizing: border-box;
	background: #fff;
	border: solid 2px #e96087;
	border-radius: 5px;
}

.ctaDtaLst li:nth-child(2) .ctaDtaLstTtl {
	color: #fff;
	background: #e96087;
}

.ctaDtaLstTxt {
	width: calc(100% - 95px);
	display: inline-block;
	font-weight: 700;
	font-size: 2rem;
	line-height: 1;
	letter-spacing: -0.005em;
}

@media screen and (min-width:768px) and (max-width:1040px) {
	.ctaAra {
		padding: 65px 30px 50px;
	}

	.ctaTtl {
		font-size: 3.4rem;
		margin: -50px 0 25px;
	}
}

@media screen and (max-width:767px) {
	
	.ctaAra {
		padding: 35px 20px 20px;
	}

	.ctaBox {
		padding: 15px;
		border-radius: 10px 10px 0 0;
	}

	.ctaTtl {
		font-size: 2rem;
		margin: -30px 0 25px;
	}

	.ctaTxt {
		text-align: left;
		letter-spacing: -0.005em;
		margin: 0 0 15px;
		font-size: 1.4rem;
	}

	.ctaChkBtn,
	.ctaChkBtn2 {
		font-size: 1.5rem;
		margin: 0 0 15px;
	}

	.ctaChkBtn input,
	.ctaChkBtn2 input {
		width: 18px;
		height: 18px;
		margin: 4px 15px 0 0;
	}

	.ctaDtaBox {
		display: block;
		padding: 12px;
		border-radius: 0 0 10px 10px;
	}

	.ctaDtaTtl {
		text-align: center;
		font-size: 1.7rem;
		margin: 0 0 10px;
	}

	.ctaDtaLst li {
		justify-content: center;
	}

	.ctaDtaLstTtl {
		width: 90px;
		font-size: 1.5rem;
	}

	.ctaDtaLstTxt {
		width: auto;
		font-size: 1.8rem;
	}
}

/* cslAra */
.cslAra {
	padding: 100px 30px 200px;
	background: url(../images/bg_circle_01.png) top 120px right calc(50% - 640px) no-repeat,
	url(../images/bg_circle_02.png) top 800px left calc(50% - 700px) no-repeat,
	url(../images/bg_circle_01.png) bottom 100px right calc(50% - 450px) no-repeat;
	background-size: 570px auto;
}

.cslTtlBox {
	text-align: center;
	margin: 0 0 75px;
}

.cslTtlIcn {
	max-width: 110px;
	margin: 0 auto;
}

.cslTtl {
	text-align: center;
	display: inline-block;
	font-weight: 500;
	font-size: 2rem;
	line-height: 1;
	color: #fff;
	margin: -5px 0 20px;
	padding: 12px 40px;
	background: #e96087;
	border-radius: 30px;
}

.cslTtlCth {
	font-weight: 700;
	font-size: 4.2rem;
	line-height: 1.4;
}

.cslTtlCth .pkTxt {
	color: #e96087;
}

.cslLst li {
	position: relative;
	padding: 15px 0 0;
	background: #fff;
	border: solid 3px #e96087;
	border-radius: 15px;
}

.cslLst li:not(:last-child) {
	margin: 0 0 50px;
}

.cslLstTtl {
	text-align: center;
	width: 180px;
	position: absolute;
	top: -25px;
	left: 30px;
	font-weight: 500;
	font-size: 2.4rem;
	line-height: 1;
	letter-spacing: -0.01em;
	padding: 6px 0 10px;
	box-sizing: border-box;
	background: #e96087;
	color: #fff;
	border: solid 2px #e96087;
	border-radius: 30px;
}

.cslLstTtl .bigTxt {
	font-size: 3rem;
}

.cslCmtBox {
	position: relative;
	display: flex;
	align-items: center;
	margin: 0 0 15px;
	padding: 0 30px;
	z-index: 1;
}

.cslCmtTxtBox {
	order: 2;
	width: calc(100% - 195px);
	min-height: 140px;
	position: relative;
	display: flex;
	align-items: center;
	padding: 10px 65px;
	box-sizing: border-box;
	background: #f4f4f4;
	border-radius: 7px;
}

.cslCmtTxtBox:before {
	content: "";
	position: absolute;
	top: calc(50% - 15px);
	left: -40px;
	width: 40px;
	height: 30px;
	background: url(../images/bg_balloon_gy.png) center no-repeat;
	background-size: 40px auto;
}

.cslCmtTxt {
	font-weight: 700;
	font-size: 2rem;
	line-height: 1.8;
	letter-spacing: -0.0025em;
}

.cslCmtTxt .ylLin {
	background: linear-gradient(transparent 65%, #fffc00 65%);
}

.cslCmtIls {
	order: 1;
	max-width: 140px;
	margin: 20px 55px 0 0;
}

.cslAnsBox {
	min-height: 300px;
	position: relative;
	display: flex;
	align-items: flex-end;
	margin: -90px 0 0;
	padding: 0 0 0 30px;
	overflow: hidden;
	border-radius: 12px;
	z-index: 5;
}

.cslLst li:nth-child(1) .cslAnsBox {
	background: url(../images/ils_consult_01.png) bottom right no-repeat;
	background-size: 360px auto;
}

.cslLst li:nth-child(2) .cslAnsBox {
	background: url(../images/ils_consult_02.png) bottom right no-repeat;
	background-size: 360px auto;
}

.cslLst li:nth-child(3) .cslAnsBox {
	background: url(../images/ils_consult_03.png) bottom right no-repeat;
	background-size: 360px auto;
}

.cslLst li:nth-child(4) .cslAnsBox {
	background: url(../images/ils_consult_04.png) bottom right no-repeat;
	background-size: 360px auto;
}

.cslAnsTxtBox {
	width: calc(100% - 250px);
	min-height: 180px;
	position: relative;
	display: flex;
	align-items: center;
	margin: 0 250px 30px 0;
	padding: 10px 50px;
	box-sizing: border-box;
	background: #fff;
	border: solid 3px #e96087;
	border-radius: 10px;
}

.cslAnsTxtBox:before {
	content: "";
	position: absolute;
	top: calc(50% - 17.5px);
	right: -60px;
	width: 60px;
	height: 35px;
	background: url(../images/bg_balloon_wt.png) center no-repeat;
	background-size: 60px auto;
}

.cslAnsTxt {
	font-weight: 700;
	font-size: 2.2rem;
	line-height: 1.7;
	letter-spacing: -0.0025em;
	color: #e96087;
}

@media screen and (min-width:768px) and (max-width:1040px) {
	.cslAra {
		padding: 80px 30px 160px;
		background: url(../images/bg_circle_01.png) top 100px right calc(50% - 580px) no-repeat,
		url(../images/bg_circle_02.png) top 750px left calc(50% - 550px) no-repeat,
		url(../images/bg_circle_01.png) bottom 80px right calc(50% - 430px) no-repeat;
		background-size: 400px auto;
	}

	.cslTtlBox {
		margin: 0 0 55px;
	}

	.cslTtlIcn {
		max-width: 100px;
	}

	.cslTtl {
		font-size: 1.8rem;
		margin: -5px 0 15px;
		padding: 10px 30px;
	}

	.cslTtlCth {
		font-size: 3.8rem;
	}

	.cslLst li:not(:last-child) {
		margin: 0 0 40px;
	}

	.cslLstTtl {
		width: 160px;
		left: 25px;
		font-size: 2rem;
		padding: 6px 0 10px;
	}

	.cslLstTtl .bigTxt {
		font-size: 2.8rem;
	}

	.cslCmtTxtBox {
		min-height: 140px;
		padding: 10px 30px;
	}

	.cslCmtTxt {
		font-size: 1.8rem;
	}

	.cslCmtIls {
		margin: 15px 50px 0 0;
	}
	
	.cslAnsBox {
		margin: -80px 0 0;
	}
	
	.cslLst li:nth-child(1) .cslAnsBox {
		background: url(../images/ils_consult_01.png) bottom right no-repeat;
		background-size: 320px auto;
	}

	.cslLst li:nth-child(2) .cslAnsBox {
		background: url(../images/ils_consult_02.png) bottom right no-repeat;
		background-size: 320px auto;
	}

	.cslLst li:nth-child(3) .cslAnsBox {
		background: url(../images/ils_consult_03.png) bottom right no-repeat;
		background-size: 320px auto;
	}

	.cslLst li:nth-child(4) .cslAnsBox {
		background: url(../images/ils_consult_04.png) bottom right no-repeat;
		background-size: 320px auto;
	}

	.cslAnsTxtBox {
		min-height: 150px;
		margin: 0 200px 30px 0;
		padding: 10px 30px;
	}

	.cslAnsTxt {
		font-size: 2rem;
	}
}

@media screen and (max-width:767px) {
	.cslAra {
		padding: 40px 20px;
		background: none;
	}

	.cslTtlBox {
		margin: 0 0 35px;
	}

	.cslTtlIcn {
		max-width: 60px;
	}

	.cslTtl {
		font-size: 1.6rem;
		line-height: 1.2;
		margin: -2px 0 10px;
		padding: 5px 20px;
	}

	.cslTtl br {
		display: inline-block!important;
	}
	.cslTtlCth {
		font-size: 2.4rem;
	}
	
	.cslLst li {
		padding: 30px 0 0;
		border: solid 2px #e96087;
	}

	.cslLst li:not(:last-child) {
		margin: 0 0 30px;
	}

	.cslLstTtl {
		width: 140px;
		top: -19px;
		left: calc(50% - 70px);
		font-size: 1.5em;
		padding: 3px 0 6px;
	}

	.cslLstTtl .bigTxt {
		font-size: 2.3rem;
	}
	
	.cslCmtBox {
		margin: 0 0 20px;
		padding: 0 15px;
	}
	
	.cslCmtTxtBox {
		width: 100%;
		min-height: auto;
		padding: 10px;
	}
	
	.cslCmtTxtBox:before {
		/*
		top: auto;
		bottom: -15px;
		left: 50px;
		transform: rotate(-90deg);
		*/
		top: calc(50% - 7px);
		left: -20px;
		width: 20px;
		height: 15px;
		background-size: 20px auto;
	}

	.cslCmtTxt {
		font-size: 1.5rem;
	}

	.cslCmtIls {
		margin: 20px auto 0;
		padding-right: 20px;
	}
	
	.cslAnsBox {
		min-height: auto;
		display: block;
		margin: 0;
		border-radius: 8px;
	}
	
	.cslCmtIls {
		width: 100px;
	}
	
	.cslLst li:nth-child(1) .cslAnsBox {
		padding: 0 15px 135px;
		background: url(../images/ils_consult_01.png) bottom 0 left calc(50% - 30px) no-repeat;
		background-size: 200px auto;
	}

	.cslLst li:nth-child(2) .cslAnsBox {
		padding: 0 15px 135px;
		background: url(../images/ils_consult_02.png) bottom 0 left calc(50% - 40px) no-repeat;
		background-size: 200px auto;
	}

	.cslLst li:nth-child(3) .cslAnsBox {
		padding: 0 15px 135px;
		background: url(../images/ils_consult_03.png) bottom 0 left 50% no-repeat;
		background-size: 200px auto;
	}

	.cslLst li:nth-child(4) .cslAnsBox {
		padding: 0 15px 135px;
		background: url(../images/ils_consult_04.png) bottom 0 left calc(50% - 40px) no-repeat;
		background-size: 200px auto;
	}

	.cslAnsTxtBox {
		width: 100%;
		min-height: auto;
		padding: 10px;
		border: solid 2px #e96087;
	}
	
	.cslAnsTxtBox:before {
		top: auto;
		bottom: -23px;
		right: auto;
		left: 30px;
		width: 30px;
		height: 17.5px;
		background-size: 30px auto;
		transform: rotate(90deg);
	}

	.cslAnsTxt {
		font-size: 1.6rem;
	}
}

/* cntCthAra */
.cntCthAra {
	position: relative;
	background: #e96087;
	z-index: 1;
}

.wavTp {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}

.wavBt {
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 4;
}

.cntCthIls {
	position: relative;
	max-width: 1040px;
	margin: 0 auto;
	padding: 0 30px;
	box-sizing: border-box;
	z-index: 3;
}

@media screen and (max-width:767px) {
	.cntCthIls {
		padding: 0 10px;
	}
}

/* voiAra */
.voiAra {
	padding: 80px 45px 70px;
	background: #fff5d9;
}

.voiWrp {
	max-width: 1280px;
	margin: 0 auto;
}

/* slide */
.voiArwBox {
    position: relative;
}

.voiPrv,
.voiNxt {
	width: 45px;
	height: 70px;
	position: absolute;
	top: calc(50% - 60px);
	display: block;
	background: url(../images/arw_rt_bk.png) center no-repeat;
	background-size: 45px auto;
	transition: all .3s ease;
	cursor: pointer;
	z-index: 50;
}

.voiPrv:hover,
.voiNxt:hover {
	opacity: 0.60;
	transition: all 0.3s ease;
}

.voiNxt {
	right: -45px;
}

.voiPrv {
	left: -45px;
    background: url(../images/arw_lt_bk.png) center no-repeat;
	background-size: 45px auto;
}

.voiDot {
	margin: 30px 0 0;
	display: flex;
	justify-content: center;
}

.voiDot li {
	width: 14px;
	height: 14px;
	margin: 0 5px;
	background: #999;
	border-radius: 50%;
	cursor: pointer;
}

.voiDot li:hover,
.voiDot li.slick-active {
	background: #e96087;
}

.voiDot li button {
	display: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	padding: 0;
	border: none;
	background-color: transparent;
}

.voiLst li:not(.voiDot li) {
	display: flex;
	align-items: center;
	font-weight: 700;
	font-size: 2rem;
	line-height: 1.7;
	letter-spacing: -0.01em;
	margin: 0 20px;
	padding: 20px 45px; 
	background: url(../images/icn_bubble.png) top 10px right 10px no-repeat #fff;
	background-size: 40px auto;
	border-radius: 15px;
}

@media screen and (min-width:768px) and (max-width:1040px) {
	.voiAra {
		padding: 60px 40px;
	}

	.voiPrv,
	.voiNxt {
		width: 40px;
		height: 70px;
		top: calc(50% - 50px);
		background-size: 40px auto;
	}

	.voiNxt {
		right: -35px;
	}

	.voiPrv {
		left: -35px;
		background-size: 40px auto;
	}

	.voiDot {
		margin: 30px 0 0;
	}

	.voiDot li {
		width: 12px;
		height: 12px;
	}

	.voiLst li:not(.voiDot li) {
		min-height: 160px;
		font-size: 1.8rem;
		margin: 0 15px;
		padding: 20px 45px; 
		background: url(../images/icn_bubble.png) top 10px right 10px no-repeat #fff;
		background-size: 35px auto;
	}
}

@media screen and (max-width:767px) {
	.voiAra {
		padding: 40px 0;
	}

	.voiPrv,
	.voiNxt {
		width: 20px;
		height: 35px;
		top: calc(50% - 20px);
		background-size: 20px auto;
	}

	.voiNxt {
		right: 20px;
	}

	.voiPrv {
		left: 20px;
		background-size: 20px auto;
	}

	.voiDot {
		margin: 20px 0 0;
	}

	.voiDot li {
		width: 12px;
		height: 12px;
	}

	.voiLst li:not(.voiDot li) {
		min-height: 160px;
		font-size: 1.8rem;
		margin: 0 15px;
		padding: 15px 40px; 
		background: url(../images/icn_bubble.png) top 15px right 15px no-repeat #fff;
		background-size: 30px auto;
	}
}

/* flwAra */
.flwAra {
	padding: 70px 30px;
	background: #f2f0ee;
}

.flwAra .cntTtlBox {
	margin: 0 0 80px;
}

.flwLst {
	display: flex;
	margin: 0 -20px 100px;
}

.flwLst li {
	width: calc(33.33% - 40px);
	position: relative;
	margin: 0 20px;
	padding: 40px;
	box-sizing: border-box;
	background: #fff;
	border-radius: 10px;
}

.flwLst li:not(:last-child):after {
	content: "";
	position: absolute;
	top: calc(50% - 60px);
	right: -32px;
	width: 20px;
	height: 60px;
	background: url(../images/arw_rt_lb.png) center no-repeat;
	background-size: 20px auto;
}

.flwNbr {
	text-align: center;
	width: 90px;
	height: 90px;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 900;
	font-size: 1.4rem;
	line-height: 0.85;
	color: #fff;
	margin: -95px auto 15px;
	box-sizing: border-box;
	background: #e96087;
	border: solid 4px #e96087;
	border-radius: 50%;
}

.flwNbrInr {
	width: 82px;
	height: 82px;
	padding: 16px 0 0;
	box-sizing: border-box;
	border: solid 4px #fff;
	border-radius: 50%;
}

.flwNbr .bigTxt {
	font-size: 3.9rem;
	color: #fffc00;
}

.flwLstTtl {
	min-height: 60px;
	font-weight: 800;
	font-size: 2rem;
	line-height: 1.4;
	letter-spacing: -0.005em;
	margin: 0 0 45px;
	box-sizing: border-box;
}

.flwLst li:not(:last-child) .flwLstTtl {
	padding: 15px 0 0;
}

.flwVidBox {
	max-width: 970px;
	margin: 0 auto;
	padding: 40px 20px 20px;
	box-sizing: border-box;
	background: #fff;
	border-radius: 15px
}

.flwVidTtl {
	text-align: center;
	font-weight: 700;
	font-size: 2.4rem;
	line-height: 1.4;
	margin: 0 0 30px;
}

.flwVid {
	width: 100%;
	height: auto;
	overflow: hidden;
	border-radius: 7px
}

@media screen and (min-width:768px) and (max-width:1040px) {
	.flwAra {
		padding: 60px 30px;
	}

	.flwAra .cntTtlBox {
		margin: 0 0 80px;
	}

	.flwLst {
		margin: 0 -15px 60px;
	}

	.flwLst li {
		width: calc(33.33% - 30px);
		margin: 0 15px;
		padding: 15px;
	}

	.flwLst li:not(:last-child):after {
		top: calc(50% - 22.5px);
		right: -24px;
		width: 15px;
		height: 45px;
		background-size: 15px auto;
	}

	.flwNbr {
		width: 90px;
		height: 90px;
		font-size: 2rem;
		line-height: 0.85;
		margin: -60px auto 25px;
		border: solid 3px #e96087;
	}

	.flwNbrInr {
		width: 84px;
		height: 84px;
		padding: 15px 0 0;
		border: solid 3px #fff;
	}

	.flwNbr .bigTxt {
		font-size: 4.2rem;
	}

	.flwLstTtl {
		font-size: 1.8rem;
		margin: 0 0 35px;
	}

	.flwVidBox {
		padding: 30px 15px 15px;
	}

	.flwVidTtl {
		font-size: 2.2rem;;
		margin: 0 0 20px;
	}
}

@media screen and (max-width:767px) {
	.flwAra {
		padding: 40px 20px;
	}

	.flwAra .cntTtlBox {
		margin: 0 0 60px;
	}

	/* slide */
	.flwSld {
		position: relative;
		margin: 0 0 30px;
	}
	
	.flwCntBox {
		padding: 15px;
		background: #fff;
		border-radius: 10px;
	}

	.flwNbr {
		width: 80px;
		height: 80px;
		font-size: 1.8rem;
		line-height: 0.9;
		margin: -55px auto 25px;
		border: solid 2px #e96087;
	}

	.flwNbrInr {
		width: 76px;
		height: 76px;
		padding: 15px 0 0;
		border: solid 2px #fff;
	}

	.flwNbr .bigTxt {
		font-size: 3.6rem;
	}

	.flwLstTtl {
		font-size: 1.8rem;
		margin: 0 0 25px;
	}
	
	.flwPrv,
	.flwNxt {
		width: 20px;
		height: 60px;
		position: absolute;
		top: calc(50% - 30px);
		display: block;
		background: url(../images/arw_rt_lb.png) center no-repeat;
		background-size: 20px auto;
		transition: all .3s ease;
		cursor: pointer;
		z-index: 50;
	}

	.flwPrv:hover,
	.flwNxt:hover {
		opacity: 0.60;
		transition: all 0.3s ease;
	}

	.flwNxt {
		right: -10px;
	}

	.flwPrv {
		left: -10px;
		background: url(../images/arw_lt_lb.png) center no-repeat;
		background-size: 20px auto;
	}

	.flwVidBox {
		padding: 20px 15px 15px;
		border-radius: 10px;
	}

	.flwVidTtl {
		font-size: 1.8rem;;
		margin: 0 0 20px;
	}
}

/* nedAra */
.nedAra {
	padding: 70px 30px;
	background: #fff5d9;
}

.nedLst {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -6.5px;
}

.nedLst li:nth-child(1),
.nedLst li:nth-child(2) {
	text-align: center;
	width: calc(50% - 13px);
	display: flex;
	align-items: flex-end;
	justify-content: center;
	margin: 0 6.5px 13px;
	padding: 10px 10px 40px;
	box-sizing: border-box;
	background: #fff;
	border-radius: 15px;
}

.nedLst li:nth-child(3) {
	width: 50%;
	padding: 40px 20px 50px 40px;
	box-sizing: border-box;
	background: #fff;
	border-radius: 15px 0 0 15px;
}

.nedLst li:nth-child(4) {
	width: 50%;
	padding: 40px 40px 50px 20px;
	box-sizing: border-box;
	background: #fff;
	border-radius: 0 15px 15px 0;
}

.nedLst li:nth-child(1) .nedLstImg {
	max-width: 330px;
	margin: 0 auto;
}

.nedLst li:nth-child(2) .nedLstImg {
	max-width: 110px;
	margin: 0 auto;
}

.nedLstTtl {
	font-weight: 800;
	font-size: 2rem;
	line-height: 1.4;
	color: #e96087;
	letter-spacing: -0.005em;
}

.nedLst li:nth-child(3) .nedLstTtl,
.nedLst li:nth-child(4) .nedLstTtl {
	margin: 0 0 25px;
}

.nedOSLst {
	height: 150px;
	display: flex;
	background: #f7f7f7;
	border-radius: 10px;
}

.nedOSLst dt {
	min-width: 160px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px 5px 30px;
	box-sizing: border-box;
	border-right: solid 2px #fff;
}

.nedOSLst dd {
	text-align: center;
	padding: 20px 5px 30px;
	box-sizing: border-box;
}

.nedOSLst dd:nth-child(2) {
	width: 65%;
	border-right: solid 2px #fff;
}

.nedOSLst dd:nth-child(3) {
	width: 35%;
}

.nedOSLstTtl {
	font-weight: 800;
	font-size: 1.6rem;
	line-height: 1.4;
	letter-spacing: -0.005em;
}

.nedOSLstTtl .minTxt {
	font-size: 1.2rem;
}

.nedOSLstSubTtl {
	font-weight: 800;
	font-size: 1.4rem;
	line-height: 1.4;
	letter-spacing: -0.005em;
	white-space: nowrap;
	margin: 0 0 10px;
}

.nedOSLstTtlImg01 {
	max-width: 200px;
	margin: 0 auto;
}

.nedOSLstTtlImg02 {
	max-width: 170px;
	margin: 0 auto;
}

.nedOSLstTtlImg03 {
	max-width: 80px;
	margin: 0 auto;
}

.nedCapLst {
	font-weight: 600;
	font-size: 1.4rem;
	line-height: 1.4;
	color: #888;
	letter-spacing: -0.005em;
	margin: 20px 0 0;
}

.nedCapLst li {
	text-align: left!important;
	width: 100%!important;
	position: relative;
	display: block!important;
	margin: 0!important;
	padding: 0 0 0 15px!important;
}

@media screen and (min-width:768px) and (max-width:1040px) {
	.nedAra {
		padding: 60px 30px;
	}

	.nedLst {
		margin: 0 -5px;
	}

	.nedLst li:nth-child(1),
	.nedLst li:nth-child(2) {
		width: calc(50% - 10px);
		align-items: flex-start;
		margin: 0 5px 10px;
		padding: 10px 10px 30px;
	}

	.nedLst li:nth-child(3) {
		padding: 30px 15px 40px 30px;
	}

	.nedLst li:nth-child(4) {
		padding: 30px 30px 40px 15px;
	}

	.nedLst li:nth-child(1) .nedLstImg {
		max-width: 300px;
	}

	.nedLst li:nth-child(2) .nedLstImg {
		max-width: 100px;
	}

	.nedLstTtl {
		text-align: left;
		font-size: 1.8rem;
		min-height: 50px;
	}

	.nedLst li:nth-child(3) .nedLstTtl,
	.nedLst li:nth-child(4) .nedLstTtl {
		margin: 0 0 20px;
	}

	.nedOSLst {
		height: auto;
		flex-wrap: wrap;
	}

	.nedOSLst dt {
		min-width: 100%;
		padding: 15px 5px 20px;
		border-bottom: solid 2px #fff;
	}

	.nedOSLst dd {
		padding: 15px 5px 20px;
	}

	.nedOSLst dd:nth-child(2) {
		width: 65%;
		border-right: solid 2px #fff;
	}

	.nedOSLst dd:nth-child(3) {
		width: 35%;
	}
}

@media screen and (max-width:767px) {
	.nedAra {
		padding: 40px 20px;
	}

	.nedLst {
		display: block;
		margin: 0;
	}

	.nedLst li:nth-child(1),
	.nedLst li:nth-child(2) {
		width: 100%;
		margin: 0 0 15px;
		padding: 15px;
		border-radius: 10px;
	}

	.nedLst li:nth-child(3) {
		width: 100%;
		padding: 15px;
		border-radius: 10px 10px 0 0;
	}

	.nedLst li:nth-child(4) {
		width: 100%;
		padding: 0 15px 15px;
		border-radius: 0 0 10px 10px;
	}

	.nedLst li:nth-child(1) .nedLstImg {
		max-width: 300px;
	}

	.nedLst li:nth-child(2) .nedLstImg {
		max-width: 100px;
		margin: 0 auto 10px;
	}

	.nedLstTtl {
		text-align: left;
		font-size: 1.7rem;
		min-height: auto;
	}

	.nedLst li:nth-child(3) .nedLstTtl,
	.nedLst li:nth-child(4) .nedLstTtl {
		margin: 0 0 15px;
	}

	.nedOSLst {
		height: auto;
		flex-wrap: wrap;
	}

	.nedOSLst dt {
		text-align: center;
		min-width: 100%;
		padding: 10px 5px;
		border-bottom: solid 2px #fff;
	}

	.nedOSLst dd {
		padding: 10px 5px;
	}

	.nedOSLst dd:nth-child(2) {
		width: 70%;
		border-right: solid 2px #fff;
	}

	.nedOSLst dd:nth-child(3) {
		width: 30%;
	}
}

/* qaaAra */
.qaaAra {
	padding: 70px 30px;
	background: #f2f0ee;
}

.qaaLst {
	margin: 0 0 15px;
	background: #fff;
	cursor: pointer;
	border: solid 5px #fff;
	border-radius: 15px;
}

.qaaLst.opn {
	border: solid 5px #e96087;
	transition: all 0.4s ease;
}

.qaaLst dt {
	position: relative;
	display: flex;
	padding: 20px 80px 20px 30px;
	box-sizing: border-box;
	z-index: 1;
}

.qaaLst dt:before {
	content: "";
	position: absolute;
	top: calc(50% - 1px);
	right: 20px;
	width: 16px;
	height: 2px;
	background: #151515;
	border-radius: 1px;
	z-index: 2;
}

.qaaLst dt:after {
	content: "";
	position: absolute;
	top: calc(50% - 8px);
	right: 27px;
	width: 2px;
	height: 16px;
	background: #151515;
	border-radius: 1px;
	z-index: 2;
}

.qaaLst.opn dt:after {
	content: none;
}

.qesIcn {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 900;
	font-size: 4.8rem;
	line-height: 1;
	margin: 0 30px 0 0;
}

.qesTtl {
	font-weight: 800;
	font-size: 1.8rem;
	line-height: 1.7;
	margin: 12px 0 0;
}

.qaaLst dd {
	display: flex;
	padding: 20px 30px;
	box-sizing: border-box;
}

.qaaLst dd.expCnt {
	padding: 20px 30px 100px;
}

.ansIcn {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 900;
	font-size: 4.8rem;
	line-height: 1;
	color: #e96087;
	margin: 0 30px 0 0;
}

.ansTxt {
	font-weight: 800;
	font-size: 1.8rem;
	line-height: 1.7;
	color: #e96087;
}

.ansBox {
	width: 100%;
	margin: 12px 0 0;
}

.ansLstTtl {
	font-weight: 800;
	font-size: 1.6rem;
	line-height: 1.4;
	letter-spacing: -0.005em;
	margin: 30px 0 20px;
	padding: 0 0 15px;
	border-bottom: solid 4px #ccc;
}

.ansLst {
	display: flex;
	margin: 0 -20px;
}

.ansLst li {
	width: calc(33.33% - 40px);
	position: relative;
	margin: 0 20px;
}

.ansLst li:not(:last-child):after {
	content: "";
	position: absolute;
	top: calc(50% - 60px);
	right: -32px;
	width: 20px;
	height: 60px;
	background: url(../images/arw_rt_gy.png) center no-repeat;
	background-size: 20px auto;
}

@media screen and (min-width:768px) and (max-width:1040px) {
	.qaaAra {
		padding: 60px 30px;
	}
	
	.qaaLst {
		border: solid 4px #fff;
	}

	.qaaLst.opn {
		border: solid 4px #e96087;
	}

	.qaaLst dt {
		padding: 15px 60px 15px 20px;
	}

	.qesIcn {
		font-size: 4.2rem;
		margin: 0 20px 0 0;
	}

	.qesTtl {
		font-size: 1.7rem;
		margin: 10px 0 0;
	}

	.qaaLst dd {
		padding: 15px 20px;
	}

	.qaaLst dd.expCnt {
		padding: 15px 20px 80px;
	}

	.ansIcn {
		font-size: 4.2rem;
		margin: 0 20px 0 0;
	}

	.ansTxt {
		font-size: 1.7rem;
	}

	.ansBox {
		margin: 10px 0 0;
	}

	.ansLstTtl {
		margin: 25px 0 15px;
		padding: 0 0 10px;
		border-bottom: solid 3px #ccc;
	}

	.ansLst {
		margin: 0 -15px;
	}

	.ansLst li {
		width: calc(33.33% - 30px);
		margin: 0 15px;
	}

	.ansLst li:not(:last-child):after {
		top: calc(50% - 22.5px);
		right: -24px;
		width: 15px;
		height: 45px;
		background-size: 15px auto;
	}
}

@media screen and (max-width:767px) {
	.qaaAra {
		padding: 40px 20px;
	}
	
	.qaaLst {
		border: solid 3px #fff;
		border-radius: 10px;
	}

	.qaaLst.opn {
		border: solid 3px #e96087;
	}
	
	.qaaLst dt {
		padding: 10px 30px 10px 10px;
	}
	
	.qaaLst dt:before {
		right: 10px;
	}

	.qaaLst dt:after {
		right: 17px;
	}
	
	.qaaLst dt:not(:last-child) {
		margin: 0 0 10px;
	}
	
	.qesIcn {
		font-size: 3.6rem;
		margin: 0 10px 0 0;
	}

	.qesTtl {
		font-size: 1.6rem;
		line-height: 1.4;
		margin: 8px 0 0;
	}

	.qaaLst dd {
		padding: 10px;
	}

	.qaaLst dd.expCnt {
		padding: 10px 10px 30px;
	}

	.ansIcn {
		font-size: 3.6rem;
		margin: 0 10px 0 0;
	}

	.ansTxt {
		font-size: 1.6rem;
		line-height: 1.4;
		margin: 0 0 0 26px;
	}

	.ansBox {
		width: auto;
		margin: 10px 0 0 -26px;
		overflow: hidden;
	}

	.ansLstTtl {
		margin: 20px 0 15px;
		padding: 0 0 5px;
		border-bottom: solid 2px #ccc;
	}
	
	/* slide */
	.swiper-button-disabled {
		display: none!important;
	}

	.expSld {
		position: relative;
	}
	
	.expPrv,
	.expNxt {
		width: 20px;
		height: 60px;
		position: absolute;
		top: calc(50% - 30px);
		display: block;
		background: url(../images/arw_rt_lb.png) center no-repeat;
		background-size: 20px auto;
		transition: all .3s ease;
		cursor: pointer;
		z-index: 50;
	}

	.expPrv:hover,
	.expNxt:hover {
		opacity: 0.60;
		transition: all 0.3s ease;
	}

	.expNxt {
		right: 10px;
	}

	.expPrv {
		left: 0;
		background: url(../images/arw_lt_lb.png) center no-repeat;
		background-size: 20px auto;
	}
	
	.ansLstImg {
		padding: 10px;
		overflow: hidden;
		border: solid 3px #eaeaea;
		border-radius: 7px;
	}
}

/*======================================================
  footer
======================================================*/

.cpyTxt {
	text-align: center;
	font-weight: 800;
	font-size: 1.6rem;
	line-height: 1;
	padding: 70px 30px;
}

@media screen and (min-width:768px) and (max-width:1040px) {
	.cpyTxt {
		font-size: 1.5rem;
		padding: 50px;
	}
}

@media screen and (max-width:767px) {
	.cpyTxt {
		font-size: 1.4rem;
		padding: 30px;
	}
}

.movieBox {
     position: relative;
     padding-bottom: 56.25%;
     height: 0;
     overflow: hidden;
}
 
.movieBox iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}

.slick-track {
	display: flex!important;
}
.slick-slide {
	height: auto !important;
}
.swiper-slide {
	height: auto!important;
	border-radius: 10px;
	background: #fff;
}

.swiper-slide-item {
	height: 100%!important;
}
/*=========================================================

TB

=========================================================*/

@media screen and (min-width:768px) and (max-width:1040px) {

	.pc   { display: none!important;}
	.pcsp { display: none!important;}
	.sp   { display: none!important;}
	
	.pctb { display: block!important;}
	.tb   { display: block!important;}
	.tbsp { display: block!important;}

}

/*=========================================================

SP

=========================================================*/

@media screen and (max-width:767px) {
	
	.pc   { display: none!important;}
	.tb   { display: none!important;}
	.pctb { display: none!important;}
	
	.pcsp { display: block!important;}
	.tbsp { display: block!important;}   
	.sp   { display: block!important;}
	
	.opacity a:active {
		opacity: 0.50;
		filter: alpha(opacity=50);
		-ms-filter: "alpha(opacity=50)";
		-moz-opacity: 0.50;
		-khtml-opacity: 0.50;
		-webkit-transition: all 0.2s ease;
		-moz-transition: all 0.2s ease;
		-o-transition: all 0.2s ease;
		transition: all 0.2s ease;
		text-decoration: none!important;
	}
	
	a[href^="tel:"] {
		pointer-events: auto!important;
	}
	
	input[type="button"],input[type="text"],input[type="submit"],input[type="image"],textarea, select {
		-webkit-appearance: none;
		border-radius: 0;
	}

}