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


/* ---------------------------------------
  基本情報
-----------------------------------------*/
html {
	font-size: 62.5%;
	overflow-y: scroll;
}

@media screen and (max-width: 767px) {
	html {
		font-size: calc(100vw * 10 / 750);
	}
}

*,
*:after,
*:before {
	box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
address,
time,
ul,
ol,
li,
dl,
dt,
dd,
table,
th,
td,
img,
figure,
figcaption,
form,
input,
button,
textarea,
select {
	margin: 0;
	padding: 0;
	border: none;
	line-height: 100%;
	list-style-type: none;
	font-style: normal;
	font-weight: 500;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	word-wrap: break-word;
	overflow-wrap: break-word;
	-webkit-text-size-adjust: 100%;
}

input,
button,
textarea,
select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	border-radius: 0;
	resize: none;
	outline: none;
	background: none;
}

select::-ms-expand {
	display: none;
}

button:hover {
	cursor: pointer;
}

img,
object {
	vertical-align: bottom;
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
	text-decoration: none;
}

@media screen and (max-width: 767px) {
	img {
		width: 100%;
	}
}


/* responsive
--------------------------------*/

@media screen and (min-width: 768px) {
	.sp {
		display: none !important;
	}
}

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


/* base
--------------------------------*/

body {
	color: #5c4837;
	font-size: 1.0rem;
	text-align: left;
	min-width: 1180px;
}

main {
	display: block;
	overflow: hidden;
	padding-top: 100px;
}

section {
	position: relative;
}

.wrap {
	width: 1100px;
	margin: 0 auto;
	position: relative;
}

p,
th,
td,
dt,
dd,
li,
input,
button,
textarea {
	font-size: 1.5rem;
	line-height: 2.2;
	/* letter-spacing: 0.1em; */
	letter-spacing: 0.06em;
	transform: rotate(0.03deg);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	line-height: 1.5;
	letter-spacing: 0.1em;
	transform: rotate(0.03deg);
}

.flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.flex.reverse {
	flex-direction: row-reverse;
}

.left {
	float: left;
}

.right {
	float: right;
}

.tal {
	text-align: left;
}

.tar {
	text-align: right;
}

.tac {
	text-align: center;
}

.center {
	display: block;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.bold,
strong {
	font-weight: bold;
	font-weight: 800;
}

.link_txt {
	text-decoration: underline;
}

.fixed {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}


/*font*/
.en {
	font-weight: 900;
	font-family: 'Nunito', sans-serif;
}

@media screen and (min-width: 768px) {
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}

	.fade {
		transition: opacity 0.3s ease;
	}

	.fade:hover {
		opacity: 0.7;
		cursor: pointer;
	}
}

@media screen and (max-width: 767px) {
	body {
		min-width: inherit;
	}

	main {
		padding-top: 60px;
	}

	.wrap {
		width: 84%;
	}

	p,
	th,
	td,
	dt,
	dd,
	li,
	input,
	button,
	textarea {
		font-size: 2.4rem;
		line-height: 2.08;
	}

	.sp_block {
		display: block;
	}
}

/* ---------------------------------------
  scroll-animation
-----------------------------------------*/
.fadeup {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 1s, transform 1s;
}

.fadein {
	opacity: 0;
	transition: opacity 1s;
}

.is-show.fadeup,
.is-show .fadeup {
	opacity: 1;
	transform: translate(0, 0);
}

.onload.is-show .fadein,
.scroll.is-show.fadein,
.scroll.is-show .fadein {
	opacity: 1;
}

.delay1 {
	transition-delay: .5s !important;
}

.delay2 {
	transition-delay: 1s !important;
}

.delay3 {
	transition-delay: 1.5s !important;
}

.delay4 {
	transition-delay: 2s !important;
}

.delay5 {
	transition-delay: 2.5s !important;
}

.delay6 {
	transition-delay: 3s !important;
}

.delay7 {
	transition-delay: 3.5s !important;
}

.delay8 {
	transition-delay: 4s !important;
}

.delay9 {
	transition-delay: 4.5s !important;
}

.delay10 {
	transition-delay: 5s !important;
}

/* ---------------------------------------
  header
-----------------------------------------*/
#header {
	position: fixed;
	left: 0;
	top: 0;
	background-color: #fff;
	width: 100%;
	height: 100px;
	z-index: 100;
}

#header .wrap {
	position: relative;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

#header .logowrap .logo {
	width: 254px;
	line-height: 1;
}

#header nav {
	position: relative;
	max-width: 700px;
	height: 100%;
}

#header nav .menuwrap {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column-reverse;
	justify-content: space-between;
}

#header nav .gnavi {
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

#header nav .gnavi li {
	line-height: 1;
}

#header nav .gnavi li + li {
	border-left: 1px solid #5c4837;
}

#header nav .gnavi li a {
	display: block;
	padding: 0 20px;
	transition: .3s ease;
}

#header nav .contact {
	height: 48px;
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
}

#header nav .contact .tel {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

#header nav .contact .tel .num {
	font-size: 2.6rem;
	line-height: 1;
}

#header nav .contact .tel .num span {
	margin-right: .75em;
}

#header nav .contact .tel .time {
	line-height: 1.333;
	letter-spacing: 0;
	margin-left: 15px;
}

#header nav .contact .btn {
	margin-top: 0;
	margin-left: 15px;
}

#header nav .contact .btn a {
	justify-content: center;
	min-width: inherit;
	min-height: 48px;
	width: 186px;
	font-size: 1.5rem;
	letter-spacing: 0.1em;
	padding: 10px 40px;
	border-radius: 0 0 10px 10px;
}

@media screen and (min-width: 768px) {
	#header nav .gnavi li a:hover {
		color: #8f7e6e;
	}
}

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

	#header .wrap {
		width: 100%;
	}

	#header .logowrap {
		display: flex;
		align-items: center;
	}

	#header .logowrap .logo {
		width: 157px;
		line-height: 1;
		margin-left: 3rem;
	}

	#header .menu-trigger {
		display: block;
		width: 60px;
		height: 47px;
		background-color: #55af47;
		border-radius: 8px 0 0 8px;
		text-align: center;
		position: absolute;
		right: 0;
		top: 7px;
	}

	#header .menu-trigger span {
		display: inline-block;
		position: absolute;
		left: 0;
		right: 0;
		margin: 0 auto;
		width: 30px;
		height: 2px;
		background-color: #fff;
		border-radius: 1px;
		transition: all .4s;
	}

	#header .menu-trigger span:nth-of-type(1) {
		top: 14px;
	}

	#header .menu-trigger span:nth-of-type(2) {
		top: 23px;
	}

	#header .menu-trigger span:nth-of-type(3) {
		top: 32px;
	}

	#header.navOpen .menu-trigger span:nth-of-type(1) {
		top: 23px;
		transform: rotate(-33deg);
	}

	#header.navOpen .menu-trigger span:nth-of-type(2) {
		opacity: 0;
	}

	#header.navOpen .menu-trigger span:nth-of-type(3) {
		top: 23px;
		transform: rotate(33deg);
	}

	#header nav {
		display: none;
		position: fixed;
		top: 60px;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: -1;
		width: 100%;
		height: calc(100% - 60px);
		max-height: 100%;
		background-color: #fffbef;
		padding: 0;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	#header nav .menuwrap {
		display: block;
		width: 100%;
		height: auto;
		padding: 5rem 6rem 10rem;
	}

	#header nav .gnavi {
		display: block;
	}

	#header nav .gnavi li {
		font-size: 3.6rem;
		border-bottom: 1px solid #5c4837;
	}

	#header nav .gnavi li + li {
		border-left: none;
	}

	#header nav .gnavi li a {
		position: relative;
		padding: 4.1rem 10rem 4.1rem 0;
	}

	#header nav .gnavi li a::before {
		content: "";
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 1.2rem 0 1.2rem 2rem;
		border-color: transparent transparent transparent #5c4837;
		position: absolute;
		right: 4rem;
		top: 50%;
		transform: translateY(-50%);
	}

	#header nav .contact {
		height: auto;
		display: block;
		padding: 7rem 0 7.5rem;
		border-bottom: 1px solid #5c4837;
	}

	#header nav .contact .tel {
		display: block;
		margin: 0 -2rem;
	}

	#header nav .contact .tel .num {
		text-align: center;
		font-size: 6.6rem;
		letter-spacing: 0.05em;
	}

	#header nav .contact .tel .num span {
		margin-right: .5em;
	}

	#header nav .contact .tel .time {
		text-align: center;
		font-size: 2.38rem;
		margin-left: 0;
		margin-top: .5em;
	}

	#header nav .contact .btn {
		text-align: center;
		margin-top: 4rem;
		margin-left: 0;
	}

	#header nav .contact .btn a {
		min-height: 8.3rem;
		width: 49rem;
		font-size: 3.6rem;
		padding: 1rem 17rem 1rem 4rem;
		border-radius: 1.3rem;
	}

	#header nav .contact .btn a::before {
		content: "";
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 1rem 0 1rem 1.8rem;
		border-color: transparent transparent transparent #fff;
		position: absolute;
		right: 4rem;
		top: 50%;
		transform: translateY(-50%);
	}

	#header nav .closebtn {
		position: relative;
		text-align: center;
		margin-top: 8rem;
	}

	#header nav .closebtn span {
		display: inline-block;
		position: relative;
		font-size: 3.6rem;
		padding-right: 6.6rem;
	}

	#header nav .closebtn span::before,
	#header nav .closebtn span::after {
		content: "";
		width: 4.5rem;
		height: .4rem;
		background-color: #5c4837;
		position: absolute;
		right: 0;
		top: 50%;
		margin-top: -.27vw;
		transition: .3s ease;
	}

	#header nav .closebtn span::before {
		transform: rotate(33deg);
	}

	#header nav .closebtn span::after {
		transform: rotate(-33deg);
	}
}

/* ---------------------------------------
  main common
-----------------------------------------*/
/*bg*/
.bg {
	background-color: #fff8c9;
}

/*btn*/
.btn {
	margin-top: 30px;
}

.btn a {
	position: relative;
	display: inline-flex;
	align-items: center;
	text-align: left;
	min-height: 60px;
	color: #fff;
	font-weight: 800;
	font-size: 1.7rem;
	line-height: 1.7;
	letter-spacing: 0.075em;
	padding: 10px 90px 10px 30px;
	background-color: #55af47;
	border-radius: 10px;
	transform: rotate(0.03deg);
	transition: .3s ease;
}

.btn.pdf a {
	letter-spacing: 0.05em;
}

.btn.pdf a::before {
	content: "";
	width: 32px;
	height: 30px;
	background: url(../img/ico_pdf.svg) no-repeat center / 100% auto;
	position: absolute;
	right: 22px;
	top: 50%;
	transform: translateY(-50%);
}

.btn.link a::before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 13px 7px 0 7px;
	border-color: #fff transparent transparent transparent;
	position: absolute;
	right: 30px;
	top: 50%;
	transform: translateY(-50%);
}

.btn_wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.btn_wrap .btn {
	width: 32%;
	margin-top: 50px;
}

.btn_wrap .btn p {
	font-size: 1.7rem;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 20px;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}

.btn_wrap .btn a {
	width: 100%;
	justify-content: flex-end;
    padding-right: 100px;
}

@media screen and (min-width: 768px) {
	.btn_wrap .btn p {
		height: 2em;
		align-items: center;
	}
}

@media screen and (max-width: 767px) {
	.btn_wrap {
		padding-top: 4vw;
	}
	.btn_wrap .btn {
		width: 100%;
		margin-top: 4vw;
	}

	.btn_wrap .btn p {
		font-size: 2.4rem;
		margin-bottom: 2vw;
	}
}

/*section*/
section {
	padding: 120px 0;
}

/*secttl*/
.ttlwrap {
	text-align: center;
	margin-bottom: 80px;
}

.secttl {
	display: inline-block;
	position: relative;
	min-height: 70px;
	font-weight: 800;
	font-size: 2.2rem;
	padding: 13px 45px 12px;
}

.secttl span {
	font-size: 3rem;
}

.secttl::before,
.secttl::after {
	content: "";
	width: 10px;
	height: 100%;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	background-position: center;
	position: absolute;
	top: 0;
}

.secttl::before {
	left: -9px;
}

.secttl::after {
	right: -9px;
	transform: scale(-1, 1);
}

.ttlwrap .lead {
	width: 780px;
	font-weight: 800;
	font-size: 1.7rem;
	line-height: 1.88;
	letter-spacing: 0.05em;
	margin: 0 auto;
}

.ttlwrap .secttl + .lead {
	margin-top: 50px;
}

.ttlwrap .lead + .txt {
	margin-top: 25px;
}

/*block*/
section .block {
	padding: 0 0 90px;
	border-bottom: 1px solid #5c4837;
	margin-top: 80px;
}

section .block:last-child {
	padding-bottom: 0;
	border: none;
}

section .block .blockttl {
	text-align: center;
	font-weight: 800;
	font-size: 3rem;
	margin-bottom: 50px;
}

section .block .blockttl .ls{
	margin: 0 -.25em;
}

section .block .blockttl>span {
	display: inline-block;
	position: relative;
	padding: 0 40px;
}

section .block .blockttl>span::before,
section .block .blockttl>span::after {
	content: "";
	width: 30px;
	height: 30px;
	background: url(../img/blockttl_ico.png) no-repeat center / 100% auto;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

section .block .blockttl>span::before {
	left: 0;
}

section .block .blockttl>span::after {
	right: 0;
}

@media screen and (min-width: 768px) {
	.btn a:hover {
		background-color: #126234;
	}
}

@media screen and (max-width: 767px) {
	.btn {
		margin-top: 3rem;
	}

	.btn a {
		min-height: inherit;
		font-size: 2.7rem;
		padding: 1.85rem 17rem 1.85rem 4rem;
		border-radius: 1.3rem;
	}

	.btn.pdf a::before {
		width: 5.7rem;
		height: 5.3rem;
		right: 5rem;
	}

	.btn.link a::before {
		border-width: 1.8rem 1rem 0 1rem;
		right: 4rem;
	}

	/*section*/
	section {
		padding: 10rem 0;
	}

	/*secttl*/
	.ttlwrap {
		margin-bottom: 7rem;
	}

	.secttl {
		min-height: 7.7rem;
		font-size: 2.4rem;
		padding: 1.37rem 5.5rem;
	}

	.secttl span {
		font-size: 3.3rem;
	}

	.secttl::before,
	.secttl::after {
		width: 1.1rem;
	}

	.secttl::before {
		left: -1.05rem;
	}

	.secttl::after {
		right: -1.05rem;
	}

	.ttlwrap .lead {
		width: 100%;
		text-align: left;
		font-size: 2.7rem;
	}

	.ttlwrap .secttl + .lead {
		letter-spacing: 0.05em;
		margin-top: 5rem;
	}

	.ttlwrap .lead + .txt {
		text-align: left;
		letter-spacing: 0.05em;
		margin-top: 2rem;
	}

	/*block*/
	section .block {
		padding: 0 0 7rem;
		margin-top: 7rem;
	}

	section .block .blockttl {
		font-size: 4.2rem;
		margin-bottom: 7rem;
	}

	section .block .blockttl>span {
		padding: 0 6rem;
	}

	section .block .blockttl>span::before,
	section .block .blockttl>span::after {
		width: 4.2rem;
		height: 4.2rem;
	}
}



/* mv
--------------------------------*/
#sec_mv {
	height: 550px;
	padding: 60px 0;
	background: url(../img/mv_pc.png) no-repeat center / 2032px auto;
	background-color: #fffbef;
}

#sec_mv .wrap {
	width: 920px;
}

#sec_mv .ttl {
	text-align: center;
	font-weight: 800;
	font-size: 2.2rem;
	line-height: 1.63;
}

#sec_mv .ttl span {
	font-size: 3rem;
	margin: 0 -.4em;
}

#sec_mv .logo {
	width: 216px;
	margin: 15px auto 0;
}

#sec_mv .txtwrap {
	display: flex;
	position: absolute;
	right: 0;
	bottom: 5px;
}

#sec_mv .txtwrap .item {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 143px;
	height: 143px;
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: center;
}

#sec_mv .txtwrap .item + .item {
	margin-left: 18px;
}

#sec_mv .txtwrap .item._01 {
	background-image: url(../img/mv_txt_bg01.png);
}

#sec_mv .txtwrap .item._02 {
	background-image: url(../img/mv_txt_bg02.png);
}

#sec_mv .txtwrap .item .txt,
#sec_mv .txtwrap .item .txt * {
	text-align: center;
	color: #fff;
	font-weight: 800;
	font-size: 1.7rem;
}

#sec_mv .txtwrap .item._01 .txt {
	line-height: 1.2;
}

#sec_mv .txtwrap .item._01 .txt .en {
	font-size: 2.6rem;
}

#sec_mv .txtwrap .item._02 .txt dt {}

#sec_mv .txtwrap .item._02 .txt dd {
	font-size: 1.2rem;
	line-height: 1.6;
}

@media screen and (max-width: 767px) {
	#sec_mv {
		height: 98rem;
		padding: 5.3rem 0 4rem;
		background: url(../img/mv_sp.png) no-repeat center / 100% auto;
	}

	#sec_mv .wrap {
		width: 100%;
	}

	#sec_mv .ttl {
		font-size: 3rem;
		line-height: 1.63;
	}

	#sec_mv .ttl span {
		font-size: 4.1rem;
	}

	#sec_mv .logo {
		width: 33.5rem;
		margin: 3rem auto 0;
	}

	#sec_mv .txtwrap {
		position: static;
		width: 44.5rem;
		margin: 4.5rem auto 0;
	}

	#sec_mv .txtwrap .item {
		width: 21rem;
		height: 21rem;
	}

	#sec_mv .txtwrap .item + .item {
		margin-left: 2.5rem;
	}

	#sec_mv .txtwrap .item .txt,
	#sec_mv .txtwrap .item .txt * {
		font-size: 2.5rem;
	}

	#sec_mv .txtwrap .item._01 .txt .en {
		font-size: 3.8rem;
	}

	#sec_mv .txtwrap .item._02 .txt dd {
		font-size: 1.76rem;
	}

}



/* ほがらかについて
--------------------------------*/

#sec_about .ttlwrap {
	background: url(../img/about_ttlwrap_bg.png) no-repeat left calc(50% - 11px) bottom 70px / 989px auto;
	padding-bottom: 80px;
	border-bottom: 1px solid #5c4837;
	margin-bottom: 0;
}

#sec_about .secttl {
	background-color: #c1db81;
}

#sec_about .secttl::before,
#sec_about .secttl::after {
	background-image: url(../img/secttl_bg01.png);
}

#sec_about .secttl + .lead {
	margin-top: 70px;
}


#sec_about .feature .list .item {
	width: 356px;
}

#sec_about .feature .list.jc-center {
	justify-content: center;
}

@media screen and (min-width: 768px) {
	#sec_about .feature .list.jc-center .item{
		margin-left: 8px;
		margin-right: 8px;
	}
}

#sec_about .feature .list .item .num {
	position: relative;
	text-align: center;
	font-size: 7.3rem;
	line-height: .8;
	letter-spacing: 0;
	margin-bottom: -.4em;
	z-index: 1;
}

#sec_about .feature .list .item .img {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 256px;
	background-color: #fff;
	border-radius: 14px;
	margin-bottom: 20px;
}

#sec_about .feature .list .item .ttl {
	font-weight: 800;
	font-size: 1.7rem;
	line-height: 1.88;
	margin-bottom: .25em;
}

#sec_about .feature .list .item .txt {
	padding-right: 1em;
	text-align: justify;
}

#sec_about .feature .list .item .btn a {
	width: 100%;
}

#sec_about .feature .box {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 728px;
	padding: 30px 40px;
	background-color: #fffbef;
	border-radius: 14px;
	margin: 60px auto 0;
	box-shadow: 4px 4px 8px rgba(0, 0, 0, .1);
}

#sec_about .feature .box .ttl {
	font-weight: 800;
	font-size: 2.4rem;
}

#sec_about .feature .box .txt {
	width: calc(100% - 165px);
	text-align: justify;
}

#sec_about .vision .logoimg {
	width: 279px;
}

#sec_about .vision .txt {
	width: 728px;
	font-size: 1.7rem;
	line-height: 2.1;
	letter-spacing: 0.05em;
	text-align: justify;
}

#sec_about .vision .logoimg {
	width: 279px;
}

#sec_about .greeting .txt {
	width: 636px;
	font-size: 1.7rem;
	line-height: 2.1;
	letter-spacing: 0.05em;
	text-align: justify;
}

#sec_about .greeting .imgwrap {
	width: 372px;
}

#sec_about .greeting .imgwrap .img img {
	display: block;
	width: 215px;
	margin: 0 auto;
}

#sec_about .greeting .imgwrap .img .name {
	text-align: center;
	font-weight: 800;
	font-size: 1.7rem;
	line-height: 1.5;
	margin-top: .75em;
}

#sec_about .greeting .imgwrap .img .name span {
	font-size: 2.4rem;
	display: inline-block;
	vertical-align: -.1em;
}

#sec_about .greeting .imgwrap .img .name .en {
	display: block;
	color: #c1db81;
	font-weight: 900;
	font-size: 1.6rem;
	line-height: 1.2;
	letter-spacing: 0.09em;
}

#sec_about .greeting .imgwrap .license {
	width: 100%;
	padding: 0 20px 25px;
	background-color: #fffbef;
	border-radius: 14px;
	margin: 60px auto 0;
	box-shadow: 4px 4px 8px rgba(0, 0, 0, .1);
}

#sec_about .greeting .imgwrap .license dt {
	text-align: center;
	font-weight: 800;
	font-size: 2.4rem;
	line-height: 1.5;
	position: relative;
	top: -.75em;
	margin-bottom: -.25em;
}

#sec_about .greeting .imgwrap .license dd {
	line-height: 1.5;
	letter-spacing: 0.025em;
	padding-left: 1em;
	text-indent: -.5em;
}

#sec_about .greeting .imgwrap .license dd + dd {
	margin-top: .75em;
}


@media screen and (max-width: 767px) {
	#sec_about .ttlwrap {
		background: none;
		padding-bottom: 6rem;
	}

	#sec_about .secttl {
		padding-left: 3rem;
		padding-right: 3rem;
		margin-left: -3rem;
		margin-right: -3rem;
	}

	#sec_about .secttl + .lead {
		margin-top: 5.5rem;
	}

	#sec_about .feature .list .item {
		width: 100%;
	}

	#sec_about .feature .list .item .num {
		font-size: 11.6rem;
	}

	#sec_about .feature .list .item + .item {
		margin-top: 5rem;
	}

	#sec_about .feature .list .item .img {
		height: 45.3rem;
		border-radius: 2.4rem;
		margin-bottom: 4rem;
	}

	#sec_about .feature .list .item .ttl {
		font-size: 2.7rem;
		margin-bottom: .25em;
	}

	#sec_about .feature .list .item .txt {
		padding-right: 0;
	}

	#sec_about .feature .list .item .btn {
		text-align: center;
	}

	#sec_about .feature .list .item .btn a {
		width: auto;
		padding: 1.85rem 11rem 1.85rem 4rem;
	}

	#sec_about .feature .box {
		display: block;
		width: 100%;
		padding: 0 3.3rem 5rem;
		border-radius: 2.4rem;
		margin: 10rem auto 0;
		box-shadow: 1rem 1rem 2rem rgba(0, 0, 0, .1);
	}

	#sec_about .feature .box .ttl {
		position: relative;
		text-align: center;
		font-size: 3.6rem;
		top: -.75em;
		margin-bottom: 1rem;
	}

	#sec_about .feature .box .txt {
		width: 100%;
	}

	#sec_about .vision .logoimg {
		width: 39rem;
		margin: 0 auto 6rem;
	}

	#sec_about .vision .txt {
		width: 100%;
		font-size: 2.7rem;
		line-height: 2.08;
	}

	#sec_about .greeting .txt {
		width: 100%;
		font-size: 2.7rem;
		line-height: 2.08;
		letter-spacing: 0;
		letter-spacing: 0;
		margin-top: 5rem;
	}

	#sec_about .greeting .imgwrap {
		width: 100%;
	}

	#sec_about .greeting .imgwrap .img img {
		width: 36.5rem;
	}

	#sec_about .greeting .imgwrap .img .name {
		font-size: 2.7rem;
		line-height: 1.7;
		margin-top: 1em;
	}

	#sec_about .greeting .imgwrap .img .name span {
		font-size: 3.6rem;
	}

	#sec_about .greeting .imgwrap .img .name .en {
		font-size: 2.5rem;
	}

	#sec_about .greeting .imgwrap .license {
		width: 100%;
		padding: 0 3.5rem 5rem;
		border-radius: 2.4rem;
		margin: 9rem auto 0;
		box-shadow: 1rem 1rem 2rem rgba(0, 0, 0, .1);
	}

	#sec_about .greeting .imgwrap .license dt {
		font-size: 3.6rem;
	}

}



/* 訪問看護とは
--------------------------------*/
#sec_houmonkango {
	background: url(../img/houmonkango_bg_pc.png) no-repeat center top / 2064px auto;
}

#sec_houmonkango .ttlwrap {
	margin-bottom: 65px;
}

#sec_houmonkango .secttl {
	background-color: #f8cdcd;
}

#sec_houmonkango .secttl::before,
#sec_houmonkango .secttl::after {
	background-image: url(../img/secttl_bg02.png);
}

#sec_houmonkango .blockwrap + .block_s {
	margin-top: 50px;
}

#sec_houmonkango .blockwrap .block_s {
	width: 542px;
}

#sec_houmonkango .block_s .blockttl {
	font-weight: 800;
	font-size: 2.4rem;
	margin-bottom: .5em;
}

#sec_houmonkango .block_s .blockttl>span {
	display: inline-block;
	position: relative;
	padding-bottom: .2em;
	background: linear-gradient(transparent 52%, rgba(193, 219, 129, .47) 52%);
}

#sec_houmonkango .block_s .img {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 290px;
	background-color: #fffbef;
	border-radius: 14px;
	margin-top: 25px;
}

#sec_houmonkango .block_s .box {
	width: 542px;
	padding: 0 27px 35px;
	background-color: #fffbef;
	border-radius: 14px;
	box-shadow: 4px 4px 8px rgba(0, 0, 0, .1);
	margin-top: 35px;
}

#sec_houmonkango .block_s .box .ttl {
	position: relative;
	text-align: center;
	font-weight: 800;
	font-size: 2.4rem;
	top: -.75em;
}

#sec_houmonkango .block_s .box dl {
	display: flex;
}

#sec_houmonkango .block_s .box dl + dl {
	padding-top: 25px;
	margin-top: 20px;
	background-image: linear-gradient(to right, #5c4837, #5c4837 2px, transparent 2px, transparent 7px);
	background-size: 7px 2px;
	background-repeat: repeat-x;
}

#sec_houmonkango .block_s .box dl dt,
#sec_houmonkango .block_s .box dl dd {
	position: relative;
	font-size: 1.7rem;
	line-height: 1.65;
	letter-spacing: 0.05em;
	display: flex;
	align-items: center;
}

#sec_houmonkango .block_s .box dl dt {
	flex: 0 0 auto;
	max-width: 50%;
	padding-right: 1.75em;
}

#sec_houmonkango .block_s .box dl dd {
	padding-left: 1.75em;
}

#sec_houmonkango .block_s .box dl dd::before {
	content: "";
	width: 1px;
	height: calc(100% - .8em);
	background-color: #5c4837;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

#sec_houmonkango .note {
	line-height: 1.55;
	letter-spacing: 0.06em;
	margin-top: 1.75em;
}

#sec_houmonkango .note + .txt {
	font-size: 1.7rem;
	margin-top: 1em;
}


@media screen and (max-width: 767px) {
	#sec_houmonkango {
		background-image: url(../img/houmonkango_bg01_sp.png), url(../img/houmonkango_bg02_sp.png);
		background-repeat: no-repeat;
		background-size: 100% auto;
		background-position: center top, center bottom;
	}

	#sec_houmonkango .ttlwrap {
		margin-bottom: 6rem;
	}

	#sec_houmonkango .blockwrap + .block_s,
	#sec_houmonkango .block_s + .block_s {
		margin-top: 7rem;
	}

	#sec_houmonkango .blockwrap .block_s {
		width: 100%;
	}

	#sec_houmonkango .block_s .blockttl {
		font-size: 3.6rem;
	}

	#sec_houmonkango .block_s .img {
		height: 33.7rem;
		border-radius: 2.4rem;
		margin-top: 4rem;
	}

	#sec_houmonkango .block_s .box {
		width: 100%;
		padding: 0 3rem 3.8rem;
		border-radius: 2.4rem;
		box-shadow: .5rem .5rem 1rem rgba(0, 0, 0, .1);
		margin-top: 6rem;
	}

	#sec_houmonkango .block_s .box + .box {
		margin-top: 8rem;
	}

	#sec_houmonkango .block_s .box .ttl {
		font-size: 3.6rem;
	}

	#sec_houmonkango .block_s .box dl[data-mh="mhitem1"] {
		min-height: 23rem;
	}

	#sec_houmonkango .block_s .box dl + dl {
		padding-top: 2.5rem;
		margin-top: 2rem;
		background-image: linear-gradient(to right, #5c4837, #5c4837 .2rem, transparent .2rem, transparent .8rem);
		background-size: .8rem .2rem;
	}

	#sec_houmonkango .block_s .box dl dt,
	#sec_houmonkango .block_s .box dl dd {
		font-size: 2.7rem;
	}

	#sec_houmonkango .block_s .box dl dt {
		padding-right: 2rem;
		min-width: 3.5em;
	}

	#sec_houmonkango .block_s .box dl dd {
		letter-spacing: 0.025em;
		padding-left: 3.8rem;
	}


	#sec_houmonkango .note {
		font-size: 2.4rem;
		line-height: 2.08;
		margin-top: 1.5em;
	}

	#sec_houmonkango .note + .txt {
		text-align: left;
		font-size: 2.7rem;
		letter-spacing: -0.03em;
		padding: 0 .5em;
		margin-top: 2em;
	}

}


/* 訪問看護サービス内容
--------------------------------*/

#sec_service .secttl {
	background-color: #f8b616;
}

#sec_service .secttl::before,
#sec_service .secttl::after {
	background-image: url(../img/secttl_bg03.png);
}

#sec_service .list {
	justify-content: flex-start;
}

#sec_service .list .item {
	width: 263px;
}

#sec_service .list .item .img {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 190px;
	background-color: #fff;
	border-radius: 14px;
	margin-bottom: 20px;
}

#sec_service .list .item .img .img {
	width: 100%;
}

#sec_service .list .item .ttl {
	font-weight: 800;
	font-size: 1.7rem;
	line-height: 1.88;
	margin-bottom: .25em;
}

#sec_service .list .item .txt {
	text-align: justify;
	padding-right: .5em;
}

#sec_service #service_private {
	margin: 60px auto 0;
}

#sec_service #service_private .ttl {
	position: relative;
	text-align: center;
	font-weight: 800;
	font-size: 2.4rem;
	margin-bottom: -.75em;
	z-index: 1;
}

#sec_service .box {
	width: 728px;
	padding: 30px 40px 40px;
	background-color: #fffbef;
	border-radius: 14px;
	margin: 0 auto;
	box-shadow: 4px 4px 8px rgba(0, 0, 0, .1);
}


#sec_service .box .flex {
	align-items: flex-start;
}

#sec_service .box .txt {
	width: calc(100% - 314px);
	letter-spacing: 0.05em;
	text-align: justify;
}

#sec_service .box .img {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 263px;
	background-color: #fff;
	border-radius: 14px;
	margin-top: 7px
}

@media screen and (min-width: 768px) {
	#sec_service .list .item + .item:not(:nth-child(4n + 1)) {
		margin-left: 16px;
	}

	#sec_service .list .item:nth-child(n + 5) {
		margin-top: 50px;
	}
}

@media screen and (max-width: 767px) {
	#sec_service .list {
		justify-content: flex-start;
	}

	#sec_service .list .item {
		width: 100%;
	}

	#sec_service .list .item + .item {
		margin-top: 6rem;
	}

	#sec_service .list .item .img {
		width: 35.6rem;
		height: 25.6rem;
		border-radius: 2.4rem;
		margin: 0 auto 4rem;
	}

	#sec_service .list .item .ttl {
		font-size: 2.7rem;
		letter-spacing: 0.02em;
	}

	#sec_service .list .item .txt {
		letter-spacing: 0.075em;
		padding-right: 0;
	}

	#sec_service #service_private {
		margin: 6rem auto 0;
	}

	#sec_service #service_private .ttl {
		font-size: 3.6rem;
		margin-bottom: -2.7rem;
	}

	#sec_service .box {
		width: 100%;
		padding: 8rem 3rem 7rem;
		border-radius: 2.4rem;
		box-shadow: .5rem .5rem 1rem rgba(0, 0, 0, .1);
	}

	#sec_service .box .txt {
		width: 100%;
	}

	#sec_service .box .img {
		width: 35.6rem;
		height: 25.6rem;
		border-radius: 2.4rem;
		margin: 0 auto 4.5rem;
	}

	#sec_service .box .img img {
		width: 80%;
	}

}


/* ご利用料金
--------------------------------*/

#sec_price {
	background-image: url(../img/price_bg01_pc.png), url(../img/price_bg02_pc.png);
	background-repeat: no-repeat;
	background-size: 1284px auto, 1333px auto;
	background-position: left calc(50% - 170px) top -94px, left calc(50% + 30px) bottom -100px;
}

#sec_price .secttl {
	background-color: #ffed7c;
}

#sec_price .secttl::before,
#sec_price .secttl::after {
	background-image: url(../img/secttl_bg04.png);
}

#sec_price .inner {
	align-items: flex-start;
}

#sec_price .box {
	width: 542px;
	padding: 0 45px 40px;
	background-color: #fffbef;
	border-radius: 14px;
	box-shadow: 4px 4px 8px rgba(0, 0, 0, .1);
	margin-top: 35px;
}

#sec_price .box .ttl {
	text-align: center;
	font-weight: 800;
	font-size: 2.4rem;
	position: relative;
	top: -.75em;
}


#sec_price .box .ttl + .txt {
	font-size: 1.7rem;
	line-height: 1.65;
	margin-bottom: .25em;
}

#sec_price .box ol li {
	padding-left: 2em;
	text-indent: -2em;
}

#sec_price .box dl {
	margin-top: 15px;
}

#sec_price .box .btn a {
	width: 100%;
}

@media screen and (max-width: 767px) {
	#sec_price {
		background-image: url(../img/price_bg01_sp.png), url(../img/price_bg02_sp.png);
		background-repeat: no-repeat;
		background-size: 100rem auto, 96.6rem auto;
		background-position: left calc(50% - 8rem) top -15rem, left calc(50% + 2rem) bottom -6.6rem;
	}

	#sec_price .box {
		width: 100%;
		padding: 0 3rem 7rem;
		border-radius: 2.4rem;
		box-shadow: .5rem .5rem 1rem rgba(0, 0, 0, .1);
		margin-top: 2rem;
	}

	#sec_price .box + .box {
		margin-top: 8rem;
	}

	#sec_price .box .ttl {
		font-size: 3.64rem;
		margin-bottom: 1em;
	}


	#sec_price .box .ttl + .txt {
		font-size: 2.7rem;
		letter-spacing: 0.05em;
		margin-bottom: .75em;
	}

	#sec_price .box:first-child .ttl + .txt {
		letter-spacing: -0.075em;
	}

	#sec_price .box dl {
		margin-top: 2rem;
	}

	#sec_price .box dl dd {
		letter-spacing: 0.05em;
	}
}

/* DX情報活用加算について
--------------------------------*/

#sec_dxinfo {
	position: relative;
	padding-top: 85px;
	padding-bottom: 80px;
    margin-top: 88px;
}

#sec_dxinfo::before {
	top: 0;
}

#sec_dxinfo::after {
	bottom: 0;
}

#sec_dxinfo::before,
#sec_dxinfo::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background-image: linear-gradient(to right, #5c4837 2px, transparent 2px);
    background-size: 7px 2px;
	background-repeat: repeat-x;
}

#sec_dxinfo h3 {
	margin-bottom: 43px;
}

#sec_dxinfo h3 span {
	font-size: 2.4rem;
	font-weight: bold;
	letter-spacing: .1em;
}

#sec_dxinfo .ttlwrap {
	margin-bottom: 10px;
}

#sec_dxinfo .inner {
	width: 730px;
	margin: 0 auto;
}

@media screen and (max-width: 767px) {
	#sec_dxinfo h3 {
		margin-bottom: 6vw;
	}
	#sec_dxinfo {
		padding-top: 10vw;
		padding-bottom: 10vw;
		margin-top: 13vw;
	}
	#sec_dxinfo .inner {
		width: 100%;
	}
	#sec_dxinfo h3 span {
		font-size: 2.7rem;
        letter-spacing: 0.02em;
	}
}


/* お問い合わせ
--------------------------------*/

#sec_contact .ttlwrap {
	padding-bottom: 80px;
	border-bottom: 1px solid #5c4837;
	margin-bottom: 0;
}

#sec_contact .secttl {
	background-color: #afdcde;
}

#sec_contact .secttl::before,
#sec_contact .secttl::after {
	background-image: url(../img/secttl_bg05.png);
	background-repeat: repeat-x;
}

#sec_contact .block.contact_tel .logo {
	width: 503px;
	margin: 0 auto;
}

#sec_contact .block.contact_tel .box {
	width: 728px;
	padding: 30px 40px;
	background-color: #fffbef;
	border-radius: 14px;
	margin: 60px auto 0;
	box-shadow: 4px 4px 8px rgba(0, 0, 0, .1);
}


#sec_contact .block.contact_tel .box .num {
	text-align: center;
	font-size: 4.4rem;
	line-height: 1.2;
}

#sec_contact .block.contact_tel .box > div + div {
	margin-top: 15px;
}

#sec_contact .block.contact_tel .box .num span {
	display: inline-block;
	margin-right: .5em;
}

#sec_contact .block.contact_tel .box .time {
	text-align: center;
	letter-spacing: 0.05em;
}

/*contact_mail*/
#sec_contact .contact_mail .note {
	width: 728px;
	margin: 0 auto;
}

#sec_contact .contact_mail .note li {
	letter-spacing: 0.05em;
	text-align: justify;
	padding-left: 1em;
	text-indent: -1em;
}

#sec_contact .form_wrap {
	padding: 45px 77px 80px;
	background-color: #fffbef;
	border-radius: 14px;
	box-shadow: 4px 4px 8px rgba(0, 0, 0, .1);
	margin-top: 50px;
}

#sec_contact .form .box {
	position: relative;
	border-bottom: 1px solid #b1a396;
	padding: 20px 0;
}

#sec_contact .form .box dl {
	display: flex;
	justify-content: space-between;
}

#sec_contact .form .box dl dt,
#sec_contact .form .box dl dd,
#sec_contact .form .box dl dd p,
#sec_contact .form label {
	font-weight: 500;
	font-size: 1.5rem;
	line-height: 1.5;
	letter-spacing: 0.1em;
}

#sec_contact .form .box dl dt {
	font-size: 1.7rem;
	letter-spacing: 0.05em;
	width: 280px;
	margin-top: 18px;
}

#sec_contact .form .box dl dt .must {
	display: inline-block;
	height: 22px;
	color: #fff;
	font-weight: 800;
	font-size: 1.5rem;
	line-height: 22px;
	letter-spacing: 0.1em;
	padding: 0 .6em;
	background-color: #ea4200;
	border-radius: 4px;
	margin-left: .5em;
	vertical-align: .1em;
}

#sec_contact .form .box dl dd {
	width: 666px;
}

#sec_contact .form .box dl.name dd p {
	line-height: 1;
	width: calc(3em + 261px);
	margin-left: 12px;
}

#sec_contact .form .box dl dd.flex {
	justify-content: space-between;
}

#sec_contact .form .box dl dd span.txt {
	display: inline-block;
	min-width: 3em;
}

#sec_contact .form input[type="text"],
#sec_contact .form input[type="email"],
#sec_contact .form input[type="tel"],
#sec_contact .form select,
#sec_contact .form textarea {
	width: 100%;
	height: 60px;
	font-size: 1.5rem;
	line-height: 1.5;
	padding: 1.25em 1em;
	background-color: #fff;
	border-radius: 10px;
	box-shadow: inset 0 0 5px rgba(62, 58, 57, .25);
}

#sec_contact .form input.short {
	width: 261px;
}

::placeholder {
	color: #b1a396;
}

:-ms-input-placeholder {
	color: #b1a396;
}

::-ms-input-placeholder {
	color: #b1a396;
}


/*textarea*/

#sec_contact .form .message textarea {
	height: 220px;
	resize: vertical;
	overflow: auto;
}


/*check*/
#sec_contact .form .checkwrap {
	display: flex;
	flex-wrap: wrap;
	margin-top: 10px;
}

#sec_contact .form .checkwrap .wpcf7-list-item {
	min-width: 40%;
}

#sec_contact .form .checkwrap label {
	position: relative;
}

#sec_contact .form .checkwrap .wpcf7-list-item label {
	letter-spacing: 0;
}

#sec_contact .form input[type=checkbox] {
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	visibility: hidden;
}

#sec_contact .form input[type=checkbox] + span {
	display: inline-block;
	position: relative;
	padding-left: 38px;
	cursor: pointer;
}

#sec_contact .form input[type=checkbox] + span::before {
	content: "";
	width: 18px;
	height: 18px;
	background-color: #fff;
	border-radius: 50%;
	box-shadow: inset 0 0 5px rgba(62, 58, 57, .35);
	position: absolute;
	top: 2px;
	left: 0;
}


#sec_contact .form input[type=checkbox]:checked + span::after {
	content: "";
	width: 10px;
	height: 10px;
	background-color: #55af47;
	border-radius: 50%;
	position: absolute;
	top: 6px;
	left: 4px;
}

/*privacy*/
#sec_contact .form .privacy {
	border: none;
	width: 728px;
	padding: 30px 0 0;
	margin: 0 auto;
}

#sec_contact .form .privacy .txt {
	letter-spacing: 0.03em;
}

#sec_contact .form .privacy .txt a {
	color: #55af47;
	text-decoration: underline;
}

#sec_contact .form .privacy .checkwrap {
	display: block;
	margin: 20px 0 0;
}

#sec_contact .form .privacy input[type=checkbox] + span {
	margin-right: 38px;
}

#sec_contact .form .privacy input[type=checkbox] + span::before {
	border-radius: 4px;
	top: 2px;
	left: 0;
}


#sec_contact .form .privacy input[type=checkbox]:checked + span::after {
	width: 10px;
	height: 6px;
	border-left: 2px solid #55af47;
	border-bottom: 2px solid #55af47;
	transform: rotate(-45deg);
	background-color: transparent;
	border-radius: 0;
	top: 6px;
	left: 4px;
}

/*submitbtn*/
#sec_contact .form .submitbtn {
	width: 356px;
	margin: 40px auto 0;
}

#sec_contact .form .submitbtn input {
	position: relative;
	display: block;
	text-align: center;
	width: 100%;
	color: #fff;
	font-weight: 800;
	font-size: 2.4rem;
	line-height: 1.5;
	letter-spacing: 0.12em;
	padding: .5em 1em;
	background-color: #55af47;
	border-radius: 10px;
	transform: rotate(0.03deg);
	transition: .3s ease;
	cursor: pointer;
}

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

	#sec_contact .form .checkwrap .wpcf7-list-item:nth-child(n + 3) {
		margin-top: 10px;
	}

	#sec_contact .form .submitbtn input:hover {
		background-color: #126234;
	}
}

@media screen and (max-width: 767px) {
	#sec_contact .ttlwrap {
		padding-bottom: 6rem;
	}

	#sec_contact .block.contact_tel .logo {
		width: 100%;
	}

	#sec_contact .block.contact_tel .box {
		width: 100%;
		padding: 5.5rem 4rem;
		border-radius: 2.4rem;
		margin: 7rem auto 0;
		box-shadow: .5rem .5rem 1rem rgba(0, 0, 0, .1);
	}

	#sec_contact .block.contact_tel .box .num {
		white-space: nowrap;
		font-size: 5.2rem;
	}

	#sec_contact .block.contact_tel .box > div + div {
		margin-top: 3rem;
	}

	#sec_contact .block.contact_tel .box .num span {
		margin-right: .3em;
	}

	#sec_contact .block.contact_tel .box .time {
		line-height: 1.5;
	}

	/*contact_mail*/
	#sec_contact .contact_mail .note {
		width: 100%;
	}

	#sec_contact .contact_mail .note li {
		padding-left: 0;
		text-indent: 0;
	}

	#sec_contact .form_wrap {
		padding: 2rem 3rem 7rem;
		border-radius: 2.4rem;
		box-shadow: .5rem .5rem 1rem rgba(0, 0, 0, .1);
		margin-top: 6rem;
	}

	#sec_contact .form .box {
		padding: 5rem 0 6rem;
	}

	#sec_contact .form .box dl {
		display: block;
	}

	#sec_contact .form .box dl dt,
	#sec_contact .form .box dl dd,
	#sec_contact .form .box dl dd p,
	#sec_contact .form label {
		font-size: 2.4rem;
	}

	#sec_contact .form .box dl dt {
		font-size: 2.7rem;
		width: 100%;
		margin-top: 0;
		margin-bottom: 4rem;
	}

	#sec_contact .form .box dl dt .must {
		height: 3.5rem;
		font-size: 2.4rem;
		line-height: 3.5rem;
		border-radius: .6rem;
	}

	#sec_contact .form .box dl dd {
		width: 100%;
	}

	#sec_contact .form .box dl.name dd p {
		width: 100%;
		margin-left: 0;
	}

	#sec_contact .form .box dl.name dd p + p {
		margin-top: 3rem;
	}

	#sec_contact .form .box dl dd span.txt {
		min-width: 9rem;
	}

	#sec_contact .form input[type="text"],
	#sec_contact .form input[type="email"],
	#sec_contact .form input[type="tel"],
	#sec_contact .form select,
	#sec_contact .form textarea {
		height: 11rem;
		font-size: 2.4rem;
		border-radius: 1.8rem;
		box-shadow: inset 0 0 .9rem rgba(62, 58, 57, .25);
	}

	#sec_contact .form input.short {
		width: 48rem;
	}

	/*textarea*/
	#sec_contact .form .message textarea {
		height: 22.3rem;
	}

	/*check*/
	#sec_contact .form .checkwrap {
		display: block;
		margin-top: 0;
	}

	#sec_contact .form .checkwrap .wpcf7-list-item {
		display: block;
		min-width: inherit;
	}

	#sec_contact .form .checkwrap .wpcf7-list-item + .wpcf7-list-item {
		margin-top: 2.4rem;
	}

	#sec_contact .form input[type=checkbox] + span {
		padding-left: 6rem;
	}

	#sec_contact .form input[type=checkbox] + span::before {
		width: 3rem;
		height: 3rem;
		box-shadow: inset 0 0 .9rem rgba(62, 58, 57, .35);
		top: .3rem;
	}


	#sec_contact .form input[type=checkbox]:checked + span::after {
		width: 1.6rem;
		height: 1.6rem;
		top: 1rem;
		left: .7rem;
	}

	/*privacy*/
	#sec_contact .form .privacy {
		width: 100%;
		padding: 5rem 0 0;
	}

	#sec_contact .form .privacy .checkwrap {
		display: block;
		margin: 3rem 0 0;
	}

	#sec_contact .form .privacy input[type=checkbox] + span {
		margin-right: 6rem;
	}

	#sec_contact .form .privacy input[type=checkbox] + span::before {
		border-radius: .6rem;
		top: .3rem;
	}


	#sec_contact .form .privacy input[type=checkbox]:checked + span::after {
		width: 1.8rem;
		height: 1.1rem;
		border-left: .5rem solid #55af47;
		border-bottom: .5rem solid #55af47;
		top: 1rem;
		left: .5rem;
	}

	/*submitbtn*/
	#sec_contact .form .submitbtn {
		width: 49rem;
		margin: 4rem auto 0;
	}

	#sec_contact .form .submitbtn input {
		font-size: 2.7rem;
		padding: .8em 1em;
		border-radius: 1.3rem;
	}

}

 #sec_contact .wpcf7-form.hide_error_message .wpcf7-not-valid-tip {
 	display: none;
 }

 #sec_contact .form .submitbtn input:disabled {
 	cursor: not-allowed;
 }

 #sec_contact .form .submitbtn input:disabled:hover {
 	background-color: #55af47;
 }

 #sec_contact .wpcf7-not-valid-tip {
 	margin-top: 0.5em;
 }

 #sec_contact .checkwrap .wpcf7-not-valid-tip {
 	margin-left: 0.75em;
 }

 #sec_contact .name .wpcf7-not-valid-tip {
 	margin-left: 3em;
 }

 #sec_contact .form .message textarea {
 	display: flex;
 }

 #sec_contact .wpcf7 .wpcf7-response-output {
 	font-size: 2rem;
 	padding: 1em;
 	line-height: 1.8;
 	text-align: center;
 }

 #sec_contact .form .wpcf7-form:not(.submitting) .wpcf7-spinner {
 	display: none;
 }

 #sec_contact .wpcf7-spinner {
 	margin: 5px auto;
 	display: block;
 }

 @media screen and (max-width: 767px) {
 	#sec_contact .name .wpcf7-not-valid-tip {
 		margin-left: 4em;
 	}

 	#sec_contact .wpcf7 .wpcf7-response-output {
 		font-size: 3.4vw;
 	}
 }


/* 事業所案内
--------------------------------*/

#sec_office .secttl {
	background-color: #ccc4d9;
}

#sec_office .secttl::before,
#sec_office .secttl::after {
	background-image: url(../img/secttl_bg06.png);
}

#sec_office .block.philosophy ul {
	width: 728px;
	margin: 0 auto;
}

#sec_office .block.philosophy ul li {
	position: relative;
	font-weight: 800;
	font-size: 1.7rem;
	line-height: 1.88;
	letter-spacing: 0.05em;
	text-align: justify;
	padding-left: 1.25em;
}

#sec_office .block.philosophy ul li::before {
	content: "";
	width: 12px;
	height: 12px;
	background-color: #ccc4d9;
	border-radius: 50%;
	position: absolute;
	left: 0;
	top: 10px;
}

#sec_office .block.profile .tb {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
}

#sec_office .block.profile .tb th,
#sec_office .block.profile .tb td {
	border-bottom: 1px solid #b1a396;
	line-height: 1.5;
}

#sec_office .block.profile .tb tr:last-child th,
#sec_office .block.profile .tb tr:last-child td {
	border: none;
}

#sec_office .block.profile .tb th {
	width: 185px;
	font-weight: 800;
	font-size: 1.7rem;
	line-height: 1;
	vertical-align: middle;
	padding: 1em 0;
}

#sec_office .block.profile .tb td {
	padding: 1.5em 0;
}

#sec_office .block.profile .tb td .btn {
	margin: 0;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

#sec_office .block.profile .tb td .btn a {
	font-size: 1.5rem;
	line-height: 1.1;
	min-width: 202px;
	min-height: inherit;
	padding: 10px 30px 10px 20px;
}

#sec_office .block.profile .tb td .btn a::before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 0 4px 7px;
	border-color: transparent transparent transparent #fff;
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
}

#sec_office .block.profile {
	width: 950px;
    margin-left: auto;
    margin-right: auto;
	margin-bottom: 30px;
}

#sec_office .block.profile h3.blockttl {
	margin-bottom: 20px;
}

@media screen and (min-width: 768px) {
	#sec_office .btn_wrap::after {
		content: '';
		display: inline-block;
		width: 32%;
	}
}

@media screen and (max-width: 767px) {

	#sec_office .block.philosophy ul {
		width: 100%;
	}

	#sec_office .block.philosophy ul li {
		font-size: 2.7rem;
		line-height: 2.08;
	}

	#sec_office .block.philosophy ul li::before {
		width: 1.7rem;
		height: 1.7rem;
		top: 2rem;
	}

	#sec_office .block.profile {
		width: 100%;
	}

	#sec_office .block.profile .tb th,
	#sec_office .block.profile .tb td {
		display: block;
	}

	#sec_office .block.profile .tb th {
		width: 100%;
		font-size: 2.7rem;
		padding: 3.5rem 0 0;
		margin-bottom: 1em;
		border: none;
	}

	#sec_office .block.profile .tb tr:first-child th {
		padding-top: 0;
	}

	#sec_office .block.profile .tb td {
		letter-spacing: 0.05em;
		padding: 0 0 3rem;
	}

	#sec_office .block.profile .tb tr:last-child td {
		letter-spacing: -0.05em;
		padding-bottom: 0;
	}

	#sec_office .block.profile .tb tr:last-child td .btn {
		margin-bottom: 0;
	}

	#sec_office .block.profile .tb td .btn {
		margin: 0;
		position: static;
		transform: none;
		margin: 3rem auto 1rem;
		text-align: center;
	}

	#sec_office .block.profile .tb td .btn a {
		font-size: 2.7rem;
		line-height: 1.7;
		min-width: 49rem;
		padding: 1.85rem 17rem 1.85rem 4rem;
	}

	#sec_office .block.profile .tb td .btn a::before {
		border-width: 1rem 0 1rem 1.8rem;
		right: 4rem;
	}

}


/*pagetop*/
#pagetop {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 10;
}

#pagetop a {
	position: relative;
	display: block;
	width: 50px;
	height: 65px;
	text-align: center;
	color: #fff;
	font-size: 1.3rem;
	line-height: 1.08;
	letter-spacing: 0.1em;
	padding-top: 22px;
	background: url(../img/pagetop.png) no-repeat center / 100% auto;
	overflow: hidden;
	z-index: 1;
	transition: .3s ease;
}

@media screen and (min-width: 768px) {
	#pagetop a:hover {
		background: url(../img/pagetop_on.png) no-repeat center / 100% auto;
	}
}

@media screen and (max-width: 767px) {
	#pagetop {
		right: 1rem;
		bottom: 1rem;
	}

	#pagetop a {
		width: 7.5rem;
		height: 9.75rem;
		font-size: 1.9rem;
		padding-top: 3.4rem;
	}
}

/* ---------------------------------------
  フッター
-----------------------------------------*/
footer {
	background-color: #ffed7c;
}

/*f_menu*/
footer .f_menu {
	padding: 21px 0;
}

footer .f_menu .gnavi {
	display: flex;
	justify-content: center;
	align-items: center;
}

footer .f_menu .gnavi li {
	font-size: 2.2rem;
	line-height: 1;
}

footer .f_menu .gnavi li a {
	display: block;
	padding: 0 27px;
	transition: .3s ease;
}

/*f_logo*/
footer .f_logo {
	background-color: #fff;
	padding: 60px 0 55px;
}

footer .f_logo .logo {
	width: 503px;
	margin: 0 auto;
}

footer .f_logo .address {
	font-size: 1.7rem;
	line-height: 1.5;
	margin-top: 25px;
}

/*f_contact*/
footer .f_contact {
	padding: 100px 0 25px;
}

footer .f_contact .box {
	height: 130px;
}

footer .f_contact .box._tel {
	width: 805px;
}

footer .f_contact .box.mail {
	width: 279px;
}

footer .f_contact .box a {
	display: block;
	width: 100%;
	height: 100%;
	padding: 20px 36px 10px;
	background-color: #fff;
	background-repeat: no-repeat;
	background-size: cover;
}

footer .f_contact .box._tel a {
	background-image: url(../img/footer_contact_tel_bg_pc.png);
}

footer .f_contact .box._mail a {
	background-image: url(../img/footer_contact_mail_bg_pc.png);
}

footer .f_contact .box .ttl {
	text-align: center;
	font-weight: 800;
	font-size: 2.2rem;
	line-height: 1.2;
	margin-bottom: 8px;
	/*	margin-bottom: 50px;*/
}


footer .f_contact .box .ttl .ls{
	margin: 0 -.25em;
}

footer .f_contact .box .ttl>span {
	display: inline-block;
	position: relative;
	padding: 0 30px;
}

footer .f_contact .box .ttl>span::before,
footer .f_contact .box .ttl>span::after {
	content: "";
	width: 22px;
	height: 22px;
	background: url(../img/blockttl_ico.png) no-repeat center / 100% auto;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

footer .f_contact .box .ttl>span::before {
	left: 0;
}

footer .f_contact .box .ttl>span::after {
	right: 0;
}

footer .f_contact .box._tel .num {
	font-weight: 800;
	font-size: 3.6rem;
	line-height: 1;
	letter-spacing: 0.08em;
}

footer .f_contact .box._tel .num span {
	display: inline-block;
	margin-right: 0.2em;
}

footer .f_contact .box._tel .tel .time {
	line-height: 1.5;
	letter-spacing: 0;
}

footer .f_contact .box._mail .img {
	width: 55px;
	margin: 0 auto;
}

footer .f_contact .bnr {
	margin-top: 40px;
}

footer .copyright {
	text-align: center;
	margin-top: 25px;
}

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

	footer .f_menu .gnavi li + li {
		border-left: 1px solid #5c4837;
	}

	footer .f_menu .gnavi li a:hover {
		color: #8f7e6e;
	}

}

@media screen and (max-width: 767px) {
	footer {
		padding-top: 5rem;
		display: flex;
		flex-direction: column;
	}

	/*f_menu*/
	footer .f_menu {
		padding: 5rem 0;
		order: 2;
	}

	footer .f_menu .wrap {
		width: 100%;
	}

	footer .f_menu .gnavi {
		flex-wrap: wrap;
		justify-content: center;
	}

	footer .f_menu .gnavi li {
		font-size: 3.6rem;
		margin: 2rem 0;
	}

	footer .f_menu .gnavi li:nth-child(even) {
		border-left: 1px solid #5c4837;
	}

	footer .f_menu .gnavi li a {
		display: block;
		padding: 0 4rem;
		transition: .3s ease;
	}

	/*f_logo*/
	footer .f_logo {
		order: 1;
		padding: 5rem 0 4.5rem;
	}

	footer .f_logo .wrap {
		width: 100%;
	}

	footer .f_logo .logo {
		width: 50.2rem;
	}

	footer .f_logo .address {
		font-size: 2.7rem;
		letter-spacing: 0.05em;
		margin-top: 4.5rem;
	}

	/*f_contact*/
	footer .f_contact {
		order: 3;
		padding: 2rem 0 5rem;
	}

	footer .f_contact .box {
		height: auto;
	}

	footer .f_contact .box._tel {
		width: 100%;
	}

	footer .f_contact .box._mail {
		width: 100%;
		margin-top: 3rem;
	}

	footer .f_contact .box a {
		padding: 5rem 3rem 3rem;
	}

	footer .f_contact .box._tel a {
		min-height: 41.2rem;
		background-image: url(../img/footer_contact_tel_bg_sp.png);
	}

	footer .f_contact .box._mail a {
		min-height: 22.6rem;
		padding-top: 3.6rem;
		background-image: url(../img/footer_contact_mail_bg_sp.png);
	}

	footer .f_contact .box .ttl {
		font-size: 3.6rem;
		margin-bottom: 2.6rem;
	}

	footer .f_contact .box .ttl>span {
		padding: 0 5.5rem;
	}

	footer .f_contact .box .ttl>span::before,
	footer .f_contact .box .ttl>span::after {
		width: 3.6rem;
		height: 3.6rem;
	}

	footer .f_contact .box._tel .fax {
		margin-top: 3rem;
	}

	footer .f_contact .box._tel .num {
		text-align: center;
		font-size: 5.6rem;
	}

	footer .f_contact .box._tel .tel .time {
		text-align: center;
		font-size: 2.3rem;
	}

	footer .f_contact .box._mail .img {
		width: 8.8rem;
	}

	footer .f_contact .bnr {
		margin-top: 3rem;
	}

	footer .copyright {
		letter-spacing: 0;
		margin-top: 5rem;
		text-align: left;
	}
}


/* ---------------------------------------
  clearfix
-----------------------------------------*/

.cf:after {
	content: ".";
	display: block;
	height: 0;
	font-size: 0;
	clear: both;
	visibility: hidden;
}

.cf {
	display: inline-block;
}


/* Hides from IE Mac */

* html .cf {
	height: 1%;
}

.cf {
	display: block;
}


/* End Hack */