/*--------------------------------
common
--------------------------------*/
* {
	margin: 0;
	padding: 0;
}

*:focus {
	outline: none !important;
}

body {
	position: relative;
	color: #4d4d4d;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

h1,
h2,
h3,
p {
	margin: 0;
}

img {
	height: auto;
	width: 100%;
	max-width: 100%;
}

.d-inline-block {
	text-indent: 0;
}

.gray {
	color: #8c8c8c;
}

.red {
	color: #fe0000;
}

.bg-red {
	background: #fe0000;
}

.bg-white {
	background: #fff;
}

.bg-light-gray {
	background: #f2f4f0;
}

.bg-gray {
	background: #8c8c8c;
}

.bg-red-white {
	background: linear-gradient(#fe0000 0%, #fe0000 50%, #ffffff 50%, #ffffff 100%);
}

.w-150 {
	width: 150%;
	max-width: 150%;
}

.images-border {
	border-radius: 30px;
	overflow: hidden;
	width: 100%;
}

/*--------------------------------
EACH SECTION TITLE IMG
--------------------------------*/
h2 img {
	max-height: 51px;
	width: auto;
}

/*--------------------------------
MAIN HEADER
--------------------------------*/

/*--------------------------------
CAMPAIGN
--------------------------------*/
#campaign {}

#campaign .images img {
	width: 100%;
	height: auto;
}


/*--------------------------------
WHAT IS BENRY
--------------------------------*/
#whatsbenry {
	background: url("../images/bg_benry.svg")repeat-x bottom center/500px;
	background-color: #fe0000;
	position: relative;
	margin-top: 50px;
}

#whatsbenry::before {
	content: "";
	background: url("../images/topcircle.svg")no-repeat top center/100%;
	width: 100%;
	height: 50px;
	position: absolute;
	top: -50px;
	left: 0;
	right: 0;
	margin: auto;
}

#whatsbenry .whiteBox {
	background: #FFF;
	border-radius: 30px;
}

#whatsbenry .whiteBox .whiteBoxHead {
	padding: 30px;
	position: relative;
}

#whatsbenry .whiteBox .whiteBoxHead::before {
	content: "";
	background: url("../images/chara.png")no-repeat top center/100%;
	width: 141px;
	height: 241px;
	position: absolute;
	bottom: 0;
	right: 10%;
}

#whatsbenry .whiteBox .whiteBoxBody {
	padding: 30px;
	background: #f2f4f0;
	border-radius: 0 0 30px 30px;
}

/*--------------------------------
MAIN SERVICE
--------------------------------*/
#service {}

#service .serviceBgInner {
	background: #f2f4f0;
	border-radius: 40px;
}

#service .bgWhite,
#service .bgWhiteFlex {
	background: #fff;
	border-radius: 15px;
	width: 100%;
	height: 100%;
	display: inline-block;
	text-decoration: none;
	padding: 1rem;
}

#service .bgWhite .texts ul li:nth-child(2),
#service .bgWhiteFlex .texts ul li:nth-child(2) {
	width: calc(100% - 58px);
}

#service .imgborder {
	border-radius: 9px;
	overflow: hidden;
}

#service .bgWhiteFlex {
	display: flex;
	align-items: center;
}

#service .bgWhiteFlex .images {
	width: 45%;
}

#service .bgWhiteFlex .texts {
	width: 55%;
}

#service .redBox {
	background: #fe0000;
	border-radius: 20px;
	color: #FFF;
	font-weight: bold;
	padding: 15px 15px 30px;
	position: relative;
	text-align: center;
	text-decoration: none;
}

#service .redBox::before {
	background: url("../images/chara2.png")no-repeat top center/100%;
	content: "";
	width: 109px;
	height: 171px;
	position: absolute;
	bottom: 15px;
	right: 0;
}

#service .redBox .center {
	background: #FFF;
	border-radius: 50px;
	color: #4d4d4d;
	padding: 2px;
	margin: .5rem auto .75rem;
	width: 90%;
	max-width: 800px;
}

/*--------------------------------
FLOW
--------------------------------*/
#flow {}


/*--------------------------------
VOICE
--------------------------------*/
#voice {
	background: #f2f4f0;
}

#voice .bubbleleft,
#voice .bubbleright {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}

#voice .bubbleleft .bubble,
#voice .bubbleright .bubble {
	background: #FFF;
	border-radius: 10px;
	padding: 20px;
	position: relative;
	margin-bottom: 30px;
	width: calc(100% - 120px);
}

#voice .bubbleleft .bubble::before,
#voice .bubbleright .bubble::before {
	background: url("../images/bubble01.svg")no-repeat top center/100%;
	content: "";
	position: absolute;
	bottom: -31px;
	right: 10%;
	width: 50px;
	height: 50px;
}

#voice .bubbleright .bubble::before {
	background: url("../images/bubble02.svg")no-repeat top center/100%;
	right: inherit;
	left: 10%;
}

#voice .bubble .labels {
	background: #fe0000;
	color: #FFF;
	display: inline-block;
	font-weight: bold;
	line-height: 1;
	padding: 2px 10px;
}

/*--------------------------------
COLUMN
--------------------------------*/
#column {
	background: #f2f4f0;
}

#column .columnbg {
	background: #FFF;
	border-radius: 100px 100px 0 0;
}

#column .columnBox {
	border: 2px solid #cccccc;
	border-radius: 40px;
	color: #4d4d4d;
	display: inline-block;
	width: 100%;
	text-decoration: none;
	transition: .5s;
	overflow: hidden;
}

#column .columnBox .texts {
	padding: 20px;
}

#column .columnAll {
	background: #fe0000;
	border-radius: 50px;
	color: #FFF;
	display: inline-block;
	font-weight: bold;
	width: 100%;
	max-width: 255px;
	text-align: center;
	text-decoration: none;
	transition: .5s;
	position: relative;
	padding: 1rem;
	margin: auto;
}

#column .columnAll::before {
	content: "";
	background: url("../images/arrow2.svg")no-repeat top center/100%;
	width: 20px;
	height: 16px;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translate(0, -50%);
}

#column .columnBox:hover,
#column .columnBox:active,
#column .columnAll:hover,
#column .columnAll:active {
	opacity: .5;
}

/*--------------------------------
SHOP
--------------------------------*/
#shop {
	background-color: #fe0000;
	position: relative;
	margin: 50px auto;
}

#shop::before,
#shop::after {
	content: "";
	width: 100%;
	height: 50px;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
}

#shop::before {
	background: url("../images/topcircle.svg")no-repeat top center/100%;
	top: -49px;
}

#shop::after {
	background: url("../images/bottomcircle.svg")no-repeat top center/100%;
	background-color: #f2f4f0;
	bottom: -50px;
}

#shop .shopBox {
	background: #FFF;
	border-radius: 40px;
	color: #4d4d4d;
	display: inline-block;
	width: 100%;
	height: 100%;
	text-decoration: none;
	transition: .5s;
	overflow: hidden;
}

#shop .shopBox .texts {
	padding: 20px;
}

#shop .shopBox .texts .shopName,
#shop .shopBox .texts .shopAddres,
#shop .shopBox .texts .shopTel {
	width: calc(100% - 30px);
	position: relative;
	margin-left: auto;
}

#shop .shopBox .texts .shopName {
	font-size: 28px;
	font-weight: bold;
	line-height: 1;
}

#shop .shopBox .texts .shopAddres {
	font-size: 14px;
}

#shop .shopBox .texts .shopTel {
	color: #fe0000;
	font-weight: bold;
	font-size: 20px;
}

#shop .shopBox .texts .shopName::before,
#shop .shopBox .texts .shopAddres::before,
#shop .shopBox .texts .shopTel::before {
	content: "";
	position: absolute;
	left: -30px;
	top: 7px;
	width: 20px;
	height: 20px;
}

#shop .shopBox .texts .shopName::before {
	background: url("../images/shop_icon01.svg")no-repeat top center/auto 90%;
}

#shop .shopBox .texts .shopAddres::before {
	background: url("../images/shop_icon02.svg")no-repeat top center/auto 90%;
}

#shop .shopBox .texts .shopTel::before {
	background: url("../images/shop_icon03.svg")no-repeat top center/auto 90%;
}

/*--------------------------------
FAQ
--------------------------------*/
#faq {
	background: #f2f4f0;
}

/** ACCORDION **/
.acd-check {
	display: none;
}

.acd-label {
	background: #FFF;
	border-radius: 30px;
	display: block;
	font-weight: bold;
	padding: 10px;
	position: relative;
	cursor: pointer;
}

.acd-label:before {
	background: #8c8c8c;
	box-sizing: border-box;
	content: '';
	display: block;
	height: 3px;
	width: 22px;
	position: absolute;
	right: 21.5px;
	top: 38px;
	transform: rotate(90deg);
}

.acd-label:after {
	background: #8c8c8c;
	box-sizing: border-box;
	content: '';
	display: block;
	height: 3px;
	width: 21px;
	position: absolute;
	right: 22px;
	top: 39.5px;
	transform: translate(0, -50%);
}

.acd-content {
	background: #FFF;
	border-radius: 0 0 20px 20px;
	display: block;
	height: 0;
	opacity: 0;
	padding: 0 10px;
	transition: .5s;
	visibility: hidden;
}

.acd-check:checked+.acd-label {
	border-radius: 20px 20px 0 0;
}

.acd-check:checked+.acd-label:before {
	display: none;
}

.acd-check:checked+.acd-label+.acd-content {
	height: auto;
	opacity: 1;
	padding: 10px;
	visibility: visible;
}

#faq .faqQue,
#faq .faqAns {
	width: calc(100% - 30px);
	margin-left: auto;
	padding: 1rem 2.25rem 1rem 1rem;
	position: relative;
}

#faq .faqQue {}

#faq .faqAns {}

#faq .faqQue::before,
#faq .faqAns::after {
	content: "";
	position: absolute;
	top: 18px;
	left: -18px;
	width: 20px;
	height: 20px;
}

#faq .faqQue::before {
	background: url("../images/faq_que.svg")no-repeat top center/100%;
}

#faq .faqAns::after {
	background: url("../images/faq_ans.svg")no-repeat top center/100%;
}

/*--------------------------------
STAFF
--------------------------------*/
#staff {
	background: #fe0000;
	border-radius: 100px 100px 0 0;
}

#staff .images {
	overflow: hidden;
	border-radius: 45px;
}

#staff .texts {
	color: #FFF;
}

#staff .staffName {
	font-weight: bold;
	text-align: center;
	margin-bottom: 1rem;
}

/*--------------------------------
INFORMATION
--------------------------------*/
#info .texts {
	padding: 20px;
}

#info .texts .infoName,
#info .texts .infoAddres,
#info .texts .infoTel {
	width: calc(100% - 30px);
	position: relative;
	margin-left: auto;
	margin-bottom: 1rem;
}

#info .texts .infoName {
	font-size: 28px;
	font-weight: bold;
	line-height: 1;
}

#info .texts .infoAddres {
	font-size: 14px;
}

#info .texts .infoTel {
	color: #fe0000;
	font-weight: bold;
	font-size: 20px;
}

#info .texts .infoTel span {
	font-size: 12px;
	color: #4d4d4d;
}

#info .texts .infoName::before,
#info .texts .infoAddres::before,
#info .texts .infoTel::before {
	content: "";
	position: absolute;
	left: -30px;
	top: 7px;
	width: 20px;
	height: 20px;
}

#info .texts .infoName::before {
	background: url("../images/shop_icon01.svg")no-repeat top center/auto 90%;
}

#info .texts .infoAddres::before {
	background: url("../images/shop_icon02.svg")no-repeat top center/auto 90%;
	top: 5px;
}

#info .texts .infoTel::before {
	background: url("../images/shop_icon03.svg")no-repeat top center/auto 90%;
}

#info .youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

#info .youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

/*--------------------------------
SERVICE HEADER
--------------------------------*/
#serviceheader {
	overflow: hidden;
}

#serviceheader .row .headText {}

#serviceheader .row .position-absolute {
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 1;
}

#serviceheader .position-relative {
	color: #FFF;
	padding-top: 180px;
	z-index: 2;
	background: linear-gradient(rgb(255 255 255/0) 0%, rgb(255 255 255/0)40%, rgb(254 0 0/1)60%, rgb(254 0 0/1)100%);
}


/*--------------------------------
SERVICE BODY
--------------------------------*/
#servicebody {}

#servicebody .priceList {
	background: #f2f4f0;
	border-radius: 10px;
	align-items: center;
}

#servicebody .priceList li {
	padding: 1rem;
	position: relative;
}

#servicebody .priceList li:first-child {
	font-weight: bold;
	width: 75%;
	position: relative;
}

#servicebody .priceList li:first-child:before {
	content: "";
	background: #fe0000;
	width: 4px;
	height: 30px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translate(0, -50%);
}

#servicebody .priceList li:last-child {
	width: 25%;
	text-align: center;
	border-left: 1px solid #fff;
	font-weight: bold;
}

#servicebody .priceList .small {
	font-size: 11px;
	font-weight: normal;
	margin-left: .25rem;
}


/*--------------------------------
footer
--------------------------------*/
footer {
	color: #fff;
}

footer a {
	color: #fff;
	text-decoration: none;
}

footer a.footlink {
	padding: 1rem 0;
	font-weight: bold;
}

footer .footInner {
	background: #fe0000;
	border-radius: 0 200px 0 0;
}

footer .footlogo {
	max-width: 202px;
}

footer .footLine {
	border-top: 1px solid #fff;
	opacity: 1;
}

footer .etclink {
	padding: 0 1rem;
}

footer .etclink:first-child {
	padding-left: 0;
}

footer .etclink+.etclink {
	border-left: 1px solid #FFF;
}

footer .footContact {
	background: #fff;
	border: 3px solid #f2f4f0;
	border-radius: 50px;
	box-shadow: 5px 5px 15px rgb(0 0 0/.5);
	color: #fe0000;
	display: inline-block;
	font-weight: bold;
	font-size: 1.25rem;
	width: 100%;
	max-width: 400px;
	margin: auto;
	text-align: center;
	transition: .5s;
	padding: 15px;
	position: relative;
}

footer .footContact::after {
	content: "";
	background: url("../images/arrow.svg")no-repeat top center/100%;
	width: 25px;
	height: 25px;
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translate(0, -50%);
}

footer .footContact:hover {
	box-shadow: -5px -5px 15px rgb(0 0 0/.5);
	opacity: .8;
}


/*--------------------------------
chooseRedBox
--------------------------------*/
#contactbanner {
	overflow: hidden;
}

.chooseRedBox {
	background: #fe0000;
	border-radius: 15px;
	text-align: center;
}

.chooseRedBox .text-white::before {
	background: url("../images/chara2.png")no-repeat top center/100%;
	content: "";
	width: 109px;
	height: 171px;
	position: absolute;
	bottom: 15px;
	right: -109px;
}

.chooseList {
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}

.chooseList li {
	background: #ffffff;
	border-radius: 10px;
	padding: 1rem;
	min-width: 300px;
	position: relative;
}

.chooseList li::before {
	background: #fff;
	border-radius: 9999px;
	color: #c5c5c5;
	content: "";
	position: absolute;
	top: -15px;
	left: 0;
	right: 0;
	margin: auto;
	width: 83px;
	height: 33px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.chooseList li:first-child::before {
	content: "01";
}

.chooseList li:nth-child(2)::before {
	content: "02";
}

.chooseList li:last-child::before {
	content: "03";
}

/*--------------------------------
CONTACT BANNER
--------------------------------*/
#contactbanner {
	text-align: center;
}

#contactbanner .contact-banner {
	background: #fe0000;
	border-radius: 40px;
	position: relative;
}

#contactbanner .contact-banner p::before {
	content: "";
	background: url("../images/chara.png")no-repeat top center/100%;
	width: 140px;
	height: 233px;
	position: absolute;
	bottom: -50px;
	right: -90px;
}

.contactLink {
	background: #fe0000;
	border-radius: 9999px;
	color: #fff;
	display: inline-block;
	width: 100%;
	max-width: 390px;
	position: relative;
	padding: 1rem;
	text-align: center;
	text-decoration: none;
	transition: .5s;
	margin-top: auto;
}

.contactLink::before {
	content: "";
	background: url("../images/arrow.svg")no-repeat top center/100%;
	width: 30px;
	height: 30px;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translate(0, -50%);
}

.contactLink:hover {
	opacity: .7;
}

.row>br {
	display: none;
}

/*--------------------------------
SINGLE PAGE
--------------------------------*/
#singlepage {
	background: #f2f4f0;
}

.has-text-align-center {
	text-align: center;
}

#singlepage h2 {
	margin-top: 2rem;
	margin-bottom: 1.5rem;
}

#singlepage .col-md-12>p {
	margin-top: 1rem;
}

.planBox {
	background: #fff;
	border-radius: 30px;
	overflow: hidden;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.planBox .planTtl {
	text-align: center;
	position: relative;
}

.planBox .planTtl::before {
	background: #fe0000;
	border-radius: 9999px;
	content: "";
	width: 4rem;
	height: 4px;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}

.planPlicePattern1 {
	background: #f2f4f0;
	display: flex;
	align-items: center;
	border-radius: 20px;
	font-size: 18px;
}

.planPlicePattern1 .main {
	background: #8c8c8c;
	border-radius: 9999px;
	padding: .25rem 1rem;
	color: #fff;
	display: inline-block;
	white-space: nowrap;
	max-width: 90px;
}

.planPlicePattern1 .planDesc {
	width: calc(100% - 190px);
}

.planPlicePattern1 .d-flex li+li {
	margin-top: 26px;
	position: relative;
}

.planPlicePattern1 .d-flex li+li::before {
	content: "+";
	position: absolute;
	font-size: 22px;
	top: -33px;
	left: 0;
	right: 0;
	margin: auto;
	text-align: center;
}

.planTopImg {
	border-radius: 20px;
	overflow: hidden;
}

.planPlicePattern2 {
	background: #fcfae8;
	display: flex;
	font-size: 17px;
	position: relative;
}

.planPlicePattern2 {}

.planPlicePattern1 .discount,
.planPlicePattern2 .discount {
	position: relative;
	top: -33px;
}

.planPriceNum li:first-child {
	border: 1px solid #8c8c8c;
	color: #8c8c8c;
	font-size: 12px;
	text-align: center;
	padding: 0 .5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 90px;
	margin-right: 1rem;
}

.planPriceNum

/*--------------------------------
media
--------------------------------*/
.pc {
	display: inline-block;
}

.sp {
	display: none;
}

@media (max-width: 1199px) {
	.xlwrap {
		flex-wrap: wrap;
	}

	#navi .banner {
		width: 100%;
	}
}

@media (max-width: 991px) {
	.lgwrap {
		flex-wrap: wrap;
	}

	/** chara **/
	#whatsbenry .whiteBox .whiteBoxHead::before {
		right: 0;
	}
}

@media (max-width: 767px) {
	.pc {
		display: none;
	}

	.sp {
		display: inline-block;
	}

	.spwrap {
		flex-wrap: wrap;
	}

	/** SERVICE BODY **/
	#servicebody .priceList li:first-child {
		width: 70%;
	}

	#servicebody .priceList li:last-child {
		width: 30%;
	}

	/** WHAT IS BENRY **/
	#whatsbenry::before {
		background: url("../images/topcircle.svg") no-repeat top center / 130%;
		top: -35px;
	}

	#whatsbenry {
		background: url("../images/bg_benry.svg")repeat-x bottom center/200px;
		background-color: #fe0000;
	}

	#whatsbenry .whiteBox .whiteBoxHead {
		display: flex;
		padding: 20px;
	}

	#whatsbenry .whiteBox .whiteBoxHead::before {
		right: 0;
		width: 110px;
		height: 180px;
	}

	#whatsbenry .whiteBox .chara {
		width: 110px;
		height: 2px;
	}

	/** MAIN SERVICE **/
	#service .bgWhiteFlex {
		flex-direction: column;
	}

	#service .bgWhiteFlex .images,
	#service .bgWhiteFlex .texts,
	#service .bgWhite .texts ul li:nth-child(2),
	#service .bgWhiteFlex .texts ul li:nth-child(2) {
		width: 100%;
	}

	#service .bgWhite .texts ul li.fs-5,
	#service .bgWhiteFlex .texts ul li.fs-5 {
		font-size: 4.25vw !important;
		margin-top: .5rem;
	}

	#service .bgWhite .texts .gray,
	#service .bgWhiteFlex .texts .gray {
		font-size: 3.25vw !important;
	}

	#service .bgWhiteFlex .texts ul.d-flex {
		flex-direction: column;
		align-items: start !important;
	}

	#service .redBox {
		padding: 15px 100px 30px 15px;
	}

	#service .redBox::before {
		width: 100px;
		height: 160px;
	}

	#service .redBox .fs-5 {
		font-size: 3.5vw !important;
	}

	#service .redBox .center {
		font-size: 2.5vw !important;
	}

	#service .redBox .fs-4 {
		font-size: 5.7vw !important;
	}

	/** SHOP **/
	#shop::before {
		background: url("../images/topcircle.svg")no-repeat top center/150%;
		top: -49px;
	}

	#shop::after {
		background: url("../images/bottomcircle.svg")no-repeat top center/150%;
		background-color: #f2f4f0;
		bottom: -50px;
	}

	/** VOICE **/
	#voice .bubbleleft .bubble,
	#voice .bubbleright .bubble {
		width: calc(100% - 100px);
	}

	/** COLUMN **/
	#column .columnbg {
		border-radius: 50px 50px 0 0;
	}

	#column .columnBox .texts {
		padding: 1rem;
	}

	/** STAFF **/
	#staff {
		border-radius: 50px 50px 0 0;
	}

	/** INFORMATION **/
	#info .texts {
		padding: 0;
	}

	/** FOOTER **/
	footer .footInner {
		border-radius: 0 100px 0 0;
	}

	footer .footlogo {
		width: 50%;
	}

	footer .etclink {
		font-size: 3vw;
	}

	footer .etclink:first-child {
		padding-left: 0;
	}

	/*** SINGLE PAGE ***/
	.planPlicePattern1 .planDesc {
		width: 100%;
	}

	.contact-banner .py-3 {
		width: 70%;
	}
}

@media (max-width: 575px) {}