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


/* ==================== base =====================*/

*, *:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

body {
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", sans-serif;
	font-size: 100%;
	line-height: 1.8;
	color: #222;
	width:100%;
	letter-spacing: 0.03em;
}

a {
	transition: .3s;
}

a:link {
	color:#222;
	text-decoration: none;
}
a:visited {
	color:#222;
	text-decoration: none;
}
a:hover,
a:focus {
	color: #222;
	text-decoration: none;
	}
a:active {
	color:#222;
}


.alpha a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}


.alpha_a a img {
	-webkit-transition: 0.2s ease-in-out;
	   -moz-transition: 0.2s ease-in-out;
	     -o-transition: 0.2s ease-in-out;
	        transition: 0.2s ease-in-out;
}
.alpha_a a:hover img {
	opacity: 0.6;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
}


/*写真拡大*/
.moimg1 {
	overflow: hidden;
	width: 100%;
	height: auto;
}
.moimg1 img {
    width: 100%;
	display: block;
	transition: 0.5s;
}
.moimg1 img:hover {
	transform: scale(1.1, 1.1);
}


/*PCでは非表示*/
.pc_displaynone {
    display: none;
}


/*スマホ（サイズ）のみ電話リンクイキ*/
@media (min-width: 600px) {
a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
}
}


/*ページトップへ（矢印）*/

#ptop {
    position: fixed;
    bottom: 25px;
    right: 25px;
	z-index: 1;
}
#ptop a {
    text-align: center;
    display: block;
    border-radius: 5px;
}

.montserrat {
	font-family: 'Montserrat', sans-serif;
	letter-spacing: 0.1em;
	font-weight: 600;
}

.montserrat_regular{
	font-family: 'Montserrat', sans-serif;
	letter-spacing: 0.1em;
	font-weight: 400;
}

/* 画像縮小 */
.imglink_small {
overflow: visible;
width: 100%;
height: 100%;
}

.imglink_small img {
display: block;
transition-duration: 0.5s;
}

.imglink_small img:hover {
transform: scale(0.9);
transition-duration: 0.3s;
}


/*==================== btn ====================*/

/*== ボタン_黒_黒 ==*/

.btn_black { 
	background-color: #222;/*元の色*/
	width: 300px;
    position: relative;
	overflow: hidden;
	text-decoration: none;
	display: inline-block;
    padding: 10px 0px;
    text-align: center;
    outline: none;
    transition: ease .2s;
}

.btn_black span {
	position: relative;
	z-index: 3;
	color:#fff;
	background-image: url("../img/arrow_white.png");
	background-size: 42px 15px;
	background-repeat: no-repeat;
	background-position: right 15px center;
	display: block;
}

.btn_black:hover span {
	color:#fff;
}

.btleft_black:before {
 	content: '';
 	position: absolute;
 	top: 0;
 	left: 0;
 	z-index: 2;
 	background:#333;/*切り替わる色*/
 	width: 100%;
	height: 100%;
 	transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
 	transform: scale(0, 1);
	transform-origin: right top;
}

.btleft_black:hover:before {
	transform-origin:left top;
	transform:scale(1, 1);
}

/*== ボタン_白_オレンジ ==*/

.btn_white { 
	background-color: #fff;/*元の色*/
	border: solid 1px #E37D30;
	width: 300px;
    position: relative;
	overflow: hidden;
	text-decoration: none;
	display: inline-block;
    padding: 10px 0px;
    text-align: center;
    outline: none;
    transition: ease .2s;
}

.btn_white span {
	position: relative;
	z-index: 3;
	color:#E37D30;
	background-image: url("../img/arrow_orange.png");
	background-size: 42px 15px;
	background-repeat: no-repeat;
	background-position: right 15px center;
	display: block;
	transition: .3s;
}

.btn_white:hover span {
	background-image: url("../img/arrow_white.png");
	background-size: 42px 15px;
	background-repeat: no-repeat;
	background-position: right 15px center;
	display: block;
	color:#fff;
}

.btleft_white:before {
 	content: '';
 	position: absolute;
 	top: 0;
 	left: 0;
 	z-index: 2;
 	background:#E37D30;/*切り替わる色*/
 	width: 100%;
	height: 100%;
 	transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
 	transform: scale(0, 1);
	transform-origin: right top;
}

.btleft_white:hover:before {
	transform-origin:left top;
	transform:scale(1, 1);
}

/*== ボタン_オレンジ_黒 ==*/

.btn_orange { 
	background-color: #E37D30;/*元の色*/
	width: 300px;
    position: relative;
	overflow: hidden;
	text-decoration: none;
	display: inline-block;
    padding: 10px 0px;
    text-align: center;
    outline: none;
    transition: ease .2s;
}

.btn_orange span {
	position: relative;
	z-index: 3;
	color:#fff;
	background-image: url("../img/arrow_white.png");
	background-size: 42px 15px;
	background-repeat: no-repeat;
	background-position: right 15px center;
	display: block;
}

.btn_orange:hover span {
	color:#fff;
}

.btleft_orange:before {
 	content: '';
 	position: absolute;
 	top: 0;
 	left: 0;
 	z-index: 2;
 	background:#222;/*切り替わる色*/
 	width: 100%;
	height: 100%;
 	transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
 	transform: scale(0, 1);
	transform-origin: right top;
}

.btleft_orange:hover:before {
	transform-origin:left top;
	transform:scale(1, 1);
}

/*== 戻る用 ==*/

.btn_white_arrownone { 
	background-color: #fff;/*元の色*/
	border: solid 1px #E37D30;
	width: 300px;
    position: relative;
	overflow: hidden;
	text-decoration: none;
	display: inline-block;
    padding: 10px 0px;
    text-align: center;
    outline: none;
    transition: ease .2s;
}

.btn_white_arrownone span {
	position: relative;
	z-index: 3;
	color:#E37D30;
	display: block;
	transition: .3s;
}

.btn_white_arrownone:hover span {
	display: block;
	color:#fff;
}


/*==================== header ====================*/

.h_content_wh {
	width: 100%;
	position: absolute;
	z-index: 10;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 5px 20px 0px 40px;
}

.h_content_logo img {
	width: 100px;
	height: auto;
}

/* ハンバーガーメニュー */
#globalnavi_t {
	position: fixed;
	top: 0;
	left: -100%;
	z-index: 100;
	width: 100%;
	max-width: 450px;
	transition: .3s;
}

ul.globalnavibtn_t {
	background-color: #222;
	padding: 0;
	height: 100vh;
	text-align: center;
	padding-top: 10vh;
}

ul.globalnavibtn_t li {
	display: block;
}

ul.globalnavibtn_t li a {
	display: block;
	padding: 1.5rem;
	color: #fff;
	text-decoration: none;
}

.globalnavi_tr {
	display: none;
}

#globalnavi_btn {
	display: block;
	z-index: 100;
	position: relative;
	cursor: pointer;
    width: 60px;
    height:60px;
}

#globalnavi_btn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 2px;
	background: #fff;
}

#globalnavi_btn span:nth-of-type(1) {
	top:19px; 
    width: 45%;
}

#globalnavi_btn span:nth-of-type(2) {
	top:27px;
    width: 35%;
}

#globalnavi_btn span:nth-of-type(3) {
	top:35px;
    width: 20%;
}

#globalnavi_block {
	display: none;
	position: fixed;
	z-index: 90;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
}

#globalnavi_input:checked ~ #globalnavi_btn span:nth-of-type(1) {
    top: 22px;
    left: 18px;
    transform: translateY(6px) rotate(-135deg);
    width: 30%;
}

#globalnavi_input:checked ~ #globalnavi_btn span:nth-of-type(2) {
	opacity: 0;
}

#globalnavi_input:checked ~ #globalnavi_btn span:nth-of-type(3) {
    top: 34px;
    left: 18px;
    transform: translateY(-6px) rotate(135deg);
    width: 30%;
}


#globalnavi_input:checked ~ #globalnavi_block {
	display: block;
}

#globalnavi_input:checked ~ #globalnavi_t {
	left: 0;
}

/*=== ハンバーガーメニューここまで ===*/

/*ヘッダーメニューsnsボタン*/

.pc_globalnavi {
	display: none;
}

.globalnavi_snsbtn img 

/*==================== footer ====================*/

/*== f_banner ==*/

.f_banner {
	width: 100%;
	background-color: #F7F7F7;
	padding: 35px 0 30px 0;
}

.f_banner_con {
	width: 80%;
	margin: 0 auto;
}

.f_banner_con .f_banner_ti {
	line-height: 1.3;
	margin-bottom: 20px;
	text-align: center;
}

.f_banner_con .f_banner_ti_en {
	font-size: 150%;
}

.f_banner_con .f_banner_ti_ja {
	font-weight: bold;
	color: #E37D30;
}

.f_banner_con .f_banner_group {
	display: flex;
	justify-content: space-between;
}

.f_banner_con .f_banner_group_a {
	width: 32%;
}

.f_banner_con .f_banner_group_a img {
	width: 100%;
	height: auto;
}

.f_banner_con .f_banner_a {
	margin-bottom: 7px;
}

.f_banner_con .f_banner_p {
	font-size: 75%;
}

.f_banner_p {
	display: none;
}

/*== f_top ==*/

.f_top {
	width: 100%;
	background-color: #404040;
	padding: 50px 0 45px 0;
}

.f_top_con {
	width: 90%;
	margin: 0 auto;
}

.f_top_con .f_top_ti {
	text-align: center;
	margin-bottom: 18px;
	line-height: 1.4;
}

.f_top_con .f_top_ti_en {
	font-size: 220%;
	color: #fff;
	line-height: 1;
}

.f_top_con .f_top_ti_ja {
	font-size: 90%;
	color: #fff;
}

.f_top_con .f_top_p {
	text-align: center;
	color: #fff;
	margin-bottom: 25px;
}

.f_top_con .f_top_contact_a {
	max-width: 600px;
	margin: 0 auto;
	background-color: #fff;
	padding: 15px 0 20px 0;
	margin-bottom: 10px;
}

.f_top_con .f_top_contact_ti {
	text-align: center;
}

.f_top_con .f_top_mail {
	background-image: url("../img/icon_mail.png");
	background-size: 25px 25px;
	background-repeat: no-repeat;
	background-position: center top;
	padding-top: 30px;
	margin-bottom: 15px;
}

.f_top_con .f_top_btn {
	text-align: center;
}

.f_top_con .f_top_tel {
	background-image: url("../img/icon_tel.png");
	background-size: 25px 25px;
	background-repeat: no-repeat;
	background-position: center top;
	padding-top: 30px;
}

.f_top_con .f_top_contact_tel_a {
	margin-top: 5px;
	font-size: 180%;
	text-align: center;
	line-height: 1.3;
}

.f_top_con .f_top_contact_tel_a a {
	color: #222;
}

.f_top_con .f_top_contact_tel_b {
	font-size: 90%;
	text-align: center;
}

/*== f_bottom ==*/

footer {
	margin-top: 170px;
}

.f_bottom {
	width: 100%;
	background-color: #222;
	padding: 40px 0 50px 0;
}

.f_bottom_con {
	width: 90%;
	margin: 0 auto;
}

.f_bottom_con .f_bottom_logo {
	margin-bottom: 25px;
}

.f_bottom_con .f_bottom_logo img {
	width: 100px;
	height: auto;
}

.f_bottom_con .f_bottom_name {
	font-weight: bold;
	color: #fff;
	margin-bottom: 10px;
}

.f_bottom_con .f_bottom_adress {
	font-size: 75%;
	color: #fff;
	margin-bottom: 15px;
}

.f_bottom_con .f_bottom_nav {
	display: flex;
	font-size: 75%;
	margin-bottom: 35px;
}

.f_bottom_con .f_bottom_nav a {
	color: #fff;
}

.f_bottom_con .f_bottom_none {
	display: none;
}

.f_bottom_con .f_bottom_nav a:hover {
	opacity: 0.6;
}

.f_bottom_con .f_bottom_sns {
	display: flex;
	margin-bottom: 50px;
}

.f_bottom_con .f_bottom_sns_fe {
	margin-right: 15px;
}

.f_bottom_con .f_copyright {
	font-size: 75%;
	color: #fff;
}

.f_bottom_sns_fe {

}

.f_bottom_sns_in {

}


/*==================== top ====================*/

/*== top_main ==*/

.top_main {
	width: 100%;
	margin-bottom: 150px;
	position: relative;
}

.top_main .top_main_img img {
	width: 100%;
	height: 100vh;
	object-fit: cover;
}

.top_main .top_main_text {
	position: absolute;
	bottom: 20vh;
	left: 6vw;
	z-index: 1;
}

.top_main .top_main_ti {
	font-size: max(5vw,65px);
	letter-spacing: 0.06em;
	font-weight: bold;
	color: #fff;
	line-height: 1;
	margin-bottom: 3%;
}

.top_main .top_main_tip {
	font-size: max(1.4vw,18px);
	color: #fff;
	line-height: 1.6;
}

.main_sp_b img {
	object-position: 70% 50%;
}

.mainimg_aa {
	display: none;
}

/*scroll*/
.scrolldown2{
	position:absolute;
	bottom:5vh;
	left:50%;
	z-index: 9;
}

.scrolldown2 span{
	position: absolute;
	left:-18px;
	bottom:52px;
	color: #eee;
	font-size: 70%;
}

.scrolldown2:before {
    content: "";
    position: absolute;
    bottom:0;
    left:-4px;
	width:9px;
	height:9px;
	border-radius: 50%;
	background:#eee;
	animation:
		circlemove 1.6s ease-in-out infinite,
		cirlemovehide 1.6s ease-out infinite;
}

@keyframes circlemove{
      0%{bottom:45px;}
     100%{bottom:-5px;}
 }

@keyframes cirlemovehide{
      0%{opacity:0}
     50%{opacity:1;}
    80%{opacity:0.9;}
	100%{opacity:0;}
 }

.scrolldown2:after{
	content:"";
	position: absolute;
	bottom:0;
	left:0;
	width:1px;
	height: 50px;
	background:#eee;
}

/*== about ==*/
@media screen and (min-width: 799px) {
	.top_about {
		width: 100%;
		margin-bottom: 300px;
	}

	.top_about_top {
		width: 100%;
		display: flex;
	}

	.top_about_info {
		order: 2;
	}

	.top_about_img_a {
		order: 1;
	}

	.top_about_img_a {
		width: 46%;
		height: 590px;
		margin-right: 4%;
		margin-top: 150px;
		text-align: right;
	}

	.top_about_img_a img {
		width: 100%;
		max-width: 890px;
		object-fit: cover;
	}

	.top_about_top .top_about_info {
		width: 50%;
		padding-right: 50px;
	}

	.top_about_top .top_about_ti {
		font-weight: bold;
		font-size: 175%;
		letter-spacing: 0.05em;
		margin-bottom: 30px;
	}

	.top_about_top .top_about_p {
		line-height: 2.2;
		margin-bottom: 50px;
	}

	.top_about_bottom {
		width: 30%;
		max-width: 560px;
		margin-left: 70%;
		margin-top: -80px;
	}

	.top_about_bottom img {
		width: 100%;
		object-fit: cover;
	}
}
@media screen and (max-width: 800px) {
	.top_about {
		width: 100%;
		margin-bottom: 300px;
		margin-top: -50px;
	}

	.top_about_top {
		width: 100%;
	}

	.top_about_img_a img {
		width: 100%;
		height: auto;
	}

	.top_about_top .top_about_info {
		width: 75%;
		margin: 0 auto;
		margin-bottom: 50px;
	}

	.top_about .top_about_btn {
		text-align: center;
	}

	.top_about_top .top_about_ti {
		font-weight: bold;
		font-size: 175%;
		letter-spacing: 0.05em;
		margin-bottom: 25px;
	}

	.top_about_top .top_about_p {
		line-height: 2.2;
		margin-bottom: 40px;
	}

	.top_about .top_about_img_a {
		width: 60%;
	}

	.top_about .top_about_img_a img {
		width: 100%;
		height: auto;
	}

	.top_about_bottom {
		text-align: right;
		margin-top: -50px;
	}

	.top_about_bottom img {
		width: 50%;
		height: auto;
	}
}

/*== title ==*/

.top_ti_en {
	font-size: 280%;
	line-height: 1.3;
}

.top_ti_ja {
	font-weight: bold;
	color: #E37D30;
	letter-spacing: 0.1em;
}

/*== service ==*/
@media screen and (min-width: 999px) {
	.top_service {
		width: 100%;
		margin-bottom: 350px;
		position: relative;
	}

	.top_service_con {
		width: 90%;
		margin: 0 auto;
		margin-top: -180px;
	}

	.top_service_back_gray_r {
		width: 80%;
		background-color: #F4F4F4;
		position: absolute;
		height: 90%;
		right: 0;
		top: 240px;
		z-index: -1;
	}

	.top_service_con .top_service_group {
		display: flex;
		justify-content: space-between;
	}

	.top_service_con .top_service_l {
		width: 40%;
		margin-top: 55px;
	}

	.top_service_con .top_service_sti {
		font-size: 175%;
		font-weight: bold;
		margin-bottom: 30px;
		letter-spacing: 0.07em;
		white-space: nowrap;
	}

	.top_service_con .top_service_p {
		line-height: 2.2;
		margin-bottom: 50px;
	}

	.top_service_con .top_service_r {
		width: 57%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.top_service_con .top_service_r_a {
		width: 49%;
		background-color: #fff;
		padding: 10px 20px 30px 20px;
		box-shadow: 3px 3px 3px #E2E2E2;
		margin-bottom: 5px;
	}

	.top_service_con .top_service_img {
		text-align: center;
	}

	.top_service_con .top_service_ti {
		text-align: center;
		line-height: 1.4;
		margin-bottom: 15px;
	}

	.top_service_con .top_service_eti {
		font-size: 140%;
	}

	.top_service_con .top_service_jti {
		font-size: 75%;
		font-weight: bold;
	}

	.top_service_con .top_service_r_p {
		font-size: 75%;
	}

	.top_service_img img {
		width: 100px;
		height: auto;
	}
}
@media screen and (max-width: 1000px) {
	.top_service {
		width: 100%;
		margin-bottom: 250px;
		position: relative;
	}

	.top_service_con {
		width: 90%;
		margin: 0 auto;
		margin-top: -180px;
	}

	.top_service_back_gray_r {
		width: 80%;
		background-color: #F4F4F4;
		position: absolute;
		height: 88%;
		top: 200px;
		right: 0;
		z-index: -1;
	}

	.top_service_con .top_service_l {
		margin-top: 25px;
		margin-bottom: 50px;
	}	

	.top_service_con .top_service_sti {
		font-size: 1.8rem;
		font-weight: bold;
		margin-bottom: 20px;
		letter-spacing: 0.07em;
	}

	.top_service_con .top_service_p {
		font-size: 95%;
		line-height: 2.2;
		margin-bottom: 30px;
	}

	.top_service_con .top_service_btn {
		text-align: center;
	}

	.top_service_con .top_service_r {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.top_service_con .top_service_r_a {
		width: 33%;
		background-color: #fff;
		padding: 5px 15px 15px 15px;
		box-shadow: 3px 3px 3px #E2E2E2;
		margin-bottom: 5px;
	}

	.top_service_con .top_service_img {
		text-align: center;
	}

	.top_service_con .top_service_img img {
		width: 100px;
		height: auto;
	}

	.top_service_con .top_service_ti {
		text-align: center;
		line-height: 1.3;
		margin-bottom: 10px;
	}

	.top_service_con .top_service_eti {
		font-size: 130%;
	}

	.top_service_con .top_service_jti {
		font-size: 75%;
		font-weight: bold;
	}

	.top_service_con .top_service_r_p {
	font-size: 75%;
	}
}

/*== works ==*/

.top_works {
	width: 100%;
	margin-bottom: 330px;
	position: relative;
}

.top_works_con {
	width: 90%;
	margin: 0 auto;
}

.top_works_back_gray_l {
	width: 100%;
	background: linear-gradient(90deg, #F4F4F4 0%, #F4F4F4 80%, #fff 80%, #fff 100%);
	position: absolute;
	height: 90%;
	top: 240px;
	z-index: -1;
}

.top_works_con .top_works_ti {
	text-align: center;
}

.top_works_con .top_works_info {
	margin-top: 55px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 25px;
}

.top_works_con .top_works_info_a {
	width: 31%;
	margin-bottom: 45px;
}

.top_works_info_b {
	width: 31%;
}

.top_works_con .top_works_img {
	margin-bottom: 10px;
}

.top_works_con .top_works_img img {
	width: 100%;
	height: auto;
	object-fit: cover;
}

.top_works_con .top_works_category {
	font-size: 65%;
	color: #919191;
	display: inline-block;
	background-color: #f2f2f2;
	padding: 1px 8px;
	margin-bottom: 5px;
}

.top_works_con .top_works_sti {
	font-size: 80%;
}

.top_works_con .top_works_btn {
	text-align: center;
}

.subworks {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}


/*== news ==*/

.top_news {
	width: 100%;
}

.top_news_con {
	width: 90%;
	margin: 0 auto;
}

.top_news_con .top_newslist {
	margin: 15px 0 40px 0;
}

.top_news_con .top_newslist_a_border {
	border-bottom: solid 1px #707070;
}

.top_news_con .top_newslink {
	display: flex;
	align-items: center;
	padding: 25px 25px;
	transition: .3s;
}

.top_news_con .top_newslink:hover {
	opacity: 0.5;
}

.top_news_con .top_news_day {
	font-size: 90%;
	margin-right: 30px;
}

.top_news_con .top_news_btn {
	text-align: center;
}
/*== 下層ページヘッダーや使い回すパーツ ==*/

.sub_h_content_wh{
	width: 100%;
	z-index: 10;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 5px 20px 0px 40px;
}

.sub_h_content_wh #globalnavi_input {
	display: none;
}

.sub_h_content_wh .globalnavibtn_t_wh a {
	display: block;
	padding: 1.5rem;
	color: #fff;
	text-decoration: none;
}


.sub_h_content_wh #globalnavi_btn span {
	background: #222;
}


.sub_main{
	text-align: right;
	position: relative;
}

.sub_main_text{
	text-align: initial;
	position:absolute;
	bottom:0;
	left:4.9%;
	background-color: #fff;
	padding-right: 80px;
	padding-top: 20px;
}

.sub_main_ti{
	font-size: 280%;
	line-height: 1;
}

.sub_main_tip{
	font-size: 119%;
	font-weight: bold;
	margin-top: 12px;
	line-height: 1;
}

.sub_main_detail{
	width:95%;
	position: relative;
	left:5%;
	margin-top: 30px;
	margin-bottom: 120px;
	line-height: 2.1;
}

.sub_ti_en{
	font-size: 238%;
}
.sub_ti_ja{
	font-size: 118%;
}

.sub_main_img img{
	width:95%;
	height: auto;
	min-height: 220px;
	object-fit: cover;
}

/*== ここからABOUT・下層ページ ==*/

/*ページ内リンク*/
#page_link{
	display: flex;
	justify-content:space-between;
	width: 570px;
	margin: 0 auto;
	margin-top: 50px;
	margin-bottom:120px;
	font-size: 90%;
}

.page_link_btn{
	font-weight: bold;
}

.page_link_btn:hover{
	cursor: pointer;
	opacity: 0.5;
}

/*ABOUTトップ*/
.about_top{
	width: 100%;
	margin-bottom: 150px;
}

.about_top_wrapper{
	display: flex;
	width:90%;
	margin:0 auto;
}

.about_top_right{
	margin-left: 75px;
	margin-top: 30px;
}

.about_top_left h3{
	font-size: 120%;
	line-height: 1;
	margin-bottom: 15px;
}

.about_top_left h2{
	font-weight: bold;
	font-size:240%;
	letter-spacing: 0.1em;
	line-height: 1;
	white-space: nowrap;
}

.about_top_right h2{
	font-weight: bold;
	font-size: 175%;
	line-height: 1.96;
}

.about_top_right p{
	font-size: 113%;
	margin-top: 35px;
	line-height: 2.16;
}

.top_about_ti_none {
	display: none;
}


@media (max-width: 900px){
	.about_top_wrapper{
		display: block;
	}
	
	.about_top_right{
		margin-left: 0px;
	}
}

/*社長メッセージ*/

.message{
	background-color: #F4F4F4;
	padding-bottom: 100px;
	margin-bottom: 150px;
}

.message-wrapper{
	width:90%;
	margin:0 auto;
}

.top_ti_b{
	text-align: center;
}

.top_message_ti{
	padding-top: 75px;
	padding-bottom: 30px;
}

.message_left{
	width:70%;
	background-color: #fff;
	padding:40px 125px 45px 50px;
	margin-top: 25px;
	line-height: 1.87;
}

.message_left p {
	font-size: 90%;
	margin-bottom: 15px;
}

.message_left h3{
	text-align: right;
	font-weight: bold;
	font-size: 94%;
}

.message .big{
	font-size: 156%;
	margin-left: 15px;
}

.message_group{
	position: relative;
}

.message_img img{
	width:40%;
	height:auto;
	position: absolute;
	top:-35px;
	right:0;
}

@media (max-width: 950px){
	.message-wrapper{
	width:90%;
	margin:0 auto;
}
	
.top_message_ti{
	padding-bottom: 0;
	}

.message_left{
	width:100%;
	background-color: #fff;
	padding:40px 45px;
	margin-top: 30px;
	line-height: 1.87;
}

.message_left h3{
	text-align: right;
	font-weight: bold;
	font-size: 94%;
}

.message .big{
	font-size: 156%;
	margin-left: 15px;
}

.message_img img{
	width:250px;
	height: auto;
	position: static;
}

.message_group{
	background-color: #fff;
	padding-bottom: 70px;
}

.message_img{
	position: static;
	text-align: center;
}
}


/* 会社情報 */

.company{
	margin-bottom: 150px;
}

.company-wrapper{
	width: 80%;
	margin:0 auto;
}

.top_company_ti{
	margin-bottom: 20px;
}

.company-wrapper table{
	margin:0 auto;
	width:100%;
}

.company-wrapper th{
	padding:25px 40px 25px 25px;
	border-bottom: solid 1px #B9B9B9;
	vertical-align:text-top;
	font-weight: bold;
	white-space: nowrap;
}

.company-wrapper td{
	padding:25px 0;
	border-bottom: solid 1px #B9B9B9;
	vertical-align:text-top;
	padding-right: 25px;
	line-height: 1.7;
}

.company-wrapper .borderdelete{
	border:0;
}

/*bg横帯*/
.about_bg{
	width:100%;
	height: auto;
}

/* ヒストリー*/

.history{
	margin-bottom: 150px;
}

.history-wrapper{
	width: 80%;
	margin:0 auto;
}

.top_history_ti{
	margin-top: 150px;
	margin-bottom: 20px;
}

.history-wrapper th{
	padding:25px 40px 25px 25px;
	border-bottom: solid 1px #B9B9B9;
	vertical-align:text-top;
	font-weight: bold;
}

.history-wrapper td{
	padding:25px 0;
	border-bottom: solid 1px #B9B9B9;
	vertical-align:text-top;
	padding-right:25px;
	line-height: 1.7;
}

.history-wrapper table{
	width:100%;
	margin:0 auto;
}

.history-wrapper .borderdelete{
	border:0;
}

/*アクセス*/
.access-wrapper{
	width:90%;
	margin:0 auto;
}

.access_map{
	width:100%;
}

.top_access_ti{
	margin-bottom: 20px;
}

.access_pspace{
	margin-bottom: 10px;
}

.access_detail{
	
	font-size: 75%;
	margin-top: 8px;
}

.access_bold{
	font-weight: bold;
	margin-bottom: 10px;
}

.access iframe {
	width: 100%;
}


/* ここからサービス下層ページ */

.service_wrapper{
	width:90%;
	margin:0 auto;
}

.service_con{
	display: flex;
	margin-bottom: 140px;
}
.service_con_img img{
	width:250px;
	height: auto;
	margin-right: 30px;
}

.sub_service_ti_en{
	font-size: 220%;
}

.service_txt h2{
	border-bottom: solid 1px #B9B9B9;
	padding-bottom: 15px;
	display: flex;
	align-items: center;
}

.service_detail{
	margin-top: 20px;
	line-height: 1.9;
}

.service_back{
	background-color: #F4F4F4;
}

.service_back p{
	margin-top: 25px;
	padding:15px 30px;
}

.service_txt .top_ti_ja{
	margin-left: 18px;
}

@media(max-width:699px){
	.service_con{
		display: block;
		margin-bottom: 100px;
	}
	
	.service_con_img {
		text-align: center;
	}
	
	.service_con_img img {
		width: 200px;
		height: auto;
		margin-right: 15px;
	}
}

/*ここからリクルート・下層ページ*/

.recruit_top_wrapper{
	width:90%;
	margin:0 auto;
	margin-top:100px;
	display: flex;
	padding-bottom: 120px;
	margin-bottom: 120px;
}

.recruit_top_left{
	margin-right: 20px;
	width: 50%;
}

.recruit_top_left h2{
	font-size: 175%;
	font-weight: bold;
	color:#E37D30;
	line-height: 1.7;
	letter-spacing: 0.05em;
}

.recruit_top_left p{
	font-size: 100%;
	margin-top: 30px;
	line-height: 2.2;
	letter-spacing: 0.03em;
}

.recruit_top_right img{
	height:auto;
	width:100%;
}

.recruit_img_a{
	width:55%;
	height:auto;
	position: absolute;
	top:150px;
}

.recruit_img_b{
	width:55%;
	height:auto;
	position: absolute;
	right:0;
	top:64px;
}

.recruit_top_right{
	position: relative;
	width:50%;
}

.recruit_top{
	position: relative;
}

.recruit_top_back{
	width:80%;
	background-color: #FFFAF0;
	height:300px;
	position:absolute;
	top:95px;
	right:0;
	z-index: -2;
}

@media(max-width: 970px){
	.recruit_top_wrapper{
		display: block;
		margin-bottom: 350px;
	}
	
	.recruit_top_right {
		width: 80%;
		max-width: 650px;
		min-width: 400px;
		margin:0 auto;
		margin-top: 35px;
		position: relative;
		display: block;
	}
	
	.recruit_top_left{
		width:85%;
		margin:0 auto;
	}

	.recruit_img_a{
		height:auto;
		width:55%;
		position: absolute;
		top: 68px;
		left: 0;
	}

	.recruit_img_a img {
		height:auto;
		width: 100%;
	}

	.recruit_img_b{
		height:auto;
		width:55%;
		top: 0;
		right: 0;
		position: absolute;
	}

	.recruit_img_b img {
		height: auto;
		width: 100%;
	}
	
	.recruit_top_back{
	width:80%;
	background-color: #FFFAF0;
	height:550px;
	position:absolute;
	top:95px;
	right:0;
	z-index: -1;
}
	
.rctb_displaynone {
	display: none;
}	
	
}

@media(max-width: 740px){
	
.rctb_displaynone {
	display: inline;
}	
	
}

/*募集要項*/

.recruit_info_con{
	width: 90%;
	margin:0 auto;
}

.recruit_info_g{
	margin-top: 40px;
	border: solid 1px #E37D30;
}

.fleshman{
	text-align: center;
}

.recruit_info_ti{
	color: #E37D30;
	font-weight: bold;
	margin-top: 30px;
	font-size: 175%;
	margin-bottom:5px
}

.recruit_info_p{
	width: 90%;
	margin: 0 auto;
	font-size: 100%;
	font-weight: bold;
	margin-top: 20px;
	line-height: 2;
}

.fleshman .recruit_info_p{
	margin-bottom: 45px;
}

.career{
	text-align: center;
}

.career .recruit_info_p{
	margin-bottom: 30px;
}

.recruit_info_li{
	width:90%;
	margin:0 auto;
	margin-bottom: 60px;
}

.recruit_info_syoku{
	background-color: #FFFAF0;
	border-left: solid 4px #E37D30;
	padding: 18px 0;
}

.recruit_info_sti{
	display: inline-block;
	color: white;
	background-color: #E37D30;
	font-size: 75%;
	padding:2px 16px;
	border-radius:24px;
	margin-left: 20px;
	font-weight: bold;
	letter-spacing: 0.09em;
}

.recruit_info_syokuti{
	display: inline-block;
	color:#E37D30;
	font-size: 137.5%;
	font-weight: bold;
	margin-left: 14px;
	letter-spacing: 0.09em;
	vertical-align: middle;
}

.recruit_info_syokuinfo{
	display: inline-block;
	font-size: 100%;
	letter-spacing: 0.09em;
	margin-left: 6px;
	vertical-align: middle;
}

.recruit_info_li table{
	width: 100%;
}

.recruit_info_li tr{
	border-bottom: solid 1px #E0E0E0;
}

.recruit_info_li th{
	padding:25px 0;
	padding-left: 20px;
	padding-right: 40px;
	font-weight: bold;
	letter-spacing: 0.09em;
	white-space: nowrap;
	vertical-align: text-top;
}
.recruit_info_li td{
	padding:25px 0;
	padding-right: 25px;
	letter-spacing: 0.09em;
}

/*電話番号*/

.rectuit_tel{
	margin-top: 100px;
}

.recruit_tel_wrapper{
	background-color: #FFFAF0;
	text-align: center;
	padding-top: 40px;
	padding-bottom: 50px;
}

.recruit_tel_wrapper h3{
	color:#E37D30;
	font-weight: bold;
	letter-spacing: 0.03em;
	font-size: 150%;
}

.recruit_tel_detail{
	background-color: white;
	width:90%;
	max-width: 600px;
	margin:0 auto;
	margin-top: 15px;
	padding-top: 25px;
	padding-bottom: 28px;
}

.recruit_tel_detail .montserrat{
	line-height: 1.3;
	margin-bottom: 3px;
	font-size: 175%;
	letter-spacing: 0.095em;
}

.recruit_tel_detail .eigyojikan{
	font-size: 87.5%;
	letter-spacing: 0.09em;
	margin-bottom: 20px;
}

/*会社紹介動画*/

.recruit_movie{
	margin-top: 100px;
}

.recruit_movie_info{
	width:80%;
	margin:0 auto;
	margin-top: 30px;
	aspect-ratio: 16/9;
}

.recruit_movie_info iframe{
	width: 100%;
	height: 100%;
}

.recruit_movie_wrapper video{
	width:100%;
	height:auto;
}


/*ここからNEWS・下層ページ*/

.news{
	margin-top: 100px;
}

.news .top_news_con{
	margin-top: 120px;
	width:80%;
	margin:0 auto;
}

.news .top_news_btn{
	display: flex;
	column-gap: 20px;
	margin:0 auto;
	width:330px;
}

.btn_group{
	border:solid 1px #222222;
	padding:15px 25px;
	font-size: 113%;
}

.btn_group:hover{
	color:#fff;
	background-color:#222222;
}

/*ここからWORK・下層ページ*/

.work_menu{
	display:none;
	margin:0 auto;
	width:90%;
	margin-bottom: 80px;
}

.works_con .works_info {
	margin-top: 55px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 60px;
}

.works_con{
	width:90%;
	min-width:550px;
	margin:0 auto;
}

.works_con .top_works_info_a{
	width:31%;	
}

/*ここからSITEPOLICY・下層ページ*/

.policy{
	margin-top: 120px;
}

.policy_wrapper{
	width:80%;
	margin:0 auto;
}

.policy_con_ti h3{
	font-weight: bold;
	font-size: 138%;
	margin-bottom: 10px;
	text-align: center;
	letter-spacing: 0.06em;
}

.policy_con_ti_border{
	border-bottom: solid 2px #E37D30;
	width:75px;
	margin:0 auto;
}

.policy_con_ti{
	margin-bottom: 20px;
}

.policy_con_ti_top {
	margin-bottom: 30px;
}

.policy_con{
	margin-bottom: 80px;
}

.access_analyze{
	margin-top: 90px;
}

.access_analyze h3{
	font-weight: bold;
	font-size: 113%;
	margin-bottom: 6px;
}

.policy_top{
	padding-bottom: 120px;
	border-bottom: solid 1px #E8E8E8;
	margin-bottom: 110px;
}

.policy_bottom_con{
	margin-bottom: 40px;
}

.policy_bottom_con h3{
	font-weight: bold;
	font-size: 113%;
	margin-bottom: 6px;
}

.policy_bottom_con p{
	line-height: 1.69;
}

.policy_bottom_con h4{
	margin-bottom: 10px;
}

/*ここからNEWSの個別ページ*/

.sub_news_wrapper{
	width:80%;
	margin:0 auto;
	margin-top: 120px;
}

.sub_news_ti p{
	font-size: 75%;
	margin-bottom: 5px;
}

.sub_news_ti h3{
	font-size: 138%;
	font-weight: bold;
}

.sub_news_ti{
	padding-bottom: 25px;
	margin-bottom: 30px;
	border-bottom: solid 1px #B9B9B9;
}

.sub_news_txt p{
	margin-bottom: 20px;
}

.sub_news_img{
	text-align: center;
	margin-top: 100px;
}

.sub_news_btn{
	text-align: center;
	margin-top: 100px;
}

/*ここからWORKSの個別ページ*/

.sub_works_wrapper{
	width:80%;
	margin:0 auto;
}

.sub_works_ti{
	text-align: center;
	margin-top: 170px;
	margin-bottom: 40px;
}

.sub_works_category{
	font-size: 70%;
	color:#919191;
	margin-bottom: 10px;
	display: inline-block;
	background-color: #f2f2f2;
	padding: 1px 8px;
}

.sub_works_ti h3{
	font-weight: bold;
	font-size: 155%;
	margin-bottom: 3px;
}

.sub_works_cliant{
	font-size: 85%;
	color: #666666;
}

.sub_works_con_wrapper{
	width:100%;
}

.sub_works_con_wrapper p {
	font-size: 85%;
	text-align: center;
	margin-top: 20px;
	margin-bottom: 40px;
}

.sub_works_btn{
	text-align: center;
	margin-top: 100px;
}

/*ここからコンタクト*/

.contact{
	margin-bottom: 195px;
}

.contact-wrapper{
	width: 1000px;
	margin:0 auto;
	margin-top: 120px;
}

.style1{
	background-color: #E37D30;
	color:#fff;
	font-size: 12px;
	padding: 3px;
	margin-right: 6px;
	font-weight: normal;
}
.style2{
	background-color: #919191;
	color:#fff;
	font-size: 12px;
	padding: 3px;
	margin-right: 6px;
	font-weight:normal;
}

.contact-wrapper table{
	margin:0 auto;
	/*width:70%;*/
	width: 100%;
}

.contact-wrapper th{
	/*padding:25px 40px 25px 25px;*/
	padding-left :25px;
	/*border-bottom: solid 1px #B9B9B9;*/
	vertical-align:text-top;
	font-weight: bold;
}

.contact-wrapper td{
	padding:15px 0;
	/*border-bottom: solid 1px #B9B9B9;*/
	vertical-align:text-top;
	word-break: break-all;
	padding-right: 25px;
	line-height: 1.7;
	padding-right: 0px;
}

.contact-wrapper .borderdelete{
	border:0;
}

.longinput{
	width:100%;
}

.contact input {
	padding: 5px;
	border: solid 1px #B9B9B9;
}

.contact-wrapper textarea{
	width:100%;
	height:100px;
	vertical-align: top;
	padding: 5px;
	border: solid 1px #B9B9B9;
}

.contact_top_p{
	text-align: center;
	margin-bottom: 10px;
}

.contact_top_link {
	text-decoration: underline;
	font-size: 90%;
	text-align: center;
	margin-bottom: 50px;
}

.contact_top_link a:hover {
	color: #E37D30;
}

/*お問い合わせ関連ボタン*/

.contact_btn_wrapper {
	width: 380px;
	margin: 0 auto;
    position: relative;
	overflow: hidden;
	text-decoration: none;
    outline: none;
    transition: ease .2s;
	cursor: pointer;
	background-color: #E37D30;/*元の色*/
	margin-top: 40px;
}

.contact_btn_wrapper:before {
 	content: '';
 	position: absolute;
 	top: 0;
 	left: 0;
 	background-color: #222;/*切り替わる色*/
 	width: 100%;
	height: 100%;
 	transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
 	transform: scale(0, 1);
	transform-origin: right top;
}

.contact_btn_wrapper:hover:before {
	transform-origin:left top;
	transform:scale(1, 1);
}


.contact_btn_wrapper input {
	appearance: none;
  	-webkit-appearance: none;
	width: 380px;
	font-size: 110%;
    text-align: center;
    padding: 10px 0px;
	background-color: #E37D30;/*元の色*/
	color: #fff;
	cursor: pointer;
	border: none;
	position: relative;
	z-index: 5;
	border-radius: 0;
}

.contact_btn_wrapper input:hover {
	background-color: transparent;
	border: none;
	cursor: pointer;
}

/*お問い合わせ関連ボタン_黒*/

.contact_btn_black {
	width: 380px;
	margin: 0 auto;
    position: relative;
	overflow: hidden;
	text-decoration: none;
    outline: none;
    transition: ease .2s;
	cursor: pointer;
	background-color: #fff;/*元の色*/
	border: solid 1px #222;
	margin-top: 40px;
}

.contact_btn_black:before {
 	content: '';
 	position: absolute;
 	top: 0;
 	left: 0;
 	background-color: #222;/*切り替わる色*/
 	width: 100%;
	height: 100%;
 	transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
 	transform: scale(0, 1);
	transform-origin: right top;
}

.contact_btn_black:hover:before {
	transform-origin:left top;
	transform:scale(1, 1);
}


.contact_btn_black input {
	appearance: none;
    -webkit-appearance: none;
	width: 380px;
	font-size: 110%;
    text-align: center;
    padding: 10px 0px;
	background-color: #fff;/*元の色*/
	color: #222;
	cursor: pointer;
	border: none;
	position: relative;
	z-index: 5;
	transition: .3s;
}

.contact_btn_black input:hover {
	background-color: transparent;
	border: none;
	cursor: pointer;
	color: #fff;
}



/*確認ページ*/

.contact_btn_wrapper{
	text-align: center;
	margin-top: 50px;
}

.contact_btn_soushin {
	margin-top: 25px;
}

.confirm_wrapper{
	width:80%;
	margin:0 auto;
	margin-top: 120px;
}
.confirm_wrapper p{
	margin-bottom: 40px;
	font-size: 120%;
}

.confirm_table{
	width:65%;
	max-width: 700px;
	margin:0 auto;
	font-size: 110%;
	margin-bottom: 50px;
}

.confirm_table th{
	width:30%;
	border-bottom: 1px solid #222222;
	padding:15px;
}

.confirm_table td{
	border-bottom: 1px solid #222222;
	padding:15px 15px 15px 0;
}

/*送信成功ページ*/
.contact_success_wrapper p{
	margin-bottom: 30px;
}

.contact_success_wrapper{
	margin-top: 120px;
}

.contact_success_bold {
	font-weight: bold;
	font-size: 110%;
}

/*送信失敗ページ*/
.contact_fail_wrapper p{
	margin-bottom: 15px;
	font-size: 110%;
}

.contact_fail_wrapper{
	margin-top: 120px;
}
/*=========================ここから動きのcss=======================================*/

/*============ローディングcss================*/
/* Loading背景画面設定　*/
#splash {
/*fixedで全面に固定*/
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 800;
  background:#fff;
  text-align:center;
  color:#fff;
}

/* Loading画像中央配置　*/
#splash_logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* Loading アイコンの大きさ設定　*/
#splash_logo img {
  width:250px;
  opacity:0;
  animation-name: fadein;
  animation-duration:0.9s; 
  animation-fill-mode: forwards; 
}

@keyframes fadein {
0% {
  opacity: 0;
}
90% {
 opacity: 1;
}
 100% {
  opacity: 1;
} 
}

#splash2 {
    /*fixedで全面に固定*/
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: 700;
	text-align:center;
	color:#fff;
}

/*割れる画面のアニメーション*/
.loader_cover {
    width: 100%;
    height: 50%;
    background-color: #333;
    transition: all .2s cubic-bezier(.04, .435, .315, .9);
    transform: scaleY(1);
}
/*上の画面*/
.loader_cover-up {
    transform-origin: center top;
}

/*下の画面*/
.loader_cover-down {
    position: absolute;
    bottom: 0;
    transform-origin: center bottom;
}
/*クラス名がついたらY軸方向に0*/
.coveranime {
    transform: scaleY(0);
}

/*==================順番に現れる=====================*/

/* アニメーションスタートの遅延時間を決めるCSS*/

.delay-time02{
animation-delay: 0.2s;
}
.delay-time04{
animation-delay: 0.4s;
}
.delay-time06{
	animation-delay: 0.6s;
}
.delay-time08{
	animation-delay: 0.8s;
}
.delay-time09{
	animation-delay: 0.9s;
}
.delay-time10{
	animation-delay: 1s;
}
.delay-time11{
	animation-delay: 1.1s;
}
.delay-time12{
	animation-delay: 1.2s;
}
.delay-time14{
	animation-delay: 1.4s;
}

/*==スタート時は要素自体を透過0にするためのopacity:0;を指定する==*/
.fadeUpMenu{
	opacity: 0;
}

.top_service_r_a{
	opacity:0;
}

.fadeUpTrigger{
	opacity: 0;
}
.fadeUpTitleTrigger{
	opacity: 0;
}

/*==================================================
メニューや要素が順番に表示
===================================*/
/*メニュー*/
.fadeUpMenuGo {
animation-name:fadeUpMenuAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity: 0;
}
@keyframes fadeUpMenuAnime{
  from {
    opacity: 0;
	transform: translateY(50px);/*動く幅*/
  }

  to {
    opacity: 1;
	transform: translateY(0);
  }
}

/*要素*/

.fadeUpContentGo {
animation-name:fadeUpMenuAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity: 0;
}
@keyframes fadeUpMenuAnime{
  from {
    opacity: 0;
	transform: translateY(50px);/*動く幅*/
  }

  to {
    opacity: 1;
	transform: translateY(0);
  }
}

/*==================================================
フェードイン系
===================================*/

/* 左から */

.fadeLeft{
animation-name:fadeLeftAnime;
animation-duration:0.8s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeLeftAnime{
  from {
    opacity: 0;
  transform: translateX(-100px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}
/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
 
.fadeInTrigger,
.fadeUpTrigger,
.fadeDownTrigger,
.fadeLeftTrigger,
.fadeRightTrigger{
    opacity: 0;
}

/* 右から */

.fadeRight{
animation-name:fadeRightAnime;
animation-duration:0.8s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeRightAnime{
  from {
    opacity: 0;
  transform: translateX(100px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}

/* 下から */

.fadeUp{
animation-name:fadeUpAnime;
animation-duration:0.8s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(50px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/*=====textyle======*/
.target {
  opacity: 0;
}
.target span {
  position: relative;
  top: 15px; /*topとleft同時指定で斜めの動き*/
  left: 15px;
  opacity: 0;
}

.target_fast {
  opacity: 0;
}
.target_fast span {
  position: relative;
  top: 15px; /*topとleft同時指定で斜めの動き*/
  left: 15px;
  opacity: 0;
}

.swiper-slide img{
	width:100%;
	height:100vh;
	object-fit: cover;
	
}

.swiper-container{
	position: relative;
	z-index: -999;
}

@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}

.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img{
  animation: zoomUp 10s linear 0s 1 normal both;  
}

/*=== ふわっと表示させる用====*/
body{
	display: none;
}


/*準備中表記*/
.junbityuu_p {
	width: 100%;
	margin-bottom: 400px;
	margin-top: 120px;
}

.junbityuu_p_con {
	width: 1000px;
	margin: 0 auto;
	text-align: center;
}



/*Wordpress化に伴って追記*/

.wp-block-image{
	text-align: center;
}

div.wpcf7 .ajax-loader {
    display: none !important;
}

.wpcf7-spinner{
	display: none !important;
}

.contact_long{
	width:100%;
}

.wpcf7-form p{
	margin-bottom: 15px;
}


.wpcf7-form {
	width: 600px !important;
	margin: 0 auto !important;
}


.top_works_dummybox{
	width:31%;
}



.grecaptcha-badge { visibility: hidden; }

/*2023.1.5 contact form7レイアウト調整*/
.contact_long {
	margin-bottom: 10px;
}

/*2023.1.23 ファイル添付機能追加に伴うレイアウト修正*/
.wpcf7-file{
	margin-bottom: 10px;
}

.wpcf7-textarea{
	margin-bottom: 10px;
}

.top_recruit_con{
	width: 1100px;
	margin: 0 auto;
}

/*worksのカテゴリー(term)が複数登録の時のマージン*/
.top_works_category:nth-child(n+3){
	margin-left: 7px;
}
.sub_works_category:not(:nth-child(1)){
	margin-left: 15px;
}



/*20240909*/

/* 真ん中に設置*/
.pagination {
	margin-top: 100px;
    text-align: center;
}
.pagination ul{
	display: flex;
}

/* 横並びにする*/
.nav-links .page-numbers {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

/* ページタブの共通スタイル*/
.nav-links a.page-numbers ,
.nav-links .current,
.nav-links a.prev,
.nav-links a.next,
.nav-links .dots {
    width: 50px;
    height: 50px;
    text-align: center;
    line-height: 50px;
    background: #fff;
    color: #E37D30;
    /*border-radius: 50%;*/
    margin-right: 12.5px;
	margin-left: 12.5px;
    font-size: 12px;
    font-weight: bold;
    border: 1px solid #E37D30;
}

/* マウスが乗った時の、ボタンの背景の色と文字の色*/
.nav-links a.page-numbers:hover {
    color: #FFF;
    background-color: #E37D30;
    border-color: #E37D30;
    /*border-radius: 50%;*/
	}

/* 現在のページのタブ */
.nav-links .current {
    background: #E37D30;
    color: #FFFFFF;
    padding: 0;
}

/* 前への「＜」、次への「＞」 */
.nav-links a.prev,
.nav-links a.next {
    border: 1px solid #E37D30;
    color: #E37D30;
    position: relative;
}

/* 縦線の共通CSS*/
.nav-links .next::before,
.nav-links .prev::after {
    content: "";
    display: inline-block;
    width: 0.5px;
    height: 40px;
    background-color: rgb(224, 215, 215);
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}


/* 「次へ」の前の縦線位置*/
.nav-links .next::before {
    left: -15px;
}

/*「前へ」の後の縦線位置*/
.nav-links .prev::after {
    right: -15px;
}

/* 数字省略の「・・・」*/
.nav-links .dots {
    background: transparent;
    border: none;
}






/*20240909*/
/*worksのシングルページのその他テキストの編集*/
.sub_works_partnercompany{
	margin-top: 15px;
	margin-bottom: 60px;
	font-size: 88%;
	line-height: 1.9;
}
.sub_works_elsetext{
	margin-bottom: 60px;
	text-align: left;
	margin-top: -50px;
}

/*20240925*/
.contact_confirm_con label{
	display: block;
}
.contact_confirm_answer{
	margin-bottom: 30px;
}
.contact_confirm_td{
	max-width: 360px;
}
.contact_confirm_th{
	padding: 15px 0;
}
.contact_ti{
	font-weight: bold;
	font-size: 175%;
}
.contact-wrapper{
	max-width: 600px;
	margin: 0 auto ;
	margin-top: 120px;
}
.contact_box{
	margin-top: 50px;
	margin-bottom: 50px;
}

.form_btn-back :hover{
	color: #fff;/**/
}


.form_group{
	display: flex;
	flex-wrap: wrap;
	column-gap: 40px;
	margin-top: 100px;
}

.contact_btn_wrapper_confirm{
	width: 280px;
	height:100%;
	position: relative;
	overflow: hidden;
	transition: ease .2s;
	cursor: pointer;
	background-color: #E37D30;/*元の色*/
}
.contact_btn_wrapper_confirm:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background-color: #222;/*切り替わる色*/
	width: 100%;
	height: 100%;
	transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(0, 1);
	transform-origin: right top;

}
.contact_btn_wrapper_confirm:hover:before {
	transform-origin:left top;
	transform:scale(1, 1);
}

.contact_btn_wrapper_confirm input {
	width: 100%;
	height: 100%;
	cursor: pointer;
	background-color: #E37D30;
	color: #fff;/*元の色*/
	border: 1px solid #E37D30;
	padding: 10px 0;
	font-size: 110%;
	position: relative;
	z-index: 5;
	border-radius: 0;
}
.contact_btn_wrapper_confirm input:hover{
	background-color: transparent;
	border: 1px solid #222;
	cursor: pointer;
}


.contact_confirm_back_btn input{
	background-color: #fff;
	color: #E37D30;
}
.contact_confirm_back_btn input:hover{
	border: 1px solid #E37D30;
	color: #fff;/*ホバーした後の色*/
}

.contact_confirm_back_btn{
	background-color: #fff;/*スライドする色*/
}
.contact_confirm_back_btn:before {
	background-color: #E37D30;/*切り替わる色*/
}
.contact_btn_wrapper_confirm .contact_confirm_back_btn :hover{
	border: #E37D30 1px solid;

}


.contact_step{
	max-width: 500px;
	margin: 50px auto;
	display: flex;
	justify-content: space-between;
}
.contact_step_border{
	width: 240px;
	height: 1px;
	border: 1px solid #E37D30;
	margin: 0 10px;
	margin-top: 27px;
}
.contact_step_round{
	width: 55px;
	height: 55px;
	border-radius: 50%;
	background-color: #fff;
	border: 1px solid #E37D30;
}
.contact_step_round p{
	text-align: center;
	padding-top: 18px;
	line-height: 1;
	color: #E37D30;
	font-size: 20px;
}
.contact_step_ti{
	text-align: center;
	font-size: 25px;
	font-weight: bold;
}

.contact_step_t{
	color: #000;
	margin-top: 5px;
	text-align: center;
}
.contact_step_serect .contact_step_round{
	background-color: #E37D30;
}
.contact_step_serect .contact_step_round p{
	color: #fff;
}
.contact_step_serect .contact_step_t{
	color: #E37D30;
	font-weight: bold;
}
.contact_step_setumei{
	text-align: center;
}
.btn_contact_thanks{
	margin-top: 100px;
	text-align: center;
}
.contact_step_setumei{
	margin-bottom: 60px;
}

/*20241009*/
.health{
	width: 90%;
	max-width: 900px;
	margin:0 auto;
}
.health_box{
	
	text-align: center;
	margin: 0 auto;
	margin-bottom: 120px;
}
.health_title{
	font-size: 175%;
	font-weight: bold;
	line-height: 1.2;
	margin-bottom: 20px;
}
.health_title_small{
	font-size: 70%;
}
.health_img{
	margin: 0 auto;
	margin-top: 20px;
}
.health_img img{
	width: 100%;
	height: auto;
}
.health_img{
	margin: 0 auto;
	margin-top: 20px;
	max-width: 900px;
}

.health_img_flex img{
	width: 450px;
	height: auto;
	object-fit: cover;
	margin: 0 auto;
	justify-content: center;
}
.health_img_flex{
	display: flex;
	flex-wrap: wrap;
	margin: 20px auto 0 auto;
	max-width: 900px;
}
.health_text_issue{
	margin:0 auto;
	text-align: left;
}
.health_text_bold{
	margin: 15px auto 0 auto;
	font-weight: bold;
}
.health_text_bold, .health_survey{
	color: navy;
}
.health_text_improvement{
	text-align: left;
	margin: 0 auto;
}
.health_newline{
	margin-top: 10px;
}


/*採用情報追加_250328*/

.recruit_designer {
	width: 100%;
	margin-top: 20px;
	padding: 20px 15px 30px 15px;
	border: solid 1px #E37D30;
	background-color: #fffaf0;
}

.recruit_designer_ti {
	font-size: 175%;
	font-weight: bold;
	color: #E37D30;
	text-align: center;
}

.recruit_designer_group {
	margin-top: 15px;
}

.recruit_designer_a {
	width: 100%;
	background-color: #fff;
	border-radius: 15px;
	padding: 15px 15px 15px 15px;
	margin-bottom: 15px;
}

.recruit_designer_group h4 {
	text-align: center;
	font-weight: bold;
	color: #fff;
	background-color: #E37D30;
	border-radius: 50px;
	padding: 3px 10px;
}

.recruit_designer_group table {
	width: 100%;
}

.recruit_designer_group th,
.recruit_designer_group td {
	display: block;
	width: 100%;
}

.recruit_designer_group th {
	white-space: nowrap;
	padding: 15px 15px 0 15px;
}

.recruit_designer_group td {
	padding: 0 15px 15px 15px;
	margin-top: 5px;
}

.recruit_designer_group tr {
	border-bottom: solid 1px #E0E0E0;
}

.recruit_designer_cocoro {
	text-align: center;
	margin-top: 15px;
}

.recruit_designer_cocoro img {
	width: 60px;
	height: auto;
}

.recruit_designer_detail {
	text-align: center;
	font-weight: bold;
	margin-top: 8px;
}

.recruit_designer .recruit_tel_detail {
	margin-top: 8px;
	width: 100%;
	background-color: #fff;
}

.recruit_designer .recruit_tel_detail p {
	text-align: center;
}

.recruit_designer .recruit_tel_detail .top_service_btn {
	width: 300px;
	margin: 0 auto;
}

/*250605_Instagram追加*/

.top_instagram {
	width: 100%;
}

.top_instagram_con {
	width: 90%;
	margin: 0 auto;
}

.top_instatop {
	margin-bottom: 20px;
}

/*===== 採用終了 ======*/

.recruit_end {
	width: 100%;
	margin-top: 170px;
}

.recruit_end_con {
	width: 90%;
	max-width: 1100px;
	margin: 0 auto;
	text-align: center;
	border: solid 1px #E37D30;
	padding: 30px 20px;
}

.recruit_end_con h3 {
	font-size: 175%;
	font-weight: bold;
	color: #E37D30;
	margin-bottom: 20px;
}

.recruit_end_text {
	margin-top: -10px;
}

.recruit_text_mb {
	margin-bottom: 10px;
}