@charset "utf-8";

/*------------------------------------------------
	共通
------------------------------------------------*/

::-webkit-input-placeholder {
    color:    #CCC;
}
:-moz-placeholder {
    color:    #CCC;
}

.page_top
{
	position		: fixed;
	right			: 20px;
	bottom			: 10px;
}
.page_top img
{
	border-radius 	: 10px;
}


.ac_point
{
	padding-top 	: 149px;
	margin-top 		: -149px;
}

.en
{
  font-family: "Jost";
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}

.ber_list
{
	background 			: #EEE; 
}
.ber_list ul,
.ber_list ul li
{
	margin 				: 0px;
	padding 			: 0px;
	list-style 			: none;
}
.ber_list ul
{
	max-width 			: 1200px;
	margin 				: 0 auto;
	padding 			: 2.5rem 0; 
	width 				: 90%;
	display 			: flex;
	flex-flow 			: row wrap;
	gap 				: .5rem;
}
.ber_list ul li i
{
	margin-right 		: .5rem; 
}
.ber_list ul li:before
{
    content: ">";
	margin:0 .3em;
}
.ber_list ul li:first-child:before
{
	display:none;
}


/*▼form--------------------------------------------------------------*/
/*form:inputとtextareaは#contact_form経由で使う*/


button
{
        background-color: transparent;
        border: none;
        cursor: pointer;
        outline: none;
        padding: 0;
        appearance: none;
}

#contact_form input.input_area,
#contact_form textarea.input_area,
#contact_form select{
    font-size:14px;
	font			: 1.6rem/1.8 'Noto Sans JP', Meiryo, 'メイリオ', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'ＭＳ Ｐゴシック', 'Lucida Grande', 'Lucida Sans Unicode', sans-serif;
    border: 1px solid #CCC;
    border-radius:3px;
	padding 		: 1.5rem 2rem;
	background 			: #f7f7f7;
}

#contact_form input[type="radio"],
#contact_form input[type="checkbox"]
{
	transform:scale(1.5);
}

.req,
.any
{
	display 		: block;
	position 		: relative;
	padding-right 	: 70px;
}
.req:before,
.any:before
{
	display 		: block;
	width 			:60px;
	padding 		: 6px 0px; 
	color 			: #FFF;
	position 		: absolute;
	right 			: 0px;
	top 			: 0px;
	text-align 		: center;
	line-height 	: 1.0; 
	border-radius: 3px;
	font-weight: normal;
}
.req:before
{
	content 		: "必須";
	background 		: #ff7d00;
	font-size 		: 14px; 

}
.any:before
{
	content 		: "任意";
	background 		: #CCC;
	font-size 		: 14px; 

}

.form_company_name
{
	width 			: 25em; 
}


.form_name
{
	width			: 15em;
}
.form_tel,
.form_fax
{
	width			: 20em;
}
.form_mail
{
	width			: 100%;
}
.form_add
{
	width			: 100%;
}
.form_team
{
	width			: 20em;
}
.form_other
{
	width			: 100%;
	height			: 15em;
}
.form_name_s
{
	width			: 10em;
}
.form_tel_s
{
	width			: 15em;
}
.form_mail_s
{
	width			: 16em;
}
.form_add_s
{
	width			: 16em;
}
.form_zip
{
	width			: 10em;
}
.submit_btn
{
	display 		: block;
	border-radius 	: 10px;
    background: rgb(255,125,0);
    background: linear-gradient(159deg, rgba(255, 125, 0, 1) 0%, rgba(255, 162, 0, 1) 100%);
	padding 		: 2rem 2rem; 
	color 			: #FFF;
	font-size 		: 2.2rem;
	font-weight 	: bold; 
	text-decoration: none;
	margin 			: 0 auto;
	max-width 		: 500px;
	width 			: 80%;
	position 		: relative;
	transition: all 0.5s ease;
}
.submit_btn:hover
{
	opacity 		: .8; 
}
.submit_btn:before
{
 font-family 		: "Font Awesome 6 Free";
  font-weight 		: 900; /* Solid用 */
  content 			: '\f138';
  font-size 		: 2.5rem;
  line-height 		: 1.0;
  height 			: 1em; 
  margin-right 		: 4px;
  color 			: #FFF;
  position 			: absolute;
  right 				: 2.5rem;
  top 					: 0px;
  bottom 				: 0px;
  margin 				: auto 0;
  color 				: #FFFFFF; 
}
/*▼table--------------------------------------------------------------*/
.layout_table
{
	width			: 100%;
	border-collapse	: collapse;
	padding			: 0px;
	margin			: 0px;
}
.layout_table td,
.layout_table th
{
		padding:0;
}
.data_box table
{

	text-align      : left;
	width           : 100%;
	margin-left     : auto;
	margin-right    : auto;
}
.data_box th
{
	border-bottom	: 1px solid #EEE;
	padding			: 1.5rem 2rem;
	background		: #f7f7f7;
	font-weight     : normal;
}
.data_box td
{
	border-bottom	: 1px solid #EEE;
	border-right	: 1px solid #EEE;
	padding			: 1.5rem 2rem;
	background		: #fff;
}






/*------------------------------------------------
	トップページ:#main_contents
------------------------------------------------*/


/*-------------------------------------------------
	賃貸での悩み:#problem_section
-------------------------------------------------*/



#problem_section .section_title
{
	font-size 		:clamp(2.4rem, 4.5vw, 4.8rem);
	position 		: relative;
	padding 		: 9rem 0;
	margin 			: 0px;
	line-height 	: 1.3; 
}
#problem_section .section_title span
{
	display: block;
	position: relative;
	z-index 		: 10; 
}
#problem_section .section_title em
{
	font-weight 	: 900; 
}
#problem_section .section_title:before
{
	content: "Q";
	font-weight: 600;
  font-family: "Jost", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-size 		:clamp(10rem, 50vw, 41rem);
  color 			: #EEE;
  line-height 		: 1.0;
  position 			: absolute;
  inset 			: 0px;
  margin 			: auto;
  height 			: 1em;
  z-index: -1;
}
#problem_section .problem_img .pbl_voice,
#problem_section .problem_img .pbl_voice li
{
	margin 			: 0px;
	padding 		: 0px;
	list-style 		: none;
}
#problem_section .problem_img
{
	position: relative;
	padding-top: 10.8%;
}
#problem_section .problem_img .pbl_voice li
{
	position 		: absolute;
	z-index: 1;
}
#problem_section .problem_img .pbl_voice li:nth-child(1)
{
	width   		: 33%;
	left 			: 0px;
	top 			: 0px; 
}
#problem_section .problem_img .pbl_voice li:nth-child(2)
{
	width 			: 33%;
	left 			: 33.5%;
	top 			: 0px; 
}
#problem_section .problem_img .pbl_voice li:nth-child(3)
{
	width 			: 43%;
	right 			: 0px;
	top 			: 0px; 
}
#problem_section .problem_img .pbl_voice .map
{
	width 				: 100%;
}
#problem_section .problem_img .pbl_voice li .sp_img
{
	display 			: none;
}


#problem_section .problem_img .map
{
	transform: translateY(100%);
	opacity 		: 0;
	transition: all 1s ease-out;
	z-index: 1;
}

#problem_section .problem_img.active .map
{
	transform: translateY(0);
	opacity 		: 1;
}


#problem_section .problem_img .pbl_voice li
{
opacity: 0;
}

#problem_section .problem_img.active .pbl_voice li
{
animation: fade-in-anim 0.5s ease-out 0.3s 1 forwards;
}
#problem_section .problem_img.active .pbl_voice li:nth-child(1)
{
	animation-delay: 0.8s;
}
#problem_section .problem_img.active .pbl_voice li:nth-child(2)
{
	animation-delay: 1.2s;
}
#problem_section .problem_img.active .pbl_voice li:nth-child(3)
{
	animation-delay: 1.6s;
}


/*-------------------------------------------------
	そんなお悩みを解決します！:#problem_solving
-------------------------------------------------*/

#problem_solving
{

    perspective: 1000px;
	  border-top-left-radius: 3000px 1000px;
  border-top-right-radius: 3000px 1000px;
  margin-left: -100px;
  margin-right: -100px;
  padding-left: 100px;
  padding-right: 100px;
  margin-top 		: -200px;
  z-index: 2;
  background: #EEE;
/* transform: translateY(10%);*/
}
#problem_solving.active
{
 /*animation 	: waku-anmi02 3s ease-out 0.1s 1 forwards;*/
}
@keyframes waku-anmi02 {

	100% {

   transform: translateY(0%);
	}
}
#solution_section .section_inner
{
  position: relative;
  padding-top 		: 70px;
  z-index 			: 50; 
}
#solution_section .arrow
{
	position 		: absolute;
	left 			: 0px;
	right 			: 0px;
	margin 			: 0 auto;
	top 			: -50px;
	opacity 		: 0; 
}

#solution_section.active .arrow
{
	transform: translateY(-100%);
  	animation 	: fade-in-mov-anim 0.5s ease-out 0.3s 1 forwards;
}
#solution_section .section_title
{
	margin 				: 0px;
	padding 			: 0px; 
    font-size: clamp(2.6rem, 5vw, 5.8rem);
	line-height 		: 1.3;
	font-weight 		: 900;
	margin-bottom 		: 4rem;
}
#solution_section .section_title em
{
	color 				: #ffa200;
}
#solution_section .forte_point
{
	display 			: flex;
	justify-content 	: space-between;
	gap 				: 3rem;
}
#solution_section .forte_point .point_item
{
	border-radius 		: 10px;
	border-top 			: 10px solid #333333;
	background 			: rgb(255, 125, 0);
    background          : linear-gradient(90deg, rgba(255, 125, 0, 1) 0%, rgba(255, 162, 0, 1) 100%);
	background-clip: padding-box;
	padding 			: 2.5rem;
	transform 			: translateY(50%);
	opacity: 0;
	
}
#solution_section.active .forte_point .point_item
{
    animation 	: fade-in-mov-anim 0.8s ease-out 0.8s 1 forwards;
}
#solution_section.active .forte_point .point_item:nth-child(1)
{
	animation-delay: 1.0s
}
#solution_section.active .forte_point .point_item:nth-child(2)
{
	animation-delay: 1.3s
}
#solution_section.active .forte_point .point_item:nth-child(3)
{
	animation-delay: 1.6s
}


.point_item .point_item_title
{
	color 				: #FFF;
	font-weight 		: 900;
	line-height 		: 1.3;
	
}
.point_item .point_item_title .sub_tex
{
	display: block;
    font-size: clamp(2rem, 2.5vw, 3rem);
}
.point_item .point_item_title .main_tex
{
	display: block;
    font-size: clamp(3.2rem, 3vw, 4.8rem);
}
.point_item .point_item_img
{
	background 			: #FFF;
	text-align: center;
	padding 			: 1.5rem 0;
	margin-bottom 		: 1.5rem; 
}
.point_item .point_item_img img
{
	max-width 				: 60%;
}
.point_item .point_item_inner
{
    font-size: clamp(2rem, 2vw, 2.4rem);
	font-weight: 800;
	line-height: 1.3;
	color: #333333; 
}

/*-------------------------------------------------
	改善できる理由:#reason_section
-------------------------------------------------*/

#reason_section
{
	position 			: relative;
	background: url("../images/common/base/reason_bg.jpg") top center/cover no-repeat;
	background-attachment: fixed;
	background-color 	: #d4d5d5;
	margin-top 			: -150px;
	padding-top 		: 200px;
	padding-bottom 		: 80px; 
	z-index 			: 1;
}
#reason_section:before
{
	content 			: "";
	width 				: 100%;
	height 				: 100%;
	display 			: block;
	position 			: absolute;
	left 				: 0px;
	top 				: 0px;
	background 		: rgba(0,0,0,0.6) url("../images/common/base/des_bg.gif") 0 0 repeat;
	opacity 		: .3; 
}

#reason_section .section_inner
{
	position: relative;
	z-index: 100;
}

#reason_section .section_title .jp
{
	display 			: block;
 	font-size 			: clamp(2.6rem, 5vw, 5.8rem);
	color 				: #FFF; 
	line-height 		: 1.0;
	margin-bottom 		: 4rem;
	opacity: 0;
	transform 			: translateY(50%);
}
#reason_section.active .section_title .jp
{
    animation 	: fade-in-mov-anim 0.8s ease-out 0.8s 1 forwards;
}

#reason_section .section_title .en
{
	display 			: block;
 	font-size 			: clamp(6rem, 15vw, 15rem);
	line-height 		: 1.0;
	color 				: #ffa200;
	opacity: 0;
	transform 			: translateY(50%);
}
#reason_section.active .section_title .en
{
    animation 	: fade-in-mov-anim 0.8s ease-out 1s 1 forwards;
}


#reason_section .reason_list,
#reason_section .reason_list li
{
	margin 				: 0px;
	padding 			: 0px;
	list-style 			: none;
}
#reason_section .reason_list
{
	display 			: flex;
	gap 				: 2rem;
	justify-content 	: space-between;
	margin-bottom 		: 80px;
	margin-top 			: -30px; 
}
#reason_section .reason_list li
{
	position 			: relative;
	flex 				: 1 1 30%;
	opacity 			: 0; 
}
#reason_section .reason_list li .waku
{
	position 			: absolute;
	left 				: 0px;
	right 				: 0px;
	bottom 				: 0px;
	top 				: 0px;
	margin 				: auto; 
	width 				: 100%; 
}
#reason_section .reason_list li .inner
{
	position: relative;
	z-index: 2;
	line-height 			: 1.0; 
}
#reason_section .reason_list li .inner span,
#reason_section .reason_list li .inner em
{
	display: block;
}
#reason_section .reason_list li .inner span.en
{
 	font-size 			: clamp(5rem, 6vw, 10rem);
	color 				: #ffa200;
	line-height 		: 1.0;
}

#reason_section .reason_list li .inner span.main_tex
{
    font-size: clamp(2rem, 3vw, 4rem);
	line-height 		: 1.2;
	font-weight: 900;
	margin-bottom 		: .5rem; 
}
#reason_section .reason_list li .inner span.main_tex em
{
	color: #ffa200;
}
#reason_section .reason_list li .inner span.sub_tex
{
    font-size: clamp(1.2rem, 3vw, 1.8rem);
	font-weight: bold;
	margin-top: .5rem;
}

#reason_section.active .reason_list li
{
 	animation: zoom-in-anim02 0.5s ease-out 1.3s 1 forwards;
}

#reason_section.active .reason_list li:nth-child(1)
{
 	animation-delay: 1s;
}
#reason_section.active .reason_list li:nth-child(2)
{
 	animation-delay: 1.3s;
}
#reason_section.active .reason_list li:nth-child(3)
{
 	animation-delay: 1.6s;
}
#reason_section.active .reason_list li:nth-child(4)
{
 	animation-delay: 1.9s;
}
#reason_section .reason_catch
{
	color 				: #FFF;
    font-size 			: clamp(2rem, 5vw, 4.8rem);
	line-height 		: 1.2;
	position 			: relative;
	width 				: fit-content;
	padding 			: 10px 40px;
	margin 				: 0 auto 70px; 
}
#reason_section .reason_catch:before
{
	content 			: "";
	width 			 	: 26px;
	height 				: 100%;
	position 			: absolute;
	left 				: 50%;
	top 				: 0px; 
	background: 
	url("../images/common/base/kk_row_line.gif") left top no-repeat,
	url("../images/common/base/kk_col_line.gif") left top repeat-y,
	url("../images/common/base/kk_row_line.gif") left bottom no-repeat;
	opacity: 0;
}
#reason_section .reason_catch:after
{
	content 			: "";
	width 			 	: 26px;
	height 				: 100%;
	position 			: absolute;
	right 				: 50%;
	top 				: 0px; 
	background: 
	url("../images/common/base/kk_row_line.gif") right top no-repeat,
	url("../images/common/base/kk_col_line.gif") right top repeat-y,
	url("../images/common/base/kk_row_line.gif") right bottom no-repeat;
	opacity: 0;
}
#reason_section .reason_catch span
{
	display: block;
	opacity: 0;
}
#reason_section.active .reason_catch span
{
 	animation: fade-in-anim 0.8s ease-out 2.8s 1 forwards;
}
#reason_section.active .reason_catch:before
{
 	animation: kk-line_left_anim 0.8s ease-out 2.3s 1 forwards;
}
#reason_section.active .reason_catch:after
{
 	animation: kk-line_right_anim 0.8s ease-out 2.3s 1 forwards;
}

@keyframes kk-line_left_anim {
	100% {
	left: 0px;
	opacity: 1;
	}
}
@keyframes kk-line_right_anim {
	100% {
	right: 0px;
	opacity: 1;
	}
}




.cta_box
{
	background 				: #f7f7f7;
	border-radius 			: 10px;
	overflow 			 	: hidden;
	max-width 				: 976px;
	margin 					: 0 auto;
	text-align 				: center;
}
.cta_box .cta_box_title
{
    font-size 			: clamp(1.6rem, 2.5vw, 3rem);
	background 			: #5ea000;
	color 				: #FFF;
	padding 			: 1.5rem;
	font-weight 		: 900;
	position 			: relative;
	margin 				: 0px; 
}
.cta_box .cta_box_title:before
{
	content 			: "";
	width 				: 0px;
	height 				: 0px;
	border-left 		: 20px solid transparent;
 	border-right 		: 20px solid transparent;
	border-top 			: 20px solid #5ea000;
	position 			: absolute;
	left 				: 0px;
	right 				: 0px;
	bottom 				: -19px;
	margin 				: 0 auto;
}

.cta_box .cta_box_inner
{
	padding 			: 4rem 3rem 4rem; 
}

a.cta_btn
{
	border-radius 				: 10px;
	display 					: block;
	color 						: #FFF;
   background 					: rgb(255,125,0);
   background                   : linear-gradient(159deg, rgba(255,125,0,1) 0%, rgba(255,162,0,1) 100%); 
   display 						: flex;
   align-content 				: center;
   gap 							: 2rem; 
   align-items 					: center;
   padding 						: 2rem 4rem 2rem 2rem; 
   max-width 					: 831px;
   margin 						: 0 auto;
   color 						: #FFF;
   text-decoration 				: none;
   justify-content 				: center;
   font-size 					: clamp(2rem, 2.8vw, 3.6rem);
   text-decoration 				: none;
   transition 					: all 0.5s ease;
   position 					: relative;
}

a.cta_btn:hover
{
	opacity 					: .8; 
}
a.cta_btn em
{
	font-weight 				: 900;
}
a.cta_btn:after
{
 font-family: "Font Awesome 6 Free";
  font-weight: 900; /* Solid用 */
  content: '\f138';
  font-size: 3.4rem;
  line-height: 1.0;
  height 			: 1em; 
  margin-right: 4px;
  color: #FFF;
  position: absolute;
  right 				: 2rem;
  top 					: 0px;
  bottom 				: 0px;
  margin 				: auto 0; 
}


/*-------------------------------------------------
	About us:#about_sectionn
-------------------------------------------------*/

#about_section
{
	background: url("../images/common/base/summary_bg.gif") 0 0 repeat;
}
#about_section .section_inner
{
	padding 				: 80px 0px;
	color 					: #FFF;
}
#about_section .about_header
{
	display 				: flex;
	gap 					: 4rem;
	margin-bottom 			: 40px; 
}
#about_section .about_header .about_logo
{
	border-radius 			: 10px;
	padding 				: 3rem;
	background 				: #FFF;
	flex 					: 0 0 41%;
}
#about_section .about_header .about_logo img
{
	width 				: 100%;
}
#about_section .about_header .about_cont
{
 	font-size 			: clamp(1.8rem, 2vw, 2.15rem);
	line-height 		: 1.4;
	text-align 			: left;
}
#about_section .about_header .about_cont .about_title
{
	margin 				: 0px 0px .5rem;
 	font-size 			: clamp(4rem, 6vw, 7.2rem);
	line-height 		: 1.0;
}

.about_nav,
.about_nav li
{
	margin 				: 0px;
	padding 			: 0px;
	list-style 			: none;
}

.about_nav
{
	display 			: flex;
	flex-flow 			: row wrap;
	justify-content: space-between;
}
.about_nav li
{
	flex 				: 0 0 32%; 
}
.about_nav li a
{
	background-color: #FFF;
	background-position: right bottom;
	background-repeat: no-repeat;
	background-size: 75% auto;
	border-radius 	: 10px;
	position 		: relative;
	padding 		: 3.5rem 3rem 13rem;
	display 		: block;
	text-decoration: none;
	text-align: left;
	position: relative;
	transition: all 0.5s ease;
}
.about_nav li a:hover
{
	background-color: #EEE;
}


.about_nav li a:before
{
 font-family: "Font Awesome 6 Free";
  font-weight: 900; /* Solid用 */
  content: '\f138';
  font-size: 4rem;
  line-height: 1.0;
  height 			: 1em; 
  margin-right: 4px;
  color: #FFF;
  position: absolute;
  right 				: 2.5rem;
  top 					: 3rem;
  color 				: #5ea000; 
}



.about_nav li a .inner
{
	display 		: block;
	border-left 	: 5px solid #5ea000;
	padding 		: .5rem 0px .5rem 1.5rem;
	line-height 	: 1.3; 

}
.about_nav li a .inner .jp
{
	color 			: #333;
 	font-size 		: clamp(2.4rem, 2.5vw, 3rem);
	display 		: block;
	font-weight 	: 900;
}
.about_nav li a .inner .en
{
 	font-size 		: clamp(2.4rem, 2.5vw, 3rem);
	color 			: #5ea000;
	font-weight 	: 600;
}
.about_nav li.nav01 a
{
	background-image: url("../images/top/about01.png");
}
.about_nav li.nav02 a
{
	background-image: url("../images/top/about02.png");
}
.about_nav li.nav03 a
{
	background-image: url("../images/top/about03.png");
}

/*-------------------------------------------------
	News:#news_section
-------------------------------------------------*/

#news_section .section_inner
{
	padding 				: 80px 0px;
	display 				: flex;
}
#news_section .section_inner .news_header
{
	text-align 			: left;
}
#news_section .section_inner .news_header span,
#news_section .section_inner .news_header a
{
	display 				: block;
}
#news_section .section_inner .news_header span.en
{
 	font-size 			: clamp(4rem, 6vw, 7.2rem);
	color 				: #5ea000;
	font-weight 		: 600;
	line-height 		: 1.0; 
}
#news_section .section_inner .news_header span.jp
{
 	font-size 			: clamp(1.8rem, 3vw, 2.4rem);
	color 				: #333;
	font-weight 		: 600;
	margin-bottom 		: 2rem; 
}
a.more_link
{
	font-size 			: 1.8rem;
	color 				: #5ea000;
	text-decoration 	: none;
	border-radius 		: 10px;
	background 			: #EEE;
	position 			: relative;
	padding 			: 1.5rem 5rem 1.5rem 3rem;
	font-weight 		: bold;
	text-align: center;
	transition: all 0.5s ease;
}
#news_section a.more_link
{
	white-space: nowrap;
}


a.more_link:hover
{
	background 			: #5ea000;
	color 				: #FFF; 
}

a.more_link:before
{
 font-family: "Font Awesome 6 Free";
  font-weight: 900; /* Solid用 */
  content: '\f138';
  font-size: 1.8rem;
  line-height: 1.0;
  height 		: 1em; 
  position: absolute;
  right 			: 1.8rem;
  top 				: 0px;
  bottom 			: 0px;
  margin 			: auto 0; 
}
#news_section .section_inner .news_cont
{
	flex 			: 1 1 auto;
	border-left 	: 1px #CCC solid;
	padding-left 	: 5rem;
	margin-left 	: 5rem;
	text-align 		: left;
}
.news_cont dl,
.news_cont dt,
.news_cont dd
{
	margin 		: 0px;
	padding 	: 0px;
	list-style 	: none;
}
.news_cont dl
{
	display 		: flex;
	gap 			: 2rem;
	align-items 	: center;
	font-size 		: 1.8rem;
	padding 		: 1.5rem; 
}
.news_cont dl:nth-child(even)
{
	background: url("../images/common/base/des_bg02.gif") 0 0 repeat;
}
.news_cont dl a
{
	color 				: #333; 
}
.news_cont dl dt
{
	border-radius 		: 3px;
	overflow 			: hidden;
	flex 				: 0 0 100px;
	text-align 			: center;
	background 			: #eeeeee;
	font-weight: 400;
}
.news_header .update_date
{
	border-radius 		: 3px;
	overflow 			: hidden;
	background 			: #eeeeee;
	font-weight 		: normal;
	text-align 			: center;
}
.news_cont dl dt .year,
.news_header .update_date .year
{
	background 			: #5ea000;
	color 				: #FFF;
	display 			: block;
	padding 			: .8rem 1rem .5rem;
	font-size 			: 2.1rem;
	line-height 		: 1.0; 
}
.news_cont dl dt .date,
.news_header .update_date .date
{
	font-size 			: 2.9rem;
	color 				: #5ea000;
	line-height 		: 1.0;
	padding 			: .5rem 1rem;
	display 			: block;
}
.news_cont dl dt .date span.sub
{
	font-size 			: 2.3rem;
}
#wp_main .news_cont,
#tinymce .news_cont
{
	margin-left 		: -25px;
	margin-right 		: -25px; 
}
/*------------------------------------------------
	コンテンツ:#wp_main
------------------------------------------------*/

#wp_main,
#tinymce
{
	text-align 		: left;
}
#wp_main .section_inner,
#tinymce .section_inner
{
	padding-left 	: 25px;
	padding-right 	: 25px;
}
#wp_main .section_inner:first-child,
#tinymce .section_inner:first-child
{
	padding 		: 40px 0 70px; 
}



/*▼見出しタイトル--------------------------------------------------------------*/

#page_title
{
	background: url("../images/common/base/summary_bg.gif") 0 0 repeat;
}
#page_title h1
{
	max-width 				: 1200px;
	width 					: 90%;
	margin 					: 0 auto;
	padding 				: 5rem 0 0;
	overflow 				: hidden;
}
#page_title h1 .jp
{
	display 				: block;
 	font-size 				: clamp(2.6rem, 5vw, 5.8rem);
	color 					: #FFF; 
	line-height 			: 1.3;
	margin-bottom 			: 1rem;
	opacity 				: 0;
	transform 				: translateY(-100%);
    animation 				: fade-in-mov-anim 0.8s ease-out 0.8s 1 forwards;
}
#page_title h1 .en
{
	display 				: block;
	mix-blend-mode 			: overlay;
    font-size 				: clamp(6rem, 15vw, 15rem);
	line-height 			: 1.0;
	color 					: #555;
	margin-bottom 			: -.2em;
	opacity 				: 0;
	transform 				: translateY(100%);
    animation 				: fade-in-mov-anim 0.8s ease-out 0.8s 1 forwards;
}
#wp_main .section_title,
#tinymce .section_title
{
	position 				: relative;
	margin-left 			: -25px;
	margin-right 			: -25px;
	margin-bottom 			: 4rem;
}
#wp_main .section_title:before,
#tinymce .section_title:before
{
	content 				: "";
	display 				: block;
	height 					: 5px;
	background 				: #eeeeee;
	position 				: absolute;
	bottom 					: 0px;
	left 					: 0px;
	right 					: 0px;
	margin 					: 0 auto;
	width 					: 100%;
	transform 				: scaleX(0);
	opacity 				: 0; 
}
#wp_main .section_title h2,
#tinymce .section_title h2
{
	position 				: relative;
	width 					: fit-content;
	max-width 				: 80%; 
	margin 					: 0 auto;
	padding 				: 1rem 2rem 3.5rem;
	display 				: flex;
	gap 					: 1rem;
 	font-size 				: clamp(2.3rem, 3.4vw, 3.6rem);
	line-height 			: 1.3;
	justify-content 		: center;
	flex-flow 				: row wrap;
}
#wp_main .section_title h2:before,
#tinymce .section_title h2:before
{
	content 				: "";
	display 				: block;
	height 					: 5px;
	background 				: #5ea000;
	position 				: absolute;
	bottom 					: 0px;
	left 					: 0px;
	right 					: 0px;
	margin 					: 0 auto;
	transform 				: scaleX(0);
	opacity 				: 0;
	max-width 				: 100%; 
}
#wp_main .section_title h2 .en,
#tinymce .section_title h2 .en
{
	color 					: #5ea000;
	display 				: block;
	transform 				: translateY(50%);
	opacity 				: 0; 
	
}
#wp_main .section_title h2 .jp,
#tinymce .section_title h2 .jp
{
	display 				: block;
	transform 				: translateY(50%);
	opacity 				: 0; 
}
#wp_main .section_title.active h2 .en,
#wp_main .section_title.active h2 .jp,
#tinymce .section_title.active h2 .en,
#tinymce .section_title.active h2 .jp
{
  	animation 			 	: title-text-anim .8s ease-out 1.0s 1 forwards;
}
#wp_main .catch_text,
#tinymce .catch_text
{
	font-weight: bold;
	border-left: 1px solid #CCC;
	padding 				: .5rem 0 .5rem 1.5rem;
	font-size 				: clamp(1.8rem, 2vw, 2.6rem);
	line-height 			: 1.4; 
	_zoom:1;
overflow:hidden;
}
#wp_main .section_title.active:before,
#tinymce .section_title.active:before
{
  	animation 			 	: title-line-anim 1s ease-out 0.3s 1 forwards;
}
#wp_main .section_title.active h2:before,
#tinymce  .section_title.active h2:before
{
  	animation 			 	: title-line-anim 1s ease-out 0.8s 1 forwards;
}


@keyframes title-line-anim {
  100% {
    opacity: 1;
	transform: scale(1.0);
  }
}

@keyframes title-text-anim {
  100% {
    opacity: 1;
	transform: translateY(0);
  }
}

#wp_main .section_inner > h2,
#tinymce  .section_inner > h2
{
	background 			: url("../images/common/base/bg_pattern01.gif") 0 0 repeat;
	border-radius 		: 3px;
	padding 			: 1.5rem 2rem;
	border-top 			: 1px #CCC solid;
	border-bottom 		: 1px #CCC dashed;
	margin-left 		: -25px;
	margin-right 		: -25px;
	margin-bottom 		: 3rem; 
	font-size 			: clamp(1.8rem, 2.8vw, 2.8rem); 
	
}
#wp_main .section_inner > h2 .jp,
#tinymce  .section_inner > h2 .jp
{

	border-right 		: 1px #CCC dashed;
	padding-right 		: .5em;
	margin-right 		: .5em; 
}
#wp_main .section_inner > h2 .en,
#tinymce  .section_inner > h2 .en
{

	color 			: #5ea000;
}
#wp_main h3,
#tinymce h3
{
	margin 				: 0px;
	padding 			: 0px;
	background 			: #f7f7f7 url("../images/common/icon/icon01.png") top 50% left 2rem no-repeat;
	padding 			: 1.5rem 2rem 1.5rem 4.5rem;
	margin 				: 0 -25px 3.8rem;
	border-top 			: 3px solid #5ea000;
	font-size 			: clamp(1.8rem, 2.5vw, 2rem);
	position 			: relative;
	clear 				: both;
}
#wp_main h3:after,
#tinymce h3:after
{
	content 			: "";
	display 			: block;
	width 				: 50%;
	height 				: 100%; 
	background 			: url("../images/common/base/bg_pattern01.gif") right top repeat;
	mix-blend-mode 		: multiply;
 	position 			: absolute;
    right 				: 0px;
    top 				: 0px;
	opacity 			: .5; 

}
#wp_main h4,
#tinymce h4
{
	margin 				: 0px;
	padding 			: 0px;
	padding 			: 1.5rem 2rem 1.5rem 4.5rem;
	margin 				: 0 -25px 3rem;
	font-size 			: clamp(1.8rem, 2.5vw, 2rem);
	position 			: relative;
	border-radius 		: 8px;
	border 				: 3px solid #5ea000;
	background 			: url("../images/common/base/des_bg02.gif") 0 0 repeat;
}

#wp_main h4:before,
#tinymce h4:before
{
    content 			: "\f111";
    font-family 		: 'Font Awesome 6 Free';
	font-weight 		: 900;
  	font-style 			: normal;
   	font-variant 		: normal;
   	line-height 		: 1;
  text-rendering 		: auto;
  position 				: absolute;
  left 					: 2rem;
  top 					: 2.5rem;
  color 				: #5ea000; 
	
}
#wp_main h5,
#tinymce h5
{
	margin 				: 0px;
	padding 			: 1rem 1.5rem; 
	font-size 			: clamp(1.8rem, 2.5vw, 2.4rem);
	background 			: #5ea000 url("../images/common/base/title_bg.gif") 0 0 repeat;
	text-align 			: center;
	color 				: #FFF;
	margin-bottom 		: 3.5rem;
	position 			: relative;
	clear 				: both;
}
#wp_main h5:before,
#tinymce h5:before
{
	content 			: "";
	width 				: 0px;
	height 				: 0px;
	display 			: block;
	border-left: 15px solid transparent;
 	border-right: 15px solid transparent;
	border-top: 15px solid #5c9c00;
	position 			: absolute;
	left 				: 0px;
	right 				: 0px;
	bottom 				: 0px;
	margin 				: 0 auto;
	transform: translateY(100%);
}

/*会社案内*/

#wp_main .grt_img,
#tinymce .grt_img
{
	float: right;
	margin-top 			: 2rem; 
	margin-left 		: 3rem;
	margin-bottom 		: 3rem;
	width 				: 43%;
}
#wp_main .grt_img img,
#tinymce .grt_img img
{
	border-radius 		: 10px; 
}
.address_set
{
	display 			: flex;
	gap 				: 4rem;
}
.address_set .point_title
{
	color 				: #5ea000;
	margin 				: 0px;
	font-size 			: 2rem;
	border-bottom 		: 1px #CCC dotted;
	padding-bottom 		: .5rem;
	margin-bottom 		: .5rem; 
}
.info_table tr th
{
	background 		: #FFF;
	text-align 		: left;
	width 			: 30%;
	font-weight 	: bold;
	border-right 	: 1px #EEE solid;
	text-align 		: center;
}
.info_table tr td
{
	border-right 	: none;
}
.info_table tr:nth-child(even) th,
.info_table tr:nth-child(even) td
{
	background 			: #f7f7f7; 
}

.map_area
{
	margin-bottom 			: 3rem; 
}


.map_area .map_area_inner
{
    position: relative;
    width: 100%;
    padding-top: 50%;
    border: 1px #CCC solid;
    margin-bottom: 1.5rem;
}

.map_area .map_area_inner iframe 
{
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}
.map_area .point_title
{
	font-size 			: 3rem;
	background 			: url("../images/common/base/summary_bg.gif") 0 0 repeat;
	text-align 			: center;
	color 				: #FFF;
	border-radius 		: 3px; 
}
.map_area .add
{
	width 				: 90%;
	max-width 			: 800px;
	background 			: #f7f7f7;
	border-radius 		: 10px;
	padding 			: 2rem;
	margin 				: 3rem auto 3rem;
	text-align 			: center;
	position 			: relative;
}
.map_area .add .zip_code
{
	border-bottom 		: 1px #EEE solid;
	padding-bottom 		: .5rem;
	margin-bottom 		: .5rem;
	display 			: block;
}
.map_area .add:before
{
	content 			: "";
	border-left: 15px solid transparent;
 	border-right: 15px solid transparent;
	border-top: 15px solid transparent;
   	border-bottom: 15px solid #f7f7f7;
	width 				: 0px;
	height 				: 0px;
	position 			: absolute;
	top 				: 0px;
	left 				: 0px;
	right 				: 0px;
	margin 				: 0 auto;
	transform 			: translateY(-100%);
}


/*よくある質問*/

.faq_list dl,
.faq_list dt,
.faq_list dd
{
	margin 				: 0px;
	list-style 			: none;
}
.faq_list dl
{
	background 			: #f7f7f7;
	border-radius 		: 3px;
	margin-bottom 		: 2rem; 
}
.faq_list dt,
.faq_list dd
{
	padding 			: 2.5rem 2rem 2.5rem calc(3rem + 40px);
	position 			: relative;
}
.faq_list dt
{
	font-weight 		: bold;
	border-bottom 		: 1px #CCC solid; 
}
.faq_list dt:before
{
	content 			: "Q";
	display 			: block;
	background 			: #0090c2;
    font-family: "Jost", serif;
    font-optical-sizing: auto;
	border-radius 		: 3px;
	color 				: #FFF;
	font-size 			: 2em;
	border-radius 		: 10px;
	position 			: absolute;
	left 				: 1.5rem;
	top 				: 2rem;
	width 				: 40px;
	height 				: 40px; 
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight 			: 600; 
}
.faq_list dd:before
{
	content 			: "A";
	display 			: block;
	background 			: #e64c00;
    font-family: "Jost", serif;
    font-optical-sizing: auto;
	border-radius 		: 3px;
	color 				: #FFF;
	font-size 			: 2em;
	border-radius 		: 10px;
	position 			: absolute;
	left 				: 1.5rem;
	top 				: 2rem;
	width 				: 40px;
	height 				: 40px; 
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight 			: 600; 
}

/*お問い合わせフォーム*/

.data_box .form_table
{
	margin-bottom 		: 3rem; 
	border-right 		: none; 
}
.data_box .form_table th,
.data_box .form_table td
{
	padding 			: 3rem 3rem; 
}
.data_box .form_table td
{
	border-right 		: none;
}
.data_box .form_table th
{
	width 				: 25%;
	background 			: #FFF; 
}

/*採用情報*/

#wp_main .rec_img_list,
#wp_main .rec_img_list li,
#tinymce .rec_img_list,
#tinymce .rec_img_list li
{
	padding-left 			: 0px;
	background 				: none;
}
#wp_main .rec_img_list,
#tinymce .rec_img_list
{
	display 			 	: flex;
	gap 					: 2rem;
	margin-bottom 			: 2.5rem; 
}
#wp_main .rec_img_list li,
#tinymce .rec_img_list li
{
	flex 					: 1 1 auto; 
}
#wp_main .rec_img_list li img,
#tinymce .rec_img_list li img
{
	border-radius 			: 10px; 
}

.rec_table th,
.rec_table td
{
	padding 				: 2.3rem 2.8rem; 
}


.rec_table th
{
	text-align 				: center;
	width 					: 30%;
	background 				: url("../images/common/base/des_bg02.gif") 0 0 repeat;
	font-weight 			: bold;
	border-bottom 			: 1px #5ea000 solid;
}
.rec_table td
{
	border-right 			: none;
	border-bottom 			: 1px #EEE solid; 
	
}
#wp_main ul.rec_user_list,
#tinymce ul.rec_user_list
{
	width 				: 100%; 
	margin-left 		: auto;
	margin-right 		: auto;
}
#wp_main ul.rec_user_list li,
#tinymce ul.rec_user_list li
{
	background 			: none;
	padding 			: 0px;
	display 			: flex;
	padding 			: 1.5rem 2rem;
	font-size 			: clamp(1.8rem, 3vw, 2rem);
	background 			: #f7f7f7;
	margin-bottom 		: .5rem;
	border-radius 		: 10px;
	gap 				: 1rem;
	font-weight: bold;
}
#wp_main ul.rec_user_list li:before,
#tinymce ul.rec_user_list li:before
{
 font-family 		: "Font Awesome 6 Free";
  font-weight 		: 400; /* Solid用 */
  content 			: '\f058';
  font-size 		: 3rem;
  line-height 		: 1.3; 
  color 			: #5ea000;
}
#wp_main .rec_img,
#tinymce .rec_img
{
	float: right; 
	margin-left 		: 3rem;
	margin-bottom 		: 4rem;
	width 				: 43%;
}

/*ニュース*/

#news_main .news_header
{
	background 			: url("../images/common/base/bg_pattern01.gif") top -15px left repeat-x;
	padding 		 	: 3rem 25px 2.8rem;
	margin-bottom 		: 2.5rem; 
	margin-left 		: -25px;
	margin-right 		: -25px;
	display 			: flex;
	gap 				: 2rem;
	border-bottom 		: 1px #CCC solid;
	border-top 			: 1px #CCC solid;
	align-items 		: center;
}

#news_main .news_header h2
{
	font-size 			: clamp(1.8rem, 2.5vw, 2.8rem);
	padding 			: 0px;
	margin 				: 0px; 
	line-height 		: 1.3; 
}
#wp_main #news_main h4,
#tinymce.post-type-post h4
{
	border 				: none;
	background 			: none;
	border-radius 		: 0px;
	margin 				: 0px 0px 2.5rem; 
	border-left 		: 1px #CCC solid;
	padding 			: .8rem 0 .8rem 1.5rem;
	overflow: hidden;
}
#wp_main #news_main h4:before,
#tinymce.post-type-post h4:before
{
	display 			: none;
}



.news_header .update_date
{
	flex 				: 0 0 100px;
	margin-bottom 		: 0px; 
}

#wp_main .wp-pagenavi
{
	display 		: flex;
	justify-content : center;
	flex-flow 		: row wrap;
	gap 			: 1rem; 
}

#wp_main .wp-pagenavi span,
#wp_main .wp-pagenavi a
{
	padding 		: 1.5rem;
	background 		:#5ea000;
	color 			: #fff;
	font-weight 	: normal!important;
	text-align 		: center;
	border 			: none;
	border-radius 	: 3px;
	line-height 	: 1.0; 
}

#wp_main .wp-pagenavi a
{
	text-decoration : none;
	transition				: all 0.3s ease;
	border-radius 			: 3px; 
}
#wp_main .wp-pagenavi a:hover,
#wp_main .wp-pagenavi .current
{
	color 			: #333;
	background 		: #EEE;
}

#wp_main .page_nav_np,
#wp_main .page_nav_np li
{
	margin 					: 0px;
	padding 				: 0px;
	list-style 				: none;
	padding-left: none;
	background: none;
}

#wp_main .page_nav_np li:before
{
	display: none!important;
}

#wp_main .page_nav_np li
{
	padding 		: 0px!important; 
}

#wp_main .page_nav_np
{
		display 	: flex;
 	display 	: -ms-flexbox;
 	flex-flow 		: row wrap;
 	-ms-flex-flow 	: row wrap;
	justify-content: space-between;
 	-ms-flex-pack: justify;
	margin-top 		: 5rem!important; 
	width 			: 100%; 
}

#wp_main .page_nav_np a
{
	background 			:  #EEE;
	padding 			: 15px 16px;
 	transition 			:  all 0.5s ease;
	text-decoration 	: none;
 	display 			: block;
	color 				: #333;
	text-decoration 	: none;
	border-radius 		: 3px;
	color 				: #5ea000;
	font-weight 		: bold;
}

#wp_main .page_nav_np a .fas
{
	margin 				: 0px .5em; 
}
#wp_main .page_nav_np a:hover
{
	background 			: #5ea000;
	color 				: #FFF; 
}
#wp_main .back_link
{
	text-align: center;
	margin 				: 3rem 0; 
}

/*エリア*/

.area_map
{
	display: flex;
	gap 			: 5rem;
	margin-bottom 	: 4rem; 	
}
.area_map .map
{
	flex 			: 0 0 40%;
}
.area_map .map_data
{
	flex 			: 1 1 auto;
}
.map_data_table th,
.map_data_table td
{
	padding 		: 1.8rem 2rem;	
}

.map_data_table
{
	overflow: hidden;
	border-radius 	: 10px;
	margin-bottom 	: 15px; 
}

.map_data_table td
{
	border-right 	: none;
	border-bottom: none;
}
.map_data_table tr:nth-child(odd) td
{
	background 		: #f7f7f7; 
}

.map_data_table th
{
	color 			: #FFF;
	font-weight: bold;
	border-bottom: none;
}


.map_data_table tr.area01 th
{
	background 			: #0072b5  
}
.map_data_table tr.area02 th
{
	background 			: #00b8b2;  
}
.map_data_table tr.area03 th
{
	background 			: #669900;  
}
.map_data_table tr.area04 th
{
	background 			: #f9bb00;  
}
.map_data_table tr.area05 th
{
	background 			: #f47d00;  
}
.map_data_table tr.area06 th
{
	background 			: #d63636;  
}
.area_map .map
{
	background 			: #EEE url("../images/area/map_bg02.svg") top 70% center /90% auto no-repeat;
	border-radius 		: 15px;
	align-items 		: center;
	display 			: flex;
	align-items 		: center;
	position 			: relative;
	flex-flow 			: column;
	justify-content: center;
	padding 			: 25px 25px 60px; 
}
.area_map .map img
{
	display: block;
}
.area_map .map img:first-child
{
	margin-bottom 		: 35px;
	display: block;
	margin-bottom: auto;
	padding-bottom 	: 20px; 
}
.area_map .map img:nth-child(2)
{
	max-width 			: 400px; 
}



#wp_main .catch_title,
#tinymce .catch_title
{
	position 			: relative;
	width 				: 100%; 
	text-align 			: center;
	padding 			: 3rem 0 3rem;
	margin-bottom 		: 8rem; 
}
#wp_main .catch_title:before,
#tinymce .catch_title:before
{
	content 			: "";
	display 			: block;
	width 				: 0%;
	height 				: 10px;
	left 				: 0px;
	right 				: 0px;
	top 				: 0px; 
	position 			: absolute;
	margin 				: 0 auto;
	background 			: url("../images/common/base/bg_pattern01.gif") 0 0 repeat-x;
	transition: all 3s ease;
	opacity 			: 0; 
}

#wp_main .catch_title.active:before,
#tinymce .catch_title.active:before
{
	width 				: 100%;
	opacity 			: 1.0; 
}
#wp_main .catch_title:after,
#tinymce .catch_title:after
{
	content 			: "";
	display 			: block;
	width 				: 0%;
	height 				: 1px;
	left 				: 0px;
	right 				: 0px;
	bottom 				: 0px; 
	position 			: absolute;
	margin 				: 0 auto;
	background 			: #CCC;
	z-index 			: 2; 
	transition: all 3s ease;
	opacity 			: 0; 
}
#wp_main .catch_title.active:after,
#tinymce .catch_title.active:after
{
	width 				: 100%;
	opacity 			: 1.0;
}
#wp_main .catch_title .catch_title_inner,
#tinymce .catch_title .catch_title_inner
{
	position 			: relative;
	z-index 			: 1; 
}
#wp_main .catch_title .bg_text,
#tinymce .catch_title .bg_text
{
	font-weight 			: 900;
	color 					: #000;
	opacity 				: .08;
	position 				: absolute;
	line-height 			: 1.0;
	bottom 					: 0px;
	left 					: 0px;
	right 					: 0px;
	margin 					: 0 auto;
	transform 				: translateY(50%);
	font-size 				: clamp(7rem, 14vw, 15rem);
	display 				: flex;
	justify-content 		: center;
}

#wp_main .catch_title .bg_text span,
#tinymce .catch_title .bg_text span
{
	display: block;
	transform: translateY(100%);
	opacity: 0;
}
#wp_main .catch_title.active .bg_text span,
#tinymce .catch_title.active .bg_text span
{
  animation 			: fade-in-mov-anim 0.5s ease-out 0.7s 1 forwards;
  
}
#wp_main .catch_title.active .bg_text span:nth-child(1),
#tinymce .catch_title.active .bg_text span:nth-child(1)
{
    animation-delay: 0.8s;
	
}
#wp_main .catch_title.active .bg_text span:nth-child(2),
#tinymce .catch_title.active .bg_text span:nth-child(2)
{
    animation-delay: 0.9s;
}
#wp_main .catch_title.active .bg_text span:nth-child(3),
#tinymce .catch_title.active .bg_text span:nth-child(3)
{
    animation-delay: 1.0s;
}
#wp_main .catch_title.active .bg_text span:nth-child(4),
#tinymce  .catch_title.active .bg_text span:nth-child(4)
{
    animation-delay: 1.1s;
}
#wp_main .catch_title.active .bg_text span:nth-child(5),
#tinymce .catch_title.active .bg_text span:nth-child(5)
{
    animation-delay: 1.2s;
}
#wp_main .catch_title.active .bg_text span:nth-child(6),
#tinymce .catch_title.active .bg_text span:nth-child(6)
{
    animation-delay: 1.3s;
}
#wp_main .catch_title.active .bg_text span:nth-child(7),
#tinymce .catch_title.active .bg_text span:nth-child(7)
{
   animation-delay: 1.4s;
}
#wp_main .catch_title.active .bg_text span:nth-child(8),
#tinymce .catch_title.active .bg_text span:nth-child(8)
{
   animation-delay: 1.4s;
}
#wp_main .catch_title .sub_text,
#tinymce .catch_title .sub_text
{
	font-size 				: clamp(1.8rem, 3vw, 2.6rem);
	font-weight 			: bold;
	color 					: #5ea000;
	display 				: block;
	width 					: fit-content;
	margin 					: 0 auto .2rem;
	opacity 				: 0;
	transform: translateY(-50%);
}
#wp_main .catch_title .main_text,
#tinymce .catch_title .main_text
{
	font-size 				: clamp(3rem, 6vw, 5.8rem);
	font-weight 			: 900;
	display 				: block;
	width 					: fit-content;
	margin 					: 0 auto;
	line-height 			: 0.8;
	opacity 				: 0;
	transform: translateY(-50%);
}
#wp_main .catch_title.active .sub_text,
#tinymce .catch_title.active .sub_text
{
  animation 			: fade-in-mov-anim 0.8s ease-out 0.7s 1 forwards;
}
#wp_main .catch_title.active .main_text,
#tinymce .catch_title.active .main_text
{
  animation 			: fade-in-mov-anim 0.8s ease-out 0.9s 1 forwards;
}
#wp_main .catch_title .main_text em,
#tinymce .catch_title .main_text em
{
	color 					: #5ea000; 
}
#wp_main .catch_title .main_text em .en,
#tinymce .catch_title .main_text em .en
{
 	font-size 				: 1.4em;
	font-style 				: normal;
}
.re_point_set
{
	display 			: flex;
	justify-content 	: space-between;
	margin-bottom 		: 5rem; 
}
.re_point_set .re_point_item
{
	flex 				: 0 0 32%; 
}
.re_point_item .re_point_title
{
	display 			: flex;
	align-items 		: center;
	gap 				: 1rem;
}
.re_point_item .re_point_title .inner
{
	font-size 			: clamp(2rem, 2.7vw, 3.8rem);
	font-weight 		: 900;
	line-height 		: 1.3;

}
.re_point_item .re_point_title .inner em
{
	display 			: block;
	color 				: #5ea000; 
}
.re_point_item .re_point_img
{
margin-bottom 			: 1.5rem; 
}
.re_point_item .re_point_img img
{
	border-radius 		: 4px; 
}
.fea_block:after
{
	content						:"";
	display						: block;
	clear						: both;
}
.fea_block
{
	margin-bottom 				: 4rem; 
}
/*料金案内*/

.price_data_set
{
	display 					: flex;
	justify-content 			: space-between;
	gap 						: 2rem;
	margin-bottom 				: 2.5rem;
	flex-flow 					: row wrap;
}
.price_data_set .price_table
{
	flex 						: 1 1 48%; 
}
.data_box .price_table tr th:first-child,
.data_box .price_table tr td:first-child
{
	width 					: 45%;
	border-right 			: 1px #CCC dashed; 
}
.data_box .price_table tr:first-child th
{
	text-align 				: center;
	background: #f7f7f7;
}
.data_box .price_table tr td,
.data_box .price_table tr th
{
	padding 				: 1.5rem 2rem; 
	border-right 			: none;
}


.data_box .price_table tr td
{
	text-align 				: right;
	color 					: #ff7d00;
	font-weight 			: bold;
	border-bottom 			: 1px #CCC solid; 
}
.data_box .price_table tr th
{
	border-bottom 			: 1px #CCC solid;
	background 				: url("../images/common/base/bg_pattern02.gif") 0 0 repeat;
}

/*ご依頼の流れ*/

.step_lead
{
	display 				: flex;
	align-items 			: center;
	gap 					: 2rem;
	justify-content 		: space-between;
	margin-bottom 			: 4.5rem; 
}
.step_lead .lead_item
{
	flex 					: 0 0 30%;
	opacity 				: 0; 
}
.step_lead .arr
{
	flex 					: 0 0 auto;
	opacity 				: 0; 
}
.step_lead >div
{
animation: fade-in-anim 0.5s ease-out 1.3s 1 forwards;
}
.step_lead >div:nth-child(1)
{
	animation-delay: 2s
}
.step_lead >div:nth-child(2)
{
	animation-delay: 2.3s
}
.step_lead >div:nth-child(3)
{
	animation-delay: 2.6s
}
.step_lead >div:nth-child(4)
{
	animation-delay: 2.9s
}
.step_lead >div:nth-child(5)
{
	animation-delay: 3.2s
}
.step_title
{
	overflow 					: hidden;
	background 					: #ededed;
	margin-bottom 				: 3rem; 
}
.step_title .en
{
	background: url("../images/common/base/summary_bg.gif") 0 0 repeat;
	color 						: #FFF;
	padding 					: 1.5rem;
	color 						: #FFF;
	font-weight 				: 900;
	font-size 					: clamp(3rem, 4vw, 6rem);
	display 					: block;
	text-align 					: center;
	line-height 				: 1.0; 
}
.step_title .en .num
{
	font-size 					: 1.2em; 
}


.step_title .jp
{
	display 					: block;
	text-align 					: center;
	font-size 					: clamp(2.2rem, 2.5vw, 3.4rem);
	font-weight 				: bold;
	padding 					: 1.5rem; 
}
.step_img
{
	margin-bottom 				: 3rem; 
}
.step_arr
{
	margin-bottom 				: 5rem;
	text-align 					: center;
}
.step_img.step_end
{
	margin-bottom 				: 5rem; 
}
.horizontal_item_set
{
	display:flex;
	flex-flow:row wrap;
	align-items:center;
	gap 				: 1.5rem  3rem;
}
.mw_wp_form .horizontal-item + .horizontal-item
{
	margin-left:0px;
}

.check_box_area 
{
	display:flex;
	flex-flow:column;
	gap:1.5rem;
}

.check_box_area label
{
	display:block;
	background:#f7f7f7;
	border-radius:3px;
	padding:1rem 1.5rem;
}
.p-country-name
{
	display:none;
}

#wp_main .article_footer_nav
{
		display 	: flex;
 	flex-flow 		: row wrap;
	justify-content: space-between;
	margin-top 			: 3rem; 
	width 			: 100%; 
}

#wp_main .article_footer_nav li a
{
	background 			:  #EEE;
	padding 			: 1rem 2rem;
 	transition 				:  all 0.5s ease;
	text-decoration 	: none;
 	display 					: block;
	border-radius 		: 3px;
}

#wp_main .article_footer_nav li 
{
	background:none;
	padding-left:0px;
}
#wp_main .article_footer_nav li.nex
{
	margin-left:auto;
}
#wp_main .article_footer_nav li.pre
{
	margin-right:auto;
}

.back_link .normal_btn
{
	display: block;
    border-radius: 10px;
    background: #5ea000;
    padding: 1.5rem 1.5rem;
    color: #FFF;
    font-size: 1.8rem;
    font-weight: bold;
    text-decoration: none;
    margin: 0 auto;
    max-width: 500px;
    width: 80%;
    position: relative;
    transition: all 0.5s ease;
	color:#FFF;
	text-decoration:none;
}
.back_link .normal_btn:hover
{
		opacity:.8;
}

.back_link .normal_btn:before
{
 font-family 		: "Font Awesome 6 Free";
  font-weight 		: 900; /* Solid用 */
  content 			: '\f138';
  font-size 		: 2.5rem;
  line-height 		: 1.0;
  height 			: 1em; 
  margin-right 		: 4px;
  color 			: #FFF;
  position 			: absolute;
  right 				: 2.5rem;
  top 					: 0px;
  bottom 				: 0px;
  margin 				: auto 0;
  color 				: #FFFFFF; 
}


/*1024以下の指定（タブレット）*/
@media screen and (max-width: 1024px) {

#problem_solving
{
	margin-top: -100px;
}
#problem_section .section_title
{
	padding: 6rem 0;
}

#solution_section .forte_point
{
	gap 			: 2rem;
}
#solution_section .forte_point .point_item
{
	padding: 1.5rem;
}
#reason_section
{
	padding-top 		: 170px;
	padding-bottom 		: 50px; 
	background-image: url("../images/common/base/reason_bg_sp.jpg");
	background-position: top center;
}
#reason_section .section_title .jp
{
	margin-bottom 		: 3rem;
}
#reason_section .reason_list li .inner span.main_tex
{
	margin-bottom 		: 0px; 
}
#reason_section .reason_list,
#reason_section .reason_catch
{
	margin-bottom 		: 60px; 
}
#reason_section .reason_list
{
	margin-top 			: -40px; 
}
#about_section .section_inner,
#news_section .section_inner
{
	padding 			: 60px 0px; 
}
.about_nav li a
{
 	padding: 2.5rem 2rem 11rem;
}
.about_nav li a:before
{
	font-size 			: 3rem;
	right 				: 1.5rem;
	font-size 			: 2.5rem; 	
}
.about_nav li a
{
	background-size 	: 80% auto; 
}
#about_section .about_header
{
	margin-bottom 	: 20px; 
}
#news_section
{
	padding 		: 60px 0px; 
}

#news_section .section_inner
{
	display 		: block;
	padding 		: 0 0 80px; 
	position 		: relative;
}
#news_section .section_inner a.more_link
{
	position: absolute;
	bottom: 0px;
	left 	: 0px;
	width 	: 80%;
	right: 0px;
	margin: 0 auto;
}
#news_section .section_inner .news_cont 
{
    border-left: none;
    padding-left: 0rem;
    margin-left: 0rem;
    text-align: left;
}
#news_section .section_inner .news_header
{
	display: flex;
	align-items: center;
	gap:1rem;
	margin-bottom 		: 15px; 
}
#news_section .section_inner .news_header span.jp
{
	margin-bottom 	: 0px; 
}

#wp_main .section_inner:first-child,
#tinymce .section_inner:first-child
{
	padding-left 	: 2.5%;
	padding-right 	: 2.5%;
}
#wp_main .section_title,
#tinymce .section_title
{
	margin-left 		: -2.5%;
	margin-right 		: -2.5%; 
}
#wp_main h3,
#wp_main h4,
#wp_main .section_inner > h2,
#wp_main .news_cont,
#news_main .news_header,
#tinymce h3,
#tinymce h4,
#tinymce .section_inner > h2,
#tinymce .news_cont
{
	margin-left 		: -2.5%;
	margin-right 		: -2.5%; 
}

.form_company_name,
.form_tel,
.form_fax
{
    width: 100%;
}
.data_box .form_table tbody,
.data_box .form_table tr,
.data_box .form_table th,
.data_box .form_table td
{
	display 		: block;
	width 			: 100%;
	box-sizing: border-box;
}
.data_box .form_table td
{
	border-bottom 	: none;
	padding 		: 2rem 2.5rem 3rem; 
}
.data_box .form_table th
{
	padding 		: 1.3rem 2.5rem; 
	background 		: url("../images/common/base/des_bg02.gif") 0 0 repeat;
	border-bottom: none;
	border-bottom 	: 1px #EEE solid; 
}
.data_box .form_table
{
	margin-bottom 	: 1rem; 
}
#news_main .news_header
{
	padding-top 			:  3rem;
	padding-left 			: 2.5%;
	padding-right 			: 2.5%; 
}

.area_map
{
	flex-flow 				: column;
	gap 					: 3rem;
	margin-bottom 			: 1rem; 
}
.area_map .map_data
{
	display 				: flex;
	flex-flow 				: column;
}
.area_map .map_data > p
{
	order: 2;
}
.area_map .map_data > .data_box
{
	order: 1;
}
.area_map .map_sub_text
{
	font-size 			: 1.2rem;
	margin-bottom 		: 3rem; 
}
.map_data_table
{
	font-size 			: 1.6rem; 
}
.re_point_item .re_point_title img
{
	flex 				: 0 0 21%;
	width 				: 21%;
}
.re_point_item .re_point_title
{
	margin-bottom 		: 1rem; 
}

.price_data_set
{
	display: block;
}
.price_data_set .price_table:nth-child(2) tr:first-child
{
	display: none;
}

.data_box .price_table tr th:first-child,
.data_box .price_table tr td:first-child
{
	width 				: 53%; 
}
/*ご依頼の流れ*/

.step_lead
{
	gap 			: 1rem;
}
.step_lead .arr
{
	flex 			: 0 0 3%;  
}
.step_title .en,
.step_title .jp
{
	padding 		: 1rem; 
}
.step_img
{
	margin-bottom 	: 2rem; 
}
.step_arr
{
	max-width 		: 40px;
	margin 			: 0 auto 2rem; 
}
.step_end
{
	margin-bottom 	: 4rem; 
}



}



/*767以下の指定（スマホ）*/
@media screen and (max-width: 767px) {

#problem_solving 
{
        margin-top: -31px;
}
#problem_section .problem_img .pbl_voice li
{
	position: static;
	width 			: 90%!important;
	margin-bottom 	: 1rem; 
}
#problem_section .section_title
{
	padding 		: 4rem 0 3rem; 
}
#problem_section .problem_img
{
	padding-top 		: 0px; 
}
#problem_section .problem_img.active .map
{
    transform: translateY(0) scale(1.5);
}
#problem_section .problem_img .pbl_voice li .sp_img
{
	display 			: block;
}
#problem_section .problem_img .pbl_voice li .pc_img
{
	display 			: none;
}
#solution_section .arrow
{
	width 				: 60px;
	top 				: -30px;
}
#solution_section .section_title
{
	margin-bottom 		: 3rem; 
}
#solution_section .forte_point
{
	flex-flow: column wrap;
}
#reason_section
{
	background-size: 100% auto;
	margin-top: -65px;
    padding-top: 80px;
	background-attachment: inherit;
}
#reason_section .section_title .jp
{
	margin-bottom 	: 2rem; 
}

#reason_section .reason_list
{
	margin-top 		: -33px; 
}

#reason_section .reason_list
{
	display: block;
}
#reason_section .reason_list li
{
	width 				: 90%;
	margin 				: 0 auto 2rem;
	position 			: relative;
	padding-top 		: 64%; 
}
#reason_section .reason_list li .inner
{
	height 				: fit-content;
	margin 				: auto;
	position 			: absolute;
	left 				: 0px;
	right 				: 0px;
	top 				: 0px;
	bottom 				: 0px;
	margin 				: auto; 
}

#reason_section .reason_list li .inner span.en
{
	font-size 			: 8rem;
	line-height 		: 0.8; 
}
#reason_section .reason_list li .inner span.main_tex
{
	font-size 			: 3.3rem; 
}
#reason_section .reason_list li .inner span.sub_tex
{
	font-size 			: 2rem; 
}



#reason_section .reason_catch
{
    padding 	: 15px 20px;
}
#reason_section .reason_list,
#reason_section .reason_catch
{
	margin-bottom 	: 40px; 
}
.point_item .point_item_title
{
	margin-bottom 		: 1.5rem; 
}
.ac_point
{
	padding-top 	: 70px;
	margin-top 		: -70px;
}

.page_top
{
	width 			: 40px;
	height 			: auto;
}
.page_top img
{
	width		: 100%;
	height  		: auto;
}
#solution_section .section_inner
{
	padding-top 	: 50px; 
}
.cta_box .cta_box_inner
{
	padding 			: 2rem 2rem 2rem; 
}
.cta_box a.cta_btn,
#site_header .hm_contact a.cta_btn
{
	text-align 			: left;
	gap 			 	: 1rem;
	line-height 		: 1.2;
	padding 			: 1.5rem 5rem 1.5rem 1.5rem; 
}
.cta_box a.cta_btn .icon,
#site_header .hm_contact a.cta_btn .icon
{
	flex: 0 0 45px;
}

a.cta_btn em
{
	display 			: block;
}
a.cta_btn:after
{
	right 			: 1.5rem;
	font-size 		: 2.4rem;
}
#about_section .section_inner,
#news_section
{
    padding 		: 40px 0px;
}
#about_section .about_header
{
	display 		: block;
}
#about_section .about_header .about_logo
{
	margin-bottom 	: 2rem; 
}
.about_nav
{
	flex-flow: column wrap;
	gap:2rem;
}
.about_nav li a
{
        background-size: 72% auto;
}
.about_nav li a:before
{
	font-size 		: 3.5rem; 
}
.news_cont dl
{
	align-items: flex-start;
}
.news_cont dl dt .date,
.news_header .update_date .date
{
	font-size 		: 2.5rem; 
}
.news_cont dl dt .year,
.news_header .update_date .year
{
	font-size 		: 1.8rem; 
}
.news_cont dl dt
{
 	flex: 0 0 75px;
}

#wp_main .section_title h2,
#tinymce .section_title h2
{
	padding 			: 0rem 1.5rem 2rem;
}
#wp_main .section_title,
#tinymce .section_title
{
	margin-bottom 		: 2.5rem; 
}

#page_title h1
{
	padding-top 		: 2rem; 
}
#page_title h1 .jp
{
	margin-bottom 		: .5rem; 
}
.ber_list ul
{
	padding 			: 1.5rem 0; 
}

#wp_main h3,
#wp_main h4,
#wp_main .section_inner > h2,
#tinymce h3,
#tinymce h4,
#tinymce .section_inner > h2
{
	margin-bottom 			: 2rem; 
}

#wp_main h3:after,
#tinymce h3:after
{
	display: none;
}



/*会社案内*/

#wp_main .grt_img,
#tinymce .grt_img
{
	float: none;
	width 			: 100%;
	margin 			: 0px;
	margin-bottom 	: 2rem; 
}
#wp_main .info_table,
#tinymce .info_table
{
	font-size 		: 1.6rem; 
}
.address_set
{
	flex-flow: column nowrap;
	gap:1rem;
}

.data_box .form_table th
{
	padding 			: 1rem 1.5rem; 
}

.data_box .form_table td
{
        border-bottom: none;
        padding: 2rem 1rem 2.5rem;
}
.data_box .form_table
{
	margin-bottom 			: 0px; 
}
.submit_btn
{
	font-size 				: 1.8rem; 
}


/*採用情報*/

#wp_main .rec_img,
#tinymce .rec_img
{
	float: none;
	width 			: 100%;
	margin 			: 0px;
	margin-bottom 	: 2rem; 
}

#wp_main ul.rec_user_list li,
#tinymce ul.rec_user_list li
{
	line-height 		: 1.3; 
}
.rec_table,
.rec_table tbody,
.rec_table tr,
.rec_table th,
.rec_table td
{
	display 			: block;
	width 				: 100%;
}
.rec_table th
{
	padding 			: 1rem 2rem;
	text-align: left;
}
.rec_table td
{
	padding 			: 1.5rem 1.5rem 2.5rem; 
}
.rec_table tr:last-child td
{
	border-bottom 		: none; 
}

.news_header .update_date
{
    flex: 0 0 80px;
}
.map_data_table th
{
	white-space: nowrap;
}
.area_map
{
	margin-bottom 		: 1rem; 
}
#wp_main .cta_box .cta_box_title,
#tinymce .cta_box .cta_box_title
{
	font-size 			: 1.4rem; 
}
#wp_main .catch_title,
#tinymce .catch_title
{
	padding 			: 2rem 0 2rem; 
	margin-bottom 		: 3rem; 
}
.re_point_set
{
	flex-flow: column wrap;
	gap:3rem;
}

.re_point_item .re_point_title .inner
{
	font-size 			: 2.4rem; 
}
.re_point_item .re_point_title img
{
        flex: 0 0 25%;
        width: 25%;
}


.data_box .price_table tr td,
.data_box .price_table tr th
{
	padding 			: 1.0rem 1.5rem; 
}
.data_box .price_table
{
	font-size 			: 1.6rem; 
}

.step_lead
{
    gap: .5rem;
	margin-bottom 		: 2rem; 
}
.step_title
{
	margin-bottom 	: 2rem; 
}
.step_title .en, .step_title .en
{
	padding 			: .3rem; 
}

.step_title .en, .step_title .jp
{
	line-height 			: 1.0; 
}
.step_img
{
	margin-bottom 		: 1.5rem; 
}
.step_arr
{
        max-width: 28px;
        margin: 0 auto 1rem;
}
.step_img.step_end
{
	margin-bottom 			: 3rem; 
}



}




/*480以下の指定（スマホ横)*/
@media screen and (max-width: 480px) {

}
/*320以下の指定（スマホ縦)*/
@media screen and (max-width: 320px) {
}










/*---------------------------------------------------------*/
/*    copyright(C) CloudWorks.All rights reserved. Ver1.0    */
/*---------------------------------------------------------*/
