@charset "UTF-8";

/*------------------------
トップイメージ
------------------------*/
#topimg .inner {
	position: relative;
}
#topimg .inner::after{
	content: "";
	background: url(/img/fv_onigiri02.png) no-repeat;
	background-size: contain;
	position: absolute;
}
#topimg .inner::before{
	content: "";
	background: url(/img/fv_onigiri01.png) no-repeat;
	background-size: contain;
	position: absolute;
}
#topimg h1{
	position: relative;
}
#topimg h1::after{
	content: "";
	background: url(/img/icon_ashiato_b.png) no-repeat;
	background-size: contain;
	position: absolute;
}
#topimg .area {
	background: var(--orange);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50px;
	line-height: 1;
	font-weight: bold;
	letter-spacing: 0.05em;
}
#topimg .sub {
	background: #fff;
	color: var(--sub_blue);
	text-align: center;
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1.4;
	display: inline-block;
}
#topimg .hukidashi img{
	object-fit: contain;
}
/* -----PC----- */
@media screen and (min-width:768px) {
	#topimg .inner {
		padding: 60px 60px 270px;
		width: 1200px;
		margin: 0 auto;
	}
	#topimg .inner::after{
		width: 167px;
		height: 180px;
		bottom: 210px;
		right: 50px;
	}
	#topimg .inner::before{
		width: 158px;
		height: 172px;
		top: 240px;
		left: 70px;
	}
	#topimg .area {
		font-size: 32px;
		width: 236px;
		height: 64px;
		margin: 0 auto 25px;
	}
	#topimg h1 {
		width: 570px;
		margin: 0 auto 32px;
	}
	#topimg h1::after{
		width: 66px;
		height: 76px;
		top: 5px;
		right: 70px;
	}
	#topimg .hukidashi{
		width: 250px;
		height: 294px;
		position: absolute;
		top: 80px;
		right: 50px;
	}
	#topimg .sub {
		border-radius: 12px;
		font-size: 30px;
		padding: 20px 30px;
		line-height: 1;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 630px;
		height: 75px;
		margin: 0 auto;
	}
	#topimg .illust {
		width: 260px;
		position: absolute;
		left: 0px;
		bottom: 0;
	}
}

/* -----SP----- */
@media screen and (max-width:767px) {
	#topimg .inner {
		padding: 22vw 4vw 0;
	}
	#topimg .inner::after{
		width: 21.73vw;
		height: 23.2vw;
		top: 70.67vw;
		right: 4vw;
	}
	#topimg .inner::before{
		width: 24.4vw;
		height: 26.67vw;
		bottom: -2.67vw;
		left: 8vw;
	}
	#topimg .area {
		font-size: 4.8vw;
		width: 34.67vw;
		height: 9.33vw;
		margin-bottom: 4vw;
	}
	#topimg h1 {
		width: 85.33vw;
		margin-bottom: 5.33vw;
	}
	#topimg h1::after{
		width: 10.27vw;
		height: 12vw;
		top: -2.13vw;
		left: 40vw;
	}
	#topimg .hukidashi{
		width: 49.33vw;
		height: 44vw;
		position: absolute;
		top: 2.67vw;
		right: 0;
	}
	#topimg .sub {
		border-radius: 6px;
		font-size: 4.8vw;
		padding: 2.67vw 6.67vw;
		margin-bottom: 8vw;
	}
	#topimg .illust {
		width: 46.67vw;
		margin: 0 4vw 0px auto;
	}
}


/*------------------------
section 共通
------------------------*/
section h2{
	position: relative;
}
section .slick-dots li button:before{
	background: var(--orange);
	font-size: 0;
}
/* PC */
@media screen and (min-width:768px) {
	section .inner{
		width: 1200px;
		margin: 0 auto;
		padding: 60px 0 80px;
	}
	section.cont-wrap h2{
		text-align: center;
		font-size: 32px;
		line-height: 1;
		padding-bottom: 25px;
		margin-bottom: 30px;
		position: relative;
	}
	section.cont-wrap h2::after{
		content: "";
		width: 60px;
		height: 6px;
		background: var(--orange);
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		border-radius: 3px;
	}
}
/* SP */
@media screen and (max-width:767px) {
	section .inner{
		margin: 0 4%;
	}
	section.cont-wrap .inner {
		padding: 9.33vw 0 10.67vw;
	}
	section.cont-wrap h2{
		text-align: center;
	}
	section.cont-wrap h2 span{
		font-size: 6.4vw;
		line-height: 1;
		text-align: center;
		padding-bottom: 2.67vw;
		margin-bottom: 5.33vw;
		border-bottom: 3px solid var(--orange);
		display: inline-block;
	}
	section .slick-dots{
		bottom: -4vw;
	}
	section .slick-dots li,
	section .slick-dots li button{
		width: 6.67vw;
		height: 1.07vw;
		padding: 0;
	}
	section .slick-dots li button:before{
		width: 6.67vw;
		height: 1.07vw;
		border-radius: 10px;
	}
}


/*------------------------
看護師が訪問
------------------------*/
#about h2 {
	color: var(--main_blue);
}
#about h2::after {
	content: "";
	background: url(/img/icon_ashiato_b.png) no-repeat;
	background-size: contain;
	position: absolute;
}
#about .image.main img {
	object-fit: cover;
	border-radius: 10px;
	border: 3px solid var(--main_blue);
}
#about .textarea {
	font-weight: 500;
	line-height: 1.5;
}
/* -----PC----- */
@media screen and (min-width:768px) {
	#about .inner {
		padding: 80px 0;
	}
	#about h2 {
		font-size: 32px;
		margin-bottom: 30px;
		padding-bottom: 20px;
		text-align: center;
	}
	#about h2::before{
		content: "";
		width: 60px;
		height: 6px;
		background: var(--main_blue);
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		border-radius: 3px;
	}
	#about h2::after{
		width: 50px;
		height: 100%;
		top: 0;
		right: 170px;
	}
	#about .flex{
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
	}
	#about .image.main {
		width: 490px;
		height: 352px;
		margin-left: 50px;
	}
	#about .image.main img{
		border-radius: 15px;
	}
	#about .textarea{
		flex: 1;
	}
	#about .textarea p{
		font-size: 21px;
		margin-bottom: 15px;
		line-height: 1.81;
	}
}

/* -----SP----- */
@media screen and (max-width:767px) {
	#about .inner {
		padding: 10.67vw 0;
	}
	#about h2 {
		font-size: 6.4vw;
		margin-bottom: 4vw;
		line-height: 1.333;
	}
	#about h2::after{
		width: 8.53vw;
		height: 10.07vw;
		top: 6.4vw;
		right: 9.6vw;
	}
	#about .image.main {
		width: 100%;
		height: 62.27vw;
		margin-bottom: 4vw;
	}
	#about .textarea {
		font-size: 4.27vw;
	}

}

/*------------------------
トラブル
------------------------*/
#trouble {
	background: var(--bg_blue);
}
#trouble .trouble-list {
	background: #fff;
	position: relative;
}
#trouble h2 {
	text-align: center;
}
#trouble h2::before {
	content: "";
	background: url(/img/icon_ashiato_b.png) no-repeat;
	background-size: contain;
	position: absolute;
}
#trouble h2 span {
	background: linear-gradient(transparent 60%, #eede8a 60%);
}
#trouble .trouble-list::after{
	content: "";
	background: url(/img/trouble_onigiri01.png) no-repeat;
	background-size: contain;
	position: absolute;
}
#trouble .trouble-list li {
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1;
	display: flex;
	align-items: center;
}
#trouble .trouble-list li::before{
	content: "";
	background: url(/img/icon_check_o.svg) no-repeat;
	background-size: contain;
	display: block;
}
#trouble .image img{
	object-fit: cover;
}

/* 解決 */
#trouble .solution .s-ttl {
	background: var(--main_blue);
	color: #fff;
	text-align: center;
	font-weight: bold;
	position: relative;
	letter-spacing: 0;
}
#trouble .solution .s-ttl::after{
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-color: var(--main_blue) transparent transparent transparent;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
}
#trouble .solution .s-ttl span {
	position: relative;
}
#trouble .solution .s-ttl span::before{
	content: "";
	background: url(/img/trouble_onigiri02.svg) no-repeat;
	background-size: contain;
	position: absolute;
}
#trouble .solution .s-ttl span::after{
	content: "";
	background: url(/img/trouble_onigiri03.svg) no-repeat;
	background-size: contain;
	position: absolute;
}

#trouble .solution .staff-wrap {
	background: #fff;
}
#trouble .solution .staff-wrap .box {
	display: flex;
	align-items: end;
}
#trouble .solution .staff-wrap .box .text .ttl {
	line-height: 1;
	color: var(--sub_blue);
	font-weight: bold;
	letter-spacing: 0.05em;
}
#trouble .solution .staff-wrap .box .text .textarea {
	font-weight: 500;
	letter-spacing: 0.05em;
}
#trouble .solution .staff-wrap .box .image.nurse img {
	object-fit: contain;
	object-position: bottom;
}

/* -----PC----- */
@media screen and (min-width:768px) {
	#trouble {
		border-radius: 0 100px 0 100px;
	}
	#trouble .inner {
		padding: 60px 0 80px;
	}
	#trouble h2 {
		margin-bottom: 45px;
	}
	#trouble h2::before{
		width: 80px;
		height: 100px;
		top: -60px;
		left: 150px;
		transform: rotate(-45deg);
	}
	#trouble h2 span {
		font-size: 36px;
		line-height: 1;
		padding-bottom: 5px;
	}
	#trouble .top-block{
		position: relative;
	}
	#trouble .trouble-list {
		border-radius: 15px;
		padding: 45px 180px 30px;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
	}
	#trouble .trouble-list::after{
		width: 160px;
		height: 100px;
		right: 40px;
		top: -86px;
	}
	#trouble .trouble-list li {
		font-size: 19px;
		margin-bottom: 20px;
		width: 335px;
		letter-spacing: -0.05em;
	}
	#trouble .trouble-list li::before{
		width: 18px;
		height: 18px;
		margin-right: 8px;
	}
	#trouble .flex-box .image{
		width: 172px;
		height: 129px;
		position: absolute;
	}
	#trouble .flex-box .image.img01{
		top: 50px;
		left: 50px;
	}
	#trouble .flex-box .image.img02{
		right: 50px;
		top: 50px;
	}
	#trouble .flex-box .image img{
		border-radius: 8px;
	}

	/* 解決 */
	#trouble .solution .image.arrow {
		width: 45px;
		height: 50px;
		margin: -10px auto 20px;
		position: relative;
	}
	#trouble .solution .s-ttl {
		border-radius: 15px 15px 0 0;
		padding: 25px 0 30px;
		font-size: 28px;
		line-height: 1;
	}
	#trouble .solution .s-ttl::after{
		border-width: 13px 25px 0px 25px;
		bottom: -13px;
	}
	#trouble .solution .s-ttl span::before{
		width: 91px;
		height: 85px;
		left: -120px;
		top: -40px;
	}
	#trouble .solution .s-ttl span::after{
		width: 103px;
		height: 90px;
		right: -120px;
		top: -40px;
	}
	#trouble .solution .staff-wrap {
		border-radius: 0 0 20px 20px;
		padding: 30px 60px 50px;
		display: flex;
		justify-content: space-between;
		position: relative;
	}
	#trouble .solution .staff-wrap::after{
		content: "";
		width: 1px;
		height: 155px;
		background: var(--bg_blue);
		position: absolute;
		top: 35px;
		left: 0;
		right: 0;
		margin: auto;
	}
	#trouble .solution .staff-wrap .box {
		border-bottom: 4px solid var(--sub_blue);
		width: 480px;
	}
	#trouble .solution .staff-wrap .box .text {
		flex: 1;
	}
	#trouble .solution .staff-wrap .box .text .ttl {
		font-size: 22px;
		margin-bottom: 15px;
		letter-spacing: 0.05em;
	}
	#trouble .solution .staff-wrap .box .text .textarea {
        font-size: 17px;
        line-height: 1.357;
        padding-bottom: 35px;
	}
	#trouble .solution .staff-wrap .box .image.nurse {
		width: 100px;
		margin-left: 25px;
	}
}

/* -----SP----- */
@media screen and (max-width:767px) {
	#trouble {
		border-radius: 0 50px 0 0;
	}
	#trouble .inner {
		padding: 9.33vw 0 10.67vw;
	}
	#trouble h2 {
		margin-bottom: 6.67vw;
	}
	#trouble h2::before{
		width: 10.67vw;
		height: 10.67vw;
		top: 8.53vw;
		left: 0;
		transform: rotate(-55deg);
	}
	#trouble h2 span {
		font-size: 6.4vw;
		line-height: 1.333;
	}
	#trouble .trouble-list {
		border-radius: 10px;
		padding: 5.33vw 4vw 4vw;
		margin-bottom: 4vw;
	}
	#trouble .trouble-list::after{
		width: 27.73vw;
		height: 17.33vw;
		right: 1.33vw;
		bottom: 16vw;
	}
	#trouble .trouble-list li {
		font-size: 4.8vw;
		margin-bottom: 3.43vw;
	}
	#trouble .trouble-list li::before{
		width: 4.67vw;
		height: 4.67vw;
		margin-right: 1.33vw;
	}
	#trouble .flex-box {
		display: flex;
		justify-content: space-between;
	}
	#trouble .flex-box .image{
		width: 44vw;
		height: 33.07vw;
	}
	#trouble .flex-box .image img{
		border-radius: 8px;
	}

	/* 解決 */
	#trouble .solution .image.arrow {
		width: 9.33vw;
		margin: 4vw auto 3.33vw;
	}
	#trouble .solution .s-ttl {
		border-radius: 8px 8px 0 0;
		padding: 3.33vw 0 4vw;
		font-size: 6.4vw;
		line-height: 1.333;
	}
	#trouble .solution .s-ttl::after{
		border-width: 2.53vw 4.8vw 0px 4.8vw;
		bottom: -2.4vw;
	}
	#trouble .solution .s-ttl span::before{
		width: 13.6vw;
		height: 12.67vw;
		left: -18.67vw;
		top: -4.8vw;
	}
	#trouble .solution .s-ttl span::after{
		width: 15.33vw;
		height: 13.33vw;
		left: 48.33vw;
		top: -5.2vw;
	}
	#trouble .solution .staff-wrap {
		border-radius: 0 0 10px 10px;
		padding: 5.33vw 4vw;
	}
	#trouble .solution .staff-wrap .box {
		border-bottom: 3px solid var(--sub_blue);
	}
	#trouble .solution .staff-wrap .box:first-child{
		margin-bottom: 5.33vw;
	}
	#trouble .solution .staff-wrap .box .text {
		flex: 1;
	}
	#trouble .solution .staff-wrap .box .text .ttl {
		font-size: 5.07vw;
		margin-bottom: 2.67vw;
		letter-spacing: 0.05em;
	}
	#trouble .solution .staff-wrap .box .text .textarea {
		font-size: 3.73vw;
		line-height: 1.357;
		padding-bottom: 4vw;
	}
	#trouble .solution .staff-wrap .box .image.nurse {
		width: 20vw;
		margin-left: 4vw;
	}
}


/*------------------------
アクセス
------------------------*/
#access h2 {
	letter-spacing: 0;
	line-height: 1;
}
#access h2::after{
	content: "";
	background: url(/img/contact_onigiri.svg) no-repeat;
	background-size: contain;
	position: absolute;
}
#access h2 span {
	color: var(--sub_blue);
}
#access .sub {
	font-weight: 500;
	line-height: 1.2;
}
#access .btn-wrap .btn.map-btn a{
	background: var(--main_blue);
}
#access .btn-wrap .btn.access a{
	background: var(--orange);
}
#access .btn-wrap .btn a {
	color: #fff;
	position: relative;
}
#access .btn-wrap .btn.map-btn a::after{
	content: "";
	background: url(/img/icon_blank_w.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
}
#access .btn-wrap .btn.access a::after{
	content: "";
	background: url(/img/icon_pdf_w.png) no-repeat;
	background-size: contain;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
}
#access .info p {
	line-height: 1.3;
	font-weight: 500;
}
#access .info .note p {
	letter-spacing: -0.03em;
	flex: 1;
}
#access .tel-wrap .web a{
	background: var(--sub_blue);
	color: #fff;
}
#access .tel-wrap .web a::before{
	content: "";
    background: url(/img/icon_mail_w.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
}

/* -----PC----- */
@media screen and (min-width:768px) {
	#access {
		padding: 60px 0 80px;
	}
	#access .inner {
		padding: 40px 50px 40px;
		border: 2px dotted var(--sub_blue);
		border-radius: 20px;
		display: flex;
	}
	#access h2 {
		font-size: 26px;
		margin-bottom: 12px;
	}
	#access h2::after{
		width: 120px;
		height: 196px;
		top: -70px;
		right: -80px;
	}
	#access .sub {
		font-size: 20px;
		margin-bottom: 18px;
	}
	#access .cont{
		flex: 1;
	}
	#access .map {
		width: 410px;
		height: 330px;
		margin-right: 50px;
	}
	#access .map iframe {
		width: 100%;
		height: 100%;
		border-radius: 10px;
	}

	#access .btn-wrap{
		display: flex;
		margin-bottom: 30px;
	}
	#access .btn-wrap .btn{
		margin-right: 10px;
	}
	#access .btn-wrap .btn.map-btn a::after{
		width: 15px;
		height: 15px;
		right: 15px;
	}
	#access .btn-wrap .btn.access a::after{
		width: 15px;
		height: 18px;
		right: 15px;
	}
	#access .tel-wrap{
        background: #f0f9fc;
        padding: 20px 30px 20px;
        border-radius: 15px;
	}
	#access .tel-wrap .web a{
        font-size: 21px;
        width: 360px;
        height: 65px;
        margin-bottom: 10px;
	}
	#access .tel-wrap .web a::before{
		width: 32px;
        height: 26px;
        left: 30px;
	}
	#access .tel a {
		font-size: 24px;
        margin-bottom: 5px;
        margin-top: 10px;
	}
	#access .tel a::before{
		background: url(/img/icon_tel_o.png) no-repeat;
        background-size: contain;
        width: 15px;
        height: 20px;
        margin-right: 5px;
	}
	#access .info p {
		font-size: 18px;
		display: inline-block;
		margin-right: 20px;
	}
	#access .info .note {
        display: flex;
        margin-top: 7px;
        font-size: 13px;
        align-items: baseline;
	}
	#access .info .note p{
        font-size: 13px;
	}
	#access .info .note span {
		margin-right: 8px;
	}
}

/* -----SP----- */
@media screen and (max-width:767px) {
	#access {
		padding: 9.33vw 0 10.67vw;
	}
	#access .inner {
		padding: 5.33vw 4vw 4vw;
		border: 2px dotted var(--sub_blue);
		border-radius: 10px;
	}
	#access h2 {
		font-size: 6.13vw;
		margin-bottom: 2.67vw;
	}
	#access h2::after{
		width: 17.87vw;
		height: 28.8vw;
		top: -10.67vw;
		right: -8vw;
	}
	#access .sub {
		font-size: 4.8vw;
		margin-bottom: 4vw;
	}
	#access .map {
		width: 100%;
		height: 55.6vw;
		margin-bottom: 4vw;
	}
	#access .map iframe {
		width: 100%;
		height: 100%;
		border-radius: 10px;
	}
	#access .btn-wrap .btn{
		margin-bottom: 2.67vw;
	}
	#access .btn-wrap .btn.map-btn a::after{
		width: 4.27vw;
		height: 4.27vw;
		right: 4vw;
	}
	#access .btn-wrap .btn.access a::after{
		width: 4.93vw;
		height: 4.93vw;
		right: 4vw;
	}
	#access .tel-wrap .web a{
		height: 16vw;
        font-size: 4.8vw;
        margin-bottom: 1.33vw;
	}
	#access .tel-wrap .web a::before{
        width: 5.6vw;
        height: 4.8vw;
        left: 5.33vw;
	}
	#access .tel a {
        margin-top: 4vw;
	}
	#access .info p {
        font-size: 4.27vw;
	}
	#access .info .note {
        display: flex;
        align-items: baseline;
        margin-top: 1.33vw;
        font-size: 3.43vw;
	}
	#access .info .note p{
		font-size: 3.43vw;
	}
	#access .info .note span {
		margin-right: 1.33vw;
	}
}


/*------------------------
施術例
------------------------*/
#example {
	background: var(--bg_yellow);
}
#example .block .img-wrap .before,
#example .block .img-wrap .after{
	font-weight: bold;
	line-height: 1;
	position: absolute;
}
#example .block .name {
	line-height: 1.313;
	font-weight: bold;
}
/* -----PC----- */
@media screen and (min-width:768px) {
	#example {
		border-radius: 0 100px 0 100px;
		overflow: hidden;
		margin-bottom: 60px;
	}
	#example .block-wrap{
		display: flex;
	}
	#example .block {
		width: 380px;
		margin-right: 30px;
	}
	#example .block:last-child{
		margin-right: 0;
	}
	#example .block .img-wrap {
		position: relative;
		margin-bottom: 1.33vw;
	}
	#example .block .img-wrap .image {
		height: 310px;
	}
	#example .block .img-wrap .image img{
		object-fit: contain;
	}
	#example .block .img-wrap .before,
	#example .block .img-wrap .after{
		font-size: 20px;
		bottom: 20px;
		left: 64px;
		text-shadow: rgb(255, 255, 255) 1px 0px 0px, rgb(255, 255, 255) 0.540302px 0.841471px 0px, rgb(255, 255, 255) -0.416147px 0.909297px 0px, rgb(255, 255, 255) -0.989992px 0.14112px 0px, rgb(255, 255, 255) -0.653644px -0.756802px 0px, rgb(255, 255, 255) 0.283662px -0.958924px 0px, rgb(255, 255, 255) 0.96017px -0.279415px 0px;
	}
	#example .block .img-wrap .after {
		left: auto;
		right: 66px;
	}
	#example .block .name {
		font-size: 20px;
	}
}
/* -----SP----- */
@media screen and (max-width:767px) {
	#example {
		border-radius: 0 50px 0 0;
		overflow: hidden;
		margin-bottom: 8vw;
	}
	#example .block-wrap{
		position: relative;
		margin-right: -4vw;
		margin-bottom: 2.67vw;
	}
	#example .block-wrap .slick-track{
		display: flex;
	}
	#example .block {
		width: 69.33vw;
		margin-bottom: 2.67vw;
		margin-right: 4vw;
	}
	#example .block .img-wrap {
		position: relative;
		margin-bottom: 1.33vw;
	}
	#example .block .img-wrap .image {
		height: 56vw;
	}
	#example .block .img-wrap .image img{
		object-fit: contain;
	}
	#example .block .img-wrap .before,
	#example .block .img-wrap .after{
		font-size: 4.27vw;
		bottom: 4vw;
		left: 4vw;
		text-shadow: rgb(255, 255, 255) 1px 0px 0px, rgb(255, 255, 255) 0.540302px 0.841471px 0px, rgb(255, 255, 255) -0.416147px 0.909297px 0px, rgb(255, 255, 255) -0.989992px 0.14112px 0px, rgb(255, 255, 255) -0.653644px -0.756802px 0px, rgb(255, 255, 255) 0.283662px -0.958924px 0px, rgb(255, 255, 255) 0.96017px -0.279415px 0px;
	}
	#example .block .img-wrap .after {
		left: auto;
		right: 4vw;
	}
	#example .block .name {
		font-size: 4.27vw;
	}
}

/*------------------------
利用者の声
------------------------*/
#voice {
	background: var(--bg_blue);
}
#voice .block {
	background: #fff;
	border: 2px solid var(--main_blue);
	border-radius: 10px;
}
#voice .block .flex .image img {
	object-fit: cover;
	border-radius: 8px;
}
#voice .block .flex .name {
	flex: 1;
	font-weight: bold;
	letter-spacing: 0.05em;
}
#voice .block .flex {
	display: flex;
	align-items: center;
}
#voice .block .ttl{
	font-weight: bold;
	color: var(--main_blue);
	line-height: 1.313;
}
#voice .block .textarea {
	font-weight: 500;
	letter-spacing: 0;
}
/* -----PC----- */
@media screen and (min-width:768px) {
	#voice {
		border-radius: 0 100px 0 100px;
	}
	#voice h2::after{
		background: var(--main_blue);
	}
	#voice .block-wrap{
		position: relative;
		display: flex;
	}
	#voice .block {
		width: 380px;
		margin-right: 30px;
		padding: 22px;
	}
	#voice .block:last-child{
		margin-right: 0;
	}
	#voice .block .flex {
		margin-bottom: 12px;
	}
	#voice .block .flex .image {
		width: 100px;
		height: 100px;
		margin-right: 15px;
	}
	#voice .block .flex .name {
		font-size: 22px;
	}
	#voice .block .ttl{
		font-size: 20px;
		margin-bottom: 10px;
	}
	#voice .block .textarea {
		font-size: 16px;
        line-height: 1.556;
	}
}
/* -----SP----- */
@media screen and (max-width:767px) {
	#voice {
		border-radius: 50px 0 0 0;
		overflow: hidden;
	}
	#voice h2 span{
		border-bottom: 3px solid var(--main_blue);
	}
	#voice .block-wrap{
		position: relative;
		margin-right: -4vw;
		margin-bottom: 2.67vw;
	}
	#voice .block-wrap .slick-track{
		display: flex;
	}
	#voice .block {
		width: 69.33vw;
		height: auto;
		margin-bottom: 2.67vw;
		margin-right: 4vw;
		padding: 4vw;
	}
	#voice .block .flex {
		margin-bottom: 2.67vw;
	}
	#voice .block .flex .image {
		width: 21.33vw;
		height: 21.33vw;
		margin-right: 3.33vw;
	}
	#voice .block .flex .name {
        font-size: 4.8vw;
	}
	#voice .block .ttl{
		font-size: 4.27vw;
		margin-bottom: 1.33vw;
	}
	#voice .block .textarea {
		font-size: 3.43vw;
	}
	#voice .slick-dots li button:before{
		background: var(--main_blue);
	}
}

/*------------------------
施術までの流れ
------------------------*/
#flow .step {
	background: #f0f9fc;
	border: 2px dotted var(--sub_blue);
}
#flow .step .ttl {
	font-weight: bold;
	line-height: 1;
}
#flow .step .ttl span {
	color: var(--sub_blue);
}
#flow .step .min,
#flow .step .txt {
	font-weight: 500;
}
#flow .step.num03{
	display: flex;
	justify-content: space-between;
}
#flow .step .txt-wrap {
	flex: 1;
}
#flow .step .image img {
	object-fit: cover;
	border-radius: 8px;
}
#flow .step:not(:last-child)::after{
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	border-radius: 5px;
}
	#flow .step .web a{
        background: var(--sub_blue);
        color: #fff;
        width: 100%;
	}
#flow .step .web a::before{
	content: "";
	background: url(/img/icon_mail_w.png) no-repeat;
	background-size: contain;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
}
/* -----PC----- */
@media screen and (min-width:768px) {
	#flow h2::after{
		background: var(--sub_blue);
	}
	#flow .flow-wrap{
		display: flex;
	}
	#flow .step {
		border-radius: 12px;
		padding: 22px;
		width: 380px;
		position: relative;
	}
	#flow .step:not(:last-child){
		margin-right: 30px;
	}
	#flow .step:not(:last-child)::after{
		border-color: transparent transparent transparent var(--sub_blue);
		border-width: 11.5px 0px 11.5px 12px;
		top: 0;
		bottom: 0;
		right: -24px;
		left: auto;
	}
	#flow .step .ttl {
		font-size: 22px;
		margin-bottom: 15px;
	}
	#flow .step .web a{
        margin-bottom: 10px;
        font-size: 18px;
	}
	#flow .step .web a::before{
        width: 24px;
        height: 20px;
        left: 24px;
	}

	#flow .step .min {
		font-size: 17px;
		line-height: 1.529;
	}
	#flow .step .txt {
		font-size: 17px;
		line-height: 1.529;
	}
	#flow .step .image {
		width: 90px;
		height: 90px;
		margin-left: 10px;
		margin-top: 40px;
	}
}
/* -----SP----- */
@media screen and (max-width:767px) {
	
	#flow h2 span{
		border-bottom: 3px solid var(--sub_blue);
	}
	#flow .step {
		border-radius: 10px;
		padding: 4vw;
	}
	#flow .step:not(:last-child){
		margin-bottom: 10vw;
		position: relative;
	}
	#flow .step:not(:last-child)::after{
		border-color: var(--sub_blue) transparent transparent transparent;
		border-width: 4.53vw 4.67vw 0px 4.67vw;
		bottom: -28px;
	}
	#flow .step .ttl {
		font-size: 4.8vw;
		margin-bottom: 3.33vw;
	}
	#flow .step .web a{
		margin-bottom: 2.67vw;
	}
	#flow .step .web a::before{
		width: 5.6vw;
        height: 4.8vw;
        left: 5.33vw;
	}
	#flow .step .min {
		font-size: 3.73vw;
		line-height: 1.357;
	}
	#flow .step .txt {
		font-size: 4vw;
		line-height: 1.467;
	}
	#flow .step .image {
		width: 25.33vw;
		height: 25.33vw;
		margin-left: 2.67vw;
	}
}

/*------------------------
料金表
------------------------*/
#price{
	background: var(--bg_yellow);
}
	#price .cont {
		background: #fff;
	}
	#price .cont h3 {
		background: var(--orange);
		color: #fff;
		text-align: center;
		line-height: 1;
	}
	#price .box .ttl {
		background: var(--bg_yellow);
		text-align: center;
		color: var(--orange);
		font-weight: bold;
		line-height: 1;
	}
	#price .box .txt-wrap .menu {
		line-height: 1;
		font-weight: bold;
	}
	#price .box .txt {
		line-height: 1.4;
		font-weight: 500;
	}
	#price .box .txt-wrap .min {
		line-height: 1.308;
		display: flex;
	}
	#price .price {
		font-weight: bold;
		line-height: 1;
		text-align: right;
	}
	#price .price span {
		color: #d80e0e;
		line-height: 1;
	}
	#price .box .txt-wrap .come {
		background: #f1f1f1;
		line-height: 1.357;
		font-weight: 500;
	}
	#price .box.option .item .menu {
		font-weight: bold;
		line-height: 1;
	}
/* -----PC----- */
@media screen and (min-width:768px) {
	#price{
		border-radius: 0 100px 0 100px;
	}
	#price .cont {
		width: 840px;
		margin: 0 auto 40px;
		padding-bottom: 10px;
		position: relative;
	}
	#price .cont.num01::before{
		content: "";
		width: 100px;
		height: 110px;
		background: url(/img/price_onigiri01.svg) no-repeat;
		background-size: contain;
		position: absolute;
		top: -30px;
		left: 25px;
	}
	#price .cont.num02::before{
		content: "";
		width: 100px;
		height: 138px;
		background: url(/img/price_onigiri02.svg) no-repeat;
		background-size: contain;
		position: absolute;
		top: -51px;
		right: 55px;
		transform: rotate(-10deg);
	}
	#price .cont h3 {
		font-size: 24px;
		padding: 13px;
	}
	#price .box {
		border: 2px solid var(--orange);
		margin: 30px;
	}
	#price .box .ttl {
		font-size: 20px;
		padding: 12px;
	}
	#price .box .txt-wrap {
		padding: 38px;
		position: relative;
	}
	#price .box .txt-wrap .menu {
		font-size: 26px;
		margin-bottom: 15px;
	}
	#price .box .txt-wrap .menu span{
		font-size: 18px;
		margin-left: 10px;
	}
	#price .box .txt-wrap .txt {
		font-size: 18px;
		margin-bottom: 10px;
	}
	#price .box .txt-wrap .min {
		font-size: 15px;
		margin-bottom: 15px;
	}
	#price .box .txt-wrap .min span{
		margin-right: 8px;
	}
	#price .price {
		font-size: 16px;
		text-align: right;
		position: absolute;
		top: 30px;
		right: 30px;
	}
	#price .price span {
		font-size: 34px;
		line-height: 1.4;
	}
	#price .box .txt-wrap .come {
		padding: 15px 20px;
		font-size: 17px;
	}
	#price .box.option .item {
		margin: 28px 28px 0;
		padding-bottom: 28px;
		border-bottom: 2px solid var(--orange);
		position: relative;
	}
	#price .box.option .item:last-child{
		border-bottom: none;
	}
	#price .box.option .item .menu {
		font-size: 22px;
		margin-bottom: 15px;
	}
	#price .box.option .item .txt{
		width: 520px;
		font-size: 17px;
		margin-bottom: 0;
		text-align: justify;
	}
	#price .box.option .item .price{
		top: 0;
	}

	/* 出張 */
	#price .cont.trip{
		padding: 0;
		margin: 0 auto;
	}
	#price .cont.trip .price{
		text-align: left;
		position: unset;
		padding: 15px 30px 5px;
	}
	#price .cont.trip .txt{
		font-size: 18px;
		line-height: 1.4;
		padding: 0 28px 5px;
		font-weight: 500;
	}
	#price .cont.trip .min{
		font-size: 16px;
		padding: 0 28px 28px;
		display: flex;
	}
}
/* -----SP----- */
@media screen and (max-width:767px) {
	#price{
		border-radius: 0 50px 0 0;
	}
	#price .cont {
		margin: 0 -4vw;
		padding-bottom: 2.67vw;
	}
	#price .cont h3 {
		font-size: 5.33vw;
		padding: 4vw;
	}
	#price .box {
		border: 1px solid var(--orange);
		margin: 4vw;
	}
	#price .box .ttl {
		font-size: 4.64vw;
		padding: 2.67vw;
	}
	#price .box .txt-wrap {
		padding: 4vw;
	}
	#price .box .txt-wrap .menu {
		font-size: 6.4vw;
		margin-bottom: 2.67vw;
	}
	#price .box .txt-wrap .menu span{
		font-size: 4vw;
		margin-left: 2.67vw;
	}
	#price .box .txt {
		font-size: 4vw;
		margin-bottom: 1.33vw;
	}
	#price .box .txt-wrap .min {
		font-size: 3.43vw;
		margin-bottom: 3.33vw;
	}
	#price .box .txt-wrap .min span{
		margin-right: 1.33vw;
	}
	#price .price {
		font-size: 4vw;
		margin-bottom: 3.33vw;
	}
	#price .price span {
		font-size: 8vw;
	}
	#price .box .txt-wrap .come {
		padding: 4vw;
		font-size: 3.73vw;
	}
	#price .box.option .item {
		margin: 4vw 4vw 0;
		padding-bottom: 4vw;
		border-bottom: 1px solid var(--orange);
	}
	#price .box.option .item:last-child{
		border-bottom: none;
	}
	#price .box.option .item .menu {
		font-size: 5.33vw;
		margin-bottom: 2.67vw;
	}

	/* 出張 */
	#price .cont.trip{
		margin: 5.33vw 0 0;
		padding: 0;
	}
	#price .cont.trip .price{
		text-align: left;
		padding: 4vw 4vw 0;
	}
	#price .cont.trip .txt{
		font-size: 4vw;
		line-height: 1.4;
		padding: 0 4vw 2.67vw;
		font-weight: 500;
	}
	#price .cont.trip .min{
		font-size: 3.43vw;
		padding: 0 4vw 4vw;
		line-height: 1.308;
		display: flex;
	}
}

/*------------------------
ご予約・ご相談
------------------------*/
#contact .inner{
	position: relative;
}
#contact .inner::before{
	content: "";
	background: url(/img/b_contact_onigiri01.svg) no-repeat;
	background-size: contain;
	position: absolute;
}
#contact .inner::after{
	content: "";
	background: url(/img/b_contact_onigiri02.svg) no-repeat;
	background-size: contain;
	position: absolute;
}
#contact h2 {
	letter-spacing: 0;
	line-height: 1;
	text-align: center;
	color: var(--sub_blue);
}
#contact .sub {
	font-weight: 500;
	line-height: 1.2;
	text-align: center;
}
#contact .btn-wrap .btn.web a{
	background: var(--sub_blue);
}
#contact .btn-wrap .btn a {
	color: #fff;
	position: relative;
}
#contact .btn-wrap .btn.web a::before{
	content: "";
	background: url(/img/icon_mail_w.png) no-repeat;
	background-size: contain;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
}
#contact .info p {
	line-height: 1.3;
	font-weight: 500;
}
#contact .info .note p {
	letter-spacing: -0.03em;
	flex: 1;
}
/* -----PC----- */
@media screen and (min-width:768px) {
	#contact {
		padding: 60px 0 100px;
	}
	#contact .inner {
		padding: 50px 50px 60px;
		border: 2px dotted var(--sub_blue);
		border-radius: 20px;
		width: 1000px;
	}
	#contact .inner::before{
		width: 95px;
		height: 86px;
		left: 150px;
		top: 60px;
	}
	#contact .inner::after{
		width: 100px;
		height: 90px;
		right: 150px;
		top: 60px;
	}
	#contact h2 {
		font-size: 32px;
		line-height: 1;
		padding-bottom: 25px;
		margin-bottom: 30px;
		position: relative;
	}
	#contact h2::after{
		content: "";
		width: 60px;
		height: 6px;
		background: var(--sub_blue);
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		border-radius: 3px;
	}
	#contact .sub {
		font-size: 22px;
		margin-bottom: 30px;
		font-weight: bold;
	}
	#contact .btn-wrap{
		display: flex;
		justify-content: center;
	}
	#contact .btn-wrap .btn.web a{
        font-size: 24px;
        margin-right: 60px;
        width: 400px;
        height: 70px;
        margin-bottom: 10px;
	}
	#contact .btn-wrap .btn.web a::before{
		width: 32px;
        height: 26px;
        left: 30px;
	}
	#contact .tel a {
        font-size: 28px;
        margin-bottom: 10px;
	}
	#contact .tel a::before{
        background: url(/img/icon_tel_o.png) no-repeat;
        background-size: contain;
        width: 14px;
        height: 20px;
	}
	#contact .info p {
		font-size: 18px;
		display: inline-block;
		margin-right: 15px;
	}
	#contact .note {
		display: flex;
        align-items: baseline;
        margin-top: 8px;
	}
	#contact .note span {
        margin-right: 8px;
        font-size: 14px;
	}
	#contact .note p{
        font-size: 14px;
        line-height: 1.4;
	}
}

/* -----SP----- */
@media screen and (max-width:767px) {
	#contact {
		padding: 9.33vw 0 10.67vw;
	}
	#contact .inner {
		padding: 8vw 4vw 6vw;
		border: 2px dotted var(--sub_blue);
		border-radius: 10px;
	}
	#contact .inner::before{
		width: 15.6vw;
		height: 14.13vw;
		left: 4vw;
		top: 6vw;
	}
	#contact .inner::after{
		width: 16.53vw;
		height: 14.67vw;
		right: 4vw;
		top: 6vw;
	}
	#contact h2 {
		font-size: 6.13vw;
		margin-bottom: 4vw;
	}
	#contact .sub {
		font-size: 4.27vw;
		margin-bottom: 4vw;
	}
	#contact .btn-wrap .btn{
		margin-bottom: 2.67vw;
	}
	#contact .btn-wrap .btn.web a{
		font-size: 5.87vw;
		height: 16vw;
	}
	#contact .btn-wrap .btn.web a::before{
		width: 6.67vw;
		height: 6.67vw;
		left: 4vw;
	}
	#contact .tel a {
        margin-bottom: 2.67vw;
        margin-top: 4vw;
	}
	#contact .info p {
		font-size: 4vw;
	}
	#contact .note {
		display: flex;
        font-size: 3.43vw;
        line-height: 1.4;
	}
	#contact .note span {
		margin-right: 1.33vw;
	}
}

/*------------------------

------------------------*/

/* -----PC----- */
@media screen and (min-width:768px) {
}
/* -----SP----- */
@media screen and (max-width:767px) {
}
