@charset "UTF-8";

/*--------------------------------
recaptcha マーク非表示
---------------------------------*/
.grecaptcha-badge { visibility: hidden; }


/*--------------------------------
フォント
---------------------------------*/
@font-face {
    font-family: 'Noto Sans JP Subset';
	font-weight: 400;
	src: url('../font/NotoSans_medium.woff') format('woff');
}
@font-face {
    font-family: 'Noto Sans JP Subset';
	font-weight: 400;
	src: url('../font/NotoSans_medium.woff2') format('woff2');
}
@font-face {
    font-family: 'Noto Sans JP Subset';
	font-weight:500;
	src: url('../font/NotoSans_semibold.woff') format('woff');
}
@font-face {
    font-family: 'Noto Sans JP Subset';
	font-weight:500;
	src: url('../font/NotoSans_semibold.woff2') format('woff2');
}
@font-face {
    font-family: 'Noto Sans JP Subset';
	font-weight: 700;
	src: url('../font/NotoSans_bold.woff') format('woff');
}
@font-face {
    font-family: 'Noto Sans JP Subset';
	font-weight: 700;
	src: url('../font/NotoSans_bold.woff2') format('woff2');
}
@font-face {
    font-family: 'Noto Sans JP Subset';
	font-weight:300;
	src: url('../font/NotoSans_light.woff') format('woff');
}
@font-face {
    font-family: 'Noto Sans JP Subset';
	font-weight: 300;
	src: url('../font/NotoSans_light.woff2') format('woff2');
}

/*--------------------------------
 全体
---------------------------------*/
/*ベースカラー*/
:root{
	--color-a:#007260;
	--color-b:#cd8100;
	--color-c:#e2d7c6;
	--color-d:#dad9d0;
	--color-f:#bdd6bb;
	--color-g:#e3e4e1;
	--color-red:#bb000f;
	--color-bk:#303030;
	--color-gry:#0c7061;
	--color-nv:#1d2080;
  }
/*layout*/
#wrapper {
	overflow: hidden;
	position: relative;
}

/*画像*/
img {
	width: 100%;
}
/*margin*/
.mt-xl {
	margin-top: 6em;
}
.mt-l {
	margin-top: 3em;
}
.mt-m {
	margin-top: 2em;
}
.mt-n {
	margin-top: 1em;
}
.mt-s {
	margin-top: 0.25em;
}
.m-center{
	margin-left: auto;
	margin-right: auto;
}
/*flex*/
.flex-row{
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
.flex-column-center{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

/*スマホ用PC用要素*/
.pc-only {
	display: block;
}
.sp-only {
	display: none;
}


/*1000px以下*/
@media (max-width: 1000px) {
	.inner-b {
		width: 94%;
	}
}
/*タブレット&スマホ*/
@media (max-width: 780px) {
	.pc-only {
		display: none;
	}
	.sp-only {
		display: block;
	}
}

/*スマートフォン*/
@media (max-width : 580px) {
/*margin*/
.mt-xl {
	margin-top: 4em;
}
.mt-l {
	margin-top: 2em;
}
.mt-m {
	margin-top: 1.5em;
}

}

/*--------------------------------
 文字
---------------------------------*/


body {
	font-family:'Noto Sans JP Subset', sans-serif;
	font-weight: 400;
	color: var(--color-bk);
	font-size: 16px;
	background-color: #fff;
}

h2, h3, h4,dt {
	line-height: 1.3;
}
h2 {
	font-size: min(7.8vw,40px);
	font-weight: 300;
	text-align: center;
	letter-spacing: 0.1em;
}
h3{
	font-size: min(6.5vw,28px);
	font-weight:700;
	letter-spacing: 0.1em;
}
p,dd {
	line-height: 1.9;
	font-feature-settings: "palt";
	text-align: justify;
	letter-spacing: 0.05em;
}
.t-reed{
	font-size: 19px;
	line-height: 1.6;
}
.t-cap {
	font-size: 13px;
	font-weight: 300;
	line-height: 1.3;
}
.t-right {
	text-align: right;
}
.t-left {
	text-align: left;
}
.t-center {
	text-align: center;
}
.t-big{
	font-size: 1.8em;
}
.t-mid{
	font-size: 1.2em;
}
.t-small{
	font-size: 0.8em;
}
.t-nowrap{
	display: inline-block;
}
/*タブレット*/

@media (max-width: 780px) {
	body {
		font-size: 15px;
	}
	dt {
		font-size: 16px;
	}
	.t-reed{
		font-size: 16px;
	}
}
/*スマートフォン*/
@media (max-width : 580px) {
	body {
		font-size: 14px;
	}
	.t-reed{
		font-size: 15px;
	}
	dt {
		font-size: 15px;
	}
	h3{
		font-size: 5vw;
	}
}


/*--------------------------------
aside 追跡メニュー
---------------------------------*/

aside {
	width: 100%;
	background-color: rgba(255, 255, 255, 0.9);
	box-shadow: 0 -3px 3px rgba(0,0,0,0.1);
	position: fixed;
	bottom: 0;
	z-index: 100;
	transition: 0.2s;
	z-index: 100;
}
.aside-in{
	width: 90%;
	height: 90px;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	color: var(--color-a);
}
aside div img{
	width: 20%;
	max-width: 180px;
	height: auto;
	margin-right: 20px;
}
.aside-ttl{
	width: 20%;
	color: var(--color-a);
	font-size: min(1.8vw,24px);
	font-weight: 700;
	line-height: 1.2;
	margin-right: auto;
}
.aside-btn-wrap{
	width: 46%;
	min-width: 400px;
	max-width: 680px;
	justify-content: space-between;
}
.aside-btn-wrap li{
	width: 48%;
}
.aside-btn-wrap li a{
	width: 100%;
	height: 46px;
	color: #fff;
	font-size:16px;
	font-weight: 700;
	letter-spacing: 0.2em;
	border-radius: 100px;
	margin-bottom: 4px;
}
.aside-btn-wrap li .btn-phoneno{
	height: 46px;
	margin-bottom: 4px;
	padding-top: 0.45em;
}
.aside-btn-wrap li .btn-phoneno img{
	vertical-align:middle;
	margin-top: -4px;
}
.aside-btn-wrap li:nth-child(1)  a{
	background-color: var(--color-b);
}
.aside-btn-wrap li:nth-child(2) a{
	background-color: var(--color-red);
}
.aside-btn-wrap li p{
	font-size: 12px;
	letter-spacing: 0;
} 
.aside-btn{
	width: 100%;
}

aside:hover {
	background-color: rgba(255, 255, 255, 0.98);
}

#asideMenu{
	opacity: 0;
	margin-bottom: -90px;
}
#asideMenu.is-active {
	animation-name: fadeIn;
	animation-duration: 0.3s;
	animation-fill-mode: forwards;
}
@keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
		margin-bottom: 0;
	}
}

/*スマートフォン*/

@media (max-width : 780px) {
	.aside-in{
		width: 100%;
		height: 70px;
		padding: 4px;
	}
	.aside-btn-wrap{
		width: 100%;
		min-width:auto;
		max-width:none;
		justify-content: space-between;
	}
	.aside-btn-wrap li p{
		font-size: min(3vw,14px);
		letter-spacing: 0;
	} 
}
/*--------------------------------
aタグ、ボタン
---------------------------------*/
a:hover{
	filter: brightness(1.1); 
	transition:0.3s;
	cursor: pointer;
}

.afc_popup a:hover{
	filter: brightness(1.1); 
	transition:0.3s;
	cursor: pointer;
}
/*--------------------------------
fv ナビゲーション
---------------------------------*/
.fv-nav-wrap{
	width: 100%;
}
.fv-logo{
	width: 140px;
	margin-left: 1%;
}
.fv-nav {
	width: 100%;
	height: 64px;
	margin-left: auto;
	margin-right: auto;
	justify-content: space-between;
	align-items: center;
}
.fv-nav-p{
	font-size: 14px;
	font-weight: 400;
	margin-left: 8px;
}
.fv-nav-btn-wrap {
	margin-left: auto;
	margin-right: 0;
}
.fv-nav-btn-wrap li{
	width: 220px;
	height: 64px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.fv-nav-btn-a,.fv-nav-btn-b{
	width: 100%;
	height: 64px;
	color: #fff;
	font-size:16px;
	font-weight: 700;
	letter-spacing: 0.2em;
}
.fv-nav-btn-a{
	background-color: var(--color-b);
}
.fv-nav-btn-b{
	background-color: var(--color-red);
}
.fv-nav-btn-icon{
	width: auto;
	height: 30px;
	vertical-align:middle;
	margin-right: 8px;
}
/*ボタン内のPC用電話番号テキスト*/
.btn-phoneno{
	color: var(--color-red);
	font-size: min(2.5vw,22px)!important;
	font-weight: 700;
	line-height: 0.5;
}
.btn-phoneno img{
	margin-top: -4px;
}
.btn-phoneno span{
	font-size: 12px;
	color: #333333;
	font-weight: 400;
}

/*lineボタンのスタイル*/

/* .fv-nav-btn-line{
	position: relative;
	width: 50%;
	height: 90%;
	max-width: 340px;
	margin-left: auto;
	margin-right: 1%;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	font-size: 22px;
	font-weight: 600;
	color: #fff;
	background-color: #4cc764;
	border-radius: 10px;
	box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.3), inset -4px -4px 6px rgba(0, 0, 0, 0.4), inset 4px 4px 6px rgba(255, 255, 255, 0.6);
  }
.fv-nav-btn-line::before {
	border-right: 3px solid #fff;
	border-top: 3px solid #fff;
	bottom: 0;
	content: "";
	height: 10px;
	margin: auto;
	position: absolute;
	right: 30px;
	top: 0;
	transform: rotate(45deg);
	transition: right .5s; 
	width: 10px;
  }
  .fv-nav-btn-line:hover::before {
	right: 25px;
  }
.fv-nav-btn-line img{
	width: 50px;
	margin-right: 1%;
	margin-left: -5%;
} */

/*タブレット*/
@media (max-width: 860px) {
	.fv-nav-p{
		display: none;
	}
}

@media (max-width: 780px) {
	.fv-nav-btn-wrap {
		width: 100%;
	}
	.fv-nav-btn-wrap li {
		width: 50%;
	}
	.fv-nav-btn-b-wrap{
width: 100%;
	}
	.fv-nav-wrap{
		background-color: var(--color-bk);
	}
	.fv-nav-btn-line{
		width: 100%;
		max-width: 100%;
		height: 100%;
		margin-left: 0;
		margin-right: 0;
		font-size: 20px;
		border-radius: 8px;
	}
	.fv-nav-btn-line img{
		width: 60px;
	}
}
@media (max-width: 580px) {
	.fv-nav-btn-line{
		font-size: 19px;
	}
	.fv-nav-btn-line img{
		width: 54px;
	}
	.fv-nav-btn-line::before {
		right: 20px;
	  }
	  .fv-nav-btn-line:hover::before {
		right: 15px;
	  }
}
/*---------------------------------
fv イメージとh1
----------------------------------*/
.fv-img,.fv-h1{
	height: 560px;
}
.fv-img{
	width: 100%;
	position: relative;
}
.no-webp .fv-img{
	background: url(../img/fv_pc.jpg) no-repeat;
	background-position: center;
	background-size: cover;
}
.webp .fv-img{
	background: url(../img/fv_pc.webp) no-repeat;
	background-position: center;
	background-size: cover;
}
.fv-h1{
	width: 90%;
	max-width: 1100px;
	position: relative;
	margin-left: auto;
	margin-right: auto;
}
.fv-h1 h1{
	width:660px;
	margin-left: auto;
	margin-right: 0;
	position: relative;
	top:50%;
	right: -16px;
	transform: translateY(-50%);
}
.fv-sp{
	display: none;
}
/*タブレット*/
@media (max-width: 860px) {
	.fv-img,.fv-h1{
		height: 480px;
	}
	.fv-h1 h1{
		width: 70%;
	}
}
@media (max-width: 780px) {
	.fv-sp{
		display: block;
	}
	.no-webp .fv-img,.webp .fv-img{
		background: none;
	}
	.fv-h1{
		width: 100%;
	}
	.fv-h1 h1{
		width:100%;
		position: static;
		transform: unset;
	}
	.fv-img,.fv-h1{
		height: auto;
	}
}


/*---------------------------------
fv-bottom
----------------------------------*/
.fv-bottom{
	width: 100%;
	height: 560px;
	position: relative;
}
.no-webp .fv-bottom{
	background: url(../img/fv_bottom_pc.jpg) no-repeat;
	background-position: center;
	background-size: cover;
}
.webp .fv-bottom{
	background: url(../img/fv_bottom_pc.webp) no-repeat;
	background-position: center;
	background-size: cover;
}
.fv-bottom-content{
	width: 480px;
	height: 640px;
	background-color: var(--color-a);
	color: #fff;
	padding: 40px;
	position: absolute;
	left: 50%;
	top:50%;
	transform: translate(-50%,-50%);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.fv-bottom-content h2{
	letter-spacing: 0.25em;
}
.fv-bottom-content-bottom{
	width: 90%;
	margin-top: auto;
	margin-bottom: 0;
	margin-left: auto;
	margin-right: auto;
}
.fv-bottom-content dl{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
}
.fv-bottom-content dl dt{
	width: 35%;
	height: fit-content;
	border: #fff solid 1px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2px 8px;
}
.fv-bottom-content dl dd{
	width: 60%;
	margin-top: -5px;
}
.fv-bottom-caption{
	display: block;
	margin-top: -5px;
}
.fv-bottom-content dl dt,.fv-bottom-content dl dd{
	margin-bottom: 30px;
}
.fv-bottom-btn-web{
	background-color: var(--color-b);
}
.fv-bottom-btn-tel{
	background-color: var(--color-red);
}
.fv-bottom-btn-web,.fv-bottom-btn-tel{
	width: 100%;
	height: auto;
	border-radius: 100px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 8px;
}
.fv-bottom-btn-web{
	margin-bottom: 20px;
}
.fv-bottom-btn-web img,.fv-bottom-btn-tel img{
	width:90%;
}
.fv-bottom-btn-tel-pc {
	font-size: 28px;
	font-weight: 700;
	text-align: center;
	line-height: 0.8;
}
.fv-bottom-btn-tel-pc span{
	font-size: 15px;
}
.fv-bottom-btn-tel-pc img{
	width:16px;
	margin-right: 10px;
}

/*追加ラインボタン*/
/* .cvbtn-line{
	position: relative;
	width: 100%;
	margin-left: auto;
	margin-right:auto;
	margin-bottom: 1em;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	font-size: 22px;
	font-weight: 600;
	color: #fff;
	z-index: 90;
	background-color: #4cc764;
	border-radius: 10px;
	box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.3), inset -4px -4px 6px rgba(0, 0, 0, 0.4), inset 4px 4px 6px rgba(255, 255, 255, 0.6);
}
.cvbtn-line::before {
	border-right: 3px solid #fff;
	border-top: 3px solid #fff;
	bottom: 0;
	content: "";
	height: 10px;
	margin: auto;
	position: absolute;
	right: 40px;
	top: 0;
	transform: rotate(45deg);
	transition: right .5s; 
	width: 10px;
  }
  .cvbtn-line:hover::before {
	right: 35px;
  }
  .cvbtn-line img{
	width: 50px;
	margin-right: 1%;
} */

/*タブレット*/
@media (max-width: 860px) {
	.fv-bottom{
		height: 480px;
	}
	.fv-bottom-content{
		height: 560px;
		padding: 30px;
	}
}
@media (max-width: 780px) {
	.no-webp .fv-bottom,.webp .fv-bottom{
		background:none;
	}
	.fv-bottom{
		height: auto;
	}
	.fv-bottom-content{
		width: 100%;
		height: auto;
		position: static;
		transform: unset;
	}
	.fv-bottom-content dl dt,.fv-bottom-content dl dd{
		margin-bottom: 20px;
	}.fv-bottom-content dl dd{
		text-align: center;
	}
	.fv-bottom-content-bottom{
		margin-top: 30px;
	}
	.cvbtn-line{
		margin-left: 1%;
		font-size: 18px;
	}
	.cvbtn-line img{
		width: 46px;
	}
}
@media (max-width : 580px) {
	.fv-bottom-content{
		padding: 20px;
	}
	.fv-bottom-content dl dt,.fv-bottom-content dl dd{
		width: 100%;
	}
	.fv-bottom-content dl dt{
		margin-bottom: 10px;
	}
	.fv-bottom-content-bottom{
		width: 100%;
	}
	.fv-bottom-content-bottom{
		margin-top: 20px;
	}
	.fv-bottom-content dl dd{
		margin-bottom: 20px;
	}
	/* .cvbtn-line{
		font-size: 15px;
	}
	.fv-nav-btn-line img{
		width: 38px;
	}
	.cvbtn-line::before {
		right: 30px;
	  }
	  .cvbtn-line:hover::before {
		right: 25px;
	  } */
}
/*--------------------------------
各sectionの共通スタイル
---------------------------------*/
section{
	padding-top: 80px;
	padding-bottom: 80px;
}
	/*スマホ用*/
@media (max-width : 780px) {
	section{
		padding-top: 40px;
		padding-bottom: 40px;
	}
}

/*共通レイアウト*/
.inner{
	width: 90%;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}


/*--------------------------------
sc-message 先輩社員の声
---------------------------------*/
.sc-message{
	padding-top: 100px;
}
.sc-message h2{
	margin-bottom: 80px;
}
.message{
	padding-top: 80px;
	padding-bottom: 80px;
}
.no-webp .message-01{
	background:linear-gradient(to left, #00000083 20%, #ffffff00),url(../img/message_01.jpg);
	background-size: cover;
	background-position: center;
}
.webp .message-01{
	background:linear-gradient(to left, #00000083 20%, #ffffff00),url(../img/message_01.webp);
	background-size: cover;
	background-position: center;
}
.no-webp .message-02{
	background:linear-gradient(to right, #00000083 20%, #ffffff00),url(../img/message_02.jpg);
	background-size: cover;
	background-position: center;
}
.webp .message-02{
	background:linear-gradient(to right, #00000083 20%, #ffffff00),url(../img/message_02.webp);
	background-size: cover;
	background-position: center;
}.no-webp .message-03{
	background:linear-gradient(to left, #00000083 20%, #ffffff00),url(../img/message_03.jpg);
	background-size: cover;
	background-position: center;
}
.webp .message-03{
	background:linear-gradient(to left, #00000083 20%, #ffffff00),url(../img/message_03.webp);
	background-size: cover;
	background-position: center;
}
.no-webp .message-04{
	background:linear-gradient(to right, #00000083 20%, #ffffff00),url(../img/message_04.jpg);
	background-size: cover;
	background-position: center;
}
.webp .message-04{
	background:linear-gradient(to right, #00000083 20%, #ffffff00),url(../img/message_04.webp);
	background-size: cover;
	background-position: center;
}
.no-webp .message-05{
	background:linear-gradient(to left, #00000083 20%, #ffffff00),url(../img/message_05.jpg);
	background-size: cover;
	background-position: center;
}
.webp .message-05{
	background:linear-gradient(to left, #00000083 20%, #ffffff00),url(../img/message_05.webp);
	background-size: cover;
	background-position: center;
}
.message-box{
	width: 50%;
	max-width: 480px;
	color: #fff;
	margin-left: auto;
	margin-right: auto;
}
.message-box h3{
	white-space:nowrap;
}
.message-cap{
	margin-top: 20px;
	margin-bottom: 20px;
	font-size: 14px;
}
.message-p{
	font-size: 16px;
	position: relative;
	padding: 20px 30px;
}
.message-p::before{
	content: "";
	width: 60px;
	height: 60px;
	border-left: 2px solid #fff;
	border-top: 2px solid #fff;
	position: absolute;
	top: 0;
	left: 0;
}
.message-p::after{
	content: "";
	width: 60px;
	height: 60px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	position: absolute;
	bottom: 0;
	right: 0;
}
.message-01 .message-box,.message-03 .message-box,.message-05 .message-box{
	transform: translateX(50%);
}
.message-02 .message-box,.message-04 .message-box{
	transform: translateX(-50%);
}
/*スマホ*/
@media (max-width: 780px) {
	.message{
		padding-top: 320px;
		padding-bottom: 30px;
	}
	.message-05{
		padding-top: 30px;
		padding-bottom: 320px;
	}
	.message-box{
		width: 90%;
		max-width: 780px;
	}
	.message-01 .message-box,.message-02 .message-box,.message-03 .message-box,.message-04 .message-box,.message-05 .message-box{
		transform: unset;
	}
	.no-webp .message-01{
		background:linear-gradient(to top, #00000083 40%, #ffffff00),url(../img/message_01_sp.jpg);
		background-size: cover;
		background-position:top center;
	}
	.webp .message-01{
		background:linear-gradient(to top, #00000083 40%, #ffffff00),url(../img/message_01_sp.webp);
		background-size: cover;
		background-position:top center;
	}
	.no-webp .message-02{
		background:linear-gradient(to top, #00000083 40%, #ffffff00),url(../img/message_02_sp.jpg);
		background-size: cover;
		background-position:top center;
	}
	.webp .message-02{
		background:linear-gradient(to top, #00000083 40%, #ffffff00),url(../img/message_02_sp.webp);
		background-size: cover;
		background-position:top center;
	}
	.no-webp .message-03{
		background:linear-gradient(to top, #00000083 40%, #ffffff00),url(../img/message_03_sp.jpg);
		background-size: cover;
		background-position:top center;
	}
	.webp .message-03{
		background:linear-gradient(to top, #00000083 40%, #ffffff00),url(../img/message_03_sp.webp);
		background-size: cover;
		background-position:top center;
	}
	.no-webp .message-04{
		background:linear-gradient(to top, #00000083 40%, #ffffff00),url(../img/message_04_sp.jpg);
		background-size: cover;
		background-position:top center;
	}
	.webp .message-04{
		background:linear-gradient(to top, #00000083 40%, #ffffff00),url(../img/message_04_sp.webp);
		background-size: cover;
		background-position:top center;
	}
	.no-webp .message-05{
		background:linear-gradient(to bottom, #00000083 10%, #ffffff00),url(../img/message_05_sp.jpg);
		background-size: cover;
		background-position:bottom center;
	}
	.webp .message-05{
		background:linear-gradient(to bottom, #00000083 10%, #ffffff00),url(../img/message_05_sp.webp);
		background-size: cover;
		background-position:bottom center;
	}
	.message-p{
		font-size: 15px;
		padding: 20px 30px;
	}
	.message-p::before
	.message-p::after{
		width: 40px;
		height: 40px;
	}

	.message-cap{
		margin-top: 10px;
		margin-bottom: 10px;
		font-size: 13px;
	}
}

/*--------------------------------
sc-problem こんなお悩みありませんか？
---------------------------------*/
.problem {
	background-color: var(--color-c);
	border-radius: 10px;
	padding: 50px;
	margin-top: 80px;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-around;
}
.problem-box{
	width: 40%;
}
.problem-box:nth-child(3){
	width: 55%;
	margin-top: 50px;
}
.problem-box:nth-child(1) img{
	margin-left: -30px;
}
.problem-box:nth-child(3) img{
	width: 110%;
	margin-left: -80px;
}
.problem-box h3{
	text-align: center;
	color: var(--color-a);
	margin-bottom: 20px;
}
.problem-box p{
	font-size: 18px;
	padding-top: 18px;
	position: relative;
}
.problem-box p::after{
	content: "";
	width: 100%;
	height: 5px;
	background-color: var(--color-bk);
	border-radius: 2.5px;
	position: absolute;
	top: 0;
	left: 0;
}
/*スマホ*/
@media (max-width: 780px) {
	.problem {
		padding: 30px;
		margin-top: 30px;
	}
	.problem-box{
		width: 80%;
		margin-bottom: 50px;
	}
	.problem-box:nth-child(3){
		width: 80%;
		margin-top: 0;
		margin-bottom: 0;
	}
	.problem-box:nth-child(1) img,.problem-box:nth-child(2) img{
		width: 80%;
		display: flex;
		margin-left: auto;
		margin-right: auto;
	}

	.problem-box:nth-child(3) img{
		width: 120%;
		margin-left: -20%;
	}
	.problem-box h3{
		margin-bottom: 10px;
	}
	.problem-box p{
		font-size: 15px;
		padding-top: 15px;
	}
	.problem-box p::after{
		height: 3px;
	}
}
/*スマホ*/
@media (max-width: 580px) {
	.problem {
		padding:30px 10px;
		margin-bottom: 30px;
	}
	.problem-box,.problem-box:nth-child(3){
		width: 90%;
	}
	.problem-box:nth-child(1) img,.problem-box:nth-child(2) img{
		width: 100%;
	}
	.problem-box:nth-child(3) img{
		width: 135%;
		margin-left: -25%;
	}
}
/*--------------------------------
sc reason
---------------------------------*/
.sc-reason{
	padding-bottom: 40%;
	position: relative;
}
.no-webp .sc-reason{
	background:url(../img/sc_autors_top.png), url(../img/reason_bk.jpg);
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: center bottom;
}
.webp .sc-reason{
	background: url(../img/sc_autors_top.png),url(../img/reason_bk.webp);
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: center bottom;
}
.reason-ttl{
	position: relative;
}
.reason-ttl h2{
	font-size: min(6.7vw,36px);
	text-align: right;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: flex-end;
	white-space: nowrap;
	margin-bottom: 80px;
}
.reason-ttl-shoulder{
	width: 50%;
	max-width: 280px;
	display: flex;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 10px;
}
.reason-ttl-number{
	width: 50%;
	max-width: 260px;
	margin-left: 10px;
	margin-bottom: 8px;
}
.reason{
	background-color: var(--color-a);
	border-radius: 10px;
	color: #fff;
	padding: 50px 50px 80px 50px;
	position: relative;
	z-index: 80;
}
.reason::after{
	content:"";
	width: 0;
	height: 0;
	border-style: solid;
	border-color: var(--color-a) transparent transparent transparent;
	border-width: 60px 60px 0px 60px;
	position: absolute;
	bottom: -60px;
	left: calc(50% - 30px);
}
.reason-box-wrap{
	margin-left: auto;
	margin-right: auto;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	margin-bottom: 50px;
}
.reason-box{
	width: 33%;
	text-align: center;
}
.reason-box img{
	width: 120%;
	margin-left: -10%;
}
.reason-box p{
	text-align: center;
	font-size: min(4.7vw,23px);
	font-weight: 500;
	line-height: 1.3;
	margin-top: 10px;
}
.reason-bottom{
	position: relative;
	z-index: 80;
}
.reason-bottom::before{
	content:"";
	width: 100%;
	height: 20px;
	background-color: var(--color-a);
	position: absolute;
	top: -2px;
	left: 0;
	z-index: 80;
}
.reason-bottom::after{
	content:"";
	width: 20px;
	height: 102%;
	background-color: var(--color-a);
	position: absolute;
	top: 0;
	left: -2px;
	z-index: 80;
}
.reason-bottom p{
	width: 70%;
	font-size: min(2.65vw,23px);
	font-weight: 400;
	line-height: 1.4;
	border-radius: 20px;
	border: 2px solid #fff;
	position: relative;
	padding: 25px;
	z-index: 70;
}
.reason-bottom p span{
	font-size: 1.4em;
	font-weight: 700;
}
.reason-bottom p::before{
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-color: #ffffff transparent transparent transparent;
	border-width: 30px 30px 0px 0px;
	position: absolute;
	right: -30px;
	bottom:30px;
}
.reason-bottom p::after{
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-color: var(--color-a) transparent transparent transparent;
	border-width: 30px 30px 0px 0px;
	position: absolute;
	right: -25px;
	bottom:28px;
}
.reason-bottom-ill{
	width: 30%;
	position: absolute;
	bottom:-80px;
	right: -10px;
	z-index: 90;
}
.reason-circle{
	width: 1100px;
	position: relative;
	z-index: 60;
	top:-100px;
	left: 50%;
	transform: translateX(-50%);
}
.reason-circle-in,.reason-circle-in-bottom{
	width: 100%;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	text-align: center;
}
.reason-circle-in{
	top:160px;
}
.reason-circle-in h2{
	font-size: min(7.8vw,34px);
	white-space: nowrap;
}
.reason-circle-in-bottom{
	bottom:80px;
	font-size: min(3.4vw,23px);
	font-weight: 400;
	line-height: 1.7;
	white-space: nowrap;
}
.reason-circle-in img{
	width: 30%;
	max-width: 280px;
	margin-bottom: 20px;
}
/*スマホ*/
@media (max-width: 780px) {
	.reason-ttl h2{
		flex-direction: column;
		text-align: center;
		align-items: center;
		margin-bottom: 30px;
	}
	.reason{
		padding: 30px 10px 0 10px;
	}
	.reason::after{
		border-width: 40px 40px 0px 40px;
		bottom: -40px;
		left: calc(50% - 40px);
	}
	.reason-box-wrap{
		margin-bottom: 30px;
		flex-wrap: wrap;
		justify-content: space-around;
	}
	.reason-box{
		width: 48%;
	}
	.reason-bottom::before{
		height: 17px;
	}
	.reason-bottom::after{
		content:"";
		width: 17px;
		height: 90%;
	}
	.reason-bottom p{
		width: 100%;
		font-size: 4.3vw;
		padding: 15px 0 10px 15px;
	}
	.reason-bottom p::before{
		border-width: 15px 15px 0px 0px;
		right: 50%;
		bottom:-15px;
		transform: rotate(90deg);
	}
	.reason-bottom p::after{
		border-width: 15px 15px 0px 0px;
		position: absolute;
		right: calc(50% + 2px);
		bottom:-11px;
		transform: rotate(90deg);
	}
	.reason-bottom-ill{
		width: 50%;
		position: relative;
		bottom: 0;
		display: block;
		margin: -20px 0 0 auto;
	}
	.reason-circle{
		width: 100%;
		position: relative;
		top:-80px;
		left:0;
		transform: unset;
	}
	.reason-circle h2{
		font-size: 5vw;
	}
	.reason-circle-in,.reason-circle-in-bottom{
		width: 90%;
	}
	.reason-circle-in{
		top:150px;
	}
	.reason-circle-in-bottom{
		bottom:60px;
	}
	.reason-circle-in img{
		margin-bottom: 10px;
	}
}
@media (max-width: 580px) {
	.reason-circle{
		top:-40px;
	}
	.reason-circle-in{
		top:80px;
	}
	.reason-circle-in img{
		margin-bottom: 4px;
	}
	.reason-circle-in-bottom{
		bottom:30px;
	}
}

/*--------------------------------
sc-autors 楽しいカーライフを創造する
---------------------------------*/
.sc-autors{
	padding-top: 0;
	background-color: var(--color-d);
}
.sc-autors h2{
	width: 60%;
	max-width: 480px;
	margin-left: auto;
	margin-right: auto;
}
.sc-autors p{
	text-align: center;
	font-size: min(3vw,26px);
	font-weight: 500;
	margin-top: 30px;
	line-height: 1.7;
}

/*--------------------------------
sc-merit オートアールズの自動車整備士として働くと
---------------------------------*/
.sc-merit h2{
	font-size: min(6.7vw,36px);
	text-align: left;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	white-space: nowrap;
}
.sc-merit h2 img{
	width: 18%;
	margin-right: 20px;
}
.merit{
	background-color: var(--color-f);
	border-radius: 10px;
	padding: 50px;
}

.merit-box{
	color: var(--color-nv);
	text-align: center;
	position: relative;
}
.merit-no{
	color: var(--color-nv);
	background-image: url(../img/dot_width.png);
	background-repeat: repeat-x;
	background-size: 260px;
	background-position: 0 58% ;
}
.merit-no img{
	width: 12%;
}
.merit-box h3{
	font-size: min(7vw,38px);
	letter-spacing: 0.25em;
	margin-top: 10px;
}
.merit-content-wrap,.merit-content-data{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-end;
	flex-wrap: wrap;
}
.merit-content-wrap{
	margin-top: -80px;
}
.merit-content-data{
	width: 60%;
}
.merit-content-data dt{
	width: 100%;
	text-align: left;
	font-size: min(4.7vw,23px);
	font-weight: 400;
	margin-bottom: 20px;
}
.merit-content-data dd{
	width: 45%;
	text-align: center;
}
.merit-content-data dd p{
	text-align: center;
}
.data-label{
	background-color: #FFF;
	height: 80px;
	padding: 8px;
	font-weight: 700;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: relative;
	margin-bottom: 20px;
	letter-spacing: normal;
}
.data-label::after{
	content:"";
	width: 0;
	height: 0;
	border-style: solid;
	border-color: #fff transparent transparent transparent;
	border-width: 10px 10px 0px 10px;
	position: absolute;
	bottom: -10px;
	left: calc(50% - 5px);
}
.data-label span{
	font-size: 14px;
	font-weight: 400;
	line-height: 1;
}
.detail-no{
	font-size: 12px;
	font-weight: 300;
	color: #000;
	position: absolute;
	right: 2px;
	top: 2px;
}
.data-label img{
	width: 90%;
	max-width: 140px;
}
.data-data{
	font-size:min(4vw,20px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0em;
	white-space: nowrap;
}
.merit-content-coment{
	width: 35%;
}

.merit-content-coment p{
	color: var(--color-bk);
}
.merit-coment-coment-p{
	font-size: 15px;
	line-height: 1.5;
	margin-top: 10px;
}
.merit-02-bottom{
	margin-top: 40px;
}
.merit-02-bottom h4{
	text-align: left;
	font-size: min(4.7vw,23px);
	font-weight: 400;
}
/*スマホ*/
@media (max-width: 780px) {
	.merit{
		padding: 30px;
	}
	.merit-no img{
		width: 20%;
	}
	.sc-merit h2{
		flex-direction: column;
		text-align: center;
		margin-bottom: 20px;
		position: relative;
	}
	.sc-merit h2::after{
		content: "";
		width: 50%;
		height: 4px;
		border-radius: 2px;
		background-color: var(--color-a);
		position: absolute;
		top: 120px;
		left: 50%;
		transform: translateX(-50%);
	}
	.sc-merit h2 img{
		width: 120px;
		margin-bottom: 10px;
	}
	.merit-content-wrap{
		flex-direction:column;
		margin-top: 20px;
	}
	.merit-content-data,.merit-content-coment{
		width: 100%;
	}
	.merit-content-data dt{
		margin-bottom: 10px;
	}
	.merit-content-data dd{
		width: 48%;
	}
	.data-label{
		padding: 2px;
		margin-bottom: 10px;
	}
	.data-label span{
		font-size: 12px;
	}
	.merit-content-coment img{
		width: 60%;
	}
}
@media (max-width: 580px) {
	.merit{
		padding: 30px 10px;
	}
	.sc-merit h2::after{
		top: 80px;
	}
	.sc-merit h2 img{
		width: 80px;
	}
}
/*--------------------------------
sc-number  数字で見る
---------------------------------*/
.sc-number h2{
	font-size: min(6.7vw,36px);
	text-align: left;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	white-space: nowrap;
}
.sc-number h2 img{
	width: 18%;
	margin-right: 20px;
}
.number{
	background-color: var(--color-f);
	border-radius: 10px;
	padding: 50px;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	flex-wrap: wrap;
	text-align: center;
	color: var(--color-nv);
	position: relative;
	z-index: 70;
}
.number::after{
	content:"";
	width: 4px;
	height: 95%;
	background-image: url(../img/dot_height.png);
	background-repeat: repeat-y;
	background-size: 4px;
	position: absolute;
	top:50px;
	left:50%;
	z-index: 80;
	}
.number-box{
	width: 45%;
	margin-bottom: 60px;
	position: relative;
	text-align: center;
}
.number-box::after{
	content:"";
	width: 100%;
	height: 4px;
	background-image: url(../img/dot_width.png);
	background-repeat: repeat-x;
	background-size: 260px;
	background-position: 0 50%;
	position: absolute;
	top:-30px;
	left:0;
}
.number-box:nth-child(1)::after,.number-box:nth-child(2)::after{
	display: none;
}
.number-box:nth-child(7),.number-box:nth-child(8){
	margin-bottom: 0;
}

.number-box h3 {
	line-height: 0.8;
	margin-bottom: 20px;
	height: 46px;
}

.number-box h3 span{
	font-size: 0.6em;
}
.number-box .t-cap{
	font-weight: 500;
	text-align: center;
	margin-top: 0.5em;
}
.number-ill-b{
	width: 90%;
}

.number-ill-a{
	width: 100%;
}
.number-data{
	text-align: center;
	font-size:min(3.8vw,32px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0em;
	white-space: nowrap;
}
.number-box:nth-child(5) .number-data{
	font-size:min(5vw,38px);
}
.number-data span{
	color: var(--color-red);
}
/*スマホ*/
@media (max-width: 780px) {
	.number{
		padding: 30px;
	}
	.number::after{
		height: 94%;
		top:30px;
		}
	.sc-number h2{
		flex-direction: column;
		text-align: center;
		margin-bottom: 20px;
		position: relative;
	}
	.sc-number h2::after{
		content: "";
		width: 50%;
		height: 4px;
		border-radius: 2px;
		background-color: var(--color-a);
		position: absolute;
		top: 120px;
		left: 50%;
		transform: translateX(-50%);
	}
	.sc-number h2 img{
		width: 120px;
		margin-bottom: 10px;
	}
	.number-box h3 {
		line-height: 0.8;
		margin-bottom: 10px;
		height: 32px;
	}
}
@media (max-width: 580px) {
	.number{
		padding: 30px 10px;
	}
	.sc-number h2::after{
		top: 80px;
	}
	.sc-number h2 img{
		width: 80px;
	}
}
/*--------------------------------
sc-career キャリアアアップ
---------------------------------*/
.sc-career h2{
	font-size: min(6.7vw,36px);
	text-align: left;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	white-space: nowrap;
}
.sc-career h2 img{
	width: 18%;
	margin-right: 20px;
}
.career{
	background-color: var(--color-f);
	border-radius: 10px;
	position: relative;
	padding-top: 80px;
}
.career-ill-01{
	width: 90%;
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.career-ill-02{
	width: 120px;
	position: absolute;
	bottom: -20px;
	right: 30px;
	z-index: 80;
}
.career-catch{
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 40px;
	color: var(--color-nv);
	font-size: min(5.8vw,30px);
	font-weight: 300;
	line-height: 1.5;
}
.career-box-wrap{
	background: url(../img/career_bk_pc.png),var(--color-b);
	background-repeat: no-repeat;
	background-size:100% auto;
	background-position: center top;
	border-radius:0 0 10px 10px;
	margin-top: -100px;
	display: flex;
	flex-direction: row;
	justify-content: space-around;
	padding:10% 6% 50px 6%;
}
.career-box{
	width: 20%;
}

.career-box p{
	color: #fff;
	font-size: 15px;
	line-height: 1.7;
	letter-spacing: 0;
	margin-top: 20px;
}
/*キャリア名のcircle*/
.career-name{
	width: 100%;
	height: 0;
	padding-top: 100%;
	background-color: #fff;
	border-radius: 100%;
	position: relative;
}
.career-name h3{
	width: 100%;
	color: var(--color-b);
	text-align: center;
	font-size: min(4vw,20px);
	font-weight: 700;
	position:absolute;
	top: 50%;
	transform: translateY(-50%);
}

.career-box-01{
	margin-top: 26%;
}
.career-box-02{
	margin-top: 17%;
}
.career-box-03{
	margin-top: 9%;
}


/*スマホ*/
@media (max-width: 780px) {
	.sc-career h2{
		flex-direction: column;
		text-align: center;
		margin-bottom: 20px;
		position: relative;
	}
	.sc-career h2::after{
		content: "";
		width: 50%;
		height: 4px;
		border-radius: 2px;
		background-color: var(--color-a);
		position: absolute;
		top: 120px;
		left: 50%;
		transform: translateX(-50%);
	}
	.sc-career h2 img{
		width: 120px;
		margin-bottom: 10px;
	}
	.career{
		padding-top: 30px;
	}
	.career-catch{
		margin-bottom: 20px;
	}
	.career-ill-02{
		width: 16%;
		bottom: -7%;
		right: -6%;
	}
	.career-box-wrap{
		background: url(../img/career_bk_sp.png),var(--color-b);
		background-repeat: no-repeat;
		background-size:100% auto;
		background-position: center top;
		flex-direction: column;
		padding:55% 6% 30px 6%;
		margin-top: -20%;
	}
	.career-box{
		width: 100%;
		display: flex;
		flex-direction: row;
		align-items: stretch;
		justify-content: space-between;
	}
	.career-box p{
		width: 66%;
		font-size: 13px;
		margin-top: 0;
	}
	
	/*キャリア名のcircle*/
	.career-name{
		width: 30%;
		height: auto;
		padding-top: 0;
		border-radius: 5px;
		position: static;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.career-name h3{
		width: 100%;
		position:static;
		transform:unset;
	}
	
	.career-box-01,.career-box-02,.career-box-03,.career-box-04{
		margin-top: 20px;
	}
	.career-box-04 p,.career-box-03 p{
		padding-right: 8%;
	}
}
@media (max-width: 580px) {
	.sc-career h2::after{
		top: 80px;
	}
	.sc-career h2 img{
		width: 80px;
	}
	.career-box-03 p{
		padding-right: 0;
	}
}

/*--------------------------------
sc-support 仕事もライベートも
---------------------------------*/
.sc-support h2{
	font-size: min(6.7vw,36px);
	text-align: center;
	white-space: nowrap;
	margin-bottom: 50px;
}
.support{
	background-color: var(--color-f);
	border-radius: 10px;
	padding: 50px;
}
.support h3{
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 40px;
	color: var(--color-nv);
	font-size: min(5.8vw,30px);
	font-weight:300;
	line-height: 1.5;
}
.support-box-wrap{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
}
.support-box{
	width: 46%;
	background: #fff;
	padding: 30px;
	margin-bottom: 30px;
}
.support-box-05{
	width: 100%;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: stretch;
}
.support-box-05 .support-ill-ttl{
	width: 28%;
}
.support-box-05 p{
	width: 72%;
}
.support-ill-ttl{
	text-align: center;
}
.support-ill-ttl img{
	width: 80%;
}
.support-ill-ttl h4{
	font-size: 18px;
	font-weight:700;
	margin: 10px 0;
}
.support-box p{
	font-size: 15px;
	line-height: 1.7;
}
/*スマホ*/
@media (max-width: 780px) {
	.support{
		padding: 30px;
	}
	.sc-support h2{
		margin-bottom: 20px;
	}
	.support-box-wrap{
		flex-direction: column;
	}
	.support-box{
		width: 100%;
		padding: 20px;
		margin-bottom: 20px;
	}
	.support-box-05{
		flex-direction:column;
	}
	.support-box-05 .support-ill-ttl,.support-box-05 p{
		width: 100%;
	}
	.support-box p{
		font-size: 13px;
	}
}
@media (max-width: 580px) {
	.support{
		padding: 30px 10px;
	}
}



/*--------------------------------
sc-recruit
---------------------------------*/
.sc-recruit{
	color: var(--color-gry);
}
.recruit-ttl{
	font-size: 16px;
	text-align: center;

	margin-left: auto;
	margin-right: auto;
	border: thin var(--color-gry) solid;
	padding: 8px;
	line-height: 1;
	margin-top: 50px;
	margin-bottom: 30px;
}
.recruit{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}
.recruit dt,.recruit dd{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 10px;
	border-bottom: thin var(--color-gry) solid;
}
.recruit dt:last-of-type,.recruit dd:last-of-type{
	border-bottom: 0;
}

.recruit dt{
	background-color: var(--color-g);
	width: 20%;
}
.recruit dt p{
	letter-spacing: 0.25em;
}
.recruit dd{
	align-items: flex-start;
	width: 80%;
	line-height: 1.5;
}
.recruit dd p{
	line-height: 1.5;
	width: fit-content;
	text-align: left;
}
.allowance-list{
	font-size: 13px;
	border-top: thin var(--color-gry) solid;
	padding-top: 8px;
}
.allowance-list li{
	text-align: left;
}
.dormitory{
	font-size: 13px;
	text-align: left;
	color: #fff;
	padding: 2px 10px 2px 10px;
	background-color: var(--color-gry);
	border-radius: 30px;
}
/*スマホ*/
@media (max-width: 780px) {
	.recruit-ttl{
		font-size: 14px;
		margin-top: 30px;
		margin-bottom: 20px;
	}
}
/*スマホ*/
@media (max-width: 580px) {
	.recruit{
		flex-direction: column;
	}
	.recruit dt,.recruit dd{
		width: 100%;
	}
	.recruit dd{
		border-bottom: 0;
	}
	.recruit dt{
		border-top: thin var(--color-gry) solid;
	}
	.recruit dt:last-of-type{
		border-bottom: thin var(--color-gry) solid;
	}
}

/*--------------------------------
sc-step
---------------------------------*/
.sc-step{
	color: var(--color-gry);
}
.step{
	margin-top: 80px;
}
.step-box{
	border:1px solid var(--color-gry);
	border-radius: 8px;
	padding: 10px 20px;
	margin-bottom: 80px;
	position: relative;
}
.step-box::before{
		content:"";
		width: 0;
		height: 0;
		border-style: solid;
		border-color: var(--color-gry) transparent transparent transparent;
		border-width: 30px 20px 0px 20px;
		position: absolute;
		bottom: -30px;
		left: calc(50% - 10px);
	}
	.step-box::after{
		content:"";
		width: 0;
		height: 0;
		border-style: solid;
		border-color:#fff transparent transparent transparent;
		border-width: 30px 20px 0px 20px;
		position: absolute;
		bottom: -28px;
		left: calc(50% - 10px);
	}
	.step-box:last-of-type::before,
	.step-box:last-of-type::after{
		display: none;
	}
.step-box-ttl{
	width: 20%;
	position: absolute;
	left: 20px;
	bottom:10px;
	text-align: center;
}
.step-box-ttl img{
	width: 70%;
	margin-bottom: 10px;
}
.step-box-ttl h4{
	font-size: 20px;
	font-weight: 700;
	text-align: center;
}
.step-box-txt{
	width: 75%;
	margin-left: auto;
	margin-right: 0;
	/* padding-right: 20%; */
	font-size: 18px;
}

.step-circle{
	width: 18%;
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
}
.step-circle-in{
	padding-top: 100%;
	background: #fff;
	border: thin var(--color-gry) solid;
	border-radius: 100%;
	position: relative;
}
.step-circle-in div{
	text-align: center;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}
.step-circle-in div img{
	width: 28px;
	margin-bottom: 8px;
}
.step-circle-in div p{
	text-align: center;
	line-height: 1;
}


/*スマホ*/
@media (max-width: 780px) {
	.step{
		margin-top: 30px;
	}
	.step-box{
		margin-bottom: 50px;
	}
	.step-box-ttl h4{
		font-size: 16px;
	}
	.step-box-txt{
		font-size: 15px;
	}
}
/*スマホ*/
@media (max-width: 580px) {
	.step-box{
		padding: 10px;
	}
	.step-box::before{
			border-width: 20px 10px 0px 10px;
			bottom: -20px;
		}
		.step-box::after{
			border-width: 20px 10px 0px 10px;
			bottom: -18px;
		}
	.step-box-ttl{
		width: 60%;
		max-width: 140px;
		margin-left: auto;
		margin-right: auto;
		margin-top: -30px;
		position: static;
	}
	.step-box-ttl img{
		width: 70%;
		margin-bottom: 10px;
	}

	.step-box-txt{
		width: 100%;
		padding-right: 0;

	}
	
	.step-circle{
		width: 80px;
		right: -10px;
		top: -20px;
		transform: unset;
	}
	.step-circle-in div img{
		width: 16px;
		margin-bottom: 8px;
	}
	.step-circle-in div p{
		font-size: 13px;
		white-space: nowrap;
	}
}



/*--------------------------------
sc-contact
---------------------------------*/

.sc-contact{
	color: var(--color-gry);
}
.contact{
	background-color: var(--color-g);
	padding: 80px;
	margin-top: 80px;
}

.wpcf7-form label{
	font-size: 14px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	position: relative;
}
.wpcf7-form label span{
	font-size: 0.8em;
}
.gender-wrap{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
}
.gender-wrap .wpcf7-form-control-wrap{
	background-color: #fff;
	padding: 8px 20px;
	border-radius: 4px;
 }
 .gender-wrap .wpcf7-form-control-wrap .wpcf7-list-item label{
	flex-direction: row;
	align-items: center;
 }
.gender-label{
	width: 100%;
	font-size: 14px;
	display: inline-block;
	position: relative;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
}
.gender-label-equired{
	display: block;
	font-size: 0.8em;
	color: var(--color-b);
}
.privacycheck-wrap{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin-top: 80px;
}
.privacycheck-wrap .wpcf7-form-control-wrap .wpcf7-list-item label{
	flex-direction: row;
	align-items: center;
 }
input[type="checkbox"]{
	width: 18px;
	height: 18px;
	outline: 1px solid #999;
	background-color: #fff;
	position: relative;
 }
 input[type="checkbox"]:checked::before{
	content:"✓";
	position: absolute;
	top:-10px;
	left:1px;
	font-size: 20px;
 }
 .privacycheck-wrap label{
	justify-content: center;
 }
 .privacycheck-wrap a{
	color: var(--color-nv);
	font-size: 14px;
 }

input[type="radio"] {
	background-color: #fff;
	position: relative;
	width: 16px;
	height: 16px;
	border: 1px solid #8f8f8f;
	border-radius: 50%;
	vertical-align: -2px;
	-webkit-appearance: none;
	   -moz-appearance: none;
			appearance: none;
  }
  .wpcf7-radio{
	width: 100%;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
  }
  input[type="radio"]:checked:before {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #545454;
	content: '';
  }
  .wpcf7-list-item-label{
	display: block;
	margin-left: 10px!important;
  }
  .wpcf7-list-item{
	display: block!important;
	margin-right: 50px!important;
  }
.equired{
	color: var(--color-b);
	position: absolute;
	right: 0;
}
.wpcf7-form-control-wrap{
	display: inline-block;
	width: 100%;
}
.wpcf7-text,.wpcf7-date,.wpcf7-select{
	width: 100%;
	background-color: #fff;
	padding: 8px;
	min-height: 20px;
	border-radius: 4px;
}
.wpcf7-form-control-wrap:has(.wpcf7-select){
	position: relative;
}

.wpcf7-select{
	appearance: none;
}
.wpcf7-text::placeholder{
	color: #bebebe;
}
.wpcf7-text:focus,.wpcf7-date:focus,.wpcf7-select:focus{
	outline: thin solid #c9c9c9;
}

input[type="submit"]{
	margin-top: 40px;
	background-color:var(--color-gry);
	color: #fff;
	padding: 0.5em 4em;
	border-radius: 10px;
	display: block;
	margin-left: auto;
	margin-right: auto;
}
input[type="submit"]:hover{
	filter: brightness(1.1); 
	transition:0.3s;
	cursor: pointer;
}

/*スマートフォン*/
@media (max-width : 780px) {
	.contact{
		margin-top: 30px;
	}
	.contact{
		padding: 30px 10px;
		margin-top: 50px;
	}
	
	.wpcf7-form label{
		font-size: 14px;
		flex-direction: column;
		align-items: flex-start;
	}
	.wpcf7-list-item label{
		flex-direction: row;
		align-items: center;
	}
	.wpcf7-form-control-wrap{
		width: 100%;
	}
	.wpcf7-form label span{
		flex: 1;
	}
	.equired{
		right: 0;
		top: 4px;
	}
	.gender-label{
		font-size: 15px;
		justify-content: flex-start;
	}
	.gender-label-equired{
margin-left: 10px;
	}
	.privacycheck-wrap{
		margin-top: 30px;
	}
	input[type="checkbox"]{
		width: 14px;
		height: 14px;
	 }
	.wpcf7-list-item{
		margin-right: 10px!important;
	  }
	  input[type="checkbox"]:checked::before{
		font-size: 16px;
	 }
}

/*--------------------------------
sc-company
---------------------------------*/
.sc-company{
	margin-top: 80px;
	padding: 0;
	background-color: var(--color-d);
}
/*gridレイアウト*/
.campany-grid-container{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows:320px 320px 320px;
}
.grid-item-company{
	grid-column:1/3;
	grid-row: 1/3;
}
.grid-item-pic:nth-child(2){
	grid-column: 3/4;
	grid-row: 1/2;
}
.grid-item-pic:nth-child(3){
	grid-column: 3/4;
	grid-row: 2/3;
}
.grid-item-pic:nth-child(4){
	grid-column: 1/2;
	grid-row: 3/4;
}
.grid-item-pic:nth-child(5){
	grid-column: 2/3;
	grid-row: 3/4;
}
.grid-item-pic:nth-child(6){
	grid-column: 3/4;
	grid-row: 3/4;
}

.grid-item-company{
	padding-top: 80px;
	padding-bottom: 80px;
	padding-left: calc(75% - 400px);
	padding-right: 30px;
}
.grid-item-company h2{
	text-align: left;
	font-size: 24px;
}
.company-box{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	margin-top: 20px;
}
.company-box dt{
	width: 25%;
	font-size: 15px;
	border-right: solid 1px var(--color-gry) ;
	text-align: justify;
	text-align-last: justify;
	text-justify: inter-character;
	text-align: center;
	padding-top: 3px;
	padding-bottom: 10px;
	padding-right:10px ;
}
.company-box dt:last-child,.company-box dd:last-child{
	padding-bottom: 0;
}
.company-box dd{
	width: 75%;
	padding-bottom: 10px;
	padding-left: 10px;
	font-size: 15px;
	line-height: 1.5;
}

@media (max-width : 888px) {
	.grid-item-company{
		padding-left: 7.5%;
		}
}
.grid-item-pic img{
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}
/*スマートフォン*/
@media (max-width : 780px) {
	.sc-company{
		margin-top: 50px;
	}
	/*gridレイアウト*/
.campany-grid-container{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows:1fr 1fr 1fr 1fr 1fr;
}
.grid-item-company{
	grid-column:1/3;
	grid-row: 1/6;
}
.grid-item-pic:nth-child(2){
	grid-column: 3/4;
	grid-row: 1/2;
}
.grid-item-pic:nth-child(3){
	grid-column: 3/4;
	grid-row: 2/3;
}
.grid-item-pic:nth-child(4){
	grid-column: 3/4;
	grid-row: 3/4;
}
.grid-item-pic:nth-child(5){
	grid-column: 3/4;
	grid-row: 4/5;
}
.grid-item-pic:nth-child(6){
	grid-column: 3/4;
	grid-row: 5/6;
}
.grid-item-company{
	padding-top: 30px;
	padding-bottom: 30px;
	padding-right: 10px;
}
.grid-item-company h2{
	font-size: 19px;
}
.company-box{
	flex-direction: column;
	margin-top: 10px;
}
	.company-box dt,.company-box dd{
		font-size: 13px;
	}
	.company-box dt{
		width: 40%;
		min-width: 130px;
		padding-top: 3px;
		padding-bottom: 3px;
		padding-right:8px ;
		border: 0;
		text-align: left;
		text-align-last:left;
		text-justify:unset;
		position: relative;
	}
	.company-box dt::before{
		content:"■";
	}
	.company-box dd{
		width: 100%;
		border-bottom:1px var(--color-gry) solid ;
	}
	.company-box dd:last-child{
		border: 0;
	}
}
/*--------------------------------
footer
---------------------------------*/

footer{
padding: 20px 0;
background-color: 	#333333;
text-align: center;
}
footer img{
	width: 180px;
}
footer p{
	color: #fff;
	text-align: center;
}
/*スマホ*/
@media (max-width : 580px) {
	footer img{
		width: 120px;
	}
}