/* top page common class ---------------------------------- */
.section_bg {
	width: 100%;
	background-color: #FAF7F0;
	border-radius: 56px;
}

#top.section_bg,
#users-voice.section_bg {
	border-radius: 0 0 56px 56px;
}

#users-voice.section_bg {
	background-color: #F6F2E4;
	padding-bottom: 12rem;
}

#service.section_bg {
	margin-top: 12rem;
	padding-bottom: 12rem;
}

#service.section_bg {
	background-image: url(../img/bg_icons.png);
	background-size: 1150px;
	background-repeat: repeat;
	background-attachment: fixed;
}

#faq.section_bg {
	padding-bottom: 18.4rem;
}

@media(max-width: 960px) {
	.section_bg {
		border-radius: 48px;
	}

	#top.section_bg,
	#users-voice.section_bg {
		border-radius: 0 0 48px 48px;
	}

	#users-voice.section_bg {
		padding-bottom: 10rem;
	}

	#service.section_bg {
		margin-top: 9rem;
		padding-bottom: 10rem;
	}

	#service.section_bg {
		background-size: 960px;
	}

	#faq.section_bg {
		padding-bottom: 10rem;
	}
}

@media(max-width: 576px) {
	.section_bg {
		border-radius: 40px;
	}

	#top.section_bg,
	#users-voice.section_bg {
		border-radius: 0 0 40px 40px;
	}

	#users-voice.section_bg {
		padding-bottom: 10rem;
	}

	#service.section_bg {
		margin-top: 9rem;
		padding-bottom: 10rem;
	}

	#service.section_bg {
		background-size: 960px;
	}

	#faq.section_bg {
		padding-bottom: 8.8rem;
	}
}



/* .cta ---------------------------------- */
#favorable + .cta {
	margin-top: 1rem;
}

.cta-top-txt p,
.cta-top-txt p span {
	font-size: clamp(1.6rem, 1.5vw, 2rem);
	color: #FF940D;
	line-height: 1.5;
}

#service .cta-btn--02 {
	margin-bottom: 4rem;
}



/* sns-area ---------------------------------- */
.sns-area {
	width: fit-content;
	margin: 0 auto 6rem;
}



/* #top ---------------------------------- */
#top {
	height: 800px;
	overflow: hidden;
}

#top .top-img-area {
	position: relative;
}

#top .top-img {
	position: absolute;
}

#top .top-img.is-31 {
	top: 12rem;
	left: 0%;
	z-index: 1;
}

#top .top-img.is-32 {
	top: 57.8rem;
	left: 2.73%;
	z-index: 1;
}

#top .top-img.is-33 {
	top: 16.2rem;
	right: 2%;
	z-index: 1;
}

#top .top-img.is-34 {
	top: 51.5rem;
	right: 7.61%;
	z-index: 1;
}

#top .top-img.is-35 {
	top: 2rem;
	left: 0%;
}

#top .top-img.is-36 {
	top: 21.4rem;
	right: -10.23%;
}

#top .top-img.is-37 {
	top: 45.5rem;
	left: -6.1%;
}

#top .wrap {
	height: 100vh;
}

#top .top-content {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	position: absolute;
	top: 176px;
	z-index: 2;
}

#top #top-flg {
	margin: 0 auto 2.2rem;
	width: 25.86%;
}

#top #logo-ja {
	margin: 0 auto 2.6rem;
	width: 46.88%;
	animation-delay: .5s
}

#top #logo-en {
	margin: 0 auto;
	width: 63.28%;
	margin-bottom: 7.7rem;
	animation-delay: 1s
}

#top .top-content h2 {
	font-size: 2.1rem;
}

#top .top-content h2:last-of-type {
	margin-bottom: 5.6rem;
}

@media(max-width: 1024px) {
	#top .top-content {
		top: 55% !important;
		transform: translateY(-50%);
	}

	#top .top-img.is-32 {
		top: 89rem;
	}

	#top .top-img.is-34 {
		top: 83rem;
	}

	#top .top-img.is-37 {
		top: 70.5rem;
	}
}

@media(max-width: 960px) {
	#top {
		height: fit-content;
	}
}

@media(max-width: 768px) {
	#top {
		height: 90vh;
	}

	#top .top-img.is-31 {
		top: 9rem;
		left: 1%;
	}

	#top .top-img.is-31 img {
		width: 80%;
	}

	#top .top-img.is-32 {
		top: 75.5rem;
		left: -2.27%;
	}

	#top .top-img.is-32 img {
		width: 80%;
	}

	#top .top-img.is-33 {
		right: -10%;
		top: 30.7rem;
	}

	#top .top-img.is-33 img {
		width: 80%;
	}

	#top .top-img.is-34 {
		right: -1.39%;
		top: 69rem;
	}

	#top .top-img.is-34 img {
		width: 92%;
	}

	#top #top-flg {
		width: 42.86%;
	}

	#top #logo-ja {
		width: 64%;
		margin: 0 auto 1.6rem;
	}

	#top #logo-en {
		width: 91.28%;
	}

	#top .top-content h2 {
		font-size: 1.8rem;
		margin-bottom: 2.4rem;
	}
}

@media(max-width: 576px) {
	#top #logo-en {
		margin-bottom: 4rem;
	}

	#top h2 {
		margin-bottom: 1.7rem;
	}

	#top .top-content h2 {
		font-size: 1.6rem;
		margin: 1.6rem 0 .8rem;
	}

	#top .top-content h2:last-of-type {
		margin-bottom: 3.6rem;
	}

	#top .top-img.is-31 img {
		width: 45%;
	}

	#top .top-img.is-32 {
		top: 56.5rem;
		left: -2.27%;
	}

	#top .top-img.is-32 img {
		width: 50.8%;
	}

	#top .top-img.is-33 {
		right: -34%;
		top: 13.7rem;
	}

	#top .top-img.is-33 img {
		width: 40.72%;
	}

	#top .top-img.is-34 {
		right: -27.39%;
		top: 54rem;
	}

	#top .top-img.is-34 img {
		width: 73.69%;
	}

	#top .top-img.is-35 {
		top: 5rem;
		left: 57%;
		width: 100%;
	}

	#top .top-img.is-35 img,
	#top .top-img.is-35 source {
		display: block;
		width: 70%;
	}

	#top .top-img.is-36 {
		top: 29.4rem;
		right: 34.77%;
		width: 100%;
	}

	#top .top-img.is-36 img,
	#top .top-img.is-36 source {
		width: 100%;
	}

	#top .top-img.is-37 {
		top: 62.5rem;
	}
}



/* #problem-solving ---------------------------------- */
#problem-solving .problem {
	position: relative;
	width: 100vw;
	margin-top: 12rem;
	background: linear-gradient(180deg, transparent 58%, transparent 0%, #21A30D 58%, #21A30D 100%);
	padding-bottom: 70px;
	margin-bottom: 9.6rem;
}

#problem-solving .problem:after {
	content: "";
	position: absolute;
	width: 115px;
	height: 0;
	bottom: -38px;
	left: 50%;
	transform: translateX(-50%);
	border-style: solid;
	border-right: 57px solid transparent;
	border-left: 57px solid transparent;
	border-top: 38px solid #21a30d;
	border-bottom: 0;
	z-index: 0;
}

#problem-solving .p-content {
	min-width: 1000px;
}

#problem-solving .p-top {
	margin-bottom: 6.4rem;
}

#problem-solving .problem h3 {
	font-size: 2.5rem;
	color: #222;
	font-weight: 600;
	display: inline;
	margin: 0 auto;
	position: relative;
}

#problem-solving .problem h3:after {
	content: "";
	display: block;
	width: 30%;
	height: 27px;
	background-image: url(../img/ballon_border.png);
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	bottom: -3.8rem;
}

#problem-solving .p-img-area {
	position: relative;
}

#problem-solving .p-balloon {
	position: absolute;
}

#problem-solving .p-man-img {
	width: 35.1rem;
	z-index: 10;
}

#problem-solving .p-balloon.is-01 {
	left: 16.48%;
	top: 25px;
}

#problem-solving .p-balloon.is-02 {
	left: 5.16%;
	top: 108px;
}

#problem-solving .p-balloon.is-03 {
	left: 6.91%;
	top: 237px;
}

#problem-solving .p-balloon.is-04 {
	right: 15.16%;
	top: 4px;
}

#problem-solving .p-balloon.is-05 {
	right: 6.17%;
	top: 87px;
}

#problem-solving .p-balloon.is-06 {
	right: 8.36%;
	top: 261px;
}

#problem-solving .solving {
	margin-bottom: 9.4rem;
}

#problem-solving .solving .s-top p {
	color: #21A30D;
	font-size: clamp(2.1rem, 1.1vw, 2.6rem);
	margin-bottom: .3rem;
}

#problem-solving .solving .s-top h3 {
	color: #21A30D;
	font-size: clamp(3.5rem, 1.1vw, 4rem);
	margin-bottom: 2.8rem;
}

#problem-solving .solving .s-top h4 {
	width: fit-content;
	margin: 0 auto;
	margin-bottom: 4.8rem;
	color: #fff;
	font-size: clamp(2.3rem, 1.1vw, 2.8rem);
	padding: 1.5rem 3rem;
	background-color: #21A30D;
}

#problem-solving .solving ul li {
	width: fit-content;
}

#problem-solving .solving .s-detail span {
	color: #EFCF1E;
	font-size: 1.5rem;
}

#problem-solving .s-detail .arrow_box {
	position: relative;
	width: 93%;
	height: fit-content;
	margin: 0 auto;
	background: #EFCF1E;
	padding: 13px 8%;
	text-align: center;
	align-items: center;
	font-size: 2rem;
	border-radius: 50px;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
	line-height: 1;
}

#problem-solving .s-detail .arrow_box:after {
	border: solid transparent;
	content: '';
	height: 0;
	width: 0;
	pointer-events: none;
	position: absolute;
	border-color: rgba(239, 207, 30, 0);
	border-top-width: 12px;
	border-bottom-width: 12px;
	border-left-width: 10px;
	border-right-width: 10px;
	margin-left: -10px;
	border-top-color: #EFCF1E;
	top: 100%;
	left: 50%;
}

#problem-solving .s-detail img {
	width: 24.3rem;
}

#problem-solving .s-detail p {
	width: 29.4rem;
	font-size: clamp(1.5rem, 1.1vw, 1.8rem);
	margin: 0 auto;
}

@media(max-width: 1024px) {
	#problem-solving .pc.p-balloon img {
		width: 94%;
	}

	#problem-solving .p-balloon.is-01 {
		left: 11.48%;
	}

	#problem-solving .p-balloon.is-02 {
		left: 1.86%;
	}

	#problem-solving .p-balloon.is-03 {
		left: 1.91%;
		top: 229px;
	}

	#problem-solving .p-balloon.is-04 {
		right: 9.16%;
	}

	#problem-solving .p-balloon.is-05 {
		right: 1.17%;
		top: 89px;
	}

	#problem-solving .p-balloon.is-06 {
		right: 1.36%;
		top: 250px;
	}
}

@media(max-width: 960px) {
	#problem-solving .pc.p-balloon img {
		width: 84%;
	}

	#problem-solving .p-content {
		min-width: 100vw;
	}

	#problem-solving .p-man-img {
		width: 35%;
	}

	#problem-solving .p-balloon.is-01 {
		left: 1.48%;
		top: 22px;
	}

	#problem-solving .p-balloon.is-02 {
		left: 3.16%;
		top: 94px;
	}

	#problem-solving .p-balloon.is-03 {
		left: -.09%;
		top: 181px;
	}

	#problem-solving .p-balloon.is-04 {
		right: -3.84%;
		top: 0px;
	}

	#problem-solving .p-balloon.is-05 {
		right: -2.83%;
		top: 76px;
	}

	#problem-solving .p-balloon.is-06 {
		right: -6.64%;
		top: 192px;
	}

	#problem-solving .s-detail .arrow_box {
		width: 80%;
		font-size: clamp(1.8rem, 1.1vw, 2rem);
	}

	#problem-solving .s-detail img {
		width: 85%;
	}

	#problem-solving .s-detail p {
		width: 100%;
		margin: 0 auto;
	}
}

@media(max-width: 768px) {
	#problem-solving .pc.p-balloon img {
		width: 80%;
	}

	#problem-solving .p-balloon.is-04 {
		right: -5.84%;
	}

	#problem-solving .p-balloon.is-05 {
		right: -5.83%;
	}

	#problem-solving .p-balloon.is-06 {
		right: -8.64%;
	}
}

@media(max-width: 576px) {
	#problem-solving .problem {
		margin-top: 6.4rem;
		padding-bottom: 254px;
		background: linear-gradient(180deg, transparent 84%, transparent 0%, #21A30D 76%, #21A30D 100%);
	}

	#problem-solving .problem h3 {
		font-size: 2rem;
	}

	#problem-solving .problem h3:after {
		width: 74%;
		height: 27px;
	}

	#problem-solving .problem .overflow-hidden {
		overflow: initial !important;
	}

	#problem-solving .p-balloon.is-07 {
		position: inherit;
		width: 80%;
		margin: 0 auto;
	}

	#problem-solving .p-balloon.is-07 img {
		width: 100%;
	}

	#problem-solving .p-man {
		position: absolute;
		top: 440px;
		z-index: 1;
	}

	#problem-solving .p-man-img {
		width: 50%;
	}

	#problem-solving .solving {
		margin-bottom: 6.4rem;
	}

	#problem-solving .solving .s-top p {
		font-size: 1.8rem;
	}

	#problem-solving .solving .s-top h3 {
		font-size: 2.4rem;
		margin-bottom: 1.6rem;
	}

	#problem-solving .solving .s-top h4 {
		width: 94.87%;
		font-size: clamp(1.8rem, 1.1vw, 2rem);
		padding: 1.6rem 5.2rem;
		line-height: 1.5;
	}

	#problem-solving .solving .s-list ul {
		flex-direction: column !important;
		padding-left: 0;
	}

	#problem-solving .solving .s-list .s-detail {
		margin-bottom: 2.4rem;
	}

	#problem-solving .solving .s-detail span {
		font-size: 1.4rem;
	}

	#problem-solving .s-detail img {
		width: 52%;
	}

	#problem-solving .s-detail p {
		font-size: 1.6rem;
		margin: 0 auto;
	}
}



/* #favorable ---------------------------------- */
#favorable .users {
	height: 68.3rem;
}

#favorable .users-img-area {
	position: relative;
}

#favorable .users-img-area .user-gg,
#favorable .users-img-area .user-ballon,
#favorable .f-txt-area {
	position: absolute;
}

#favorable .user-gg.is-11 {
	left: 25.63%;
	top: 25.3rem;
}

#favorable .user-gg.is-11 img {
	width: 12.2rem;
}

#favorable .user-gg.is-12 {
	width: 14.8rem;
	height: 367px;
	overflow: hidden;
	left: 36.48%;
	top: 25.3rem;
	animation-delay: .5s;
}

#favorable .user-gg.is-12 img {
	width: 14.8rem;
}

#favorable .user-gg.is-13 {
	right: 36.80%;
	top: 26.1rem;
}

#favorable .user-gg.is-13 img {
	width: 18.8rem;
}

#favorable .user-gg.is-14 {
	right: 21.02%;
	top: 26.8rem;
	animation-delay: .5s;
}

#favorable .user-gg.is-14 img {
	width: 18.7rem;
}

#favorable .user-ballon.is-21 {
	left: 15.08%;
	top: 9.1rem;
}

#favorable .user-ballon.is-22 {
	left: 29.17%;
	top: 0;
}

#favorable .user-ballon.is-23 {
	right: 32.14%;
	top: 2.4rem;
}

#favorable .user-ballon.is-24 {
	right: 15.02%;
	top: 9.1rem;
}

#favorable .f-txt-area {
	width: 79.69%;
	background-color: #21A30D;
	border: 5px solid #fff;
	padding: 3.2rem 0;
	border-radius: 26px;
	left: 10.16%;
	top: 45.5rem;
}

#favorable .f-txt-area p {
	color: #fff;
	font-size: 2rem;
	margin-bottom: .8rem;
}

#favorable .f-txt-area p:last-of-type {
	margin-bottom: 2.4rem;
}

@media(max-width: 1024px) {
	#favorable .user-ballon.is-21 {
		left: 9.08%;
	}

	#favorable .user-ballon.is-22 {
		left: 24.17%;
	}

	#favorable .user-ballon.is-23 {
		right: 29.14%;
	}

	#favorable .user-ballon.is-24 {
		right: 8.02%;
	}
}

@media(max-width: 960px) {
	#favorable .user-ballon.is-21 {
		left: 2.08%;
	}

	#favorable .user-ballon.is-22 {
		left: 20.17%;
	}

	#favorable .user-ballon.is-23 {
		right: 19.84%;
		top: .4rem;
	}

	#favorable .user-ballon.is-24 {
		right: .02%;
		top: 15.1rem;
	}

	#favorable .f-txt-area {
		width: 93%;
		left: 50%;
		top: 50%;
		transform: translate(-50%, 220%);
	}

	#favorable .user-gg.is-11 {
		left: 18.63%;
	}

	#favorable .user-gg.is-12 {
		left: 32.48%;
	}

	#favorable .user-gg.is-13 {
		right: 33.8%;
		z-index: -1;
	}

	#favorable .user-gg.is-14 {
		right: 13.02%;
	}
}

@media(max-width: 576px) {
	#favorable {
		margin-bottom: 59.4rem;
	}

	#favorable .f-txt-area {
		width: 98%;
	}

	#favorable .user-gg.is-11 {
		left: auto;
		right: 3rem;
		top: 36.6rem;
	}

	#favorable .user-gg.is-11 img {
		width: 7.2rem;
	}

	#favorable .user-gg.is-12 {
		left: 2rem;
		top: 7.6rem;
		height: 22.4rem;
	}

	#favorable .user-gg.is-12 img {
		width: 7.6rem;
	}

	#favorable .user-gg.is-13 {
		top: 84.2rem;
		right: 15rem;
		z-index: 1;
	}

	#favorable .user-gg.is-13 img {
		width: 12.5rem;
	}

	#favorable .user-gg.is-14 {
		right: auto;
		left: 0;
		top: 62.6rem;
	}

	#favorable .user-gg.is-14 img {
		width: 12.3rem;
	}

	#favorable .user-ballon.is-21 {
		left: auto;
		right: 6.6rem;
		top: 25.4rem;
		overflow: hidden;
	}

	#favorable .user-ballon.is-22 {
		left: 3rem;
	}

	#favorable .user-ballon.is-23 {
		right: 0;
		top: 67.1rem;
	}

	#favorable .user-ballon.is-24 {
		right: auto;
		left: 0;
		top: 47.8rem;
	}

	#favorable .f-txt-area {
		transform: translate(-50%, 525%);
		z-index: 1;
	}

	#favorable .f-txt-area p {
		font-size: 1.6rem;
	}
}



/* #service ---------------------------------- */

#service {
  position: relative;
}

#service::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 10%;
  background-color: #F6F2E4;
	z-index: -1;
}

#service .section-sub {
	margin-bottom: 5.2rem;
}

#service .service-attention {
	font-size: 1.6rem;
	font-weight: 400;
	background-color: rgb(255, 148, 13, .2);
	color: #FF940D;
	width: 90%;
	margin: 0 auto 3rem;
	border-radius: 5px;
	padding: .4rem;
}

#service .service-list {
	margin-bottom: 8rem;
}

#service .service-list li {
	width: 45.31%;
	margin-bottom: 2.4rem;
}

#service .service-list li:nth-child(odd) {
	margin-right: 4rem;
}

#service .service-list .s-list-btn {
	background-color: #fff;
	border: 1px solid #707070;
	border-radius: 50px;
	padding: .8rem 2.2rem;
	transition: .2s;
	box-shadow: 3px 4px 16px -8px #777;
}

#service .service-list .s-list-btn img {
	transition: transform .3s ease-out;
}

#service .service-list .s-list-btn p {
	font-size: clamp(2rem, 2vw, 2.4rem);
	color: #444;
	transition: .2s;
	text-align: left;
	line-height: 1.3;
	margin-bottom: 6px;
}

#service .service-list .s-list-btn p:nth-child(2) {
	font-size: 1.5rem;
	color: #707070;
	line-height: 1.1;
	margin-bottom: 0;
}

#service .service-list .s-list-icon {
	margin-right: 1.2rem;
}

#service .service-list .s-list-img {
	width: 8rem;
}

@media (hover: hover) {
	#service .service-list .s-list-btn:hover {
		border: 1px solid #FF940D;
		box-shadow: none;
	}

	#service .service-list .s-list-btn:hover img {
		transform: rotate(10deg);
	}

	#service .service-list .s-list-btn:hover p {
		color: #FF940D;
	}

	#service .service-list .s-list-btn:hover p:nth-child(2) {
		color: #444;
	}
}

@media(max-width: 1024px) {
	#service .service-list .s-list-btn p:nth-child(2) {
		font-size: 1.2rem;
	}
}

@media(max-width: 960px) {
	#service .service-list ul {
		flex-direction: column;
	}

	#service .service-list li {
		width: 90%;
		margin: 0 auto 2.4rem;
	}
}

@media(max-width: 576px) {
	#service .service-list {
		margin-bottom: 4rem;
	}

	#service .service-list ul {
		padding-left: 0;
	}

	#service .service-list li {
		width: 94%;
		margin: 0px auto 1.6rem;
	}

	#service .service-list .s-list-btn {
		border-radius: 7px;
		padding: .5rem 1.2rem;
	}

	#service .service-list .s-list-icon {
		width: 3rem;
		height: 3rem;
		margin-right: .8rem;
	}

	#service .service-list .s-list-btn p {
		font-size: 1.8rem;
	}

	#service .service-list li:nth-child(odd) {
		margin-right: auto;
	}

	#service .service-list .s-list-btn p {
		margin-bottom: 4px;
	}

	#service .section-sub {
		margin-bottom: 3.2rem;
	}

	#service .service-attention {
		font-size: 1.2rem;
		width: 94%;
		margin: 0 auto 1.6rem;
	}
}


/* .modal ---------------------------------- */
#service .modal h2 {
	width: 74.5rem;
	font-size: 2.4rem !important;
	color: #fff;
	background-color: #222;
	border-radius: 5px;
	padding: 8px 0;
}

#service .modal-content .modal-l img {
	width: 23rem;
}

#service .modal-content .modal-r-wrap {
	width: 42rem;
}

#service .modal-content .modal-r {
	width: 44rem;
	padding: 2.8rem 1rem;
	background-color: rgba(33, 163, 13, .12);
	border-radius: 8px;
}

#service .modal-content .modal-r h5 {
	font-size: 2rem;
	color: #222;
	margin-bottom: 2.4rem;
}

#service .modal-content .modal-r .modal-txt {
	width: 31rem;
	margin: 0 auto .8rem;
}

#service #s-modal1 .modal-content .modal-r .modal-txt {
	width: 38rem;
}

#service #s-modal2 .modal-content .modal-r .modal-txt {
	width: 36rem;
}

#service #s-modal3 .modal-content .modal-r .modal-txt {
	width: 34rem;
}

#service .modal-content .modal-r .modal-txt:last-of-type {
	margin-bottom: 2.4rem;
}

#service .modal-content .modal-r .modal-txt span {
	margin-right: .9rem;
}

#service .modal-content .modal-r .modal-price {
	color: #21A30D;
}

#service .modal-content .modal-r .modal-price {
	font-size: 2rem;
}

#service .modal-content .modal-notes {
	font-size: 1.4rem;
	margin-top: .8rem;
	display: flex;
	color: #5f5f5f;
}

#service .modal-content .modal-body {
	margin: 3.2rem 0;
}

#service .modal img.jp {
	width: 80%;
}

@media(max-width: 576px) {
	#service .modal-content .modal-body {
		margin: 1.6rem 0 2.4rem;
	}

	#service .modal h2 {
		font-size: 1.8rem !important;
	}

	#service .modal-content .modal-r-wrap {
		width: 100%;
	}

	#service .modal-content .modal-r {
		width: 98%;
	}

	#service .modal-content .modal-notes {
		font-size: 1.2rem;
	}

	#service .modal-content .modal-l img {
		width: 18rem;
	}

	#service .modal-content .modal-r h5,
	#service .modal-content .modal-r .modal-price {
		font-size: 1.8rem;
	}

	#service .modal-r p {
		font-size: 1.6rem;
	}

	#service #s-modal1 .modal-content .modal-r .modal-txt,
	#service #s-modal2 .modal-content .modal-r .modal-txt,
	#service #s-modal3 .modal-content .modal-r .modal-txt {
		width: 33rem;
	}

	#service .modal img.jp {
		width: 100%;
	}
}



/* #users-voice ---------------------------------- */
#users-voice .swiper-container,
#staff .staff-swiper-container {
	position: relative;
}

#users-voice .voice-swiper-container {
	height: 45rem;
}

#users-voice .swiper-slide {
	padding: 0 2rem;
}

#users-voice .swiper-slide .item {
	background-color: #fff;
	border-radius: 15px;
	padding: 2.5rem 3.6rem 3.2rem;
	height: 45rem;
}

#users-voice .slide-head {
	margin-bottom: 2.4rem;
}

#users-voice .slide-head img {
	margin-right: 2.4rem;
}

#users-voice .slide-head p {
	font-size: 2rem;
}

#users-voice .slide-head span {
	font-size: 1.5rem;
}

#users-voice span.user-request {
	color: #21A30D;
}

#users-voice .slide-txt p.user-request {
	color: #21A30D;
}

#users-voice .slide-txt p {
	line-height: 1.5;
	font-size: 1.7rem;
}

#users-voice .swiper-pagination {
	bottom: -40px;
}

#users-voice .swiper-pagination-bullet,
#staff .swiper-pagination-bullet {
	background-color: #21A30D;
}


@media(max-width: 576px) {
	#users-voice .slide-head p {
		font-size: 1.7rem;
	}

	#users-voice .slide-head span {
		font-size: 1.5rem;
	}

	#users-voice .slide-txt p {
		font-size: 1.6rem;
		font-weight: 500;
	}

	#users-voice .slide-head img {
		width: 7.4rem;
		margin-right: 1.6rem;
	}
}



/* #staff ---------------------------------- */
#staff .arrow_box {
	color: #fff;
	background-color: #21A30D;
	border: none;
	margin-bottom: 4rem;
}

#staff .arrow_box:before {
	margin-top: 0px;
}

#staff .arrow_box:after {
	border-top-color: #21A30D;
}

#staff .staff-intro {
	position: relative;
}

#staff .stf {
	width: fit-content;
	padding: 0px 4rem;
}

#staff .stf-h {
	position: relative;
	width: fit-content;
	margin: .8rem auto 2.4rem;
}

#staff .stf-name {
	position: absolute;
	bottom: 1.5rem;
	right: -3.6rem;
	color: #fff;
	font-size: 2.5rem;
	font-weight: 600;
	width: 18rem;
	padding: .2rem 0;
	background: rgb(33, 163, 13);
	background: linear-gradient(180deg, rgba(33, 163, 13, 1) 0%, rgba(43, 210, 17, 1) 100%);
}

#staff .stf-txt {
	margin: 0 auto;
	width: 34rem;
	line-height: 1.6;
}

#staff .stf-txt p {
	font-size: 1.6rem;
	text-align: left;
}

#staff .swiper-autoheight .swiper-wrapper {
	height: fit-content !important;
}

#staff .swiper-wrapper {
	margin-bottom: 50px;
}

#staff .swiper-pagination {
	bottom: 0;
}

@media(max-width: 1024px) {
	#staff .stf {
		padding: 0 2rem;
	}
}

@media(max-width: 960px) {
	#staff .stf-txt {
		width: 30rem;
	}
}

@media(max-width: 576px) {
	#staff h4.arrow_box {
		height: 58px;
	}

	#staff .staff-intro {
		margin-bottom: 2.4rem;
	}

	#staff .stf {
		width: 100% !important;
		margin: 0 auto 3.2rem !important;
	}

	#staff .stf-h img {
		width: 80%;
	}

	#staff .s-com {
		font-size: 1.2rem;
	}

	#staff .stf-name {
		bottom: -.5rem;
		right: 1.4rem;
		font-size: 1.8rem;
		width: 8rem;
	}

	#staff .stf-txt {
		width: 30rem;
		font-size: 1.4rem;
		margin: 0 auto;
	}

	#staff .stf-txt p {
		font-size: 1.4rem;
	}
}



/* #news ---------------------------------- */
#news .news-content {
	width: 79.69%;
	margin: 9.8rem auto 6.4rem;
}

#news .section-ttl {
	font-size: clamp(3rem, 1.878rem + 2vw, 5rem);
}

#news .section-sub {
	margin-bottom: 0;
}

#news .news-l {
	width: 20%;
	padding: 1.8rem 0 2.8rem .8rem;
	border-right: 1px solid #707070;
	margin-right: 5.4rem;
}

#news li {
	margin-bottom: 1.6rem;
	transition: .3s;
}

#news li:last-of-type {
	margin-bottom: 0;
}

#news .news-r li button {
	background: none;
	border: none;
	padding: 0;
	text-align: left;
}

#news button .news-date,
#news .modal-body span {
	font-size: 1.4rem;
	color: #fff;
	padding: .3rem 1.4rem;
	background: rgb(33, 163, 13);
	background: linear-gradient(180deg, rgba(33, 163, 13, 1) 0%, rgba(43, 210, 17, 1) 100%);
	border-radius: 20px;
	margin-right: 1.6rem;
	width: fit-content;
	height: fit-content;
	display: inline;
	white-space: nowrap;
}

#news button .news-ttl {
	font-size: clamp(1.4rem, 1.32rem + .3vw, 1.6rem);
	text-align: left;
}

/* .modal */
#news .modal-body {
	padding: 3.8rem 4.8rem 5.4rem;
}

#news .modal-body span {
	font-size: 1.5rem;
	padding: .4rem 4rem;
}

#news .modal-body .news-ttl {
	font-size: 2rem;
	margin: 1.6rem 0 .8rem 0;
}

#news .modal-body .news-date {
	font-size: 1.5rem;
	font-weight: 400;
	margin-bottom: 3.2rem;
}

#news .modal-body .news-txt {
	font-weight: 400;
	line-height: 1.8;
}


@media (hover: hover) {
	#news li:hover .news-ttl,
	#safety-info li:hover .news-ttl {
		color: #21A30D;
		transition: .3s;
	}
}

@media(max-width: 1024px) {
	#news .news-content {
		display: block !important;
		width: 79.69%;
		margin: 6.4rem auto 6.4rem;
	}

	#news .news-l {
		border: none;
		margin-right: 0;
		padding-bottom: 1.6rem;
	}

	#news .news-l h3.section-ttl {
		margin-right: .8rem;
	}

	#news .news-l div {
		display: flex;
		align-items: center;
		white-space: nowrap;
	}

	#news .news-r button {
		display: flex;
		flex-direction: column;
	}

	#news .news-r button div.d-flex {
		flex-direction: column;
	}

	#news button .news-date,
	#news .modal-body span {
		font-size: 1.3rem;
		margin-bottom: .8rem;
	}
}

@media(max-width: 960px) {
	#news .news-content {
		width: 93%;
	}

	#news .modal-content {
		width: 70rem !important;
	}
}

@media(max-width: 576px) {
	#news .news-content {
		width: 93% !important;
		margin-top: 0;
	}

	#news button .news-ttl {
		font-size: 1.6rem;
	}

	/* modal */
	#news .modal-content {
		width: 98% !important;
	}

	#news .modal-body {
		padding: 1.6rem 1.6rem 5.6rem;
	}

	#news .modal-body .news-ttl {
		font-size: 1.8rem;
		margin: 1.6rem 0 .8rem 0;
	}

	#news .modal-body .news-txt {
		line-height: 1.6;
	}
}



/* #safety_info ---------------------------------- */
#safety-info .safety-info-content {
	width: 79.69%;
	margin: 0 auto;
	margin-bottom: 6.4rem;
	padding: 2.4rem 4rem;
	border: 1px solid #707070;
	border-radius: 23px;
}

#safety-info .safe-top {
	padding-bottom: .8rem;
	margin-bottom: 2.4rem;
}

#safety-info .safe-top h3 {
	font-size: 2rem;
	margin-left: 1.6rem;
	margin-bottom: 0;
	line-height: 1.5;
}

#safety-info .safe-btn {
	background: none;
	border: none;
	margin-bottom: 1.6rem;
	padding: 0;
}

#safety-info .safe-btn img {
	width: 2.9rem;
}

#safety-info .safe-btn span {
	font-size: 1.8rem;
	font-size: clamp(1.6rem, 1.32rem + .5vw, 1.8rem);
	font-weight: 500;
	text-align: left;
	margin-left: 1.6rem;
}

.safety-info-modal .modal-content {
	width: 100rem;
	background-color: #EDEDED;
}

.safety-info-modal .modal-body {
	padding: 0 7% 0;
}

.safety-info-modal .safety-modal-head {
	margin-bottom: 2.4rem;
}

.safety-info-modal .safety-modal-head p {
	padding: 0 1.6rem;
}

.safety-info-modal .safety-modal-txt {
	margin-bottom: 6.8rem;
}

.safety-info-modal .safety-modal-txt p,
.safety-info-modal .safety-modal-txt a {
	line-height: 1.6;
	font-size: 1.8rem;
	word-break: break-word;
}

.safety-info-modal .safety-modal-point {
	position: relative;
	background-color: #fff;
	padding: 5.5rem 12% 3.6rem;
	margin-bottom: 3.2rem;
}

.safety-info-modal .safety-modal-point .arrow-box {
	position: absolute;
	top: -22px;
	left: 50%;
	transform: translateX(-50%);
	width: 68%;
	background: #222;
	padding: .1rem 1rem;
	border: 4px solid #222;
	color: #fff;
	font-size: clamp(1.6rem, 1.32rem + .5vw, 1.8rem);
	margin: 0 auto;
	margin-bottom: 1rem;
	letter-spacing: .05em;
	text-align: center;
}

.safety-info-modal .safety-modal-point .point-txt {
	font-size: clamp(1.6rem, 1.32rem + .2vw, 1.8rem);
	margin-left: 1rem;
}

.safety-info-modal .safety-modal-footer {
	margin-bottom: 3.6rem;
}

.safety-info-modal .safety-modal-footer span,
.safety-info-modal .safety-modal-footer a {
	font-size: 1.4rem;
}

@media(max-width: 960px) {
	#safety-info .safety-info-content {
		width: 93%;
	}

	.safety-info-modal .modal-content {
		width: 70rem !important;
	}

	.safety-info-modal .safety-modal-footer {
		flex-direction: column !important;
		align-items: normal !important;
	}
}

@media(max-width: 576px) {
	.safety-info-modal .modal-body {
		padding: 0 1.6rem;
	}

	#safety-info .safety-info-content {
		padding: 2rem 1.6rem 1rem;
		width: 98%;
	}

	#safety-info .safe-top h3 {
		font-size: 1.8rem;
	}

	#safety-info .modal-content {
		width: 98% !important;
	}

	#safety-info .safe-top {
		padding-bottom: 0;
	}

	#safety-info .safe-top img {
		width: 50px;
		height: 33px;
	}

	.safety-info-modal .safety-modal-txt p,
	.safety-info-modal .safety-modal-txt a {
		font-size: 1.6rem;
	}

	.safety-info-modal .safety-modal-point {
		padding: 4rem 4% 2.4rem;
		margin-bottom: 3.2rem;
	}

	.safety-info-modal .safety-modal-point .arrow-box {
		width: 82%;
		font-size: 1.5rem;
	}

	.safety-info-modal .safe-btn span {
		margin-left: .8rem;
	}
}



/* #medication-guide-top ---------------------------------- */
#medication-guide-top {
	margin-bottom: 6.4rem;
}

#medication-guide-top .guide-content {
	width: 79.69%;
	margin: 0 auto;
}

#medication-guide-top .guide-inner {
	width: 100%;
	background-image: url(../img/guide_back.png);
	background-size: cover;
	padding: 2.6rem 3.6rem 3.2rem;
	border-radius: 23px;
	box-shadow: 3px 4px 11px -7px #777;
	transition: .3s;
}

#medication-guide-top .guide-l .section-sub {
	margin-bottom: 2.4rem;
}

#medication-guide-top .guide-l .section-ttl {
	font-size: 5rem;
	line-height: 1;
}

#medication-guide-top .guide-l p {
	margin-bottom: 4rem;
}

#medication-guide-top button.gradient-button {
	font-size: 1.8rem;
	color: #fff;
	padding: 1rem 8.5rem;
	background: linear-gradient(180deg, rgba(33, 163, 13, 1) 0%, rgba(43, 210, 17, 1) 100%);
	border-radius: 50px;
	width: fit-content;
	height: fit-content;
	display: inline;
	white-space: nowrap;
	box-shadow: 3px 4px 16px -8px #777;
	background-size: 100% 200%;
	background-position: top;
	transition: background-position .3s ease;
}

#medication-guide-top .guide-r img {
	object-fit: contain;
}

@media (hover: hover) {
	#medication-guide-top a:hover {
		box-shadow: none;
		transition: .3s;
	}

	#medication-guide-top a:hover button.gradient-button {
		background-position: bottom;
	}

	#medication-guide-top a:hover .guide-r img {
		animation: floating-y1 1s ease-in-out infinite alternate-reverse;
	}
}

@media(max-width: 960px) {
	#medication-guide-top .guide-content {
		width: 93%;
	}

	#medication-guide-top .guide-inner {
		padding: 2rem 2rem 2.4rem;
	}
}

@media(max-width: 576px) {
	#medication-guide-top .guide-inner {
		flex-direction: column;
	}

	#medication-guide-top .guide-l .section-ttl {
		font-size: 4rem;
	}

	#medication-guide-top .guide-l .section-sub {
		font-size: 1.4rem;
	}

	#medication-guide-top .guide-l p {
		font-size: 1.6rem;
	}

	#medication-guide-top button.sp {
		margin: 4rem auto 0;
	}
}



/* #faq ---------------------------------- */
#faq .faq-content {
	width: 69.06%;
	margin: 4.8rem auto 0;
	border-radius: 9px;
}

#faq .qa-answer {
	font-weight: 400;
}

#faq .qa__box {
	width: 100%;
	margin: 0 auto;
	position: relative;
	z-index: 10;
}

#faq .qa__box dl {
	margin-bottom: 0;
}

#faq .qa__box > dl > dt {
	background-color: #fff;
	display: flex;
	align-items: center;
	padding: 1.6rem 6rem 1.6rem 3rem;
	position: relative;
}

#faq .qa-question {
	font-size: 1.8rem;
	line-height: 1.5;
}

#faq p.a-notes {
	font-size: 1.4rem;
	margin-top: .8rem;
	color: #5f5f5f;
}

#faq .qa__box > dl > dt .crossBar {
	width: 20px;
	height: 20px;
	position: absolute;
	top: 50%;
	right: 24px;
	transform: translateY(-50%);
}

#faq .qa__box > dl > dt .crossBar::before {
	content: "";
	display: inline-block;
	width: 2px;
	height: 100%;
	background-color: #21A30D;
	position: absolute;
	top: 0;
	left: 50%;
	transform-origin: center center;
	transform: translateX(-50%) rotate(0deg);
	transition: transform .8s cubic-bezier(.19, 1, .22, 1);
}

#faq .qa__box > dl > dt .crossBar::after {
	content: "";
	display: inline-block;
	width: 100%;
	height: 2px;
	background-color: #21A30D;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

#faq .qa__box > dl > dt > span,
#faq .qa__box > dl > dd > span {
	font-size: 2.4rem;
	width: 4.5rem;
	height: 4.5rem;
	line-height: .8;
	text-align: center;
	color: #fff;
	margin-right: 23px;
	border-radius: 50px;
	padding: 1.2rem;
}

#faq .qa__box > dl > dt > span {
	background-color: #21A30D;
}

#faq .qa__box > dl > dd > span {
	background-color: #FF940D;
	line-height: .7;
}

#faq .qa__box > dl > dd {
	margin: 0;
	background-color: #fff;
	display: flex;
	align-items: center;
	padding: 0px 30px;
	max-height: 0;
	overflow: hidden;
	transition: all .8s cubic-bezier(.19, 1, .22, 1);
	border-bottom: solid 1px #E6E2E2;
}

#faq .qa__box:last-of-type dl dd {
	border-bottom: none;
}

#faq .qa__box > dl > dd.is-open {
	max-height: 350px;
	padding: 1.6rem 3rem;
}

#faq .qa__box > dl > dt.is-open .crossBar::before {
	transform: translateX(-50%) rotate(90deg);
}

@media(max-width: 960px) {
	#faq .faq-content {
		width: 85%;
	}
}

@media(max-width: 576px) {
	#faq .faq-content {
		width: 96%;
	}

	#faq .qa__box > dl > dt > span,
	#faq .qa__box > dl > dd > span {
		font-size: 1.6rem;
		width: 3.2rem;
		height: 3.2rem;
		line-height: .5;
		padding: 1rem;
		margin-right: 8px;
	}

	#faq .qa__box > dl > dt {
		padding: 1.6rem 4.0rem 1.6rem 1.6rem;
	}

	#faq .qa-question {
		font-size: 1.6rem;
	}

	#faq .qa-answer {
		font-size: 1.5rem;
	}

	#faq .qa__box > dl > dd.is-open {
		padding: 0 1.6rem 1.6rem;
	}

	#faq .qa__box > dl > dt .crossBar {
		width: 16px;
		height: 16px;
		right: 16px;
	}
}



/* #banner　※とらねこ屋 ---------------------------------- */
#banner button {
	transition: all .2s ease-out;
	margin-bottom: 4rem;
}

/* modal */
#banner .modal img {
	width: 80%;
	margin-bottom: 1.6rem;
}

@media(max-width: 960px) {
	#banner img {
		width: 90%;
		margin: 0 auto;
	}

	/* modal */
	#banner .modal-content {
		width: 70rem !important;
	}
}

@media (hover: hover) {
	#banner button:hover {
		opacity: .6;
		transition: all .2s ease-out;
	}
}

@media(max-width: 576px) {
	/* modal */
	#banner .modal img {
		width: 100%;
	}
	#banner .modal-content {
		width: 98% !important;
	}
}



/* LINEキャンペーン用 ---------------------------------- */
.floatingBnr {
	z-index: 1000;
	position: fixed;
	bottom: 70px;
	right: 0;
	opacity: 0; /* 初期状態は透明 */
	transform: translateY(20px); /* 少し下に配置 */
	transition: opacity .3s ease, transform .3s ease; /* アニメーション */
	pointer-events: none; /* 非表示時はクリック無効 */
	visibility: hidden; /* 非表示の状態を明確にする */
}

.floatingBnr.show {
	opacity: 1; /* 表示状態 */
	transform: translateY(0); /* 元の位置に戻す */
	pointer-events: auto; /* 表示されたらクリック可能 */
	visibility: visible; /* 表示時は見えるように */
}

#closeBnr {
	background-color: transparent;
	border: none;
	font-size: 20px;
	cursor: pointer;
	position: absolute;
	top: 5px;
	right: 5px;
}

@media (hover: hover) {
	.floatingBnr:hover {
		opacity: .7;
		transition: opacity .3s ease; /* ホバー時の透明度変化 */
	}
}

@media(min-width: 768px) {
	br.none {
		display: none;
	}
}

@media(max-width: 576px) {
	.floatingBnr {
		z-index: 1000;
		position: fixed;
		bottom: 0;
		right: 0;
		left: 0;
		display: flex;
		justify-content: center; /* 水平中央揃え */
		align-items: center;
		transition: .3s;
	}

	#closeBnr {
		top: -23px;
		right: 33px;
	}
}



/* #map ---------------------------------- */
#map {
	margin-bottom: 20px;
}

#map iframe {
	max-width: 850px;
	width: 70vw;
}