@charset "utf-8";
/* CSS Document */

/* Default Style
--------------------------------*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin:0;
  padding:0;
  border:0;
  outline:0;
  font-size:100%;
  vertical-align:baseline;
  background:transparent;
}

html {
	scroll-behavior: smooth;
}

body {
  background: #ffffff;
  font-family: Helvetica Neue, arial, Yu Gothic, Hiragino Sans, Hiragino Kaku Gothic ProN, BIZ UDGothic, Meiryo, sans-serif;
  font-weight: 500;
  color: #ffffff;
  word-break: break-word;
  font-size: 14px;
  line-height: 28px;
}

a {
  text-decoration: none;
  color: #1C6EA0;
  -webkit-transition: color 0.2s ease-in-out;
  -moz-transition: color 0.2s ease-in-out;
  -o-transition: color 0.2s ease-in-out;
  -ms-transition: color 0.2s ease-in-out;
  transition: color 0.2s ease-in-out;
  cursor: pointer;
}

a:hover {
  text-decoration: none;
  color: #ffffff;
}

img {
    max-width: 100%;
    height: auto;
    line-height: 0;
}

img, object, embed {
    border-style: none;
    vertical-align: middle;
}

/*-▼共通文字色▼-*/
.f_c_yel {
	color: #FFD750;
}
.f_c_b-ore {
	color: #e63200;
}
/*-▲共通文字色▲-*/

/*-▼共通文字色▼-*/
.fts_w_b {
	font-weight: bold;
}
/*-▲共通文字色▲-*/

/*-▼共通font-size▼-*/
.fts_15 {
	font-size: 15px;
}
.fts_18 {
	font-size: 18px;
}
.fts_20 {
	font-size: 20px;
}
.fts_27 {
	font-size: 27px;
}
.fts_30 {
	font-size: 30px;
}
.fts_35 {
	font-size: 35px;
}
.fts_40 {
	font-size: 40px;
}
.fts_45 {
	font-size: 45px;
}
.fts_55 {
	font-size: 55px;
}
@media screen and (max-width: 700px) {
	.sp-fts_30 {
		font-size: 30px;		
	}
}
/*-▲共通font-size▲-*/

/*-▼共通下線（細い黒い）▼-*/
.lin_bla {
	border-top: solid 2px #000000;
    padding-top: 10px;
    margin-top: 10px;
}
/*-▲共通下線（細い黒い）▲-*/

/*-▼共通下線（太い黄色）▼-*/
.lin_whi {
	background:linear-gradient(transparent 65%, #FFFFFF 0%);
	border-radius: 0px !important;
}
.lin_yel {
	background:linear-gradient(transparent 65%, #FFD750 0%);
	border-radius: 0px !important;
}
.lin_yel70 {
	background:linear-gradient(transparent 70%, #FFD750 0%);
	border-radius: 0px !important;
	margin-bottom: 5px;
    display: inline-block;
}
/*-▲共通下線（太い黄色）▲-*/

/*-▼共通paddind▼-*/
.pd_h_5 {
	padding-top: 5px;
	padding-bottom: 5px;
}
.pd_h10 {
	padding-top: 10px;
	padding-bottom: 10px;
}
.pd_w_5 {
	padding-right: 5px;
	padding-left: 5px;
}
.pd_w_10 {
	padding-right: 10px;
	padding-left: 10px;
}
.pd_w_28 {
	padding-right: 28px;
	padding-left: 28px;
}
.pd_w_35 {
	padding-right: 35px;
	padding-left: 35px;
}
/*-▲共通paddind▲-*/

/*-▼共通背景▼-*/
.bg_white {
	background-color: #ffffff;
}
/*-▲共通背景▲-*/

/*-▼共通改行&スマホ非表示▼-*/
@media screen and (min-width: 769px) {
	.br-sp_69 {
    	display: none;
	}
}
@media screen and (min-width: 700px) {
	.br-sp {
    	display: none;
	}
}
@media screen and (min-width: 550px) {
	.br-sp_55 {
    	display: none;
	}
}
@media screen and (max-width: 769px) {
	.br-pc_69 {
    	display: none;
	}
}
@media screen and (max-width: 700px) {
	.br-pc {
    	display: none;
	}
}
@media screen and (max-width: 769px) {
	.sp-none_69 {
		display: none !important;		
	}
}
@media screen and (max-width: 700px) {
	.sp-none {
		display: none !important;		
	}
}
@media screen and (min-width: 700px) {
	.pc-none {
		display: none !important;		
	}
}
/*-▲共通改行&スマホ非表示▲-*/

/*-▲共通米印▲-*/
.example {
	font-size: 12px;
}

.example_text{
    list-style: none;
    padding-left: 1.5em;
    margin-left: 0.5em;
}
.example_text li{
    text-indent: -2.2em;
}
/*-▲共通米印▲-*/

/*-▼共通文字上部の点▼-*/
.dot-text {
    position: relative;
}
.dot-text::before {
    position: absolute;
    top: -10px;
    left: 0;
    right: 0;
    margin: auto;
    content: "";
    padding-top: 11px;
    background: -webkit-radial-gradient(circle 0.2em,#FFD750 50%,transparent 50%);
    background: radial-gradient(circle 0.2em,#FFD750 50%,transparent 50%);
    background: -moz-radial-gradient(circle 0.2em,#FFD750 50%,transparent 50%);
}
/*-▲共通文字上部の点▲-*/

/*-▼共通inner▼-*/
.inner {
    max-width: 1105px;
    margin-left: auto;
    margin-right: auto;
    padding-right: 30px;
    padding-left: 30px;
}

@media only screen and (max-width: 700px){
	.inner {
		padding-right: 5px;
		padding-left: 5px;
	}
}
/*-▲共通文字上部の点▲-*/

header {
	background-color: #FFFFFF;
    padding-top: 10px;
    padding-bottom: 10px;
}
.logo img {
    height: 80px;
}

#floating-menu {
    position: fixed;
    top: 0;
    width: 100%;
    padding: 0;
    margin: 0;
    text-align: center;
    background-color: rgba(255, 255, 255, 1.00);
    border-bottom: 1px solid #e8e61c;
    z-index: 999;
    box-shadow: 0px 5px 10px 1px rgb(11 56 78 / 40%);
}

.flex {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.header .flex {
    display: -webkit-box;
    display: flex;
    justify-content: flex-end;
}

.logo {
    display: -webkit-flex;
    display: flex;
    align-items: center;
    margin-right: auto;
	width: 300px;
}

/*-▼ヘッダーロゴ▼-*/
@media only screen and (max-width: 769px){ 
	header .logo {
		width: 200px;
    	margin: 0 auto;
	}
}
/*-▼ヘッダーロゴ▼-*/

/*-▼電話リンク▼-*/
.tel-btn {
    position: relative;
    width: 310px;
    margin: 5px 5px 5px 0;
    /* background-color: #149243; */
    background-color: #e63200;
    border-radius: 15px;
	cursor: pointer;
    transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
	/* border-bottom: 5px solid #0d6a30; */
	border-bottom: 5px solid #a82703;
}
.tel-btn p:nth-of-type(1) {
    width: 290px;
    margin: 5px auto;
    padding: 0px 0;
    text-align: center;
    color: #000;
    font-size: 13px;
    font-weight: bold;
    background-color: #fff;
    border-radius: 30px 30px 30px 30px;
}
.tel-btn .num {
    margin: 7px 0 5px;
    line-height: 1.2;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
	text-align: center;
}
.webp .tel-btn::after {
	background-image: url("../img/tel-btn-icon-1.webp");
}
.no-webp .tel-btn::after {
	background-image: url("../img/tel-btn-icon-1.png");
}
.tel-btn::after {
    content: "";
    display: inline-block;
    width: 26px;
    height: 23px;
    position: absolute;
    left: 50px;
    top: 75%;
    transform: translateY(-50%);
	background-size: contain;
	vertical-align: middle;
	background-position: center;
    background-repeat: no-repeat;
}
.tel-btn:hover {
 	margin-top: 8px;
  	/* border-bottom: 2px solid #0d6a30; */
  	border-bottom: 2px solid #a82703;
	/* background-color: #129141; */
	background-color: #e63200;
}
.flex .tel-btn {
	background-color: #63696e;
	border-bottom: 5px solid #33373a;
}
.flex .tel-btn:hover {
  	border-bottom: 2px solid #33373a;
	background-color: #63696e;
}
/*-▲電話リンク▲-*/

/*-▼電話リンク(ポップアップ)▼-*/
.open {
	cursor:pointer; /* マウスオーバーでカーソルの形状を変えることで、クリックできる要素だとわかりやすいように */
}
#pop-up {
	display: none; /* label でコントロールするので input は非表示に */
}
.overlay {
	display: none; /* input にチェックが入るまでは非表示に */
}
#pop-up:checked + .overlay {
	display: block;
	z-index: 9999;
	background-color: #00000070;
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
}
.window {
	width: 90vw;
	max-width: 380px;
	height: 240px;
	background-color: #ffffff;
	border-radius: 6px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	padding-top: 30px;
}
.window .text:nth-of-type(1) {
	color: #149243;
    font-size: 12px;
    font-weight: bold;
    margin-bottom: 5px;
}
.window .text:nth-of-type(2),
.window .text:nth-of-type(4){
	color: #ffffff;
    background: #149243;
    font-size: 15px;
    border-radius: 15px;
    padding: 2px 20px 0px;
    line-height: 1.5;
}
.window .text:nth-of-type(3),
.window .text:nth-of-type(5){
	color: #000000;
    font-size: 30px;
    font-weight: bold;
    margin: 10px 0px;
}
.window .text:nth-of-type(6) {
	color: #149243;
    font-size: 18px;
    font-weight: bold;
}
.window .text:nth-of-type(7) {
	color: #149243;
    font-size: 12px;
    font-weight: bold;
    margin-top: -10px;
}
.close {
	cursor: pointer;
    position: absolute;
    top: 4px;
    right: 4px;
    font-size: 16px;
    background: #000000;;
    border-radius:5px;
    width: 180px;
    height: 25px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    line-height: 2;
}

.text a:hover {
	color: #DCEFE3;
}
.text a:active {
	color: #DCEFE3;
}
@media only screen and (max-width: 400px){ 
	.window .text:nth-of-type(6) {
		font-size: 16px;
	}
	.window .text:nth-of-type(7) {
		margin-top: 0px;
		line-height: 1;
	}
}
/*-▲電話リンク(ポップアップ)▲-*/

/*-▼フォームリンク▼-*/
.form-link {
    position: relative;
    width: 310px;
    margin: 5px 0;
    background-color: #FFD750;
    border-radius: 15px;
	cursor: pointer;
    transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
	border-bottom: 5px solid #e3bf46;
}
.form-link p:nth-of-type(1) {
    width: 200px;
    margin: 5px auto;
    padding: 0px;
    text-align: center;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    background-color: #f00;
    border-radius: 30px 30px 30px 30px;
}
.form-link .num {
    margin: 7px 0 5px;
    line-height: 1.2;
    color: #000;
    font-size: 18px;
    font-weight: bold;
	text-align: center;
	padding-right: 15px;
}
.webp .form-link::after {
	background-image: url("../img/form-link-icon-1.webp");
}
.no-webp .form-link::after {
	background-image: url("../img/form-link-icon-1.png");
}
.form-link::after {
    content: "";
    display: inline-block;
    width: 26px;
    height: 23px;
    position: absolute;
    right: 10px;
    top: 75%;
    transform: translateY(-50%);
	background-size: contain;
	vertical-align: middle;
	background-position: center;
    background-repeat: no-repeat;
}

.form-link:hover {
 	margin-top: 8px;
  	border-bottom: 2px solid #e3bf46;
	background: #f7d14f;
}
/*-▲フォームリンク▲-*/

/*-▼cta_area(フォームボタン)▼-*/
#cta_area {
	padding: 20px 0px 20px;
	/* background: #149243; */
	background: #e63200;
	text-align: center;
}

.cta_text_title {
	position: relative;
	font-size: 20px;
    font-weight: bold;
	letter-spacing: 0.2em;
	/* color: #FFD750; */
	color: #fff;
}

.cta_text_title:before,
.cta_text_title:after {
	position: relative;
    display: inline-block;
    content: "";
    /* background: #FFD750; */
    background: #fff;
    width: 2px;
    height: 2em;
    margin: 0 1em;
    margin-top: -0.2em;
    vertical-align: middle;
}
 
.cta_text_title:before {
	transform: rotate(-35deg);
}
 
.cta_text_title:after {
	transform: rotate(35deg);
}

.cta_text_content {
	font-size: 18px;
    font-weight: bold;
}

.cta_button {
	justify-content: center;
}

.cta_button > .tel-btn {
	background: #ffffff;
	border-bottom: 5px solid #e3e3e3;
}

.cta_button > .tel-btn p {
	color: #ffffff;
    /* background-color: #149243; */
    background-color: #63696e;
}

.cta_button > .tel-btn .num {
	/* color: #149243; */
	color: #000;
}

.webp .cta_button > .tel-btn::after {
	background-image: url("../img/tel-btn-icon-1.png");
}
.no-webp .cta_button > .tel-btn::after {
	background-image: url("../img/tel-btn-icon-1.png");
}
.cta_button > .tel-btn::after {
	background: url("../img/tel-btn-icon-2.png") no-repeat right center;
	background-size: contain;
    vertical-align: middle;
    background-position: center;
    background-repeat: no-repeat;
}

.cta_button > .tel-btn:hover {
	margin-top: 8px;
	border-bottom: 2px solid #e3e3e3;
	background-color: #f5f5f5;
}

@media only screen and (max-width: 769px){
	.cta_text_title {
		font-size: 18px;
		letter-spacing: 0.0em;
	}
	.cta_text_content {
		font-size: 16px;
		line-height: 1.3;
		margin: 8px 0px;
	}
	.cta_button {
		flex-direction: column;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items:flex-start;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		text-align: center;
		width: 310px;
		margin: 0 auto;
	}
}
@media only screen and (max-width: 700px){
	
}
@media only screen and (max-width: 400px){ 
	.cta_text_content {
		font-size: 14px;
	}
	.form-link .num {
		font-size: 16px;
	}
	.tel-btn .num {
		font-size: 16px;
	}
	.form-link::after {
		right: 25px;
	}
}
/*-▲cta_area(フォームボタン)▲-*/

/*-▼ヘッダー(スマホ版)▼-*/
@media only screen and (max-width: 769px){
	header {
		padding: 5px;
	}
	header .open,
	header .tel-btn {
		display: none;
	}
	
	header .form-link {
		display: none;
	}
}
/*-▲ヘッダー(スマホ版)▲-*/

/*-▼visual（ファーストビュー）▼-*/
.webp #visual {
	background: url("../img/visual_bg.png") center center no-repeat;
	background-size: cover;
}
.no-webp #visual{
	background: url("../img/visual_bg.png") center center no-repeat;
	background-size: cover;
}
#visual .inner {
    min-width: 1105px;
	overflow: hidden;
}
#visual .inner {
    animation: fadeIn .4s ease-in 0s 1 normal;
}
#visual .message_list {
    width: 100%;
    /* height: 575px; */
    height: 520px;
    position: relative;
    display: flex;
    justify-content: space-between;
}
#visual .message_item {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
#visual .message_list .message_item:nth-of-type(1) {
    width: 638px;
    padding: 0;
    box-sizing: border-box;
}
#visual .message_list .message_item:nth-of-type(2) {
    width: 467px;
    padding: 0;
    box-sizing: border-box;
}
.title_text_area {
	position: relative;
    padding-top: 50px;
    display: flex;
    flex-direction: column;
    margin-bottom: 25px;
}
.title_text_area span {
    font-weight: bold;
    margin-bottom: 10px;
	border-radius: 5px;
}
.title_text_head {
	font-size: 25px;
	color: #000000;
}
.title_text_h1 {
	font-size: 58px;
    margin: 0px 0px 20px;
    /*text-shadow: 0px 1px 3px #3d3d3d;*/
	color: #ffffff;
	line-height: 57px;
	letter-spacing: 0.1em;
	white-space: nowrap;
}
.hukidashi {
  	position: relative;
	display: inline-block;
	margin: 0px;
	padding: 0px 10px;
	min-width: 120px;
	max-width: 100%;
	/* color: #149243; */
	color: #e63200;
	font-size: 25px;
	background: #ffffff;
	border-radius: 3px;
	letter-spacing: 0px;
}

.hukidashi:before {
	content: "";
	position: absolute;
    top: 56%;
    left: -18px;
    margin-top: -15px;
    border: 10px solid transparent;
    border-right: 10px solid #ffffff;
}

.hukidashi p {
	margin: 0;
	padding: 0;
}
.point_list {
    display: flex;
    justify-content: space-between;
    margin: 0px;
    margin-bottom: 0px;
}
.point_item {
    width: 31%;
    margin: 0;
	margin-right: 14px;
    padding: 10px;
    box-sizing: border-box;
    border-radius: 10px;
	/* background: #FFD750; */
	background: #e63200;
	color: #fff;
	font-size: 25px;
    font-weight: bold;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	text-align: center;
	flex-direction: column;
    display: flex;
}

.point_item p:nth-of-type(1) {
    
}

.point_item p:nth-of-type(2) {
	font-size: 15px;
    line-height: 1.2;
}

.sup_text {
	font-size: 15px;
    color: #ffffff;
    padding: 10px 0px 10px;
    line-height: 1.5;
}

.title_text_area_sub {
	position: relative;
    padding: 50px 10px 50px 50px;
    display: flex;
    flex-direction: column;
    color: #ffffff;
    margin-bottom: 25px;
}

.sub_message_text {
	font-size: 25px;
	color: #ffffff;
	text-align: center;
	line-height: 1.6;
	position: relative;
}

.sub_message_text p:nth-of-type(3) {
	line-height: 1.2;
	letter-spacing: 0.1em;
}

.sub_message_text:before,
.sub_message_text:after {
	position: absolute;
    display: inline-block;
    content: "";
    background: #ffffff;
    width: 2px;
    height: 5em;
    margin: 0 3em;
    margin-top: -0.2em;
    vertical-align: middle;
}
 
.sub_message_text:before {
	transform: rotate(-20deg);
    top: 100px;
    left: -80px;
}
 
.sub_message_text:after {
	transform: rotate(20deg);
	top: 100px;
    right: -80px;
}

.sub_message_img {
    /* width: 141%; */
    /* margin-left: -100px; */
	margin-left: 40px;
    padding-top: 73px;
}

@media only screen and (max-width: 769px){
	#visual .inner {
		min-width: auto;
	}
	#visual .message_list {
		flex-direction: column;
		height: auto;
	}
	#visual .message_item {
		margin: 0 auto;
	}
	#visual .message_list .message_item:nth-of-type(1) {
		width: 100%;
	}
	.title_text_head {
		margin: 0 auto;
		display: flex;
    	flex-direction: column;
    	text-align: center;
    	width: 100%;
	}
	.title_text_head span {
		font-size: 20px;
	}
	.title_text_h1 {
		margin: 20px auto 30px;
	}
	.sup_text {
		padding: 5px;
	}
	.title_text_area_sub {
		padding: 10px;
		flex-direction: row-reverse;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		text-align: center;
	}
	#visual .message_list .message_item:nth-of-type(2)  {
		width: 100%;
	}
	.title_text_area {
		margin-bottom: 0px;
	}
	.sub_message_img {
		width: 80%;
		margin-left: -80px;
	}
	.sub_message_text {
		width: 55%;
	}
	.sub_message_text p .fts_40 {
		font-size: 30px;
	}
	.sub_message_text:before {
    	transform: rotate(-100deg);
    	top: -70px;
    	left: 0px;
	}
	.sub_message_text:after {
    	transform: rotate(100deg);
    	bottom: 0px;
    	left: 0px;
	}
		.sup_text {
		font-size: 10px;
	}
	.sub_message_text {
		margin-left: -60px;
		font-size: 20px;
		text-align: justify;
	}
	.sub_message_text p .fts_40 {
    	font-size: 25px;
	}
}

@media only screen and (max-width: 700px){
	
	.title_text_area {
		padding-top: 20px;
	}
	#visual .inner {
		padding: 0px 5px;
	}
	.title_text_head {
		font-size: 16px;
		line-height: 1.2;
		margin-bottom: -10px;
	}
	.title_text_head .pd_h_5 {
		/*padding-top: 0px;
		padding-bottom: 0px;*/
	}
	.title_text_h1 {
    	letter-spacing: 0;
    	font-size: 40px;
    	text-align: center;
    	line-height: 1.2;
		margin: 0px auto;
		width: 100%;
	}
	.title_text_h1 .fts_27 {
		font-size: 18px;
	}
	.title_text_h1 .fts_35 {
		font-size: 18px;
	}
	.title_text_h1 .fts_35:nth-of-type(2) {
		font-size: 35px;
	}
	.hukidashi {
		margin: 10px 0px 15px;
    	width: 100%;
		padding: 0px;
	}
	.hukidashi:before {
		display: none;
	}
	.point_item {
    	padding: 5px;
    	font-size: 16px;
    	line-height: 1.1;
		margin: 0px;
	}
	.point_item .fts_45 {	
		font-size: 20px;
	}
	.point_item .fts_55 {	
		font-size: 20px;
	}
	.point_item p:nth-of-type(2) {
    	font-size: 10px;
    	line-height: 1.2;
	}
	.title_text_area_sub {
		padding: 0px;
    	margin-top: 15px;
    	margin-bottom: 0px;
	}
	.sub_message_text p:nth-of-type(1) {
		line-height: 1;
		margin-bottom: 20px;
	}
	.sub_message_text p:nth-of-type(2) {
		line-height: 1;
		margin-bottom: 20px;
	}
	.sub_message_text p:nth-of-type(3) {
		line-height: 1;
	}
}

@media only screen and (max-width: 550px){
	.sub_message_text {
    	font-size: 16px;
	}
	.sub_message_text {
    	margin-left: 0px;
	}
	.sub_message_text p .fts_40 {
    	font-size: 20px;
	}
	.sub_message_img {
    	width: 100%;
    	margin-right: -50px;
		margin-bottom: -5px;
	}
	.sub_message_text:before {
    	transform: rotate(-100deg);
    	top: -60px;
    	left: 0px;
	}
	.sub_message_text:after {
    	transform: rotate(100deg);
    	bottom: -50px;
    	left: 0px;
    	top: unset;
	}
}
@media only screen and (max-width: 550px){
	.sub_message_img {
    	/* width: 115%; */
		width: 140%;
        margin-left: -69px;
	}
}
/*-▲visual（ファーストビュー）▲-*/

/*-▼outsourcing（グループ会社）▼-*/
#outsourcing {
	padding: 20px 0px 15px;
	/* background: #DCEFE3; */
	background: #f0f0f0;
}

#outsourcing .inner p {
	text-align: center;
	font-size: 18px;
    line-height: 1;
	color: #000000;
	font-weight: bold;
}

#outsourcing .inner p span {
	font-size: 14px;
    margin-top: 5px;
	display: block;
}

@media only screen and (max-width: 769px){
	#outsourcing {
    	padding: 10px 0px 10px;
    	/* background: #DCEFE3; */
    	background: #f0f0f0;
	}
	#outsourcing .inner p {
		font-size: 12px;
		line-height: 1.2;
	}
	#outsourcing .inner p span {
		font-size: 10px;
		background-color: #ffffff;
    	padding: 10px;
	}
}
@media only screen and (max-width: 700px){
	
}
@media only screen and (max-width: 550px){ 

}
/*-▲outsourcing（グループ会社）▲-*/

/*-▼onayami（こんなお悩み）▼-*/
#onayami {
	padding: 20px 0px 15px;
	background: #ffffff;
}

#onayami .inner h2,
#onayami .inner p {
	color: #000000;
	text-align: center;
	font-weight: bold;
	letter-spacing: 0.3em;
}

#onayami .inner h2 {
	font-size: 25px;
	margin: 40px 0px;
}

#onayami .inner p {
	font-size: 18px;
}

.caption_line {
	position: relative;
}

.caption_line:before,
.caption_line:after {
	position: relative;
    display: inline-block;
    content: "";
    background: #000000;
    width: 2px;
    height: 5em;
    margin: 0 3em;
    margin-top: -0.2em;
    vertical-align: middle;
}
 
.caption_line:before {
	transform: rotate(-35deg);
}
 
.caption_line:after {
	transform: rotate(35deg);
}

#onayami .sug_area {
	padding: 0px 110px;
}

#onayami .inner .flex {
	justify-content: space-around;
}

#onayami .inner .flex p {
	border-radius: 50%;
    background: #EEEEEF;
	letter-spacing: 0;
	-webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    display: flex;
	line-height: 1.5;
}

#onayami .inner .flex:nth-of-type(1) {
	margin-bottom: -10px;
}
	
#onayami .inner .flex:nth-of-type(1) p:nth-of-type(1) {
    width: 190px;
    height: 190px;
}
#onayami .inner .flex:nth-of-type(1) p:nth-of-type(2) {
    width: 180px;
    height: 180px;
}
#onayami .inner .flex:nth-of-type(1) p:nth-of-type(3) {
    width: 175px;
    height: 175px;
}
#onayami .inner .flex:nth-of-type(1) p:nth-of-type(4) {
    width: 140px;
    height: 140px;
}
#onayami .inner .flex:nth-of-type(2) p:nth-of-type(1) {
    width: 140px;
    height: 140px;
}
#onayami .inner .flex:nth-of-type(2) p:nth-of-type(2) {
    width: 140px;
    height: 140px;
}
#onayami .inner .flex:nth-of-type(2) p:nth-of-type(3) {
    width: 145px;
    height: 145px;
}
.sug_area_img {
	width: 30%;
	margin: 0 auto;
	margin-top: -200px;
}

@media only screen and (max-width: 769px){
	.caption_line:before,
	.caption_line:after {
		width: 1px;
		height: 2.5em;
    	margin: 0 1em;
	}
	#onayami .sug_area {
		margin: 10px 0px;
		padding: 0px;
	}
	#onayami .inner h2 {
		font-size: 20px;
		margin: 20px 0px;
	}
	#onayami .inner .flex:nth-of-type(2) p:nth-of-type(3) {
		margin-left: 120px;
	}
}
@media only screen and (max-width: 700px){
	.caption_line:before,
	.caption_line:after {
		width: 1px;
		height: 2em;
    	margin: 0 1em;
	}
	#onayami .inner h2 .fts_35 {
		font-size: 25px;
	}
	#onayami .inner p {
		font-size: 12px;
	}
	#onayami .inner .flex:nth-of-type(1) {
		margin-bottom: 100px;
	}
	#onayami .inner .flex:nth-of-type(1) p:nth-of-type(1) {
		width: 180px;
		height: 180px;
	}
	#onayami .inner .flex:nth-of-type(1) p:nth-of-type(2) {
		width: 160px;
		height: 160px;
	}
	#onayami .inner .flex:nth-of-type(1) p:nth-of-type(3) {
		width: 190px;
		height: 190px;
	}
	#onayami .inner .flex:nth-of-type(1) p:nth-of-type(4) {
		width: 130px;
		height: 130px;
	}
	#onayami .inner .flex:nth-of-type(2) p:nth-of-type(1) {
		width: 180px;
		height: 180px;
	}
	#onayami .inner .flex:nth-of-type(2) p:nth-of-type(2) {
		width: 150px;
		height: 150px;
	}
	#onayami .inner .flex:nth-of-type(2) p:nth-of-type(3) {
		width: 190px;
		height: 190px;
		margin-left: 0px;
	}
	.sug_area_img {
		margin-top: -360px;
		margin-bottom: 160px;
		width: 50%;
	}
}

@media only screen and (max-width: 550px){
	#onayami .inner h2, #onayami .inner p {
		letter-spacing: 0.0em;
	}
	#onayami .inner h2 {
		font-size: 18px;
	}
	.caption_line:before, .caption_line:after {
		margin: 0 0.5em;
	}
	.sug_area_img {
		margin-bottom: 120px;
		margin-top: -260px;
		width: 40%;
		max-width: 145px;
	}
	#onayami .inner p {
		font-size: 11px;
	}
	#onayami .inner .flex:nth-of-type(1) {
		margin-bottom: 80px;
	}
	#onayami .inner .flex:nth-of-type(1) p:nth-of-type(1) {
		width: 135px;
		height: 135px;
	}
	#onayami .inner .flex:nth-of-type(1) p:nth-of-type(2) {
		width: 125px;
		height: 125px;
	}
	#onayami .inner .flex:nth-of-type(1) p:nth-of-type(3) {
		width: 135px;
		height: 135px;
	}
	#onayami .inner .flex:nth-of-type(1) p:nth-of-type(4) {
		width: 130px;
		height: 130px;
	}
	#onayami .inner .flex:nth-of-type(2) p:nth-of-type(1) {
		width: 130px;
		height: 130px;
	}
	#onayami .inner .flex:nth-of-type(2) p:nth-of-type(2) {
		width: 125px;
		height: 125px;
	}
	#onayami .inner .flex:nth-of-type(2) p:nth-of-type(3) {
		width: 135px;
		height: 135px;
		margin-left: 0px;
	}
}

@media only screen and (max-width: 400px){
	.sug_area_img {
		margin-bottom: 100px;
		margin-top: -220px;
	}
	#onayami .inner p {
		font-size: 11px;
	}
	#onayami .inner .flex:nth-of-type(1) {
		margin-bottom: 80px;
	}
	#onayami .inner .flex:nth-of-type(1) p:nth-of-type(1) {
		width: 100px;
		height: 100px;
	}
	#onayami .inner .flex:nth-of-type(1) p:nth-of-type(2) {
		width: 110px;
		height: 110px;
	}
	#onayami .inner .flex:nth-of-type(1) p:nth-of-type(3) {
		width: 100px;
		height: 100px;
	}
	#onayami .inner .flex:nth-of-type(1) p:nth-of-type(4) {
		width: 130px;
		height: 130px;
	}
	#onayami .inner .flex:nth-of-type(2) p:nth-of-type(1) {
		width: 110px;
		height: 110px;
	}
	#onayami .inner .flex:nth-of-type(2) p:nth-of-type(2) {
		width: 90px;
		height: 90px;
	}
	#onayami .inner .flex:nth-of-type(2) p:nth-of-type(3) {
		width: 110px;
		height: 110px;
		margin-left: 0px;
	}
}
/*-▲onayami（こんなお悩み）▲-*/

/*-▼onayami2(外注で解決しませんか？)▼-*/
#onayami2 {
	padding: 80px 0px 50px;
	/* background: #DCEFE3; */
	background: #ffecdd;
	position: relative;
	z-index: -9999;
}

/*
.circle {
	position: absolute;
	width: 100px;
    height: 100px; 
    border: 15px solid #A6D6B7;
    background-color: #DCEFE3;
    border-radius: 50%; 
    margin: 0 auto;
    text-align: center;
    line-height: 80px;
	top: 45px;
    left: 310px;
}
*/

.onayami2_title_area {
	width: 900px;
	margin: 0 auto;
	padding: 1px 10px 5px 20px;
    border-radius: 5px;
	position: relative;
	margin-bottom: 50px;
}

.onayami2_title_area::after {
	content:"";
	position: absolute;
	width: 100px;
    height: 100px; 
    /* border: 15px solid #A6D6B7; */
    border: 15px solid #e63200;/* ←上下20pxのボーダー */
	background-color: rgb(166,214,183,0.0);
    border-radius: 50%;
    margin: 0 auto;
    text-align: center;
    line-height: 80px;
    top: -50px;
    left: -50px;
	z-index: -999;
}

.hukidashi2 {
	position: relative;
}

.hukidashi2:before {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -15px;
	border: 20px solid transparent;
	border-top: 15px solid #ffffff;
}

.hukidashi2 p {
	margin: 0;
	padding: 0;
}

#onayami2 .inner h2 {
	color: #000000;
	text-align: center;
	font-weight: bold;
	letter-spacing: 0.1em;
	border-radius: 5px;
}

#onayami2 .inner h2 {
	font-size: 25px;
}

.onayami2_merit {
	padding: 30px;
	color: #000000;
	text-align: center;
}

.onayami2_merit_text {
	letter-spacing: 0.2em;
	font-size: 25px;
	font-weight: bold;
	position: relative;
	display: inline-block;
	padding: 0 50px;
}
.onayami2_merit_text span {
	vertical-align: sub;
	color: #e63200;
	transform: skewX(-10deg);
}
.onayami2_merit_text:before, 
.onayami2_merit_text:after {
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 35px;
	height: 2px;
	/* background-color: #149243; */
	background-color: #e63200;
}

.onayami2_merit_text:before {
	left:0;
}
.onayami2_merit_text:after {
	right: 0;
}

.onayami2_merit_list {
    display: flex;
    justify-content: space-between;
	width: 800px;
    margin: 30px auto;
}

.onayami2_merit_item {
    width: 30%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
	position: relative;
}

.onayami2_merit_item:before {
    content: "";
    display: block;
    height: 100%;
    width: 0;
    border-right: 2px solid #b9b9b9;
    position: absolute;
    left: -20px;
    top: 0;
    bottom: 0;
    margin: auto;
}
.onayami2_merit_item:first-of-type:before {
    content: none;
}

.onayami2_merit_item p {
	font-size: 20px;
    font-weight: bold;
	line-height: 1.2;
	letter-spacing: 0.1em;
}

.onayami2_merit_item p:nth-of-type(1) {
	/* color: #149243; */
	color: #e63200;
    font-size: 25px;
}

.onayami2_merit_item p:nth-of-type(2) {
	font-size: 18px;
	text-align: left;
}

.onayami2_merit_item p:nth-of-type(3) {
	font-size: 12px;
	text-align: left;
	padding: 5px 0px;
	font-weight: unset;
}

.onayami2_merit_icon1,
.onayami2_merit_icon2,
.onayami2_merit_icon3 {
	width: auto;
    height: 100px;
	margin: 0 auto;
	padding: 20px;
}

.onayami2_merit_icon1 img,
.onayami2_merit_icon2 img,
.onayami2_merit_icon3 img {
	width: auto;
    height: 100%;
	object-fit: contain;
}

#onayami2::before {
	content: '';
    position: absolute;
    bottom: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 30px 60px 0 60px;
    border-color: #DCEFE3 transparent transparent transparent;
    left: 50%;
	transform: translateX(-50%) translateY(100%);
}
@media only screen and (max-width: 769px){
	#onayami2 {
		padding: 50px 0px 40px;
	}
	.onayami2_title_area {
		width: 100%;
		padding: 0px 0px 5px;
		margin-bottom: 20px;
	}
	#onayami2 .inner h2 {
		font-size: 20px;
	}
	/*
	.circle {
		width: 100px;
		height: 100px;
		top: 35px;
		left: 5px;
		border: 10px solid #A6D6B7;
	}*/
	.onayami2_title_area::after {
		width: 100px;
		height: 100px;
		top: -38px;
		left: -40px;
		/* border: 10px solid #A6D6B7; */
		border: 10px solid #e63200;
	}
	.onayami2_title_area h2 .fts_45{
		font-size: 25px;
	}
	.onayami2_merit_list {
		width: 100%;
		flex-direction: column;
		margin: 10px auto;
	}
	.onayami2_merit {
		padding-bottom: 0px;
	}
	.onayami2_merit_item {
		width: 100%;
		padding: 25px 25px 0px 25px;
		margin-bottom: 10px;
	}
	.onayami2_merit_list .onayami2_merit_item:last-child {
		border-bottom: 0px;
	}
	.onayami2_merit_item:before {
		display: none;
	}
	.onayami2_merit_item p:nth-of-type(2) {
		font-size: 16px;
		line-height: 1.1;
		text-align: justify;
	}
	.onayami2_merit_item p:last-child {
		padding-bottom: 25px;
		border-bottom: solid 2px #b9b9b9;
	}
	.onayami2_merit_list .onayami2_merit_item:last-child p:last-child {
		padding-bottom: 25px;
		border-bottom: 0px;
	}
	.onayami2_merit_icon1, 
	.onayami2_merit_icon2, 
	.onayami2_merit_icon3 {
		height: 60px;
		padding: 10px;
	}
	.onayami2_merit_item p {
		font-size: 18px;
	}
}
@media only screen and (max-width: 700px){
	.onayami2_title_area {
		width: auto;
		padding: 5px 20px 5px;
		margin-bottom: 20px;
		display: table;
	}
	#onayami2 .inner h2 .fts_45 {
		font-size: 25px;
	}
	.onayami2_merit_text {
		letter-spacing: 0.0em;
		font-size: 18px;
		padding: 0 30px;
	}
	.onayami2_merit_text:before, .onayami2_merit_text:after {
		width: 20px;
	}
}
@media only screen and (max-width: 550px){ 
	#onayami2 .inner h2 {
		font-size: 18px;
		letter-spacing: 0.0em;
	}
	.onayami2_title_area h2 .fts_45{
		font-size: 20px;
	}
	/*
	.circle {
		width: 80px;
		height: 80px;
		top: 35px;
		left: 5px;
	}*/
	.onayami2_title_area::after {
		width: 80px;
		height: 80px;
		left: -25px;
	}
	.onayami2_merit_text span.fts_45 {
		font-size: 35px;
	}
	.onayami2_merit_item p:nth-of-type(1) {
		font-size: 18px;
	}
	.onayami2_merit_item p:nth-of-type(2) {
		font-size: 14px;
	}
	
}
@media only screen and (max-width: 330px){ 
	#onayami2 .inner h2 {
		font-size: 16px;
		letter-spacing: 0.0em;
	}
	
}
/*-▲onayami2(外注で解決しませんか？)▲-*/

/*-▼onayami3(共同エンジニアリングなら)▼-*/
#onayami3 {
	padding: 30px 0px 50px;
	background: #ffffff;
}

.onayami3_logo_area {
	color: #000000;
    text-align: center;
    font-size: 25px;
    font-weight: bold;
	letter-spacing: 0.1em;
}

.onayami3_logo_area p {
	padding: 5px 0px;
	line-height: 1.5;
}

.onayami3_logo {
	display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.onayami3_logo img {
    width: 400px;
    padding-right: 20px;
    padding-bottom: 10px;
}

.case_text_area {
	background: #ffffff;
    border: double 7px #FFD750;
    box-sizing: border-box;
	padding: 25px;
	margin: 0px 20px;
	display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.case_text_area picture {
    padding: 0px 50px 0px 10px;
}
.case_text_area img {
	width: 200px;
    padding: 0px 50px 0px 10px;
}

.case_text_area p {
	color: #000000;
	font-size: 18px;
	font-weight: bold;
	text-align: justify;
}

@media only screen and (max-width: 769px){
	#onayami3 {
		padding: 0px 0px 20px;
	}
	.onayami3_logo_area {
    	font-size: 18px;
    	letter-spacing: 0.0em;
	}
	.onayami3_logo img {
		width: 300px;
		padding-right: 10px;
		padding-bottom: 0px;
	}
	.case_text_area {
		flex-direction: column;
		padding: 15px;
    	margin: 10px;
	}
	.case_text_area picture {
		padding: 5px;
		margin: 0 auto;
	}
	.case_text_area img {
		width: 100px;
		padding: 5px;
		margin: 0 auto;
	}
	.case_text_area p {
		color: #000000;
		font-size: 16px;
		line-height: 1.2;
	}
}
@media only screen and (max-width: 700px){
	
}
@media only screen and (max-width: 550px){ 
	.onayami3_logo_area {
    	font-size: 18px;
	}
	.case_text_area {
		flex-direction: column;
		padding: 15px;
    	margin: 10px;
	}
}
@media only screen and (max-width: 400px){ 
	.onayami3_logo_area {
		font-size: 14px;
		line-height: 4;
	}
	.onayami3_logo img {
		width: 230px;
	}
	.case_text_area p {
		font-size: 14px;
	}
}
/*-▲onayami3(共同エンジニアリングなら)▲-*/

/*-▼outsourcing(受託+人材派遣で一貫したサポートも！)▼-*/
#outsourcing_support {
	padding: 0px 0px 50px;
	background: #ffffff;
}
#outsourcing_support .inner {
	color: #000000;
}
.outsourcing_support_content_area {
	width: 780px;
    margin: 0 auto;
    background-color:#149243;
    border-radius:10px;
	padding: 10px;
}
.outsourcing_support_content {
	background-color: #ffffff;
    border-radius: 7px;
	position: relative;
}
.outsourcing_support_title_area {
	display: block;
    background: #149243;
    width: 470px;
    line-height: 1.2;
    height: 85px;
    padding: 10px;
    padding-top: 10px;
    padding-left: 0px;
    border-radius:  0px 0px 10px 0px;
}
.outsourcing_title_text {
	color: #ffffff;
    text-align: center;
    font-weight: bold;
    letter-spacing: 0.1em;
    border-radius: 5px;
    font-size: 35px;
}
.outsourcing_support_case_area {
	padding: 20px 10px 15px;
    line-height: 1.3;
    text-align: justify;
    width: 470px;
}
.outsourcing_support_case_area p {
	padding-bottom: 15px;
	position: relative;
	padding-left: 50px;
	line-height: 1.1;
	font-size: 16px;
}
.outsourcing_support_case_area p:nth-of-type(3) {
	padding-bottom: 0px;
}
.webp .outsourcing_support_case_area p::after {
	background-image: url("../img/outsourcing_support_case_arrow.webp");
}
.no-webp .outsourcing_support_case_area p::after {
	background-image: url("../img/outsourcing_support_case_arrow.png");
}
.outsourcing_support_case_area p::after {
	content: "";
    position: absolute;
	display: table-cell;
	text-align: center;
	line-height: 1.62;
	vertical-align: middle;
	white-space: pre;
	font-size: 16px;
	font-weight: bold;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	width: auto;
    left: -20px;
    top: 0px;
    padding: 5px 8px;
}
.outsourcing_support_case_area p:nth-of-type(1)::after {
	content: "CASE1";
}
.outsourcing_support_case_area p:nth-of-type(2)::after {
	content: "CASE2";
}
.outsourcing_support_case_area p:nth-of-type(3)::after {
	content: "CASE3";
}
.outsourcing_support_sub_area {
	padding: 10px 10px 0px 10px;
	background-color:#149243;
	color: #ffffff;
	line-height: 1.3;
	text-align: justify;
}
.outsourcing_support_sub_area p {
	width: 470px;
	font-size: 14px;
}
.outsourcing_support_case_illust_area {
	position: absolute;
	bottom: -11px;
	right: 0;
	width: 280px;
}
.outsourcing_support_case_fukidahi_area {
	position: absolute;
	top: -30px;
	right: -50px;
}
.outsourcing_support_case_fukidahi--btm {
	position: relative;
	margin: 0;
	padding: 15px 0px 0px 10px;
	width: 205px;
	height: 205px;
	line-height: 1em;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	background: #FFD750;
	border-radius: 50%;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
    justify-content: center;
	-webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
}
.outsourcing_support_case_fukidahi--btm p {
    line-height: 1.5;
	color: #000000;
}
.outsourcing_support_case_fukidahi--btm:before {
	content: "";
	position: absolute;
	bottom: -4px;
	left: 0;
	margin-top: -15px;
	border: 20px solid transparent;
	border-left: 20px solid #FFD750;
	z-index: 0;
	-webkit-transform: rotate(45deg);
	transform: rotate(135deg);
}
.outsourcing_support_case_fukidahi_sp_area {
	display: none;
}
@media only screen and (max-width: 769px){
	#outsourcing_support {
		margin-top: 30px;
	}
	.outsourcing_support_content_area {
		width: 100%;
		box-sizing: border-box;
	}
	.outsourcing_support_title_area {
		width: 100%;
	}
	.outsourcing_support_title_area {
		height: 75px;
		padding-top: 20px;
	}
	.outsourcing_title_text {
		font-size: 25px;
		text-align: center;
		width: 61%;
	}
	.outsourcing_title_text .fts_30 {
		font-size: 25px;
	}
	.outsourcing_support_case_area {
		width: 100%;
		box-sizing: border-box;
		padding: 10px;
	}
	.outsourcing_support_case_area p {
		padding-left: 80px;
		border-bottom: 1px solid #149243;
		padding-top: 10px;
		padding-bottom: 10px;
	}
	.outsourcing_support_case_area p:nth-of-type(3) {
		padding-bottom: 10px;
	}
	.outsourcing_support_case_area p::after {
		left: 0;
		top: 10px;
	}
	.outsourcing_support_sub_area {
		background-color: #ffffff;
		padding: 10px;
	}
	.outsourcing_support_sub_area p {
		width: 100%;
		color: #149243;
		font-size: 16px;
	}
	.outsourcing_support_sub_area:before {
		content: "";
		position: absolute;
		bottom: 71px;
		right: 50%;
		transform: translatex(50%);
		box-sizing: border-box;
		border-right: calc(50vw - 40px) solid transparent;
		border-left: calc(50vw - 40px) solid transparent;
		border-top: 30px solid #ffffff;
	}
	.outsourcing_support_case_illust_area {
		top: -80px;
		bottom: auto;
		right: 20px;
		width: 167px;
	}
	.outsourcing_support_case_fukidahi_area {
		display: none;
	}
	.outsourcing_support_case_fukidahi_sp_area {
		display: block;
		padding: 40px 0px 10px;
		background-color: #149243;
	}
	.outsourcing_support_case_fukidahi_sp_area p {
		text-align: center;
		font-size: 18px;
		color: #ffffff;
		font-weight: bold;
		line-height: 1.4em;
	}
}
@media only screen and (max-width: 700px){
	.outsourcing_support_sub_area:before {
		border-right: calc(50vw - 15px) solid transparent;
		border-left: calc(50vw - 15px) solid transparent;
	}
}
@media only screen and (max-width: 550px){ 
	.outsourcing_support_title_area {
		height: 50px;
	}
	.outsourcing_title_text {
		font-size: 20px;
	}
	.outsourcing_title_text .fts_30 {
		font-size: 20px;
	}
	.outsourcing_support_case_illust_area {
		top: -86px;
		right: 0;
		width: 150px;
	}
	.outsourcing_support_sub_area:before {
		bottom: 61px;
	}
	.outsourcing_support_case_fukidahi_sp_area {
		padding: 40px 0px 0px;
	}
}
@media only screen and (max-width: 450px){ 
	.outsourcing_support_title_area {
		height: 50px;
	}
	.outsourcing_title_text {
		font-size: 18px;
		width: 240px;
	}
	.outsourcing_title_text .fts_30 {
		font-size: 18px;
	}
	.outsourcing_support_case_illust_area {
		top: -43px;
		right: 0;
		width: 110px;
	}
}
@media only screen and (max-width: 400px){ 
	.outsourcing_title_text {
		font-size: 18px;
		width: 230px;
	}
	.outsourcing_title_text .fts_30 {
		font-size: 16px;
	}
}
@media only screen and (max-width: 390px){ 
	.outsourcing_support_case_fukidahi_sp_area p {
		font-size: 16px;
	}
	.outsourcing_support_sub_area:before {
		bottom: 55px;
	}
}

/*-▲outsourcing(受託+人材派遣で一貫したサポートも！)▲-*/

/*-▼point_message_area(どうして更新質なの？)▼-*/
#point_message_area {
	padding: 80px 0px;
	/* background: #EEEEEF; */
	background: #f0f0f0;
	position: relative;
}

.point_message_title_area {
	width: 600px;
	margin: 0 auto;
	padding: 5px 10px 10px 20px;
    border-radius: 5px;
}

.point_message_title_area h2 {
	color: #000000;
	text-align: center;
	font-weight: bold;
	letter-spacing: 0.1em;
	border-radius: 5px;
	font-size: 25px;
}

.message_area_list {
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding-right: 30px;
    padding-left: 30px;
	margin-top: 50px;
}

.webp .message_area_item {
	/* background-image: url("../img/message_bg_logo.webp"); */
}
.no-webp .message_area_item {
	/* background-image: url("../img/message_bg_logo.png"); */
}
.message_area_item {
	display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: flex-start;
	background-size: 50% auto;
    vertical-align: middle;
    background-position: right bottom;
    background-repeat: no-repeat;
}

.message_area_img {
	position: relative;
	width: 510px;
}

.message_area_img img {

}

.message_area_img p {
	position: absolute;
    top: 0;
    right: 0;
	font-size: 35px;
    font-weight: bold;
    /* background-color: #149243; */
    background-color: #e63200;
    border-radius: 50%;
    width: 130px;
    height: 130px;
    text-align: center;
    line-height: 1.2;
    display: flex;
	flex-direction: column;
    justify-content: center;
	-webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
}

.message_area_content {
	color: #000000;
	width: 550px;
	padding-left: 40px;
}

.message_area_content_title {
	background: #ffffff;
    display: inline-block;
    font-size: 40px;
    font-weight: bold;
    letter-spacing: 0.1em;
    margin-bottom: 5px;
    padding: 15px 10px 10px;
    line-height: 1;
}

.message_area_content_item1 {
	font-size: 18px;
    margin: 10px 0px;
	text-align: justify;
}

.message_area_content_sup {
	font-size: 15px;
}

.webp .message_area_list .message_area_item:nth-of-type(2)  {
	/* background-image: url("../img/message_bg_logo.webp"); */
}
.no-webp .message_area_list .message_area_item:nth-of-type(2)  {
	/* background-image: url("../img/message_bg_logo.png"); */
}
.message_area_list .message_area_item:nth-of-type(2)  {
	justify-content: end;
	background-size: 50% auto;
    vertical-align: middle;
    background-position: left bottom;
    background-repeat: no-repeat;
}

.message_area_list .message_area_item:nth-of-type(2) .message_area_img p {
	right: unset;
	left: 0;
}

.message_area_list .message_area_item:nth-of-type(2) .message_area_content {
	padding-left: 0px;
	padding-right: 40px;
}

@media only screen and (max-width: 769px){
	.point_message_title_area {
		width: 400px;
		padding: 0px 0px 5px;
	}
	#point_message_area {
		padding: 40px 0px;
	}
	.message_area_item {
		margin-bottom: 50px;
		align-items: flex-start;
	}
	.message_area_item:nth-of-type(3) {
		margin-bottom: 0px;
	}
	.message_area_img {
		width: 42%;
	}
	.message_area_content {
		width: 53%;
		padding: 0px;
		margin-left: 10px;
	}
	.message_area_list {
		width: 100%;
    	padding: 0px;
    	margin: 50px 0px 0px;
	}
	.message_area_content_title {
		font-size: 18px;
		font-weight: bold;
		letter-spacing: 0.0em;
		line-height: 0.5;
		padding: 10px;
	}
	.message_area_img p {
		top: -30px;
		right: 0;
		font-size: 20px;
		width: 80px;
		height: 80px;
	}
	.message_area_img p span {
		font-size: 25px;
	}
}
@media only screen and (max-width: 700px){
	.point_message_title_area {
		width: 300px;
		padding: 0px 0px 5px;
	}
	#point_message_area .inner h2 {
		font-size: 20px;
	}
	#point_message_area .inner h2 .fts_45 {
		font-size: 25px;
	}
}
@media only screen and (max-width: 550px){ 

}
@media only screen and (max-width: 420px){ 
	.message_area_item {
		flex-direction: column; 
	}
	.message_area_img {
    	width: 160px;
    	margin: 0 auto;
	}
	.message_area_content {
		width: 80%;
    	margin: 10px auto;
    	padding: 0px;
	}
	.message_area_list .message_area_item:nth-of-type(2) {
		flex-direction: column-reverse;
	}
	.message_area_img p {
		top: -30px;
		right: -40px;
		font-size: 18px;
	}
	.message_area_img p {
		top: -30px;
		right: -40px;
		font-size: 18px;
	}
	.message_area_list .message_area_item:nth-of-type(2) .message_area_img p {
		left: -40px;
	}
	.message_area_list .message_area_item:nth-of-type(2) .message_area_content {
		padding-left: 0px;
		padding-right: 0px;
	}
	.message_area_content_item1 {
		margin: 5px 0px;
	}
}
/*-▲point_message_area(どうして高品質なの？)▲-*/

/*-▼support_type_area(対応可能な図面の種類)▼-*/
#support_type_area {
	padding: 80px 0px 50px;
	background: #ffffff;
	position: relative;
}

.support_type_img {
	width: 250px;
    margin: 0 auto 20px;
}

#support_type_area .inner h2 {
	color: #000000;
	text-align: center;
	letter-spacing: 0.1em;
	font-size: 25px;
}

.support_form-link {
	position: relative;
	display: block;
    width: 290px;
    margin: 5px 0;
	padding: 10px 0px;
    background-color: #FFD750;
    border-radius: 10px;
    cursor: pointer;
    transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
    border-bottom: 5px solid #e3bf46;
}
.support_form-link p:nth-of-type(1) {
    width: 200px;
    margin: 5px auto;
    padding: 10px 0px;
    text-align: center;
    color: #000;
    font-size: 12px;
    font-weight: bold;
    background-color: #fff;
    border-radius: 30px 30px 30px 30px;
}
.support_form-link .num {
    margin: 0px 0 0px;
    line-height: 1.2;
    color: #000;
    font-size: 16px;
    font-weight: bold;
	text-align: left;
	padding: 0px 20px;
	width: 100%;
	box-sizing: border-box;
}

.webp .support_form-link::after {
    background-image: url("../img/form-link-icon-1.webp");
}
.no-webp .support_form-link::after {
    background-image: url("../img/form-link-icon-1.png");
}
.support_form-link::after {
    content: "";
    display: inline-block;
    width: 26px;
    height: 23px;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
	background-size: contain;
	vertical-align: middle;
	background-position: center;
    background-repeat: no-repeat;
}

.support_form-link:hover {
	margin-top: 8px;
  	border-bottom: 2px solid #e3bf46;
	background: #f7d14f;
}

/*-▼アコーディオン▼-*/
.accordion {
	width: 500px;
    margin: 0 auto;
    padding: 50px;
}
.toggle {
	display: none;
}
.Label {		/*タイトル*/
	padding: 1em;
	display: block;
	color: #ffffff;
	border-radius: 10px;
	font-size: 20px;
    font-weight: bold;
	cursor: pointer;
}
.Label::before{		/*タイトル横の矢印*/
	content:"";
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 3px );
	right: 20px;
	transform: rotate(135deg);
}
.accordion .Label:nth-of-type(1) {
	/* background: #1D9C14; */
	background: #e63200;
}
.accordion .Label:nth-of-type(2) {
	/* background: #35B32D; */
	background: #63696e;
}
.accordion .Label:nth-of-type(3) {
	/* background: #54C152; */
	background: #e63200;
}
.accordion .Label:nth-of-type(4) {
	/* background: #37B483; */
	background: #63696e;
	padding: 10px 20px;
	line-height: 1.5;
}
.Label,
.content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}
.Label_sub {
	font-size: 12px;
    display: block;
}
.content {		/*本文*/
	height: 0;
	margin-bottom:10px;
	padding:0 20px;
	overflow: hidden;
}
.content p {		/*本文*/
	color: #000000;
}
.toggle:checked + .Label + .content {	/*開閉時*/
	height: auto;
	padding:20px ;
	transition: all .3s;
	background: #EEEEEF;
}
.toggle:checked + .Label::before {
	transform: rotate(-45deg) !important;
}
/*-▲アコーディオン▲-*/

.case_company_area {
	/* background: #DCEFE3; */
	background: #f0f0f0;
	padding: 50px 40px;
	position: relative;
}

.hukidashi-right-btm_over {
	position: absolute;
	top: -110px;
}

.hukidashi-right-btm {
	position: relative;
	margin: 1.5em 15px 1.5em 0;
	padding: 15px 5px 0px;
	width: 130px;
	height: 130px;
	line-height: 90px;
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	background: #FFD750;
	border-radius: 50%;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
    justify-content: center;
	-webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
}
.hukidashi-right-btm p {
    line-height: 1.1;
	color: #000000;
}
.hukidashi-right-btm:before {
	content: "";
	position: absolute;
	bottom: -9px;
	right: -9px;
	margin-top: -15px;
	border: 20px solid transparent;
	border-left: 20px solid #FFD750;
	z-index: 0;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.case_company_area h3 {
	font-size: 20px;
	font-weight: bold;
	color: #000000;
	text-align: center;
}

.case_company_list {
	margin-top: 40px;
	display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
}

.case_company_item {
	color: #000000;
	font-size: 17px;
	line-height: 1.5;
	width: 24%;
}
.case_company_area .Label {
	display: none;
}

@media only screen and (max-width: 769px){
	#support_type_area {
		padding: 40px 0px 40px;
	}
	.support_type_img {
		width: 200px;
	}
	.case_company_area h3 .fts_45 {
		font-size: 25px;
	}
	.accordion {
		width: 100%;
		margin: 20px auto 50px;
		padding: 0px;
	}
	.Label {
		font-size: 18px;
		width: 300px;
		margin: 0 auto;
		box-sizing: border-box;
	}
	.hukidashi-right-btm_over {
		top: -40px;
	}
	.hukidashi-right-btm {
		width: 100px;
		height: 100px;
		font-size: 16px;
	}
	.hukidashi-right-btm:before {
		bottom: -15px;
		right: -15px;
	}
	.case_company_area {
		padding: 50px 0px 20px;
		width: 100%;
	}
	.case_company_list {
		display: none;
	}
	.case_company_area .Label {
		display: block;
		background: #e63200;
		margin: 10px auto;
	}
	.support_type_area .toggle:checked + .Label + .content,
	.case_company_area .toggle:checked + .Label + .content {
		width: 325px;
		margin: 0px auto 5px;
		box-sizing: border-box;
		text-align: justify;
		line-height: 1.3;
	}
	.support_type_area .toggle:checked + .Label + .content .fts_20,
	.case_company_area .toggle:checked + .Label + .content .fts_20 {
		font-size: 18px;
	}
	.support_type_area .toggle:checked + .Label + .content .fts_18,
	.case_company_area .toggle:checked + .Label + .content .fts_18 {
		font-size: 16px;
	}
	.case_company_area .toggle:checked + .Label + .content {
		background: #ffffff;
		display: flex;
    	justify-content: space-around;
		margin: 5px auto;
    	padding: 5px;
	}
	.case_company_area .toggle:checked + .Label + .content p {
		padding: 5px;
		font-size: 14px;
		line-height: 1.5;
	}
	.accordion .Label:nth-of-type(4) {
		padding: 10px 35px 10px 15px;
		line-height: 1.3;
	}
	.support_form-link {
		width: 100%;
	}
	.support_form-link .num {
		font-size: 14px;
	}
}
@media only screen and (max-width: 700px){
	#support_type_area .inner h2 {
		font-size: 20px;
	}
	#support_type_area .inner h2 .fts_45 {
		font-size: 25px;
	}
	.hukidashi-right-btm p .fts_45 {
		font-size: 25px;
	}
	.case_company_area h3 {
		font-size: 18px;
	}
	.hukidashi-right-btm_over {
		top: -60px;
	}
	.hukidashi-right-btm {
		width: 90px;
		height: 90px;
		font-size: 16px;
	}
	.hukidashi-right-btm:before {
		bottom: -15px;
		right: -15px;
	}
}
@media only screen and (max-width: 550px){ 
	.case_company_area h3 .fts_45 {
		font-size: 20px;
	}
}
/*-▲support_type_area(対応可能な図面の種類)▲-*/

/*-▼flow(納品までの流れ)▼-*/
#flow_area {
	padding: 80px 0px;
	background: #ffffff;
	position: relative;
}

.flow_title_area {
	width: 600px;
	margin: 0 auto;
	padding: 5px 10px 10px 20px;
    border-radius: 5px;
}

.flow_content_area {
    width: 600px;
    margin: 0 auto;
}
	
#flow_area .inner h2 {
	color: #000000;
	text-align: center;
	font-weight: bold;
	letter-spacing: 0.1em;
	border-radius: 5px;
}

#flow_area .inner h2 {
	font-size: 25px;
}

.flow_content_list {
	display: flex;
    flex-direction: column;
	margin: 50px 0px 0px;
}

.flow_content_item {
	display: flex;
    justify-content: flex-start;
    color: #000000;
}

.flow_content_item img {
	width: 100px;
	object-fit: contain;
}

.flow_content_item div p:nth-of-type(1) {
	font-size: 20px;
	font-weight: bold;
}
.flow_content_item div p:nth-of-type(2) {
	font-size: 18px;
}

.flow_content_item div {
	padding-left: 40px;
	position: relative;
	display: flex;
    flex-direction: column;
	width: 500px;
}

.flow_form-link {
    position: relative;
    width: 290px;
    margin: 5px 0;
    background-color: #FFD750;
    border-radius: 10px;
	cursor: pointer;
    transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
	border-bottom: 5px solid #e3bf46;
}
.flow_form-link p:nth-of-type(1) {
    width: 200px;
    margin: 5px auto;
    padding: 0px;
    text-align: center;
    color: #000;
    font-size: 12px;
    font-weight: bold;
    background-color: #fff;
    border-radius: 30px 30px 30px 30px;
}
.flow_form-link .num {
    margin: 10px 0 10px;
    line-height: 1.2;
    color: #000;
    font-size: 16px;
    font-weight: bold;
	text-align: left;
	padding: 0px 20px;
	width: 100%;
	box-sizing: border-box;
}

.webp .flow_form-link::after {
    background-image: url("../img/form-link-icon-1.webp");
}
.no-webp .flow_form-link::after {
    background-image: url("../img/form-link-icon-1.png");
}
.flow_form-link::after {
    content: "";
    display: inline-block;
    width: 26px;
    height: 23px;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
	background-size: contain;
	vertical-align: middle;
	background-position: center;
    background-repeat: no-repeat;
}

.flow_form-link:hover {
	margin-top: 8px;
  	border-bottom: 2px solid #e3bf46;
	background: #f7d14f;
}

.flow_arrow {
	width: 30px;
    margin: 10px auto;
}
.sp_flow_entry {
	display: none;
}

@media only screen and (max-width: 769px){
	#flow_area {
		padding: 40px 0px 40px;
	}
	#flow_area .inner h2 {
		font-size: 20px;
	}
	.flow_title_area {
		width: 100%;
		padding: 0px;
	}
	.flow_content_area {
		width: 500px;
	}
	.sp_flow_entry {
		display: flex;
		justify-content: center;
	}
	.flow_content_item div p:nth-of-type(2) {
		display: none;
	}
	.flow_form-link {
		display: none;
	}
	.flow_content_item img {
		width: 50px;
	}
	.flow_content_item {
		display: flex;
		justify-content: center;
		color: #000000;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: center;
	}
	.flow_content_item div {
    	padding-left: 20px;
		width: 150px;
	}
}
@media only screen and (max-width: 700px){
	#flow_area .inner h2 .fts_45 {
		font-size: 25px;
	}
}
@media only screen and (max-width: 550px){ 

}
@media only screen and (max-width: 499px){ 
	.flow_content_area {
		width: 310px;
	}
	.flow_content_item div {
    	padding-left: 20px;
		width: 150px;
	}
	.flow_form-link {
		width: 100%;
	}
}
@media only screen and (max-width: 400px){ 
	.sp_flow_entry .form-link::after {
		right: 25px;
	}
}
/*-▲flow(納品までの流れ)▲-*/

/*-▼faq(よくある質問)▼-*/
#faq_area {
	padding: 80px 0px;
	/* background: #DCEFE3; */
	background: #f0f0f0;
	position: relative;
}

.faq_title_area {
	width: 600px;
	margin: 0 auto;
	padding: 5px 10px 10px 20px;
    border-radius: 5px;
}

.faq_title_area p {
	font-size: 20px;
	color: #000000;
	text-align: center;
	margin: 10px 0px 0px;
}

.faq_content_area {
	margin: 30px 0px;	
}

#faq_area .inner h2 {
	color: #000000;
	text-align: center;
	font-weight: bold;
	letter-spacing: 0.1em;
	border-radius: 5px;
	font-size: 25px;
}

#faq_area .inner p {
	border-radius: 5px;
}

.faq_content_list {
	display: flex;
    justify-content: center;
    margin: 0px;
    margin-bottom: 0px;
}

.faq_content_item {
	width: 300px;
    background: #ffffff;
    border-radius: 10px;
    padding: 10px;
	margin-right: 30px;
}

.faq_content_list .faq_content_item:last-of-type {
    margin-right: 0px;
}

.faq_content_item p:nth-of-type(1) {
	/* color: #149243; */
	color: #e63200;
	font-size: 30px;
	font-weight: bold;
	text-align: center;
	margin: 10px 0px 0px;
	letter-spacing: 0.1em;
}

.faq_content_item p:nth-of-type(2) {
	/* color: #149243; */
	color: #e63200;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	margin: 10px 0px 0px;
}

.faq_content_item p:nth-of-type(3) {
	color: #000000;
	line-height: 1.3;
	margin: 10px 10px 10px;
	text-align: justify;
	letter-spacing: 0.1em;
	padding: 0px 20px;
	font-size: 18px;
}

.faq_content_area .faq_content_list:nth-of-type(2) {
	margin-top: 20px;
    justify-content: center;
}

.faq_content_item_sp {
	display: none;
}

@media only screen and (max-width: 769px){
	#faq_area {
		padding: 40px 0px 10px;
	}
	#faq_area .inner h2 {
		font-size: 20px;
		letter-spacing: 0.0em;
	}
	.faq_title_area {
		width: 100%;
		padding: 0px;
	}
	.faq_title_area p {
		font-size: 18px;
	}
	.faq_content_list {
		flex-direction: column;
	}
	.faq_content_item {
		width: 300px;
		margin: 10px auto;
		background: unset;
		padding: 0px;
	}
	.faq_content_item_sp {
		display: block;
	}
	.faq_content_item_sp .Label {
		color: #ffffff;
		background: #e63200;
		font-size: 16px;
		padding-right: 28px;
		padding-left: 55px;
	}
	
	.faq_content_item_sp .Label span {
		font-size: 18px;
    	margin-right: 10px;
		margin-left: -40px;
	}	
	.faq_content_item_sp .content {
		margin: 0px;
    	padding: 0px;
	}
	.faq_content_item_sp .toggle:checked + .Label + .content {
		background: #ffffff;
	}
	.faq_content_item_sp .toggle:checked + .Label + .content p {
		font-size: 16px;
		letter-spacing: 0.0em;
		line-height: 1.2;
		text-align: justify;
	}
	.faq_content_list .faq_content_item:last-of-type {
		margin: 10px auto;
	}
	.faq_content_area .faq_content_list:nth-of-type(2) {
		margin-top: 0px;
	}
}
@media only screen and (max-width: 700px){

}
@media only screen and (max-width: 550px){ 
	.faq_title_area p {
		font-size: 16px;
	}
}
/*-▲faq(よくある質問)▲-*/


/*-▼entry(問い合わせフォーム)▼-*/
#entry_area {
	padding: 80px 0px;
	background: #ffffff;
	position: relative;
}

#entry_area .inner {
	padding: 20px;
	/* background: #149243; */
	background: #e63200;
	border-radius: 20px;
}

.entry_over_area {
	background: #ffffff;
    border-radius: 10px;
	padding: 20px;
}

.entry_title_area {
	width: 600px;
	margin: 0 auto;
	padding: 5px 10px 10px 20px;
    border-radius: 5px;
	text-align: center;
	letter-spacing: 0.2em;
}

.entry_title {
	/* color: #149243; */
	color: #e63200;
	font-size: 22px;
	margin-bottom: 10px;
}

.entry_title_area p {
	color: #000000;
    font-size: 25px;
    line-height: 1.2;
    font-weight: bold;
}

.entry_sub_text_area {
	color: #000000;
	display: block;
	text-align: center;
	font-size: 16px;
	margin: 20px 0px 10px;
	letter-spacing: 0.1em;
	line-height: 1;
}

.entry_title:before,
.entry_title:after {
	position: relative;
    display: inline-block;
    content: "";
    /* background: #149243; */
    background: #e63200;
    width: 2px;
    height: 1.5em;
    margin: 0 1em;
    margin-top: -0.2em;
    vertical-align: middle;
}
 
.entry_title:before {
	transform: rotate(-35deg);
}
 
.entry_title:after {
	transform: rotate(35deg);
}

.entry_cta_area {
	display: flex;
	justify-content: center;
}

.entry_cta_area .tel-btn {
	width: 450px;
}

.entry_cta_area .tel-btn::after {
	left: 110px;
}


@media only screen and (max-width: 769px){
	.entry_title_area {
		width: 100%;
		margin: 0 auto 10px;
		padding: 0px;
	}
	#entry_area .inner {
		padding: 10px;
		border-radius: 10px;
		margin: 5px;
	}
	#entry_area {
    	padding: 30px 0px;
	}
	.entry_over_area {
		border-radius: 5px;
	}
}
@media only screen and (max-width: 700px){
	.entry_title {
		font-size: 18px;
		letter-spacing: 0.0em;
	}
	.entry_title_area p {
		font-size: 20px;
	}
	.entry_cta_area .tel-btn {
		width: 310px;
		margin: 0 auto;
	}
	.entry_cta_area .tel-btn::after {
		left: 50px;
	}
	
}
@media only screen and (max-width: 550px){ 

}
@media only screen and (max-width: 470px){ 
	.entry_title {
		font-size: 16px;
	}
	.entry_title_area p {
		font-size: 18px;
	}
	.entry_title_area {
		letter-spacing: 0.0em;
	}
	.entry_over_area {
		border-radius: 5px;
	}
	.entry_sub_text_area {
		font-size: 14px;
	}
}
@media only screen and (max-width: 365px){ 
	.entry_cta_area .tel-btn {
		width: 290px;
	}
	.entry_cta_area .tel-btn p:nth-of-type(1) {
    	width: 290px;
	}
	.entry_cta_area .tel-btn::after {
    	left: 40px;
	}
}
@media only screen and (max-width: 330px){ 
	.entry_title {
		font-size: 14px;
	}
	.entry_title_area p {
		font-size: 16px;
	}
	.entry_over_area {
		padding: 5px;
	}
}
@media only screen and (max-width: 325px){ 
	.entry_cta_area .tel-btn p:nth-of-type(1) {
    	width: 280px;
	}
	.entry_cta_area .tel-btn::after {
		left: 35px;
	}
}

/*** entry ***/
#entry{
    padding-top: 70px;
    padding-bottom: 70px;
    /* background-color: #DCEFE3; */
    background-color: #fff;
    color: #FFFFFF;
}

#entry .inner {
	padding: 20px;
	/* background: #149243; */
	background: #e63200;
	border-radius: 20px;
}


@media (max-width: 768px) {
    #entry{
        padding-top: 35px;
        padding-bottom: 70px;
    }
}

.form_wrap {
    width: 600px;
	margin: 30px auto;
    background-color: #FFFFFF;
    color: #000000;
    border-top: 1px solid #eeeeef;
}
.form_table{
    width: 100%;
}
.form_table th{
    width: 240px;
    padding: 15px 0px;
    font-size: 1rem;
    font-weight: bold;
    text-align: left;
    vertical-align: top;
}
.form_table td{
    padding: 10px 0px;
    font-size: 0.88rem;
    vertical-align: top;
}
.form_table td label {
	white-space: nowrap;
}
.mwform-checkbox-field input, .mwform-radio-field input {
	margin-right: 0px !important;
}
.mw_wp_form .horizontal-item + .horizontal-item {
	margin-left: 0px !important;
}
.must{
    color: #ff0000;
}
input[type="text"],
input[type="email"],
input[type="tel"],
textarea{
    width: 100%;
    background-color: #eeeeee;
    border: 0px solid #999999;
    font-size: 1rem;
    line-height: 1.5;
    padding: 10px;
	box-sizing: border-box;
	font-family: Yu Gothic, Hiragino Sans, Hiragino Kaku Gothic ProN, Meiryo, BIZ UDGothic, Helvetica Neue, arial, sans-serif;
	resize: vertical;
}
select{
    height: auto;
    background-color: #eeeeee;
    border: 1px solid #999999;
    font-size: 1rem;
    line-height: 1.5;
    padding: 10px;
}
.form_table .text{
    margin-bottom: 10px;
}
.form_fileWrapper{
    margin-bottom: 10px;
}
.form_fileWrapper label{
    position: relative;
    display: inline-block;
}
.form_fileWrapper label:before{
    content: "ファイルを選択";
    display: block;
    background-color: #FFFFFF;
    border: 1px solid #999999;
    border-radius: 5px;
    font-size: 1.13rem;
    line-height: 1.5;
    text-align: center;
    padding: 10px;
    max-width: 100%;
    width: 270px;
    transition: 0.3s background ease;
}
.form_fileWrapper label:hover:before{
    cursor: pointer;
    background-color: #eeeeee;
}
.form_fileWrapper input[type="file"]{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;    
    cursor:pointer;
    opacity:0;
}
.mw_wp_form_confirm .form_fileWrapper label:before{
    display: none;
}
.mwform-file-delete {
	cursor: pointer;
	visibility: hidden;
}
.mw_wp_form .error {
    font-size: 93%;
    color: #B70000;
    display: block;
    margin-top: 5px;
}

.form-policy {
    box-sizing: border-box;
    height: 300px;
    margin: 0 0 20px 0;
    padding: 10px;
    overflow-y: scroll;
    border: 1px solid #bcc1be;
}
.form_checkboxWrapper{
    font-size: 1.13rem;
}
/*.form_checkboxWrapper label:before{
    display: inline-block;
    content: "";
    width: 30px;
    height: 30px;
    border: 1px solid #999999;
    margin-right: 5px;
}*/
input[type="checkbox"]{
    margin-right: 5px;
}
.form_wrap .btn_wrap{
    text-align: center;
    margin-top: 50px;
}
.form_wrap .form_sub_text {
	text-align: center;
    font-size: 16px;
    font-weight: bold;
    padding: 30px 0px 0px;
	line-height: 1.2;
	/* color: #149243; */
	color: #e63200;
}
.form-btnWrapper {
    display: inline-block;
    position: relative;
    margin: 10px;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    max-width: 100%;
}
.form-btn_send{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    max-width: 100%;
    width: 300px;
    height: 50px;
    background-color: #000000;
    border-radius: 10px;
    font-size: 20px;
    font-weight: bold;
    color: #FFFFFF;
    transition: 0.3s opacity ease;
	font-family: Yu Gothic, Hiragino Sans, Hiragino Kaku Gothic ProN, Meiryo, BIZ UDGothic, Helvetica Neue, arial, sans-serif;
	cursor: pointer;
}
.form-btn_cancel{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    max-width: 100%;
    width: 300px;
    height: 50px;
    background-color: #ffffff;
    border: 1px solid #000000;
    border-radius: 10px;
    font-size: 20px;
    font-weight: bold;
    color: #000000;
    transition: 0.3s opacity ease;
	font-family: Yu Gothic, Hiragino Sans, Hiragino Kaku Gothic ProN, Meiryo, BIZ UDGothic, Helvetica Neue, arial, sans-serif;
	cursor: pointer;
}
.form-btn_send:hover,
.form-btn_cancel:hover{
    opacity: 0.8;
}
.form_table td a {
    color: #00a86f;
    text-decoration: underline;
}
::placeholder{
    font-size: 80%;
}

.form_table .zip_box{
    margin-bottom: 15px;
}
.form_table td.address span{
    display: block;
}
.form_table .zip_box input[type="text"]{
    width: 140px;
    margin-right: 10px;
}
.form_table li{
    margin-bottom: 15px;
}
.subtitle_en {
    text-align: center;
    color: #000000;
    line-height: 1;
    font-size: 20px;
	font-weight: bold;
	padding-bottom: 10px;
}
.subtitle_ja {
	text-align: center;
	color: #000000;
	line-height: 1;
}

@media (max-width: 769px) {
    .form_wrap{
        width: 100%;
    	padding: 0px;
    }
    .form_table,
    .form_table tbody,
    .form_table tr,
    .form_table th,
    .form_table td{
        display: block;
        width: 100%;
    }
    .form_table th{
        padding: 0px;
        margin-bottom: 10px;
    }
    .form_table td{
        padding: 0px;
        margin-bottom: 20px;
    }
    .form_fileWrapper{
        text-align: center;
    }
    .form_fileWrapper label{
        text-align: left;
    }
    .mw_wp_form_confirm .form_fileWrapper{
        text-align: left;
    }
    .form-policy{
        height: 200px;
    }
    .form_wrap .btn_wrap{
        margin-top: 25px;
    }
    .form-btnWrapper{
        display: block;
    }
    .form-btn_send,
    .form-btn_cancel{
        height: 60px;
        border-radius: 8px;
        font-size: 1.25rem;
    }
	.form_checkboxWrapper{
		font-size: 1.13rem;
		text-align: center;
	}

}
/*** thanks ***/
.thanks_box .title{
    font-size: 3rem;
    font-weight: bold;
    color: #00a446;
    text-align: center;
    margin-bottom: 40px;
}
.thanks_box > p{
    font-size: 1.25rem;
    margin-bottom: 40px;
}
.thanks_box .tel_box{
    margin-bottom: 40px;
}
.thanks_box .tel_box p{
    font-size: 1.5rem;
    font-weight: bold;
}

@media (max-width: 768px) {
    .thanks_box .title{
        font-size: 1.5rem;
        margin-bottom: 20px;
    }
    .thanks_box > p{
        font-size: 0.88rem;
        margin-bottom: 20px;
    }
    .thanks_box .tel_box{
        margin-bottom: 20px;
    }
    .thanks_box .tel_box p{
        font-size: 1.13rem;
    }
}

/*-▲entry(問い合わせフォーム)▲-*/





/*-▼footer(フッター)▼-*/
footer {
	/* background: #149243; */
	background: #e63200;
	padding: 30px 0;
}

.footer_list {
	display: flex;
    justify-content: space-between;
	padding-top: 20px;

}

.footer_item {
	line-height: 1.2;
}

.copyright {
	text-align: center;
	font-size: 10px;
	/* margin-top: 10px; */
}

@media only screen and (max-width: 769px){
	.footer_list {
    	flex-direction: column;
	}
	.footer_item {
    	font-size: 16px;
    	text-align: center;
		padding-bottom: 20px;
	}
}
@media only screen and (max-width: 700px){
	
}
@media only screen and (max-width: 550px){ 
	footer {
		padding-bottom: 60px;
	}
	.footer_item {
    	font-size: 12px;
	}
}

/*-▲footer(フッター)▲-*/

/*-▼wrapper(追従)▼-*/
/*コンテンツ部分*/
.box{
	background:#ddd;
	width:100%;
	height:800px;
}
/*wrapper追従ボタン*/
.fix-btn{
	position: fixed;
    z-index: 1;
    background: #FFD750;
    width: 40px;
    border-radius: 15px 0px 0px 15px;
    text-decoration: none;
    font-size: 14px;
	font-weight: bold;
    text-align: center;
    color: #000000;
    padding: 20px 5px 40px 0px;
    right: 0px;
    top: 20%;
    writing-mode: vertical-rl;
	transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
	border-right: 5px solid #e3bf46;
}
.fix-btn:hover {
	background: #f7d14f;
	transform: translateX(2px);
	color: #000000;
}
.webp .fix-btn::after {
    background-image: url(../img/form-link-icon-1.webp);
}
.no-webp .fix-btn::after {
    background-image: url(../img/form-link-icon-1.png);
}
.fix-btn::after {
    content: "";
    display: inline-block;
    width: 23px;
    height: 23px;
    position: absolute;
    right: 7px;
    bottom: 0px;
    transform: translateY(-50%);
    background-size: contain;
    vertical-align: middle;
    background-position: center;
    background-repeat: no-repeat;
}
@media only screen and (max-width: 769px){
	.fix-btn{
		bottom: 10%;
		background: rgba(255,215,82,0.9);
	}
	.wrapper {
		display: none;
	}
}
/*-▲wrapper(追従)▲-*/

/*-▼スマホスクロール用ヘッダー(追従)▼-*/
#fixed-header {
	display: none;
}
@media only screen and (max-width: 550px){
	#fixed-header {
		display: block;
		position: fixed;
		bottom: -60px;  
		width: 100%;
		height: 60px;
		line-height: 60px;
		font-size: 2em;
		text-align: center;
		color: #fff;
		box-sizing: border-box;
		transition: .5s; /* アニメーションタイミング */
		z-index: 999;
		left: 0px;
		/* background: #149243; */
		background: #e63200;
	}
	#fixed-header.is-show {
		bottom: 0px;
	}
	.flex-btn-list {
		display: flex;
    	justify-content: center;
		font-size: 14px;
    	font-weight: bold;
	}
	.flex-tel-btn {
	}
	.flex-tel-btn .num {
		background-color: rgba(255,255,255);
		border-radius: 5px;
		color: #e63200;
		display: inline-block;
		padding: 15px 10px 15px 37px;;
    	line-height: 1;
		position: relative;
		height: 14px;
		border-bottom: 3px solid #e3e3e3;
	}
	.flex-tel-btn .num::after {
		content: "";
		display: inline-block;
		width: 26px;
		height: 23px;
		position: absolute;
		left: 7px;
		top: 50%;
		transform: translateY(-50%);
		background-size: contain;
		vertical-align: middle;
		background-position: center;
		background-repeat: no-repeat;
	}
	.webp .flex-tel-btn .num::after {
		background-image: url(../img/tel-btn-icon-1.png);
	}
	.no-webp .flex-tel-btn .num::after {
		background-image: url(../img/tel-btn-icon-1.png);
	}
	.flex-form-link {
	}
	.flex-form-link .num {
		background-color: rgba(255,215,82);
		border-radius: 5px;
		color: #000000;
		display: inline-block;
		padding: 15px 10px 15px 37px;;
    	line-height: 1;
		position: relative;
		height: 14px;
		border-bottom: 3px solid #e3bf46;
	}
	.flex-form-link .num::after {
		content: "";
		display: inline-block;
		width: 26px;
		height: 23px;
		position: absolute;
		left: 7px;
		top: 50%;
		transform: translateY(-50%);
		background-size: contain;
		vertical-align: middle;
		background-position: center;
		background-repeat: no-repeat;
	}
	.webp .flex-form-link .num::after {
		background-image: url("../img/mail-btn-icon-3.webp");
	}
	.no-webp .flex-form-link .num::after {
		background-image: url("../img/mail-btn-icon-3.png");
	}
	.flex-top-link .num {
		/* background-color: #ffffff; */
		color: #000000;
		display: inline-block;
		/* padding: 15px 20px 15px 40px; */
		line-height: 1;
		position: relative;
		height: 37px;
		width: 37px;
		top: 9px;
		border-radius: 5px;
	}
	.flex-top-link .num::after {
		content: "";
		width: 12px;
		height: 12px;
		border-top: 4px solid #fff;
		border-right: 4px solid #fff;
		-webkit-transform: rotate(45deg);
		position: absolute;
		top: 14px;
		right: 5px;
		transform: rotate(315deg);
		position: absolute;
	}

	.flex-btn-list > div {
		margin-right: 5px;
	}
	.flex-btn-list > div:last-of-type {
		margin-right: 0px;
	}
	
}
/*-▲スクロール用ヘッダー(追従)▲-*/

/*-▼PCトップ戻るボタン(追従)▼-*/
.scroll-top {
    position: fixed;
    right: 50px;
    bottom: 50px;
    z-index: 900;
    width: 30px;
    transition: .2s ease;
	background-color: #ffffff;
    padding: 10px;
    border-radius: 50%;
	transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
}
.scroll-top:hover {
	transform: translateY(-2px);
}
@media only screen and (max-width: 550px) {
	.scroll-top {
		display: none;
	}
}
/*-▲PCトップ戻るボタン(追従)▲-*/

.hs_submit.hs-submit .actions input {
	background-color: #e63200 !important;
	border-color: #e63200 !important;
}