* {
	box-sizing: border-box;
}

html {
	overflow-x: hidden;
	font-size: 62.5%;
}

body {
	background-color: #fff;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.8rem;
	font-weight: 400;
	color: #333;
	line-height: 1.875;
}

@media screen and (max-width: 768px) {
	
	body {
		font-size: 1.6rem;
	}
	
}

img {
	max-width: 100%;
	height: auto;
	transition: .2s;
}

p { margin-bottom: 2rem;}

ul { margin-top: 0; margin-bottom: 0;}
ol { margin-top: 0; margin-bottom: 0;}

.zen {
	font-family: "Zen Maru Gothic", sans-serif;
	font-style: normal;
	font-weight: 700;
}

.radius { border-radius: 1.6rem;}


.section {
	padding-top: 4rem;
	padding-bottom: 4rem;
}

@media screen and (max-width: 768px) {
	
	.section {
		padding-top: 2rem;
		padding-bottom: 2rem;
	}
	
}


.inner {
	max-width: 1320px;
	width: 100%;
	margin: 0 auto;
	padding: 0 2rem;
}

.inner--small {
	max-width: 1120px;
}


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

	display

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

.d-none { display: none;}
.d-block { display: block;}

@media screen and (max-width: 768px) {
	
	.d-sm-none { display: none;}
	.d-sm-block { display: block;}
	
}


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

	spacing

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

.mb-2 { margin-bottom: 2rem;}
.mb-4 { margin-bottom: 4rem;}


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

	color

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

.text-left { text-align: left;}
.text-center { text-align: center;}
.text-right { text-align: right;}

@media screen and (max-width: 768px) {
	
	.text-sm-left { text-align: left;}
	.text-sm-center { text-align: center;}
	.text-sm-right { text-align: right;}
	
}


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

	color

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

a { color: #EF6F26; word-break: break-all; transition: .2s;}
a:hover { color: #f1931B;}

.text-primary { color: #EF6F26;}
.text-secondary { color: #804545;}
.text-warning { color: #E7EF26;}
.text-white { color: #FFF;}

.bg-primary { background-color: #EF6F26; color: #fff;}
.bg-secondary { background-color: #804545;}
.bg-light { background-color: #F3F2F0;}
.bg-white { background-color: #FFF;}

.fill-primary { fill: #EF6F26;}
.fill-white { fill: #FFF;}


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

	btn

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

.btn {
	display: flex;
	align-items: center;
	justify-content: center;
	column-gap: 2rem;
	width: 100%;
	padding: 2.4rem 1rem;
	background-color: #EF6F26;
	border: 2px solid #EF6F26;
	border-radius: 2rem;
	font-weight: 700;
	color: #fff;
}

.btn-line {
	background-color: #39BC00;
	border-color: #39BC00;
}

.btn svg {
	width: auto;
	height: 3.2rem;
	fill: #fff;
}

.btn-line svg {
	height: 4rem;
}

.btn:hover {
	background-color: #fff;
	color: #EF6F26;
}

.btn:hover svg {
	fill: #EF6F26;
}

.btn-line:hover {
	background-color: #fff;
	color: #39BC00;
}

.btn-line:hover svg {
	fill: #39BC00;
}

.btn-white {
	background-color: #fff;
	border-color: #fff;
	color: #EF6F26;
}

.btn-white svg {
	fill: #EF6F26;
}

.btn-white:hover {
	background-color: #EF6F26;
	border-color: #fff;
	color: #fff;
}

.btn-white:hover svg {
	fill: #fff;
}


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

	badge

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

.badge {
	display: inline-block;
	padding: 1.6rem 1rem;
	background-color: #EF6F26;
	border-radius: 2rem;
	font-weight: 700;
	text-align: center;
	line-height: 1;
	color: #fff;
}

.badge-block {
	display: block;
	width: 100%;
}

.term-badge {
	display: inline-block;
	padding: 1rem;
	background-color: #EAE4D9;
	border-radius: 4px;
	color: #333;
	font-size: 1.4rem;
	line-height: 1;
}


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

	Heading

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

.h3 {
	margin-bottom: 2rem;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.4;
}

.h4 {
	margin-bottom: 2rem;
	font-weight: 700;
	line-height: 1.4;
}


.head-parts {
	margin: 0 0 4rem;
}

.head-parts__sup {
	margin: 0 0 1rem;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1;
}

.head-parts__title {
	margin: 0;
	font-size: 4rem;
	font-weight: 700;
	line-height: 1.2;
}

@media screen and (max-width: 768px) {
	
	.head-parts {
		margin: 0 0 2rem;
	}

	.head-parts__sup {
		font-size: 1.6rem;
	}

	.head-parts__title {
		font-size: 2.4rem;
		line-height: 1.62;
	}
	
}


.head-parts__meta {
	display: flex;
	align-items: center;
	column-gap: 2rem;
	margin: 0 0 1rem;
}

.head-parts__cat {
	margin-bottom: 1rem;
}

.term-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 0 -0.5rem -1rem;
	padding: 0;
	list-style: none;
}

.term-list li {
	margin: 0 0 1rem;
	padding: 0 0.5rem;
}


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

	HEADER

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

.header {
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 2rem 4rem;
}

.header.is-fixed,
.header.is-active{
	background-color: #F3F2F0;
}

.header-logo {
	display: flex;
	align-items: center;
	margin: 0 -1rem;
}

.header-logo__logo {
	padding: 0 1rem;
}

.header-logo__sup {
	padding: 0 1rem;
	font-size: 1.4rem;
	line-height: 1;
}

.header__col-nav {
	display: flex;
	align-items: center;
}

.header-nav {
	display: flex;
	align-items: center;
	margin: 0 -2rem;
	padding: 0;
	list-style: none;
}

.header-nav li {
	padding: 0 2rem;
}

.header-nav a {
	color: #333;
	font-weight: 700;
}

.header-nav a:hover {
	color: #666;
}

.header-tel-btn {
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-left: 4rem;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background-color: #EF6F26;
}

.header-tel-btn svg {
	width: 24px;
	height: auto;
}

@media screen and (max-width: 1024px) {
	
	.header {
		padding: 1rem;
	}

	.header-logo {
		flex-direction: column-reverse;
		align-items: flex-start;
	}

	.header-logo__logo img {
		width: 120px;
	}

	.header-logo__sup {
		font-size: 1.2rem;
	}
	
	.header__col-nav {
		display: none;
	}

}


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

	key

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

.top-key {
	position: relative;
	margin: 0 4rem 2rem;
}

.top-key img {
	display: block;
	max-width: none;
	width: 100%;
}

.top-key__text {
	position: absolute;
	top: 50%;
	left: 8rem;
	transform: translateY(-50%);
}

.top-key__title {
	margin: 0 0 2.4rem;
	font-size: 6rem;
	font-weight: 700;
	line-height: 1.33;
	text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
}

.top-key__sup {
	margin: 0;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.62;
	text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
}

@media screen and (max-width: 1024px) {
	
	.top-key {
		margin: 0 2rem 2rem;
	}
	
	.top-key img {
		aspect-ratio: 1 / 1;
		object-fit: cover;
	}

	.top-key__text {
		left: 2rem;
	}
	
}

@media screen and (max-width: 768px) {
	
	.top-key img {
		aspect-ratio: 1 / 1.25;
	}
	
	.top-key__text {
		top: auto;
		bottom: 2rem;
		transform: translateY(0);
	}
	
	.top-key__title {
		margin: 0 0 1rem;
		font-size: 3.2rem;
	}

	.top-key__sup {
		font-size: 2rem;
	}
	
}


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

	lead

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

.lead-title {
	margin: 0 0 4rem;
	font-size: 4rem;
	font-weight: 700;
	line-height: 1.375;
}

@media screen and (max-width: 768px) {
	
	.lead-title {
		margin: 0 0 2rem;
		font-size: 2.4rem;
		line-height: 1.62;
	}
	
}


.lead-photo {
	margin: 0 0 -2rem;
}

.lead-photo img {
	display: block;
	max-width: 820px;
	width: 100%;
	margin: 0 auto;
}

.lead-box {
	position: relative;
	width: 100%;
	max-width: 1080px;
	margin: 0 auto 6rem;
	padding: 4rem;
}

.lead-box::after {
	content: '';
	position: absolute;
	top: calc(100% - 1px);
	left: 50%;
	display: block;
	width: 60px;
	height: 30px;
	background-color: #EF6F26;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	transform: translateX(-50%);
}

.lead-box__title {
	margin: 0 0 3.2rem;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.62;
}

@media screen and (max-width: 768px) {
	
	.lead-box {
		margin-bottom: 3rem;
		padding: 2rem;
	}
	
	.lead-box::after {
		width: 30px;
		height: 15px;
	}
	
	.lead-box__title {
		margin: 0 0 2rem;
		font-size: 2rem;
	}
	
}


.lead-box-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 0 -3.2rem;
}

.lead-box-col {
	width: 50%;
	margin: 0 0 3.2rem;
}

@media screen and (max-width: 768px) {
	
	.lead-box-row {
		margin-bottom: -2rem;
	}
	
	.lead-box-col {
		width: 100%;
		margin: 0 0 2rem;
	}
	
}


.lead-card__photo {
	overflow: hidden;
	width: 140px;
	margin: 0 auto 1rem;
	border-radius: 50%;
}

.lead-card__photo img {
	display: block;
	aspect-ratio: 1 / 1;
}

.lead-card__title {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.62;
}

.lead-card > :last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 768px) {
	
	.lead-card__photo {
		width: 80px;
	}

}


.lead-footer {
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.5;
}

@media screen and (max-width: 768px) {
	
	.lead-footer {
		font-size: 2.4rem;
		line-height: 1.62;
	}
	
}


.procrastination-section {
	position: relative;
	margin-bottom: 5.2rem;
	padding: 10rem 0 16rem;
}

.procrastination-photo {
	max-width: 70.6rem;
	margin: 0 auto;
}

.procrastination-speech {
	position: absolute;
	width: 100%;
	max-width: 50rem;
	padding: 3.2rem;
}

.procrastination-speech01 {
	top: 0;
	right: 0;
}

.procrastination-speech02 {
	left: 0;
	bottom: 6rem;
}

.procrastination-speech03 {
	right: 0;
	bottom: 0;
}

.procrastination-speech > :last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 768px) {
	
	.procrastination-section {
		padding: 0;
	}

	.procrastination-photo {
		max-width: 80%;
	}

	.procrastination-speech {
		position: static;
		width: 100%;
		max-width: 100%;
		margin-top: 2rem;
		padding: 2rem;
	}
	
}


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

	one-stop

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

.one-stop-box {
	width: 100%;
	max-width: 1080px;
	margin: 0 auto 3rem;
	padding: 4rem;
}

.one-stop-box__title {
	margin: 0 0 2rem;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.62;
}

.one-stop-box__photo {
	margin: 0 0 3.2rem;
}

.one-stop-box__photo img {
	display: block;
	width: 100%;
	max-width: 446px;
	margin: 0 auto;
}

.one-stop-box__footer {
	margin: 0;
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.5;
}

@media screen and (max-width: 768px) {
	
	.one-stop-box__photo {
		margin: 0 0 2rem;
	}

	.one-stop-box__photo img {
		max-width: 80%;
	}

	.one-stop-box__footer {
		font-size: 2rem;
	}
	
}


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

	one-message

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

.one-message {
	max-width: 92rem;
	margin: 0 auto 4rem;
}

.one-message__photo {
	max-width: 46rem;
	margin: 0 auto 3.2rem;
}


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

	SERVICE

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

.service-title {
	margin: 0 0 2rem;
	padding: 2rem;
	font-weight: 700;
	text-align: center;
}

.service-row {
	display: flex;
	margin: 0 -2rem -2rem;
}

.service-col {
	width: 33.33333333%;
	margin: 0 0 2rem;
	padding: 0 2rem;
}

.service-box {
	padding: 2rem 3.2rem;
}

.service-box__photo {
	overflow: hidden;
	max-width: 14rem;
	margin: 0 auto 2rem;
	border-radius: 50%;
}

.service-box__title {}

.service-box > ::last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 768px) {
	
	.service-row {
		flex-direction: column;
	}

	.service-col {
		width: 100%;
	}

	.service-box {
		padding: 2rem;
	}

	.service-box__photo {
		max-width: 8rem;
	}
	
}


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

	features

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

.features-box-wrap {
	margin-bottom: 8rem;
}

.features-box {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	margin: 0 -3.2rem;
}

.features-box__photo {
	width: 32.1875%;
	padding: 0 3.2rem;
}

.features-box__text {
	width: calc(100% - 32.1875%);
	padding: 0 3.2rem;
}

.features-box__text > :last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 768px) {
	
	.features-box-wrap {
		margin-bottom: 4rem;
	}

	.features-box {
		flex-direction: column;
		margin: 0;
	}

	.features-box__photo {
		width: 100%;
		margin-bottom: 2rem;
		padding: 0;
	}

	.features-box__text {
		width: 100%;
		padding: 0;
	}

}


.about-master {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	padding: 4rem;
	border-radius: 1.6rem;
}

.about-master__photo {
	width: 23.333333%;
}

.about-master__photo img {
}

.about-master__text {
	position: relative;
	width: calc(100% - 23.333333%);
	padding-right: 4rem;
}

.about-master__text > :last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 768px) {
	
	.about-master {
		flex-direction: column;
		padding: 2rem;
	}

	.about-master__photo {
		width: 100%;
		margin-bottom: 2rem;
		padding: 0;
	}

	.about-master__photo img {
		display: block;
		width: 240px;
		max-width: 100%;
		margin: 0 auto;
		padding: 0;
	}

	.about-master__text {
		width: 100%;
		padding: 0;
	}
	
}


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

	case

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

.case-box {
	display: flex;
	justify-content: space-between;
	padding: 2rem;
}

.case-box + .case-box {
	margin-top: 2rem;
}

.case-box__photo {
	width: 38.709677%;
}

.case-box__text {
	width: 58.064516%;
}

.case-box__title {
	margin: 0 0 1.2rem;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.62;
}

.case-body {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.case-body + .case-body {
	margin-top: 2rem;
}

.case-body__head {
	width: 15.277778%;
}

.case-body__text {
	width: 81.944444%;
}

.case-body__text > :last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 768px) {
	
	.case-box {
		flex-direction: column;
	}

	.case-box__photo {
		width: 100%;
		margin-bottom: 2rem;
	}

	.case-box__text {
		width: 100%;
	}

	.case-box__title {
		font-size: 2rem;
	}

	.case-body {
		flex-direction: column;
	}

	.case-body__head {
		width: 100%;
		margin-bottom: 1rem;
	}

	.case-body__text {
		width: 100%;
	}
	
}


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

	column

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

.column-row {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -2rem -4rem;
}

.column-col {
	width: 33.33333333%;
	margin-bottom: 4rem;
	padding: 0 2rem;
}

@media screen and (max-width: 768px) {
	
	.column-row {
		flex-direction: column;
		margin-bottom: -2rem;
	}

	.column-col {
		width: 100%;
		margin-bottom: 2rem;
	}
	
}


.column-box {
	overflow: hidden;
	display: block;
	width: 100%;
	background-color: #fff;
	border-radius: 2rem;
}

.column-box__photo {
	overflow: hidden;
	position: relative;
}

.column-box__photo img {
	display: block;
	max-width: none;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.column-box:hover .column-box__photo img {
	transform: scale(1.1);
}

.column-box__photo-bg {
	position: absolute;
	bottom: 0;
	z-index: 1;
	display: block;
	width: calc(100% - 4rem);
	height: 3rem;
	margin: 0 2rem;
	background-color: #fff;
	border-radius: 1.5rem 1.5rem 0 0;
}

.column-box__text {
	padding: 0 3.2rem 3.2rem;
	text-align: center;
}

.column-box__date {
	margin: 0 0 1rem;
	color: #EF6F26;
	font-weight: 700;
}

.column-box:hover .column-box__date {
	color: #EF6F26;
}

.column-box__title {
	margin: 0;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.62;
	color: #333;
}

.column-box:hover .column-box__title {
	color: #666;
}


.navigation.pagination {
	margin: 8rem 0;
}

.nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0 8px;
	margin: 0;
	padding: 0;
}

.page-numbers {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 4rem;
	height: 4rem;
	border-radius: 4px;
	background-color: #fff;
	color: #333;
}

.page-numbers.current {
	background-color: #EF6F26;
	color: #fff;
	pointer-events: none;
}

.prev.page-numbers,
.next.page-numbers {
	gap: 0 4px;
	width: auto;
	height: 4rem;
	padding: 0 1rem;
	border-radius: 4px;
	line-height: 1;
}

.post-navigation {
	display: flex;
	align-items: center;
	margin: 8rem -1rem 0;
}

.post-navigation_col {
	width: 50%;
	padding: 0 1rem;
}

.post-navigation_col--next {
	text-align: left;
}

.post-navigation_col--previous {
	text-align: right;
}

.post-navigation a {
	position: relative;
	display: inline-block;
}

.post-navigation_col--next a {
	padding-left: 2rem;
}

.post-navigation_col--previous a {
	padding-right: 2rem;
}

.post-navigation a::after {
	content: '';
	position: absolute;
	top: 50%;
	display: block;
	width: 1rem;
	height: 1.6rem;
	vertical-align: middle;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	transform: translateY(-50%);
}

.post-navigation_col--next a::after {
	left: 0;
	background-image: url("../images/arrow-prev.svg");
}

.post-navigation_col--previous a::after {
	right: 0;
	background-image: url("../images/arrow-next.svg");
}


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

	greeting

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

.greeting-box-wrap {
	max-width: 1080px;
	margin: 0 auto;
}

.greeting-box {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}

.greeting-box__photo {
	width: 44.444444%;
}

.greeting-box__text {
	width: 48.148148%;
}

.greeting-box__text > :last-child {
	margin-bottom: 0;
}

.greeting-box__info {
	position: relative;
	padding: 2rem 0;
	margin-top: 2rem;
}

.greeting-box__info::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: -8rem;
	z-index: -1;
	display: block;
	width: 100vw;
	background-color: #EAE4D9;
	border-radius: 2rem 0 0 2rem;
}

@media screen and (max-width: 768px) {
	
	.greeting-box {
		flex-direction: column;
	}

	.greeting-box__photo {
		width: 100%;
		margin-bottom: 2rem;
	}

	.greeting-box__text {
		width: 100%;
	}

	.greeting-box__info {
		padding: 2rem;
		background-color: #EAE4D9;
		border-radius: 2rem;
	}

	.greeting-box__info::before {
		display: none;
	}
	
}


.biography-title {
	margin: 0 0 1rem;
	font-weight: 700;
}

.biography-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 2rem;
}

.biography-list dt {
	width: 100px;
	margin-bottom: 1rem;
	font-weight: 400;
}

.biography-list dd {
	width: calc(100% - 100px);
	margin-bottom: 1rem;
}


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

	flow

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

.flow-box {
	display: flex;
	justify-content: space-between;
	padding-bottom: 3.2rem;
}

.flow-box:last-child {
	padding-bottom: 0;
}

.flow-box__head {
	position: relative;
	width: 120px;
}

.flow-box__head:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: -3.2rem;
	left: 50%;
	z-index: -1;
	display: block;
	width: 4px;
	background-color: #EF6F26;
	transform: translateX(-50%);
}

.flow-box:last-child .flow-box__head:before {
	display: none;
}

.step-box {
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
	aspect-ratio: 1 / 1;
}
				
.flow-box__text {
	width: calc(100% - 140px);
}

.flow-box__text .h3 {
	margin-bottom: 1rem;
}

.flow-box__body {
	padding: 2rem;
}

.flow-box__body > :last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 768px) {
	
	.flow-box {
		display: block;
		padding-bottom: 0
	}
	
	.flow-box + .flow-box {
		margin-top: 2rem;
	}

	.flow-box__head:before {
		display: none;
	}

	.flow-box__text {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		width: 100%;
	}
	
	.flow-box__head {
		width: 80px;
		margin: 0 0 1rem;
	}

	.flow-box__text .h3 {
		width: calc(100% - 100px);
		margin-bottom: 1rem;
	}

	.flow-box__body {
		width: 100%;
	}
	
}


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

	faq

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

.faq-box + .faq-box {
	margin-top: 2rem;
}

.faq-box__title {
	display: flex;
	align-items: center;
	padding: 3.2rem;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.62;
	cursor: pointer;
	transition: .2s;
}

.faq-box__title:hover {
	color: #EF6F26;
}

.faq-box__title::before {
	content: 'Q';
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	border: 1px solid #EF6F26;
	color: #EF6F26;
}

.faq-box__title-text {
	width: calc(100% - 66px);
	padding: 0 2rem;
}

.faq-box__arrow {
	width: 20px;
	height: 12px;
}

.faq-box__arrow svg {
	width: 20px;
	height: 12px;
	vertical-align: top;
	line-height: 1;
}

.faq-box__title.is-active .faq-box__arrow {
	transform: scaleY(-1);
}

.faq-box__text-wrap {
	display: none;
}

.faq-box__text {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 3.2rem 3.2rem;
}

.faq-box__text::before {
	content: 'A';
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	border: 1px solid #804545;
	font-weight: 700;
	color: #804545;
}

.faq-box__text-body {
	width: calc(100% - 60px);
}

.faq-box__text-body > :last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 768px) {
	
	.faq-box__title {
		padding: 2rem;
		font-size: 1.6rem;
	}

	.faq-box__title::before {
		width: 36px;
		height: 36px;
	}

	.faq-box__title-text {
		width: calc(100% - 56px);
	}

	.faq-box__arrow {
		width: 20px;
	}

	.faq-box__text {
		padding: 0 2rem 2rem;
	}

	.faq-box__text::before {
		width: 36px;
		height: 36px;
	}

	.faq-box__text-body {
		width: calc(100% - 46px);
	}
	
}


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

	company

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

.company-table-wrap {
	overflow: hidden;
}

.company-table {
	width: 100%;
}

.company-table tr {
	border-bottom: 1px solid #EAE4D9;
}

.company-table tr:last-child {
	border-bottom: none;
}

.company-table th {
	width: 21rem;
	padding: 2rem 0 2rem 4rem;
}

.company-table td {
	width: calc(100% - 21rem);
	padding: 2rem 4rem 2rem 0;
}

@media screen and (max-width: 768px) {
	
	.company-table th {
		display: block;
		width: 100%;
		padding: 2rem 2rem 0;
	}

	.company-table td {
		display: block;
		width: 100%;
		padding: 0 2rem 2rem;
	}
	
}


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

	map

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

.google-map {
	margin: 0 0 3.2rem;
}

.google-map iframe {
	overflow: hidden;
	width: 100%;
	border-radius: 2rem;
	aspect-ratio: 16 / 9;
}


.footer {
	margin-top: 8rem;
	padding-top: 4rem;
	padding-bottom: 4rem;
}

.banner-row {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 4rem;
}

.banner-col {
	padding: 0 1rem;
}

.banner-taktas { width: 200px;}
.banner-tcj { width: 89px;}


.copyright {
	margin: 0;
	font-size: 1.4rem;
	text-align: center;
}

@media screen and (max-width: 768px) {
	
	.footer {
		margin-top: 0;
		padding-top: 4rem;
		padding-bottom: 2rem;
	}
	
	.banner-row {
		margin-bottom: 4rem;
	}

	.banner-taktas { width: 100px;}
	.banner-tcj { width: 45px;}
	
	.copyright {
		font-size: 1.2rem;
	}
	
}


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

	contact

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

.section-contact {
	position: relative;
	overflow: hidden;
	margin: 4rem 4rem;
	padding-top: 4.8rem;
	padding-bottom: 4.8rem;
	background: url("../images/contact-bg.jpg") no-repeat center center;
	background-size: cover;
	border-radius: 2rem;
	color: #fff;
}

.section-contact::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;z-index: 1;
	display: block;
	background-color: rgba(80, 69, 69, 0.8);
}

.section-contact .inner {
	position: relative;
	z-index: 2;
}

.section-contact__title {
	margin: 0 0 1rem;
	font-size: 4rem;
	font-weight: 700;
}

.section-contact__sup {
	margin: 0 0 2.8rem;
	font-weight: 700;
}

.contact-row {
	display: flex;
	align-items: center;
	margin-top: 2rem;
}

.contact-col {
	width: 50%;
	padding: 0 2rem;
}

.contact-tel {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.contact-tel dt {
	display: flex;
	align-items: center;
	justify-content: center;
	column-gap: 2rem;
	margin: 0 0 2rem;
	padding: 0;
	font-size: 4rem;
	font-weight: 700;
	line-height: 1;
}

.contact-tel dt svg {
	width: auto;
	height: 3rem;
	line-height: 1;
}

.contact-tel dd {
	margin: 0;
	padding: 0;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.62;
}

@media screen and (max-width: 768px) {
	
	.section-contact {
		margin: 2rem;
		padding-top: 2rem;
		padding-bottom: 2rem;
	}

	.section-contact__title {
		font-size: 2.4rem;
		line-height: 1.62;
	}

	.contact-row {
		flex-direction: column;
		margin-bottom: -4rem;
	}

	.contact-col {
		width: 100%;
		margin-bottom: 4rem;
	}

	.contact-tel dt {
		font-size: 2rem;
	}
	
	.contact-tel dt a {
		color: #fff;
	}

	.contact-tel dd {
		font-size: 1.6rem;
	}
	
}


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

	sp

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

.btn-spnav {
	position: relative;
	display: none;
	width: 50px;
	height: 50px;
	cursor: pointer;
}

.btn-spnav span {
	display: inline-block;
	position: absolute;
	left: 14px;
	width: 45%;
	height: 3px;
	background-color: #EF6F26;
	border-radius: 2px;
	transition: all .3s;
}

.btn-spnav span:nth-of-type(1) {
	top: 15px;
}

.btn-spnav span:nth-of-type(2) {
	top: 23px;
}

.btn-spnav span:nth-of-type(3) {
	top: 31px;
}

.btn-spnav.is-active span:nth-of-type(1) {
	top: 18px;
	left: 18px;
	width: 30%;
	transform: translateY(6px) rotate(-45deg);
}

.btn-spnav.is-active span:nth-of-type(2) {
	opacity: 0;
}

.btn-spnav.is-active span:nth-of-type(3){
	top: 30px;
	left: 18px;
	width: 30%;
	transform: translateY(-6px) rotate(45deg);
}

@media screen and (max-width: 1024px) {
	
	.btn-spnav {
		display: block;
	}
	
}


.sp-nav {
	position: fixed;
	z-index: 9999;
	top: -200%;
	left: 0;
	width: 100%;
	height: 100vh;
	transition: all .3s;
}

.sp-nav.is-active {
	top: 0;
}

.sp-nav.is-active .sp-nav__body {
	position: fixed;
	z-index: 999;
	overflow: auto;
	width: 100%;
	height: 100vh;
	-webkit-overflow-scrolling: touch;
}

.sp-nav__contents {
	width: 100%;
	margin: 0;
	padding: 10rem 2rem 4rem;
}

.nav-sp {
	margin: 0 0 4rem;
	padding: 0;
	list-style: none;
}

.nav-sp > li {
	border-bottom: 1px solid #fff;
}

.nav-sp a,
.has-submenu__title {
	display: block;
	width: 100%;
	padding: 1.6rem 0;
	color: #fff;
	text-decoration: none;
	text-transform: uppercase;
}

.has-submenu a {
	padding: 1rem 0;
}

.has-submenu__title {
	position: relative;
}

.has-submenu__title::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 1rem;
	display: block;
	width: 10px;
	height: 10px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translateY(-50%) rotate(135deg);
}

.has-submenu.is-active .has-submenu__title::after {
	transform: translateY(-50%) rotate(315deg);
}

.nav-sp .submenu {
	display: none;
	list-style: none;
}

.nav-sp-contact {
	text-align: center;
}

.sp-nav__tel {
	margin: 0 0 3.2rem;
}

.sp-nav__tel dl {
	margin: 0;
	padding: 0;
	text-align: center;
}

.sp-nav__tel dt {
	display: flex;
	align-items: center;
	justify-content: center;
	column-gap: 1rem;
	margin: 0 0 0.8rem;
	padding: 0;
	color: #fff;
	font-size: 2.8rem;
	font-weight: 700;
}

.sp-nav__tel dt a {
	color: #fff;
}

.sp-nav__tel dt svg {
	width: auto;
	height: 3.2rem;
	line-height: 1;
}

.sp-nav__tel dd {
	margin: 0;
	padding: 0;
}

.btn-sp-contact {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	padding: 2rem 1rem;
	border-radius: 2rem;
	background-color: #fff;
	color: #EF6F26;
	text-align: left;
	vertical-align: middle;
	font-weight: 700;
	font-size: 1.8rem;
	line-height: 1.4;
	cursor: pointer;
	user-select: none;
	box-shadow: 0.6rem 0.6rem 0 #AD9080;
	transition: 0.3s ease-in-out;
}

.btn-sp-contact svg {
	width: auto;
	height: 2rem;
}

.btn-sp-contact__text {
	display: inline-block;
	padding: 0 0 0 1rem;
}


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

	コラム

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

h2.wp-block-heading {
	margin: 4rem 0 2rem;
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.5;
	color: #EF6F26;
}

h3.wp-block-heading {
	margin: 3.2rem 0 2rem;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.4;
}

h4.wp-block-heading {
	margin: 2rem 0 1.6rem;
	font-size: 1.6rem;
	font-weight: 700;
	color: #804545;
}

h5.wp-block-heading {
	margin: 2rem 0 1.6rem;
	font-size: 1.6rem;
	font-weight: 700;
}

h6.wp-block-heading {
	margin: 2rem 0 1.6rem;
	font-size: 1.6rem;
	font-weight: 700;
}

.wp-block-image {
	margin: 2rem 0 4rem;
}

.wp-block-list {
	margin-bottom: 2rem;
}

@media screen and (max-width: 768px) {
	
	h2.wp-block-heading {
		font-size: 2.4rem;
		line-height: 1.62;
	}
	
}


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

	お問い合わせ

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

.snow-monkey-form {
	padding: 4rem;
}

.smf-action {
	padding: 2rem 0 0;
}

@media screen and (max-width: 768px) {
	
	.snow-monkey-form {
		padding: 2rem;
	}
	
}


.smf-item {
	margin: 0 0 3.2rem;
}

.form-day .smf-checkboxes-control {
	display: grid;
	align-items: center;
    grid-template-columns: 6rem 1fr;
}

.form-day .smf-control-fieldset {
	display: contents;
}


.smf-item__label {
	margin: 0 0 1rem;
	font-weight: 700;
}

.is-required {
	display: inline-block;
	margin: 0 1rem 0 0;
	padding: .4rem;
	background-color: #ce5252;
	border: 2px solid #ce5252;
	border-radius: 999px;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1;
	text-align: center;
	vertical-align: baseline;
}

::placeholder {
	color: #B4B4B4;
}

.smf-item__description {
	font-size: 1.4rem;
}

.smf-form .smf-text-control__control {
	width: 100%;
	padding: 1.6rem;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 1rem;
	font-size: 1.6rem;
	line-height: 1.5;
	box-shadow: none;
}

.smf-form .smf-textarea-control__control {
	width: 100%;
	padding: 1.6rem;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 1rem;
	font-size: 1.6rem;
	line-height: 1.5;
	box-shadow: none;
}

.smf-form .smf-select-control {
	display: block;
	width: 100%;
}

.smf-form .smf-select-control__control {
	display: block;
	width: 100%;
	padding: 1.6rem;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 1rem;
	font-size: 1.6rem;
	line-height: 1.5;
	box-shadow: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.smf-form .smf-select-control__toggle {
	display: none !important;
}


.smf-checkbox-control,
.smf-radio-button-control {
	line-height: 1.4;
}

.smf-placeholder {
	margin-top: 1rem;
}

.smf-action {
	display: flex;
	align-items: center;
	column-gap: 2rem;
}


.smf-action .smf-button-control__control {
	display: flex;
	align-items: center;
	justify-content: center;
	column-gap: 2rem;
	width: 320px;
	max-width: 100%;
	padding: 2.4rem 1rem;
	background: none #EF6F26;
	border: 2px solid #EF6F26;
	border-radius: 2rem;
	font-weight: 700;
	color: #fff;
	transition: .2s;
	cursor: pointer;
	user-select: none;
	appearance: none;
}

.smf-action .smf-button-control__control:hover {
	background-color: #fff;
	color: #EF6F26;
}

.smf-action .smf-button-control__control[data-action="back"] {
	width: 160px;
	background-color: #535353;
	border-color: #535353;
}

.smf-action .smf-button-control__control[data-action="back"]:hover {
	background-color: #fff;
	color: #535353;
}

@media screen and (max-width: 768px) {
	
	.smf-action {
		flex-direction: column-reverse;
		column-gap: 0;
		margin-bottom: -2rem;
	}
	
	.smf-action .smf-button-control {
		width: 100%;
		margin: 0 0 2rem !important;
	}

	.smf-action .smf-button-control__control,
	.smf-action .smf-button-control__control[data-action="back"] {
		min-width: 100%;
		max-width: 100%;
	}
	
}


.smf-sending {
	display: none !important;
}

.snow-monkey-form[data-screen="confirm"] .form-confirm-none {
	display: none;
}