@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&family=Noto+Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap');

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

reset

-----------------------------------------------------------------------------  ***/
.clearfix:after {
	content: ".";
	display: block;
	visibility: hidden;
	clear: both;
	height: 0.1px;
	font-size: 0.1em;
	line-height: 0;
}

.clearfix {
	display: inline-table;
	zoom: 1;
}

/*Hides from IE-mac \*/
* html .clearfix {
	height: 1%;
}

.clearfix {
	display: block;
}

/* End hide from IE-mac */

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
	margin: 0px;
	padding: 0px;
	: 'Noto Sans JP', sans-serif;
	font-size: 18px;
	line-height: 1.6;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

fieldset, img {
	border: 0;
}

address, caption, cite, code, dfn, em, th, var {
	font-style: normal;
	font-weight: normal;
}

li {
	list-style: none;
}

caption, th {
	text-align: left;
}

q:before, q:after {
	content: '';
}

abbr, acronym {
	border: 0;
	font-variant: normal;
}

sup {
	vertical-align: top;
}

sub {
	vertical-align: text-bottom;
}

input, textarea, select {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
}

input, textarea, select {
	*font-size: 100%;
}

legend {
	color: #222000;
}

img {
	vertical-align: bottom;
}

area, map {
	border: none;
}

p {
	font-size: 16px;
}

@media (max-width: 768px) {
	body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
		font-size: 16px;
	}
}

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

common

-----------------------------------------------------------------------------  ***/
html {
	box-sizing: border-box;
}

body {
	background-color: #ffffff;
	color: #000;
	line-height: 1.6;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	-webkit-text-size-adjust: 100%;
	overflow: auto;
	box-sizing: border-box;
	counter-reset: section;
}

#chatplusview {
	margin-bottom: 90px !important;
}

@media (max-width: 1100px) {
	#chatplusview {
		margin-bottom: 58px !important;
	}
}

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

リンク

-----------------------------------------------------------------------------  ***/
/* 基本 */
a {
	color: #000;
}

a:link {
	text-decoration: none;
	transition: 0.3s;
}

a:visited {}

a:hover {
	text-decoration: none;
}

a:active {
	text-decoration: none;
}

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

input

-----------------------------------------------------------------------------  ***/
input[type="text"] {
	padding: 0;
	border: none;
	border-radius: 0;
	background: none;
}

input[type="radio"] {
	display: none;
}

select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	background: transparent;
}

textarea {
	width: 100%;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	resize: none;
	padding: 0;
	border: 0;
	background: transparent;
}

button,
input[type="submit"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 0;
	border: none;
	background: transparent;
	cursor: pointer;
}

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

header

-----------------------------------------------------------------------------  ***/
header {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	padding: 0;
	box-sizing: border-box;
	overflow: hidden;
	z-index: 999;
}

header>nav {
	display: flex;
	justify-content: space-between;
	align-content: flex-end;
	align-items: flex-end;
	flex-wrap: wrap;
	width: 100%;
	padding: 0px;
	box-sizing: border-box;
}

header .logo,
header .logo img {
	display: block;
	width: 100%;
	max-width: 365px;
	position: relative;
	transition: 0.3s;
}

header .logo a {
	display: flex;
	max-width: 365px;
	height: 100%;
	padding: 0;
	background: #fff;
	box-sizing: border-box;
}

header nav #nav-content-area {
	width: calc(100% - 365px);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: .5rem;
	align-items: flex-end;
}

header nav .header-search-area {
	box-sizing: border-box;
	padding-right: 20px;
}

header nav .header-search-area input {
	border: 1px solid #333;
	padding: .2em .5em;
}

header nav #nav-content {
	display: flex;
	justify-content: flex-end;
	align-content: flex-end;
	align-items: flex-end;
	width: 100%;
	padding-right: 20px;
	box-sizing: border-box;
}

header nav #nav-content>li {
	padding: 0px;
	margin: 0 0 0 35px;
	position: relative;
	transition: 0.1s ease;
	pointer-events: painted;
	box-sizing: border-box;
}

header nav #nav-content li:after {
	content: '/';
	display: block;
	position: absolute;
	left: auto;
	right: -23px;
	bottom: 2px;
	font-size: 16px;
	color: #fff;
}

header nav #nav-content li:nth-child(8):after {
	display: none;
}

header nav #nav-content li a {
	position: relative;
	padding-bottom: 2px;
	font-size: 18px;
	font-weight: bold;
	color: #fff;
}

header nav #nav-content li a:before {
	content: '';
	display: block;
	width: 0;
	height: 2px;
	position: absolute;
	left: auto;
	right: 0;
	bottom: 1px;
	background: #fff;
	transition: 0.3s ease-in-out;
}

header nav #nav-content li a:hover {
	opacity: 1;
}

#back-btn {
	display: none;
}

#nav-input {
	display: none;
}

@keyframes spnavopen {
	0% {
		transform: translateX(200px);
		opacity: 0;
	}

	100% {
		transform: translateX(0px);
		opacity: 1;
	}
}

@media (min-width: 1181px) {
	header nav #nav-content li a:hover:before {
		width: 100%;
		left: 0;
		right: auto;
	}
}

@media (min-width: 1181px) {
	header nav #nav-content>li.nav-list-sp {
		display: none;
	}

	header nav #nav-content>.sns {
		display: none;
	}
}

@media (max-width: 1300px) {
	header nav #nav-content>li {
		margin: 0 0 0 25px;
	}

	header nav #nav-content li:after {
		right: -16px;
	}

	header nav #nav-content li a {
		font-size: 17px;
	}
}

@media (max-width: 1500px) {
	header nav #nav-content li a {
		font-size: 16px;
	}
}

@media screen and (max-width:1400px) {
	header .logo {
		height: 100%;
	}

	header .logo a {
		padding: 0;
	}

	header .header-content h1 {
		padding-top: 5px;
		font-size: 8px;
	}

	header .logo {
		width: 50%;
		height: 55px;
		display: flex;
	}

	header .logo a {
		align-items: center;
	}

	header .logo img {
		width: 239px;
		height: 55px;
		object-fit: contain;
	}

	header {
		display: flex;
		justify-content: space-between;
		position: fixed;
		flex-wrap: wrap;
	}

	header .header-content {
		width: 100%;
	}

	header .header-content ul {
		display: none;
	}

	header .header-content .pc-head-nav {
		display: none;
	}

	header .header-content h1 {
		width: 100%;
	}

	header .header-content .logo,
	header .header-content .logo img {
		width: auto;
		height: 50px;
		margin: 0;
	}

	header .header-content nav {
		width: 72px;
		height: 72px;
		display: flex;
		justify-content: center;
		align-items: center;
		background: url("../img/sp-nav-text.png") no-repeat bottom 12px center;
		background-size: 43px;
	}

	header nav #nav-content-area {
		flex-direction: row;
		flex-wrap: wrap;
		width: 100%;
		height: 100vh;
		align-items: center;
		position: fixed;
		top: 0;
		right: -100vw;
		padding: 0;
		background: #EFF6F5;
		box-sizing: border-box;
		z-index: 998;
		overflow-y: scroll;
		transition: 0.3s;
		opacity: 0.5;
	}

	header nav .header-search-area {
		width: 100%;
		max-width: 700px;
		margin: 3rem auto 0;
		padding: 55px 40px 0;
		box-sizing: border-box;
	}

	header nav .header-search-area input {
		width: 100%;
		padding: .5em;
	}

	header nav #nav-content {
		display: flex;
		align-items: center;
		width: 100%;
		max-width: 700px;
		position: relative;
		margin: 0 auto;
		top: 0;
		height: auto;
		flex-wrap: wrap;
		padding: 55px 40px 40px;
		background: #EFF6F5;
		box-sizing: border-box;
	}

	header nav #nav-content li.pc_none {
		display: block;
	}

	header nav #nav-content li:nth-child(8) {
		display: none;
	}

	header nav #nav-content li.nav-list-btn a:first-child {
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 10px 20px;
		margin-top: 20px;
		margin-bottom: 10px;
		background: url('../img/arrow/side.svg')no-repeat right 8px bottom 8px;
		background-size: 30px;
		background-color: #FFDC00;
		border: none;
		text-align: center;
		font-family: 'Noto Sans JP', sans-serif;
		font-size: 16px;
		color: #000;
		line-height: 1.5;
		font-weight: 800;
	}

	header nav #nav-content li:last-child a:first-child {
		margin-top: 0px;
	}

	header nav #nav-content li.nav-list-btn img {
		max-width: 45px;
		margin-left: -10px;
		margin-right: 10px;
	}

	header nav #nav-content li {
		width: 100%;
		padding: 0px;
		margin: 0;
		text-align: center;
		background: none;
	}

	header nav #nav-content li:after {
		display: none;
	}

	header nav #nav-content li a:first-child {
		padding-left: 15px;
		font-size: 16px;
		border: none;
		border-bottom: solid 1px #000;
	}

	header nav #nav-content li a {
		display: block;
		text-align: center;
		padding-left: 15px;
		padding-bottom: 10px;
	}

	header nav #nav-content li a span {
		display: inline-block;
		width: 100%;
		border-right: none;
	}

	header nav #nav-content li a {
		color: #000;
	}

	header nav #nav-content li:hover,
	header nav #nav-content li a:hover span {
		background: none;
		opacity: 1;
	}

	header nav #nav-content li:hover ul {
		display: none;
		visibility: hidden;
	}

	header nav #nav-content li>p,
	header nav #nav-content li div {
		width: 100%;
		transition: 0.5s;
		padding: 0px;
		padding-left: 0px;
		margin-top: 0px;
	}

	header nav #nav-content li a:first-child,
	header nav #nav-content li div a {
		padding: 15px;
		text-align: left;
	}

	header nav #nav-content li div.nav-open {
		background: none;
		padding-left: 0px;
		padding-right: 0px;
		padding-bottom: 0px;
	}

	header nav #nav-content li div.nav-open a {
		padding-bottom: 10px;
		padding-left: 15px;
	}

	header nav #nav-content li div.nav-open ul {
		display: block;
		visibility: visible;
		position: relative;
		width: 100%;
		padding: 0px;
		box-sizing: border-box;
		top: 0;
	}

	header nav #nav-content li div.nav-open ul li {
		width: 100%;
		margin-bottom: 0px;
		text-align: center;
		box-sizing: border-box;
		background: none;
	}

	header nav #nav-content li div.nav-open ul li a {
		text-align: left;
		padding: 10px;
		box-sizing: border-box;
		line-height: 1;
	}

	header nav #nav-content li div.nav-open ul li a p {
		display: block;
		position: relative;
		width: 100%;
		padding: 10px 10px 10px 30px;
		box-sizing: border-box;
		background: none;
		font-size: 15px;
		color: #000;
		font-style: normal;
		font-weight: 400;
	}

	header nav #nav-content li div.nav-open ul li img {
		display: none;
	}

	header nav #nav-content li ul li.pc-nav-close {
		display: none;
	}

	header nav #nav-content li:nth-child(7) {
		margin-bottom: 15px;
	}

	header nav #nav-content li.nav-list-sp.phone {
		display: none;
	}

	header nav #nav-content li.nav-list-sp a,
	header nav #nav-content li:last-child a:first-child {
		display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
		width: 100%;
		border-bottom: 0;
		margin-top: 10px;
		background: rgba(255, 158, 13, 0.8);
		border-radius: 10px;
		color: #fff;
		box-sizing: border-box;
	}

	header nav #nav-content li.nav-list-sp a img {
		display: block;
		width: 30px;
		height: auto;
		margin-right: 10px;
	}

	header nav {
		margin-right: -1px;
	}

	.nav-unshown {
		display: none;
	}

	#nav-open {
		display: inline-block;
		width: 65px;
		height: 55px;
		margin-top: 0px;
		vertical-align: middle;
		position: relative;
		cursor: pointer;
		z-index: 999;
	}

	#nav-open span, #nav-open span:before, #nav-open span:after {
		display: block;
		content: '';
		position: absolute;
		height: 3px;
		width: 28px;
		background: #333;
		cursor: pointer;
		left: 0;
		right: 0;
		margin: 0 auto;
	}

	#nav-open span {
		margin-top: 14px;
	}

	#nav-open span:before {
		bottom: -10px;
	}

	#nav-open span:after {
		width: 28px;
		bottom: -20px;
	}

	#nav-open span,
	#nav-open span:before,
	#nav-open span:after {
		transition: 0.2s ease;
	}

	#nav-close {
		display: none;
		position: fixed;
		z-index: -1;
		top: 65px;
		left: 0;
		width: 100%;
		height: calc(100vh - 50px);
		background: rgba(255, 255, 255, 0.9);
		opacity: 0;
		transition: .3s ease-in-out;
	}

	#nav-content-area {
		display: block;
		overflow: auto;
		position: fixed;
		align-items: center;
		top: 165px;
		right: -100vw;
		z-index: 9999;
		width: 100%;
		height: auto;
		background: #0054a7;
		transition: .3s ease-in-out;
	}

	#nav-input:checked~#nav-close {
		display: none;
		opacity: 1;
	}

	#nav-input:checked~#nav-open span,
	#nav-input:checked~#nav-open span:before,
	#nav-input:checked~#nav-open span:after {
		background: #000;
	}

	#nav-input:checked~#nav-open span {
		margin-top: 20px;
		background: none;
	}

	#nav-input:checked~#nav-open span:after {
		width: 28px;
		top: 0;
		transform: rotate(-45deg);
	}

	#nav-input:checked~#nav-open span:before {
		top: 0;
		transform: rotate(45deg);
	}

	#nav-input:checked~#nav-content-area {
		-webkit-transform: translateX(-100vw);
		transform: translateX(-100vw);
		opacity: 1;
	}

	header nav #nav-content li ul li:hover {
		transform: scale(1);
		background: none;
		position: relative;
	}

	header nav #nav-content li a:first-child:hover {
		animation-name: none;
	}

	header nav #nav-content li.pc_none.sp-head-nav {
		display: block;
	}

	header nav #nav-content li.sp-head-nav a {
		display: inline-block;
		font-size: 18px;
	}

	header nav #nav-content li.sp-head-nav a.sp-nav-tel {
		padding: 3px 25px;
		margin-right: 15px;
		background-color: #217CA3;
	}

	header nav #nav-content li.sp-head-nav p {
		margin-top: 15px;
		padding-left: 10px;
		border-bottom: none;
		box-sizing: border-box;
	}

	header nav #nav-content > .sns {
		width: 100%;
    display: flex;
    justify-content: center;
    margin: 20px;
	}
}

@media (max-width: 768px) {
	header .header-content h1 {
		padding-right: 20px;
		letter-spacing: -0.5px;
	}

	header nav #nav-content li.nav-list-sp.phone {
		display: flex;
	}

	header nav {
		margin-left: auto;
		background-color: #fff;
	}

	header nav #nav-content>.sns a {
		display: block;
		margin: 0 5px;
	}
}

@media (max-width: 320px) {
	header .header-content h1 {
		padding-right: 0px;
		letter-spacing: -1.5px;
	}
}



/* fixnav */

#fixnav {
	display: none;
}

@media (min-width: 1180px) {
	#fixnav {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		width: 100%;
		height: 60px;
		position: fixed;
		top: -70px;
		padding-top: 3px;
		background: url('../img/top-grad.png')no-repeat top center;
		background-color: #ffffff;
		opacity: 0;
		z-index: 999;
		transition: 0.3s;
		box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.05);
	}

	#fixnav.nav-scroll {
		background: rgba(255, 255, 255, 0.9);
	}

	#fixnav .header-content {
		display: flex;
		justify-content: space-between;
		width: 100%;
		padding: 0 0 0 20px;
		align-items: center;
		align-content: center;
	}

	#fixnav .logo img {
		width: auto;
		height: 50px;
		object-fit: contain;
	}

	#fixnav .pc-head-nav {
		width: calc(100% - 253px);
		display: flex;
		justify-content: flex-end;
		padding-right: 20px;
	}

	#fixnav .pc-head-nav li {
		margin-left: 30px;
	}

	#fixnav .pc-head-nav li a {
		display: flex;
		justify-content: center;
		align-items: center;
		align-content: center;
		height: 100%;
		position: relative;
		transition: 0.3s;
		font-size: 16px;
		font-weight: 400;
	}

	#fixnav .pc-head-nav li a:before {
		content: '';
		display: block;
		width: 0;
		height: 2px;
		position: absolute;
		left: auto;
		right: 0;
		bottom: 1px;
		background: #333;
		transition: 0.3s ease-in-out;
	}

	#fixnav .pc-head-nav li:not(.form) a:hover {
		opacity: 1;
	}

	#fixnav .pc-head-nav li:not(.form) a:hover:before {
		width: 100%;
		left: 0;
		right: auto;
	}
}


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

main

-----------------------------------------------------------------------------  ***/
main.main-content {
	overflow: hidden;
}

main.main-content>section {
	margin-bottom: 80px;
	overflow: hidden;
}

main.main-content section .inner {
	display: block;
	width: 100%;
	max-width: 1200px;
	padding: 0;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

main.main-content section .inner.clm2 {
	display: flex;
	justify-content: flex-start;
	align-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
}

main.main-content section .inner.clm2>* {
	width: 50%;
	margin: 0;
}

/* section-ttl */
main.main-content .section-ttl {
	display: inline-block;
	margin-bottom: 40px;
	text-align: left;
	font-size: 36px;
	line-height: 1.5;
	font-weight: bold;
}

main.main-content .section-ttl .alp {
	display: inline-block;
	margin-bottom: 20px;
	font-size: 26px;
	font-weight: 400;
}

main.main-content .section-ttl~p {
	line-height: 2.2;
}

main.main-content .section-ttl-2 {
	display: block;
	padding-top: 50px;
	margin-bottom: 50px;
	background: url(../img/icon/radial.svg)no-repeat center top;
	background-size: 90px 40px;
	text-align: center;
	font-size: 30px;
}

main.main-content .section-ttl-2 .border {
	display: inline-block;
	padding: 30px 0 10px;
	border-bottom: solid 2px #000000;
	font-weight: 400;
}

main.main-content .section-ttl-2 .border .orange {
	font-size: 120%;
	font-weight: bold;
}

main.main-content .section-ttl-3 {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-content: center;
	align-items: center;
	margin-bottom: 50px;
}

main.main-content .section-ttl-3 .main {
	margin-right: 50px;
	font-size: 36px;
}

main.main-content .section-ttl-3 p {
	width: 70%;
	font-weight: 400;
	line-height: 2.2;
}

main.main-content .section-ttl-3.large p {
	width: 60%;
	font-weight: 400;
	line-height: 2.2;
}

@media screen and (max-width: 1100px) {
	main.main-content section .inner {
		padding-left: 15px;
		padding-right: 15px;
	}
}

@media screen and (max-width: 768px) {
	main.main-content>section {
		margin-bottom: 60px;
	}

	main.main-content .section-ttl {
		margin-bottom: 20px;
		font-size: 20px;
	}

	main.main-content .section-ttl .alp {
		margin-bottom: 13px;
		font-size: 16px;
	}

	main.main-content .section-ttl-2 {
		font-size: 20px;
		margin-bottom: 20px;
	}

	main.main-content .section-ttl-2 .border {
		padding-top: 15px;
		font-size: 15px;
		font-weight: bold;
	}

	main.main-content .section-ttl-3 {
		margin-bottom: 20px;
	}

	main.main-content .section-ttl-3 .main {
		width: 100%;
		margin: 0 auto 10px;
		text-align: center;
		font-size: 22px;
	}

	main.main-content .section-ttl-3 p,
	main.main-content .section-ttl-3.large p {
		width: 100%;
		font-size: 15px;
	}
}

.back-blue {
	background-color: #EFF6F5;
}

.back-yellow {
	background-color: #FFFEEC;
}


main.main-content section .clm2 {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

main.main-content section .clm2 li {
	width: calc(100% / 3);
	box-sizing: border-box;
}

main.main-content section .clm3 {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

main.main-content section .clm3 li {
	width: calc(100% / 3);
	box-sizing: border-box;
}

main.main-content section.list-area .inner {
	padding: 70px 50px;
	border: solid 1px #000000;
	box-sizing: border-box;
	position: relative;
}

main.main-content section.list-area ul {
	display: flex;
	flex-wrap: wrap;
}

main.main-content section.list-area li {
	width: calc(100% / 4 - 15px);
	margin-right: 20px;
	margin-bottom: 25px;
	box-sizing: border-box;
}

main.main-content section.list-area li:nth-child(4n) {
	margin-right: 0;
}

main.main-content section.list-area li p {
	margin-top: 10px;
	text-align: center;
	font-size: 20px;
}

main.main-content section.list-area .more-btn {
	position: relative;
	margin-top: -40px;
	margin-bottom: 0;
	z-index: 2;
}

@media (max-width: 768px) {
	main.main-content section.list-area .inner {
		width: calc(100% - 30px);
		padding: 20px 20px 50px;
		margin-left: auto;
		margin-right: auto;
	}

	main.main-content section.list-area li {
		width: calc(50% - 5px);
		margin: 0 10px 10px 0;
	}

	main.main-content section.list-area li:nth-child(even) {
		margin-right: 0;
	}

	main.main-content section.list-area li p {
		font-size: 14px;
	}

	main.main-content section.list-area .more-btn {
		margin-top: -30px;
		max-width: 80%;
	}
}

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

footer

-----------------------------------------------------------------------------  ***/
footer {
	display: block;
	width: 100%;
	padding: 0 0 100px;
	margin: 0px auto;
	background: #fff;
	box-sizing: border-box;
	text-align: left;
}

footer .footer-content {
	display: flex;
	justify-content: space-between;
	align-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	max-width: 1240px;
	padding: 70px 20px 50px;
	margin: 0 auto;
	text-align: left;
	box-sizing: border-box;
}

footer .footer-content>* {
	width: 50%;
	box-sizing: border-box;
}

footer .footer-content .info {
	font-size: 16px;
	font-weight: 300;
}

footer .footer-content .info .catch {
	display: inline-block;
	margin-bottom: 5px;
	font-size: 18px;
	font-weight: 500;
}

footer .footer-content .info .big {
	display: inline-block;
	margin-bottom: 20px;
	font-size: 26px;
	font-weight: bold;
}

footer .footer-content .info .sns {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	margin: 15px 0 0;
}

footer .footer-content .info .sns li {
	max-width: 60px;
	margin: 0 10px 0 0;
}

footer .footer-content .info .sns li a {
	display: block;
}

footer .footer-content>ul {
	display: flex;
	justify-content: flex-start;
	align-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
}

footer .footer-content>ul li {
	width: 50%;
	margin-bottom: 25px;
}

footer .footer-content>ul li a {
	display: inline-block;
	padding-left: 25px;
	background: url(../img/arrow/side-b.svg) no-repeat center left;
	background-size: 6px;
	font-size: 16px;
	font-weight: 500;
}

footer .copy-right {
	padding-top: 105px;
	background: url(../img/icon/line_illust_f.svg)no-repeat center top;
	background-repeat: repeat-x;
	text-align: center;
	font-size: 14px;
	font-weight: lighter;
	color: #F8CF95;
}

@media(max-width: 1100px) {

	footer .footer-content>*,
	footer .footer-content>ul li {
		width: 100%;
	}

	footer .footer-content .info {
		margin-bottom: 30px;
	}

	footer .footer-content .info {
		font-size: 14px;
	}

	footer .footer-content .info .catch {
		font-size: 16px;
	}

	footer .footer-content .info .big {
		font-size: 22px;
	}

	footer .footer-content>ul li {
		padding-bottom: 10px;
		margin-bottom: 10px;
		border-bottom: solid 1px #F8CF95;
	}

	footer .footer-content>ul li a {
		padding-left: 20px;
		background: url(../img/arrow/side-b.svg) no-repeat center left;
		background-size: 6px;
	}
}

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

back-btn

-----------------------------------------------------------------------------  ***/
#back-btn {
	display: block;
	width: 100%;
	box-sizing: border-box;
	position: fixed;
	z-index: 99;
	right: 0px;
	padding: 0px;
}

#back-btn .content {
	display: flex;
	justify-content: center;
	width: 100%;
	height: 90px;
	box-sizing: border-box;
	background-color: #FF9E0D;
	z-index: 99;
	right: 0px;
	padding: 0px;
}

#back-btn .content .catch,
#back-btn .content .line {
	display: flex;
	justify-content: flex-start;
	align-content: center;
	align-items: center;
	flex-wrap: wrap;
}

#back-btn .content .catch {
	margin-right: 15px;
}

#back-btn .content .catch img {
	display: block;
	width: auto;
	height: 97px;
	margin-right: 7px;
	object-fit: contain;
	margin-top: -7px;
}

#back-btn .content .catch {
	font-size: 26px;
	font-weight: bold;
	line-height: 1.3;
	color: #fff;
}

#back-btn .content .line {
	margin-right: 17px;
	font-weight: bold;
	color: #fff;
	line-height: 1.3;
}

#back-btn .content .line img {
	display: block;
	margin-right: 7px;
}

#back-btn .content .tel {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-content: center;
	align-items: center;
	width: 340px;
	height: 90px;
	color: #fff;
	font-size: 15px;
	font-weight: 300;
	pointer-events: none;
}

#back-btn .content .tel .number {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	align-content: center;
	height: 30px;
	margin-bottom: 10px;
	font-size: 43px;
	line-height: 1;
	font-weight: bold;
}

#back-btn .content .tel .number img {
	display: block;
	width: 30px;
	height: auto;
	margin-right: 8px;
	object-fit: contain;
}

#back-btn .content .btn {
	display: flex;
	align-content: center;
	align-items: center;
	height: 55px;
	padding: 10px 25px;
	margin-top: 15px;
	border: solid 2px #fff;
	box-shadow: 0 5px 0 #fff;
	box-sizing: border-box;
	font-size: 18px;
	line-height: 1.2;
	font-weight: bold;
	color: #fff;
}

#back-btn .content .btn img {
	margin-right: 10px;
}

#back-btn .content .btn.line {
	background: #00B900;
	border: solid 2px #00B900;
	box-shadow: 0 5px 0 #009A00;
	margin-left: 20px;
}

#back-btn .content .btn.line span {
	padding-bottom: 10px;
	font-size: 22px;
	line-height: 1.1;
}

#back-btn .content .btn.line span span {
	font-size: 16px;
}

#back-btn .content .btn.line img {
	height: 48px;
}

#back-btn .content .back-btn {
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;
	width: 82px;
	height: 82px;
	position: absolute;
	top: -102px;
	right: 20px;
}


@media(max-width: 1230px) {
	#back-btn .content .catch {
		font-size: 20px;
	}

	#back-btn .content .tel .number {
		height: 20px;
		font-size: 33px;
	}

	#back-btn .content .tel {
		width: 275px;
		font-size: 12px;
	}

	#back-btn .f-22 {
		font-size: 20px;
	}

	#back-btn .f-20 {
		font-size: 18px;
	}

}

@media(min-width: 1101px) {
	#back-btn .sp-content {
		display: none;
	}
}

@media(max-width: 1100px) {
	#back-btn .content.pc-content {
		display: none;
	}

	#back-btn .sp-content {
		display: flex;
		flex-wrap: wrap;
		position: relative;
		height: 60px;
	}

	#back-btn .sp-content>a {
		display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
		width: calc(39% - 25px);
		padding: 10px 5px;
		background: #FF9E0D;
		font-size: 13px;
		letter-spacing: -1px;
		font-weight: bold;
		line-height: 1.3;
		box-sizing: border-box;
		color: #fff;
	}

	#back-btn .sp-content>a:first-child {
		width: calc(35% - 25px);
		border-right: solid 1px #F8CF95;
	}

	#back-btn .sp-content>a:nth-child(2) {
		border-right: solid 1px #F8CF95;
	}

	#back-btn .sp-content>a:nth-child(3) {
		width: 26%;
	}

	#back-btn .sp-content>a img {
		width: 15px;
		margin-right: 10px;
	}

	#back-btn .sp-content .back-btn {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 50px;
		border-left: solid 1px #F8CF95;
		box-sizing: border-box;
	}

	#back-btn .sp-content .back-btn img {
		width: 25px;
		margin: 0;
	}
}

@media (max-width: 360px) {
	#back-btn .sp-content>a {
		font-size: 11px;
	}
}


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

共通パーツ

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

.orange {
	color: #FF9E0D;
}

.green {
	color: #2FA791;
}

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

.f-22 {
	font-size: 22px;
}

.f-20 {
	font-size: 22px;
}

.more-btn,
input[type="submit"].more-btn {
	display: flex;
	justify-content: flex-start;
	width: 100%;
	max-width: 400px;
	padding: 25px 105px 25px 25px;
	margin: 0 auto 70px;
	background: url('../img/arrow/btn-w.svg')no-repeat center right 20px;
	background-size: 68px;
	background-color: #FF9E0D;
	border: solid 2px #FF9E0D;
	text-align: left;
	font-size: 20px;
	line-height: 1.4;
	font-weight: 700;
	color: #fff;
	box-sizing: border-box;
	transition: 0.4s;
	overflow: hidden;
}

.anker {
	padding-top: 60px;
	margin-top: -60px;
}

@media screen and (min-width:769px) {
	.pc_none {
		display: none;
	}

	.btn a:before {
		content: '';
		position: absolute;
		display: block;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border-radius: 50px;
		z-index: -2;
		transition: 0.4s ease-in-out;
		border: solid 1px #000;
		box-sizing: border-box;
		opacity: 0.7;
	}

	.btn a:hover:before {
		transform: scale(1.2, 1.7);
		opacity: 0;
	}

	.btn a:hover {
		background: #000;
		opacity: 1;
		transform: scale(0.95);
		color: #fff;
	}

	a.more-btn:hover,
	.more-btn:hover {
		color: #FF9E0D;
		opacity: 1;
		background: url(../img/arrow/btn-o.svg)no-repeat center right 10px;
		background-size: 68px;
		background-color: #fff;
		box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
		border-radius: 20px;
	}
}

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

	.more-btn {
		max-width: 85%;
		font-size: 16px;
		text-align: center;
	}

	.more-btn input[type="submit"],
	.more-btn button {
		padding: 25px 35px 25px 20px;
		line-height: 1.7;
	}
}


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

共通項目(セクション単位)

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

/* links */
#links {
	padding: 100px 20px;
	margin-bottom: 0;
	box-sizing: border-box;
}

#links ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

#links ul li {
	display: block;
	width: calc(100% / 2 - 20px);
	height: 240px;
	background: url('../../img/home/link-company.jpg')no-repeat center center;
	background-size: cover;
	box-sizing: border-box;
}

#links ul li:nth-child(2) {
	background: url('../../img/home/link-message.jpg')no-repeat center center;
	background-size: cover;
}

#links ul li:nth-child(3) {
	background: url('../../img/home/link-init.jpg')no-repeat center center;
	background-size: cover;
}

#links ul li:nth-child(4) {
	background: url('../../img/home/link-recruit.jpg')no-repeat center center;
	background-size: cover;
}

#links ul li a {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	align-content: flex-end;
	align-items: flex-end;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
}

/* list1 */
#links ul.list1 {
	align-content: flex-end;
	align-items: flex-end;
	margin-bottom: 20px;
}

#links ul.list1 li {
	margin-bottom: 70px;
	transition: 0.3s;
	position: relative;
}

#links ul.list1 li p {
	display: flex;
	justify-content: center;
	width: 85%;
	max-width: 350px;
	padding: 35px 20px;
	margin-bottom: -50px;
	position: relative;
	background: #fff;
	box-sizing: border-box;
	text-align: center;
	font-size: 25px;
	font-weight: 700;
	transition: 0.3s;
}

#links ul.list1 li p:before {
	content: '';
	display: block;
	width: calc(100% - 20px);
	height: calc(100% - 20px);
	background: none;
	border: solid 1px #000;
	position: absolute;
	right: 10px;
	bottom: 10px;
	transition: 0.3s;
}

/* list2 */
#links ul.list2 li {
	width: calc(25% - 10px);
	height: auto;
	margin-left: 15px;
	background: #EFF6F5;
}

#links ul.list2 li:first-child {
	width: calc(50% - 10px);
	margin-left: 0;
}

#links ul.list2 li a {
	display: flex;
	justify-content: center;
	align-content: flex-start;
	align-items: flex-start;
	padding: 35px;
	text-align: center;
	box-sizing: border-box;
}

#links ul.list2 li a .img span {
	font-size: 25px;
	font-weight: bold;
}

#links ul.list2 li a .img img {
	margin: 0 auto 5px;
}

#links ul.list2 li a .text {
	font-size: 14px;
}

#links ul.list2 li a .text span {
	font-size: 110%;
	font-weight: bold;
}

#links ul.list2 li:first-child a {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

#links ul.list2 li:first-child a>* {
	height: 100%;
}

#links ul.list2 li:first-child a .img {
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	align-items: flex-start;
	width: 30%;
}

#links ul.list2 li:first-child a .img span {
	margin-bottom: 45px;
}

#links ul.list2 li:first-child a .img img {
	height: auto;
}

#links ul.list2 li:first-child a .text {
	width: 70%;
	padding-left: 20px;
	text-align: left;
	box-sizing: border-box;
}

#links ul.list2 li:first-child a .text span {
	display: inline-block;
	margin-top: 8px;
	margin-bottom: 25px;
}

#links ul.list2 li:first-child a .text {
	line-height: 2.2;
}

@media (min-width: 769px) {
	#links ul.list1 li:hover p {
		margin-bottom: -30px;
		color: #FF9E0D;
		border-radius: 10px;
	}

	#links ul.list1 li:hover p:before {
		width: calc(100% - 24px);
		height: calc(100% - 24px);
		border: solid 1px #FF9E0D;
		border-radius: 10px;
		right: 12px;
		bottom: 12px;
	}

	#links ul.list2 li a {
		border: solid 2px #EFF6F5;
	}

	#links ul.list2 li:hover a {
		border: solid 2px #FF9E0D;
	}
}

@media(max-width: 768px) {
	#links {
		padding: 60px 0;
	}

	#links ul li {
		width: 100%;
		height: 150px;
	}

	#links ul.list1 li p {
		padding: 20px;
		font-size: 18px;
	}

	#links ul.list2 li,
	#links ul.list2 li:first-child {
		width: 100%;
		margin: 0 auto 20px;
	}

	#links ul.list2 li:first-child a {
		padding: 20px;
	}

	#links ul.list2 li:first-child a .img {
		justify-content: center;
		align-items: center;
		align-content: center;
		width: 100%;
		height: auto;
	}

	#links ul.list2 li:first-child a .img span,
	#links ul.list2 li a .img span {
		font-size: 20px;
		margin-bottom: 0;
	}

	#links ul.list2 li:first-child a .img img {
		margin: 0 0 0 15px;
	}

	#links ul.list2 li a .text,
	#links ul.list2 li:first-child a .text {
		width: 100%;
		height: auto;
		padding: 0;
	}

	#links ul.list2 li:first-child a .text span {
		width: 100%;
		margin: 10px auto 0;
		text-align: center;
	}

	#links ul.list2 li:nth-child(2),
	#links ul.list2 li:nth-child(3) {
		width: calc(50% - 5px);
		margin: 0;
	}

	#links ul.list2 li a {
		padding: 20px 10px;
	}

	#links ul.list2 li a .text,
	#links ul.list2 li a .text span {
		font-size: 12px;
	}
}

@media (max-width: 320px) {
	#links ul.list2 li:first-child a .img span, #links ul.list2 li a .img span {
		font-size: 18px;
	}
}

/* contacts */
#contacts {
	padding: 50px 0 60px;
	margin-bottom: 0;
	background: url(../img/contacts.jpg)no-repeat center center;
	background-size: cover;
	box-sizing: border-box;
}

#contacts .clm2>* {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-content: flex-start;
	align-items: flex-start;
	width: calc(50% - 1px);
	padding: 50px 40px 40px 55px;
	text-align: center;
	box-sizing: border-box;
}

#contacts .clm2>*:first-child {
	justify-content: flex-end;
	padding: 50px 55px 40px 20px;
	border-right: solid 2px #000;
}

#contacts .form-area h5 {
	display: inline-block;
	margin-bottom: 5px;
	font-size: 36px;
}

#contacts .form-area .tel {
	display: flex;
	align-content: center;
	align-items: center;
	font-size: 60px;
	line-height: 1.4;
	font-weight: bold;
	color: #FF9E0D;
	pointer-events: none;
}

#contacts .form-area .tel img {
	width: 45px;
	margin-right: 15px;
}

#contacts .form-area .tel~p {
	display: inline-block;
	margin-bottom: 25px;
	font-size: 18px;
	font-weight: 300;
	letter-spacing: 1.5px;
}

#contacts .form-area .btn {
	width: 100%;
	max-width: 460px;
	padding: 25px 30% 20px 25px;
	background: url(../img/arrow/btn-b.svg)no-repeat center right 25px;
	background-size: 15%;
	border: solid 2px #000;
	box-shadow: 0px 10px 0px #000;
	box-sizing: border-box;
	font-size: 22px;
}

#contacts .form-area .btn .main {
	display: flex;
	justify-content: flex-start;
	align-content: center;
	align-items: center;
	padding-bottom: 5px;
	border-bottom: solid 1px #000;
	font-weight: bold;
}

#contacts .form-area .btn .main img {
	margin-right: 10px;
}

#contacts .form-area .btn .descript {
	font-size: 65%;
	letter-spacing: 2px;
	font-weight: 500;
}

#contacts .online-area .btn {
	width: 100%;
	max-width: 500px;
	padding: 20px 30px 0;
	margin-bottom: 30px;
	border: solid 2px #000;
	box-shadow: 0px 10px 0px #000;
	box-sizing: border-box;
	font-size: 26px;
	font-weight: bold;
}

#contacts .online-area .btn img {
	max-width: 70%;
	margin-top: 5px;
	margin-bottom: -5px;
}

#contacts .online-area p {
	width: 100%;
	max-width: 500px;
	text-align: justify;
	line-height: 2;
	font-weight: 400;
}

@media (min-width: 769px) {

	#contacts .form-area .btn,
	#contacts .online-area .btn,
	#back-btn .content .btn {
		transition: 0.2s;
	}

	#contacts .form-area .btn:hover,
	#contacts .online-area .btn:hover,
	#back-btn .content .btn:hover {
		transform: translateY(10px);
		box-shadow: none;
	}

	footer .footer-content>ul li a:hover {
		background: url(../img/arrow/side-b.svg) no-repeat center left 10px;
		background-size: 6px;
		color: #FF9E0D;
	}
}

@media (max-width: 1110px) {
	#contacts .form-area h5 {
		font-size: 30px;
	}

	#contacts .form-area .tel {
		font-size: 50px;
	}

	#contacts .form-area .tel~p {
		font-size: 15px;
	}

	#contacts .form-area .btn .main {
		justify-content: center;
		font-size: 20px;
	}
}

@media (max-width: 995px) {
	#contacts .form-area h5 {
		font-size: 26px;
	}

	#contacts .form-area .tel {
		margin: 0 auto;
		font-size: 40px;
	}

	#contacts .form-area .tel img {
		width: 30px;
		margin-right: 5px;
	}

	#contacts .form-area .tel~p {
		font-size: 13px;
	}

	#contacts .form-area .btn .main {
		font-size: 16px;
	}
}

@media (max-width: 880px) {
	#contacts {
		margin-bottom: 0;
	}

	#contacts .clm2>*,
	#contacts .clm2>*:first-child {
		width: 100%;
		padding: 20px 0 0;
		justify-content: center;
		border: none;
	}

	#contacts .form-area h5 {
		font-size: 20px;
	}

	#contacts .form-area .tel {
		width: 100%;
		justify-content: center;
		text-align: center;
		font-size: 35px;
		pointer-events: auto;
	}

	#contacts .form-area .tel img {
		width: 25px;
	}

	#contacts .form-area .tel~p {
		width: 100%;
		font-size: 12px;
	}

	#contacts .form-area .btn {
		max-width: 500px;
		padding: 15px 30% 10px 20px;
		margin-bottom: 20px;
	}

	#contacts .form-area .btn .main {
		font-size: 16px;
	}

	#contacts .online-area .btn {
		padding: 20px 0 0;
		font-size: 18px;
	}
}

@media (max-width: 320px) {
	#contacts .form-area .btn {
		padding-right: 50px;
		background: url(../img/arrow/btn-b.svg)no-repeat center right 15px;
		background-size: 25px;
	}
}