@charset "UTF-8";
/*------------------------
スタイルの初期化
------------------------*/
/*--------共通--------*/
html{
	font-size:62.5%;
}
body,div,pre,p,blockquote,b,img
form,fieldset,input,textarea,select,option,
dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,
table,th,td,embed,object,figure { margin:0; padding:0; }
body{
	width:100%;
	font-family: 'Noto Sans JP','メイリオ','Meiryo','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',sans-serif;
	font-size: 1.6rem;
	line-height: 1.5;
	color: var(--txtcolor);
	text-autospace:ideograph-alpha;
	background:#fff;
	font-weight:normal;
	font-feature-settings: 'palt';
	letter-spacing: .08em;
}
* {
	box-sizing: border-box;
}
a {
	text-decoration: none;
	color: var(--txtcolor);
	transition: all .3s ease 0s;
}
a img {
	border:0;
}
img{
	vertical-align:top;
	max-width: 100%;
}
ul, ol { list-style-type:none; }
sup { position: relative; vertical-align: baseline; top: -0.9em; font-size: 0.5em; }
hr { display: none; }
h1,h2,h3,h4,h5,h6 { font-size: 100%; font-weight: normal;}
th, caption{ text-align: left; font-weight: normal; }
th,td { empty-cells:show; }
input[type="text"] , 
input[type="email"] , 
input[type="tel"] , 
input[type="password"] { padding:0 2px; margin-right:0.4em; }
input[type="submit"] { display:inline; margin:0; }
input[type="radio"] { margin-right:0.4em; }
textarea { padding:2px; }
optgroup { font-style:normal; }
option { padding-right:10px; }
*:focus {
outline: none;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section,main{
	display:block;
}
/*ボタンデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"],button {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
	font-family: 'Helvetica','Noto Sans JP','メイリオ','Meiryo','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',sans-serif;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
	display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
	outline-offset: -2px;
}
input[type="text"] , 
input[type="email"] , 
input[type="tel"] , 
input[type="password"] ,
textarea {
	-webkit-appearance : none;
	appearance: none;
	border-radius:0;
	padding:8px;
	border:1px solid #dadada;
	width: 100%;
	box-sizing: border-box;
}
select {
	padding: 10px 16px 10px 10px;
	border: 1px solid #dadada;
	appearance: none;
	border-radius: 0;
	background: #fff url(/file/img/common/arrow_select.png) no-repeat right 6px center;
	background-size: auto 8px;
	color: var(--txtcolor);
}
input[type="submit"],
input[type="button"] {
	background: var(--btncolor);
	color: #fff;
	line-height: 1;
}
::placeholder {
	color: #c6c6c6;
}
input {
	caret-color: var(--btncolor);
}
/*--------sp--------*/
@media screen and (max-width:767px) {
input[type="text"] , 
input[type="email"] , 
input[type="tel"] , 
input[type="password"] ,
textarea {
	padding:2.13vw;
	height: 8.8vw;
}
}
/*チェックボックスのスタイル*/
input[type="checkbox"]{
	border: 1px solid #dadada;
	vertical-align: -6px;
	-webkit-appearance: none;
	position: relative;
	box-sizing: border-box;
	width: 22px;
	height: 22px;
	background: #fff;
	margin-right: 4px;
}
input[type="checkbox"]:checked {
	background: #87d0d7;
	border: 1px solid #4d888e;
}
input[type="checkbox"]:checked:before {
	position: absolute;
	left: 1px;
	top: 14px;
	display: block;
	content: "";
	width: 8px;
	height: 3px;
	background: #ffffff;
	-webkit-transform: rotate(45deg);
	-webkit-transform-origin: right center;
}
input[type="checkbox"]:checked:after {
	display: block;
	position: absolute;
	left: 8px;
	top: 14px;
	content: "";
	width: 14px;
	height: 3px;
	background: #ffffff;
	-webkit-transform: rotate(-53deg);
	-webkit-transform-origin: left center;
}
input[type="radio"] {
	-webkit-appearance: none;
	appearance: none;
	width: 17px;
	height: 17px;
	border: 1px solid transparent;
	position: relative;
}
input[type="radio"]::before {
	content: "";
	display: block;
	position: absolute;
	top: 3px;
	left: 0;
	width: 15px;
	height: 15px;
	border: 1px solid #dadada;
	border-radius: 50%;
}
input[type="radio"]::after {
	content: '';
	display: block;
	position: absolute;
	top: 7px;
	left: 4px;
	width: 9px;
	height: 9px;
	background: #fff;
	border-radius: 50%;
}
input[type="radio"]:checked::after {
	content: '';
	display: block;
	position: absolute;
	top: 7px;
	left: 4px;
	width: 9px;
	height: 9px;
	background: var(--orange2);
	border-radius: 50%;
}
.submit {
	text-align: center;
}
.submit .input {
	font-size: 1.8rem;
	padding: 20px;
}
.flex-box {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}
:root {
	--txtcolor: #1c1c1c;
	--green: #079b88;
	--o-white: #f9faf4;
	--orange1: #f7a120;
	--orange2: #f57418;
	--bg-beige: #efebe0;
	--bg-orange: #fff6e8;
	--bg-green: #eaf2f1;
}
table {
	width: 100%;
	border-collapse: collapse;
}
.btn a ,
.submit input {
	display: block;
	text-align: center;
	color: #fff;
	font-weight: bold;
	line-height: 1;
	margin: 0 auto;
}
.wf{
	font-family: "Hind", sans-serif;
	font-weight: 400;
	font-style: normal;
}
/* ボタン */
.btn a{
	display: flex;
	align-items: center;
	color: #fff;
	font-weight: 500;
	border: none;
	border-radius: 50px;
	cursor: pointer;
	text-decoration: none;
	box-sizing: border-box;
	position: relative;
	margin: 0 auto;
	justify-content: center;
}
.btn a::before {
	position: absolute;
	content: '';
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #fff;
	border-radius: 50%;
	flex-shrink: 0;
}
.btn a::after {
	position: absolute;
	content: "";
	display: inline-block;
	background: url(/file/img/common/arrow-green.svg) no-repeat;
	background-position: center;
	background-size: contain;
	z-index: 1;
}
input{
	color: var(--txtcolor);
}
	input[type="submit"],
    input[type="button"] {
		font-size: 1.8rem;
		transition: all .3s ease 0s;
	}
	section .ttl-box h2,
	article .ttl-box h2{
		line-height: 1.4;
		position: relative;
		text-align: center;
		font-weight: 600;
	}
	section .ttl-box h2::after,
	article .ttl-box h2::after{
		content: '';
		background: var(--green);
		display: block;
	}
	section p.lead,
	article p.lead{
		text-align: center;
	}
/*--------pc--------*/
@media screen and (min-width:768px) {
	body {
		min-width:1200px;
	}
	body .inner{
		width:1200px;
		margin: 0 auto;
	}
	.pc {
		display: block;
	}
	.sp {
		display: none!important;
	}
	.pc.flex-box {
		display: flex;
	}
	.pc-ib {
		display: inline-block;
	}
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
	}
/* ボタン */
	.btn a{
		width: 180px;
		height: 45px;
		padding: 0 10px 0 20px;
		font-size: 16px;
		border-radius: 50px;
		cursor: pointer;
		background-color: var(--green);
	}
	.btn a::before {
		width: 35px;
		height: 35px;
		border-radius: 50%;
		flex-shrink: 0;
		right: 6px;
		transform: scale(1);
	}
	.btn a::after {
		width: 10px;
		height: 8px;
		right: 17px;
		transform: scale(1);
	}
	.btn a:hover::before {
		transform: scale(0.8);
		transition: transform 0.3s ease;
	}
	.btn a:hover::after {
		transform: scale(0.8);
		transition: transform 0.3s ease;
	}
	input[type="submit"],
    input[type="button"] {
		font-size: 1.8rem;
		transition: all .3s ease 0s;
	}
	section .ttl-box h2,
	article .ttl-box h2{
		font-size: 30px;
	}
	section .ttl-box h2::after,
	article .ttl-box h2::after{
		width: 74px;
		height: 6px;
		display: block;
		margin: 20px auto 30px;
	}
	section p.lead,
	article p.lead{
		margin-bottom: 35px;
	}
}
/*--------sp--------*/
@media screen and (max-width:767px) {
	body {
		font-size: 4.27vw;
	}
	body .inner{
		padding: 0 4%;
	}
	.pc {
		display: none!important;
	}
	.sp {
		display: block;
	}
	.sp.flex-box {
		display: flex;
	}
	.sp-ib {
		display: inline-block;
	}
	.submit input {
		width: 100%;
		margin: auto;
		font-size: 4.27vw;
		padding: 1em;
		letter-spacing: .08em;
		background: var(--btncolor);
		background-size: 5vw;
	}
/* ボタン */
	.btn a{
		width: 74.67vw;
		height: 13.33vw;
		padding: 0 4.8vw 0 4.8vw;
		font-size: 4vw;
		background-color: var(--txtcolor);
	}
	.btn a::before {
		width: 9.87vw;
		height: 9.87vw;
		border-radius: 50%;
		flex-shrink: 0;
		right: 1.5vw;
	}
	.btn a::after {
		width: 3.33vw;
		height: 2.8vw;
		right: 4.8vw;
		background: url(/file/img/common/arrow-black.svg) no-repeat;
		background-size: contain;
	}
	/* .h-back a {
		font-size: 3.2vw;
		padding: .5em .8em .5em 1.2em;
	}
	.h-back a::after {
		width: 1vw;
		height: 1vw;
		left: 6%;
	} */
	input[type="submit"] {
		width: 80%;
		padding: 4.5%;
		font-size: 4.8vw;
	}
	section .ttl-box h2,
	article .ttl-box h2{
		font-size: 5.33vw;
	}
	section .ttl-box h2::after,
	article .ttl-box h2::after{
		width: 12vw;
		height: 4px;
		margin: 2.67vw auto 4vw;
	}
	section p.lead,
	article p.lead{
		margin-bottom: 6%;
		font-size: 3.73vw;
		line-height: 1.6;
	}
}
/*------------------------
ヘッダー
------------------------*/
/*--------共通--------*/
header {
	position: relative;
}
header a.company{
	display: flex;
}
header .wrapper{
	justify-content: space-between;
	padding: 0 0 10px;
}
header .logo a{
	display: inline-block;
}
header .logo img{
	object-fit: contain;
}
header .contact-area .contact{
	align-items: center;
	justify-content: flex-end;
}
header .contact-area .h-btn a{
	text-align: center;
	display:flex;
	font-weight: 600;
	justify-content: center;
	align-items: center;
}
header .contact-area .line a{
	background-color: #06c755;
}
header .contact-area .mail a {
	background: var(--orange1);
}
header .contact-area .assessment a{
	background: var(--green);
}
header nav ul .has-child {
	position: relative;
}
header nav ul .has-child a::before {
	content: '';
	position: absolute;
	border-bottom:2px solid var(--sellcolor);
	border-left: 2px solid var(--sellcolor);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
header nav ul .has-child .child li a {
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: 0;
	display: block;
	background: #fff;
}
header nav ul .has-child .child li:not(:last-of-type) a {
	border-bottom: 1px solid var(--green);
}
header nav ul .has-child .child li a::before ,
header nav ul .has-child .child li a::after {
	content: none;
}
header nav ul .has-child .sales-way {
	display: flex;
	align-items: center;
}
/*--------pc--------*/
@media screen and (min-width:768px) {
	header {
		position: relative;
	}
	header .inner{
		transition: 0.3s all;
	}
	header li{
		transition: 0.3s all;
	}
	header li a {
	font-size: 15px;
	}
	header nav ul .has-child .sales-way {
	padding-top: 2px;
}
	header li a:not(.sales-way) {
	position: relative;
	}
	header li:hover a:not(.sales-way){
		position: relative;
		transition: 0.3s all;
	}
	header li a:not(.sales-way)::after {
		content: '';
		position: absolute;
		background: #fcaebb;
		width: 0;
		height: 4px;
		bottom: -12px;
		left: 50%;
		transform: translateX(-50%);
		transition: width 0.3s ease;
	}
	header li:hover a:not(.sales-way)::after {
		width: 40px;
	}
	header a.company{
		font-size: 12px;
		display: flex;
		transition: 0.3s all;
	}
	header a.company:hover{
		opacity: 0.7;
	}
	header a.company::before{
		content: '';
		margin: auto 0;
		width: 6px;
		height: 6px;
		border-top: 2px solid var(--orange1);
		border-right: 2px solid var(--orange1);
		transform: rotate(45deg);
		margin-right: 8px;
		transition: 0.3s all;
	}
	header a.company:hover::before{
		margin-right: 5px;
	}
	header .wrapper{
		justify-content: space-between;
		padding: 0 0 10px;
	}
	header .logo{
		margin-top: 20px;
	}
	header .logo a{
		display: inline-block;
		width: 176px;
		height: 63px;
	}
	header .logo img{
		object-fit: contain;
	}
	header .contact-area .contact{
		gap: 10px;
		align-items: center;
		margin-bottom: 20px;
		justify-content: flex-end;
	}
	header .contact-area .h-btn a{
		color: #fff;
		width: 236px;
		height: 50px;
		border-radius: 0 0 10px 10px;
		padding: 13px 0px;
	}
	header .contact-area .h-btn a:hover{
		opacity: 0.75;
	}
	header .contact-area .h-btn a::before{
		content: "";
		display: inline-block;
		margin-right: 6px;
	}
	header .line a::before{
		background: url(/file/img/common/icon-line.svg) no-repeat;
		background-position: center;
		background-size: contain;
		width: 22px;
		height: 22px;
	}
	header .mail a::before{
		background: url(/file/img/common/icon-mail.svg) no-repeat;
		background-position: center;
		background-size: contain;
		width: 22px;
		height: 14px;
	}
	header .assessment a::before{
		background: url(/file/img/common/icon-assessment.svg) no-repeat;
		background-position: center;
		background-size: contain;
		width: 16px;
		height: 22px;
	}
	header nav .flex-box{
		gap: 24px;
		justify-content: flex-end;
	}
	header nav ul .has-child {
		position: relative;
	}
	header nav ul .has-child a:hover::before {
		top: 24px;
	}
	header nav ul .has-child .child {
		position: absolute;
		left: 0;
		top: 34px;
		z-index: 4;
		width: 100%;
		visibility: hidden;
		opacity: 0;
		transition: all .3s;
	}
	header nav ul .has-child:hover > .child {
		visibility: visible;
		opacity: 1;
	}
	header nav ul .has-child .child li a {
		font-size: 1.4rem;
		font-weight: 400;
		line-height: 1.3;
		letter-spacing: 0;
		padding: 10px 8px;
		display: block;
		width: 200px;
		background: #fff;
	}
	header nav ul .has-child .child li:not(:last-of-type) a {
		border-bottom: 1px solid var(--green);
	}
	header nav ul .has-child .child li a:hover{
		width: 200px;
		background: #eef9f8;
	}
	header nav ul .has-child .child li a::before ,
	header nav ul .has-child .child li a::after {
		content: none;
	}
	header nav ul .has-child .sales-way {
		display: flex;
		align-items: center;
	}
	header nav ul .has-child .sales-way::after {
		content: '';
		margin: auto 0;
		width: 5px;
		height: 5px;
		border-top: 2px solid var(--txtcolor);
		border-right: 2px solid var(--txtcolor);
		transform: rotate(135deg);
		margin-left: 6px;
		margin-top: 7px;
	}
}
@media screen and (min-width:768px) and ( max-width:1200px) {
	header .inner{
		padding: 0 15px;
	}
}
/*--------sp--------*/
@media screen and (max-width:767px) {
	header {
		position: fixed;
		top: 0;
		background: #fff;
		z-index: 999;
	}
	header .sp.flex-box {
		width: 100vw;
		padding: 1.33% 4.5%;
		justify-content: space-between;
		align-items: center;
	}
	header .logo {
		width: 22vw;
		position: relative;
		z-index: 400;
		flex-shrink: 0;
	}
	header .contact-area {
		align-items: center;
		position: relative;
		z-index: 400;
	}
	header .contact-area .h-btn{
		margin-right: 1.33vw;
	}
	header .contact-area .h-btn.assessment{
		margin-right: 0;
	}
	header .contact-area .h-btn a{
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		padding: 1.7vw 0 1vw 0;
		font-size: 2.4vw;
		color: #fff;
		width: 14vw;
		border-radius: 5px;
	}
	header .contact-area .h-btn a .image{
		width: 4.13vw;
		height: 4.13vw;
		display: block;
		margin-bottom: 0.53vw;
	}
	header .contact-area a .image img{
		object-fit: contain;
		width: 100%;
		height: 100%;
	}
	header .contact-area .menu {
		width: 8vw;
		height: 12vw;
		margin-left: 3vw;
		position: relative;
	}
	header .menu div {
		position: absolute;
		right: 0;
		width: 100%;
		height: 2px;
		background: var(--txtcolor);
		transition: .35s ease-in-out;
	}
	header .menu .menu1 {
		top: 30%;
	}
	header .menu .menu2 {
		top: 50%;
	}
	header .menu .menu3 {
		top: 70%;
	}
	header .menu.active .menu1 {
		top: 48%;
		left: 0;
		right: 0;
		margin: auto;
		width: 100%;
		background: var(--txtcolor);
		-webkit-transform: rotate(-405deg);
		-moz-transform: rotate(-405deg);
		transform: rotate(-405deg);
	}
	header .menu.active .menu2 ,
	header .menu.active .menu3 {
		top: 48%;
		left: 0;
		right: 0;
		margin: auto;
		width: 100%;
		background: var(--txtcolor);
		-webkit-transform: rotate(405deg);
		-moz-transform: rotate(405deg);
		transform: rotate(405deg);
	}
}

/*------------------------
ハンバーガーメニュー
------------------------*/
/*--------sp--------*/
@media screen and (max-width:767px) {
	#menu-list {
		width: 100%;
		box-sizing: border-box;
		position: absolute;
		overflow: hidden;
		z-index: 150;
		top: 0;
		left: 0;
		background: #fff;
		transform: translateY(-200%);
		padding: 18% 4.5% 10%;
		transition: all .6s;
	}
	#menu-list.active {
		transform: translateY(0);
		overflow: scroll;
		height: 100vh;
	}
	#menu-list ul.box {
		flex-wrap: wrap;
		margin-bottom: 5%;
	}
	#menu-list ul.box li {
	}
	#menu-list ul li a {
		display: block;
		padding: 2% 0;
	}
	#menu-list .site-menu {
		margin-bottom: 5%;
	}
	#menu-list .site-menu .item .head {
		display: block;
		padding: 4% 4.5%;
		background: #3c3c3c;
		color: #fff;
		line-height: 1;
		margin-bottom: 1px;
		position: relative;
	}
	#menu-list .site-menu .item .head::after {
		content: '';
		width: 1.5vw;
		height: 1.5vw;
		border-bottom: 2px solid #fff;
		border-left: 2px solid #fff;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		position: absolute;
		top: 0;
		bottom: 0;
		right: 4.5%;
		margin: auto;
		transition: all .3s ease 0s;
	}
	#menu-list .site-menu .item .head.on::after {
		-webkit-transform: rotate(-225deg);
		transform: rotate(-225deg);
	}
	#menu-list .site-menu .item ul {
		display: none;
		padding: 2% 0 0;
	}
	#menu-list .site-menu .item ul li a {
		display: block;
		padding: 1.5% 4.5%;
	}
	#menu-list .site-menu .item ul .blank a::after {
		content: '';
		display: inline-block;
		background: url(/file/img/common/icn_blank.svg) no-repeat 100%/cover;
		width: 3vw;
		height: 3vw;
		margin-left: 1.5%;
	}
	#menu-list .company-menu .head {
		display: block;
		font-weight: bold;
		line-height: 1;
		margin-bottom: 2%;
	}
	#menu-list .company-menu .flex-box {
		flex-wrap: wrap;
	}
	#menu-list .company-menu ul li a {
		padding: .2em 1em .2em 0;
	}
	#overlay {
		z-index: 3;
		width: 100%;
		height: 100%;
		box-sizing: border-box;
		position: fixed;
		background: rgba(0,0,0,.3);
		transition: all .6s;
		top: 0;
		left: 0;
		opacity: 0;
	}
}
/*------------------------
ぱんくず
------------------------*/
/*--------共通--------*/
#breadcrumb li {
	display: inline-flex;
	align-items: center; /* 縦方向の中央揃え */
}
#breadcrumb li a {
	display: inline-flex;
	align-items: center;
	line-height: 1;
	opacity: 1;
	transition: 0.3s all;
}
#breadcrumb li::before {
	content: ' > ';
	color: var(--txtcolor);
}
#breadcrumb li:first-child::before {
	content: '';
	vertical-align: middle;
	padding: 0;
}
#breadcrumb li a:hover {
	opacity: 0.8;
}
#breadcrumb li .image{
	display: inline-flex;
	align-items: center;
	vertical-align: middle;
	margin-right: 4px;
}
#breadcrumb li .image img{
	vertical-align: middle;
}
#breadcrumb li .image img{
	width: 100%;
	height: 100%;
}
/*--------pc--------*/
@media screen and (min-width:768px) {
	#breadcrumb {
		width: 1000px;
		overflow: hidden;
		font-size: 1.4rem;
		padding: 10px 0;
	}
	#breadcrumb li .image{
		width: 19px;
		height: 23px;
		margin-top: -10px;
	}
	#breadcrumb li:nth-child(n+2)::before {
		margin-right: 8px;
}
}
/*--------sp--------*/
@media screen and (max-width:767px) {
	#breadcrumb {
		font-size: 2.94vw;
		overflow-x: scroll;
		white-space: nowrap;
		position: relative;
		z-index: 1;
	}
	#breadcrumb li .image {
		width: 4.53vw;
		height: auto;
		margin-top: -2.67vw;
	}
	#breadcrumb li:nth-child(n+2)::before {
		margin-right: 1.33vw;
}
}
@media screen and (min-width:768px) and ( max-width:1020px) {
	#breadcrumb {
		width: 960px;
	}
}
/*------------------------
ページタイトル
------------------------*/
/*--------共通--------*/
#top-ttl .page-ttl{
	text-align: center;
	padding-top: 30px;
}
#top-ttl .page-ttl h1,
#top-ttl .page-ttl .main{
	font-weight: 600;
}
#top-ttl .page-ttl .sub{
	color: var(--green);
	font-weight: 600;
}
/*--------pc--------*/
@media screen and (min-width:768px) {
	#top-ttl{
		padding: 10px 0 90px;
	}
	#top-ttl .page-ttl h1,
	#top-ttl .page-ttl .main{
		font-size: 36px;
	}
	#top-ttl .page-ttl .sub{
		font-size: 17px;
	}
}
/*--------sp--------*/
@media screen and (max-width:767px) {
	#top-ttl{
		margin-top: 14.66vw;
	}
	#top-ttl .inner {
		padding: 4% 4% 8%;
	}
	#top-ttl .page-ttl h1,
	#top-ttl .page-ttl .main{
		font-size: 5.33vw;
		line-height: 1;
		margin-bottom: 10px;
	}
	#top-ttl .page-ttl .sub {
		line-height: 1;
		font-size: 3.73vw;
	}
}
/*------------------------
フッター
------------------------*/
/*--------共通--------*/
#page-top {
	opacity: 0;
	visibility: hidden;
	-webkit-transition: 0.2s opacity ease-in-out, 0.2s visibility ease-in-out;
	transition: 0.2s opacity ease-in-out, 0.2s visibility ease-in-out;
	text-align: right;
	position: sticky;
	z-index: 100;
}
#page-top.show {
	opacity: 1;
	visibility: visible;
	clear: both;
	z-index: 1000;
}
#page-top a {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
	background: #3c3c3c;
	border-radius: 8px;
}
#page-top a:after {
	position: absolute;
	content: '';
	top: 5px;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	vertical-align: middle;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: rotate(-45deg);
	width: 14px;
	height: 14px;
}
/* お問い合わせ */
#contact{
	background: #f5f5f5;
}
#contact .inner{
	padding: 70px 0;
}
#contact .ttl{
	text-align: center;
}
#contact .ttl h2{
	font-weight: 600;
	position: relative;
}
#contact .ttl h2 span{
	display: inline-block;
}
#contact .ttl h2 span::before,#contact .ttl h2 span::after{
	position: relative;
	display: inline-block;
	content: "";
	background: var(--orange2);
	border-radius: 10px;
	margin: 0 1em;
	margin-top: -.2em;
	vertical-align: middle;
}
#contact .ttl h2 span::before{
	transform: rotate(-30deg);
}
#contact .ttl h2 span::after{
	transform: rotate(30deg);
}
#contact span.way{
	display: inline-block;
	font-size: 18px;
	font-weight: 500;
	line-height: 1;
	margin-bottom: 5px;
}
#contact .tel p{
	font-weight: 600;
	display: flex;
	align-items: center;
	line-height: 1;
}
#contact .tel p::before{
	content: "";
	display: inline-block;
	width: 24px;
	height: 32px;
	background: url(/file/img/common/icon-tel-black.svg) no-repeat;
	background-position: center;
	background-size: contain;
	margin-right: 2px;
}
#contact .btn-wrap{
	gap:10px ;
}
#contact .c-btn a{
	color: #fff;
	font-weight: 600;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	transition: 0.3s all;
}
#contact .c-btn a::before{
	content: "";
	display: inline-block;
}
#contact .line .c-btn a{
	background-color: #06c755;
}
#contact .line .c-btn a::before{
	background: url(/file/img/common/icon-line.svg) no-repeat;
	background-position: center;
	background-size: contain;
}
#contact .mail .c-btn a{
	background-color: var(--orange1);
}
#contact .mail .c-btn a::before{
	background: url(/file/img/common/icon-mail.svg) no-repeat;
	background-position: center;
	background-size: contain;
}
#contact .assessment .c-btn a{
	background-color: var(--green);
}
#contact .assessment .c-btn a::before{
	background: url(/file/img/common/icon-assessment.svg) no-repeat;
	background-position: center;
	background-size: contain;
	width: 16px;
	height: 22px;
}
/* フッター */
footer > .inner{
	margin:  0 auto;
}
footer .logo img{
	object-fit: contain;
}
footer .info p{
	letter-spacing: 0.1rem;
}
footer .img{
	width: 100%;
}
footer .img img{
	width: 100%;
	height: 100%;
	border-radius: 10px;
}
footer .menu li{
	font-weight: 600;
	line-height: 1;
}
footer .menu li.child{
	font-weight: normal;
	align-items: center;
}
/* コピーライト */
p.copy{
	text-align: center;
	background: #3c3c3c;
	color: #fff;
	font-weight: 500;
	padding: 11px;
	line-height: 1;
}
/* 追従 */
	.bottom-contact{
		display: none; /* 初期は非表示にしておく */
		position: sticky;
		bottom: 0;
		width: 100%;
		background: rgba(39, 39, 39, 0.85);
		z-index: 100;
	}
	.bottom-contact .inner{
		justify-content: space-between;
	}
	.bottom-contact h2{
		font-weight: 600;
		color: #fff;
	}
	.bottom-contact h2 span{
		font-size: 26px;
	}
	.bottom-contact .text p{
		color: #fff;
		font-weight: 500;
		font-size: 14px;
	}
	.bottom-contact .tel{
		align-items: center;
	}
	.bottom-contact .txt{
		margin-right: 20px;
	}
	.bottom-contact .tel span{
		color: #fff;
		font-size: 12px;
		line-height: 1;
	}
	.bottom-contact .tel p.num{
		color: #fff;
		display: flex;
		align-items: center;
		font-weight: 600;
		font-size: 40px;
	}
	.bottom-contact .tel p.num::before{
		content: "";
		display: inline-block;
		width: 20px;
		height: 27px;
		background: url(/file/img/common/icon-tel-white.svg) no-repeat;
		background-position: center;
		background-size: contain;
		margin-right: 3px;
	}
	.bottom-contact .c-btn a{
		color: #fff;
		font-weight: 600;
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		line-height: 1;
		border-radius: 10px;
	}
	.bottom-contact .c-btn a::before{
		content: "";
		display: inline-block;
	}
/*--------pc--------*/
@media screen and (min-width:768px) {
/* ページトップ */
	#page-top {
		width: 70px;
		height: 70px;
		bottom: 50px;
		z-index: 100;
		margin: -40px 40px -30px auto;
	}
	#page-top.show {
		bottom: 170px;
	}
	#page-top a {
		display: block;
		width: 100%;
		height: 100%;
		position: relative;
		background: #3c3c3c;
		border-radius: 8px;
	}
	#page-top a:after {
		top: 5px;
		width: 14px;
		height: 14px;
	}
	/* お問い合わせ */
	#contact .inner{
		padding: 50px 0;
	}
	#contact .ttl{
		margin-bottom: 28px;
	}
	#contact .ttl h2{
		font-size: 24px;
		font-weight: 600;
		margin-bottom: 15px;
	}
	#contact .ttl h2 span{
		font-size: 32px;
	}
	#contact .ttl h2 span::before,#contact .ttl h2 span::after{
		width: 5px;
		height: 38px;
		margin: 0 1em;
	}
	#contact .way-box{
		justify-content: space-between;
	}
	#contact .tel span{
		font-size: 12px;
	}
	#contact span.way{
		font-size: 18px;
		margin-bottom: 5px;
	}
	#contact .tel{
		border-right: 1px solid #3c3c3c;
		padding-right: 40px;
	}
	#contact .tel p{
		font-weight: 600;
		font-size: 48px;
		display: flex;
		align-items: center;
		line-height: 1;
	}
	#contact .tel p::before{
		content: "";
		display: inline-block;
		width: 24px;
		height: 32px;
		margin-top: 8px;
		background: url(/file/img/common/icon-tel-black.svg) no-repeat;
		background-position: center;
		background-size: contain;
		margin-right: 2px;
	}
	#contact .btn-wrap{
		gap:10px ;
	}
	#contact .c-btn a{
		width: 250px;
		height: 56px;
		border-radius: 10px;
		transition: 0.3s all;
	}
	#contact .c-btn a::before{
		margin-right: 6px;
	}
	#contact .c-btn a:hover{
		opacity: 0.8;
	}
	#contact .line .c-btn a::before{
		width: 22px;
		height: 22px;
	}
	#contact .mail .c-btn a::before{
		width: 22px;
		height: 14px;
	}
	#contact .assessment .c-btn a::before{
		width: 16px;
		height: 22px;
	}
	/* フッター */
	footer > .inner{
		padding:55px 0;
	}
	footer .logo{
		width: 157px;
		height: 57px;
		margin-bottom: 20px;
	}
	footer .logo img{
		object-fit: contain;
	}
	footer .info{
		margin-right:35px ;
	}
	footer .info p{
		font-size: 15px;
	}
	footer .img{
		width: 255px;
		height: 168px;
		margin-right:50px;
	}
	footer .menu{
		gap: 50px;
	}
	footer .menu li{
		font-size: 15px;
		padding-bottom:14px;
		transition: 0.3s all;
	}
	footer .menu li:hover a{
		color:var(--orange2) ;
		transition: 0.3s all;
	}
	footer .menu li.way{
		padding-bottom:12px;
	}
	footer .menu li.child{
		display: flex;
		padding-bottom:13px;
	}
	footer .menu li.child::before{
		display: block;
		content: '';
		width:19px;
		height: 1px;
		background: var(--txtcolor);
		margin-right: 8px;
	}
	/* コピーライト */
	p.copy{
		text-align: center;
		background: #3c3c3c;
		color: #fff;
		font-weight: 500;
		padding: 11px;
		line-height: 1;
	}
/* 追従 */
	.bottom-contact .inner{
		padding: 20px 0;
	}
	.bottom-contact h2{
		font-size: 20px;
		line-height: 1.3;
		margin-bottom: 7px;
	}
	.bottom-contact h2 span{
		font-size: 25px;
	}
	.bottom-contact .text p{
		font-weight: normal;
	}
	.bottom-contact .tel{
		align-items: center;
		margin-bottom: 12px;
		line-height: 1;
	}
	.bottom-contact .txt{
		margin-right: 20px;
	}
	.bottom-contact .tel h3{
		color: #fff;
		font-weight: 600;
		font-size: 16px;
		line-height: 1;
		margin-bottom: 2px;
	}
	.bottom-contact .tel span{
		color: #fff;
		font-size: 12px;
		line-height: 1;
	}
	.bottom-contact .tel p.num{
		color: #fff;
		display: flex;
		align-items: center;
		font-weight: 600;
		font-size: 38px;
	}
	.bottom-contact .tel p.num::before{
		content: "";
		display: inline-block;
		width: 20px;
		height: 27px;
		background: url(/file/img/common/icon-tel-white.svg) no-repeat;
		background-position: center;
		background-size: contain;
		margin-right: 5px;
		margin-top: 5px;
	}
	.bottom-contact .btn-wrap{
		gap:10px ;
	}
	.bottom-contact .c-btn a{
		width: 250px;
		height: 56px;
		transition: 0.3s all;
	}
	.bottom-contact .c-btn a::before{
		margin-right: 6px;
	}
	.bottom-contact .line .c-btn a{
		background-color: #06c755;
	}
	.bottom-contact .line .c-btn a::before{
		background: url(/file/img/common/icon-line.svg) no-repeat;
		background-position: center;
		background-size: contain;
		width: 22px;
		height: 22px;
	}
	.bottom-contact .mail .c-btn a{
		background-color: var(--orange1);
	}
	.bottom-contact .mail .c-btn a::before{
		background: url(/file/img/common/icon-mail.svg) no-repeat;
		background-position: center;
		background-size: contain;
		width: 22px;
		height: 14px;
	}
	.bottom-contact .assessment .c-btn a{
		background-color: var(--green);
	}
	.bottom-contact .assessment .c-btn a::before{
		background: url(/file/img/common/icon-assessment.svg) no-repeat;
		background-position: center;
		background-size: contain;
		width: 16px;
		height: 22px;
	}
	.bottom-contact .c-btn a:hover{
		opacity: 0.8;
	}
}
@media screen and (min-width:768px) and ( max-width:1200px) {
	.bottom-contact .inner{
		padding: 24px 15px;
	}
}
/*--------sp--------*/
@media screen and (max-width:767px) {
	#page-top {
		width: 12vw;
		height: 12vw;
		margin: -5.33vw 2.67vw -7vw auto;
	}
	#page-top a {
		font-size: 3.74vw;
		padding: 3% 4.5% 3% 9%;
	}
	#page-top a::before {
		left: 14%;
		width: 1vw;
		height: 1vw;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		margin-right: 1.5vw;
	}
	#page-top a:after {
	top: 2.13vw;
	width: 2.93vw;
	height: 2.93vw;
}
	#page-top.show {
		bottom: 26.67vw;
	}
	/* お問い合わせ */
	#contact .inner{
		padding: 11.47vw 4% 11.47vw;
	}
	#contact .ttl{
		margin-bottom: 2.67vw;
	}
	#contact .ttl h2{
		font-size: 4.53vw;
		font-weight: 600;
		margin-bottom: 4%;
	}
	#contact .ttl h2 span{
		font-size: 5.6vw;
	}
	#contact .ttl h2 span::before,#contact .ttl h2 span::after{
		width: 4px;
		height: 5.87vw;
		margin: 0 0.45em;
	}
	#contact .ttl p{
		font-size: 3.73vw;
	}
	footer .menu li.way{
		padding-bottom:3.2vw;
	}
	#contact .way-box{
		flex-direction: column;
	}
	#contact .tel span{
		font-size: 3.2vw;
	}
	#contact span.way{
		font-size: 4.8vw;
		margin-bottom: 1.33vw;
	}
	#contact .btn-wrap{
		gap: 4.53vw;
		flex-direction: column;
		background: #fff;
		border-radius: 10px;
		padding: 4%;
	}
	#contact .c-btn a{
		width: 84vw;
		height: 16vw;
		border-radius: 50px;
	}
	#contact .c-btn a::before{
		margin-right: 1.6vw;
	}
	#contact .tel .c-btn a{
		background-color: #1c1c1c;
	}
	#contact .tel .c-btn a::before{
		background: url(/file/img/common/icon-tel-white.svg) no-repeat;
		background-position: center;
		background-size: contain;
		width: 5.33vw;
		height: 5.33vw;
		margin-right: 1.6vw;
	}
	#contact .line .c-btn a::before{
		width: 5.87vw;
		height: 5.87vw;
	}
	#contact .mail .c-btn a::before{
		width: 5.87vw;
		height: 3.73vw;
	}
	#contact .assessment .c-btn a::before{
        width: 4.27vw;
        height: 5.87vw;
	}
/* フッター */
	footer > .inner {
		padding: 12% 4.5% 8%;
	}
	footer .inner .flex-box {
		flex-direction: column;
		width: 100%;
	}
	footer .info{
		width: 100%;
		margin-bottom: 4%;
	}
	footer .info p{
		font-size:3.73vw;
	}
	footer .inner .logo {
		width: 32vw;
		margin: 0 auto;
	}
	footer .img{
		margin-bottom: 4%;
		height: 48vw;
	}
	footer .img{
		padding-bottom: 4%;
		margin-bottom: 4%;
		border-bottom: 2px solid #e3db94;
	}
	footer .menu ul{
		width: 100%;
	}
	footer .menu li{
		font-size: 4vw;
		padding-bottom: 6vw;
		width: 100%;
		display: flex;
		position: relative;
		align-items: center;
		justify-content: space-between;
	}
	footer .menu li.way{
	padding-bottom:3.2vw;
	}
	footer .menu li::after{
		content: "";
		background: url(/file/img/common/sp-footer-arrow.svg) no-repeat;
		background-position: center;
		background-size: contain;
		width: 3.6vw;
		height: 2.93vw;
	}
	footer .menu li.child{
		position: relative;
		padding-bottom: 4vw;
		padding-left: 4.27vw;
	}
	footer .menu li.child::before{
		position: absolute;
		content: '';
		width: 2.67vw;
		height: 1px;
		background: var(--txtcolor);
		left: 0px;
	}
/* コピーライト */
	footer .copy {
		font-size: 2.67vw;
		padding: 3%;
	}
/* 追従 */
	.bottom-contact .inner{
		padding: 3% 4% 4%;
	}
	.bottom-contact .contact-area{
		justify-content: space-between;
	}
	.bottom-contact h2 {
		font-size: 4.53vw;
		line-height: 1;
		margin-bottom: 2.13vw;
		text-align: center;
	}
	.bottom-contact .contact-area a{
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		padding: 1.33vw 0px 0.8vw 0;
		font-size: 2.93vw;
		color:#fff;
		width: 22vw;
		border-radius: 6px;
	}
	.bottom-contact .contact-area a .image{
		width: 5.67vw;
		height: 4.8vw;
		display: block;
		margin-bottom: 0.53vw;
	}
	.bottom-contact .contact-area a .image img{
		object-fit: contain;
		width: 100%;
		height: 100%;
	}
	.bottom-contact .contact-area .tel a{
		background: #1c1c1c;
	}
	.bottom-contact .contact-area .line a{
		background-color: #06c755;
	}
	.bottom-contact .contact-area .mail a{
		background: var(--orange1);
	}
	.bottom-contact .contact-area .assessment a{
		background: var(--green);
	}
}
/*------------------------
エフェクト
------------------------*/
.fadein {
	opacity : 0;
	transform : translate(0, 30px);
	transition: all 800ms;
}
.fadein.scrollin {
	opacity : 1;
	transform : translate(0, 0);
}
.fadein.scrollin:nth-of-type(2) {
	-moz-transition-delay:200ms;
	-webkit-transition-delay:200ms;
	-o-transition-delay:200ms;
	-ms-transition-delay:200ms;
}
.fadein.scrollin:nth-of-type(3) {
	-moz-transition-delay:400ms;
	-webkit-transition-delay:400ms;
	-o-transition-delay:400ms;
	-ms-transition-delay:400ms;
}
.fadein.scrollin:nth-of-type(4) {
	-moz-transition-delay:600ms;
	-webkit-transition-delay:600ms;
	-o-transition-delay:600ms;
	-ms-transition-delay:600ms;
}
.fadein.scrollin:nth-of-type(5) {
	-moz-transition-delay:800ms;
	-webkit-transition-delay:800ms;
	-o-transition-delay:800ms;
	-ms-transition-delay:800ms;
}
.fadein.scrollin:nth-of-type(6) {
	-moz-transition-delay:1000ms;
	-webkit-transition-delay:1000ms;
	-o-transition-delay:1000ms;
	-ms-transition-delay:1000ms;
}
