body, h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, caption, th, td, img, form {
	margin: 0;
	padding: 0;
	border: none;
	font-style: normal;
	font-optical-sizing: auto;
	font-weight: 400;
	list-style-type: none;
	font-family: YakuHanJP, "Noto Sans JP", sans-serif;
	letter-spacing: 0.1em;
	line-height: 1;
	font-size: 1.4rem;
}

body * {
	box-sizing:border-box;
}

figure{
    margin: 0;
    padding: 0;
}

textarea {
	font-size: 100%;
}

*:focus {
outline: none;
}

img {
	max-width: 100%;
	height: auto;
}

html{
	min-height: 620px;
	height: 100%;
	overflow-y: scroll;
	font-size: 62.5%;
	font-feature-settings: "palt" 1;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	text-justify: inter-ideograph;
}

iframe[name="google_conversion_frame"]{
	position: absolute;
	top: 0;
}

body{
	height: 100%;
	background: #fff;
	color: #505050;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

a{
	text-decoration: none;
	color: #505050;
}

a:hover{
	text-decoration: none;
}

a:hover img{
	opacity: .5;
	-webkit-opacity: .5;
	-moz-opacity: .5;
}

a img {
	-webkit-transition: opacity 1s ease-out;
	-moz-transition: opacity 1s ease-out;
	-ms-transition: opacity 1s ease-out;
	transition: opacity 1s ease-out;
}

.inline-block,
.inline-block-pc {
	display:inline-block;
}

input[type="submit"] {
  -webkit-appearance: none;
  border-radius: 0;
}

.sp_view{
	display: none !important;
}

.grecaptcha-badge { visibility: hidden; }

.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.youtube iframe{
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

.link_all {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 100;
}

.linkbutton_arrow a {
	position: relative;
	text-decoration: none;
	outline: none;
	transition: ease .2s;
	display: flex;
	gap: 16px;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-weight: 400;
	align-items: center;
	font-size: 1.6rem;
}

.linkbutton_arrow a::after {
	content: '';
	transition: all .3s;
	width: 48px;
	height: 32px;
	background-image: url(../images/common/arrow_link_bk.png);
	background-size: contain;
	background-repeat: no-repeat;
	right: 0;
	position: relative;
}

.linkbutton_arrow a:hover::after{
	right: 6px;
}

.headline {
	margin-bottom: 40px;
}

.headline h2 {
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-weight: 500;
	font-size: 4.8rem;
	margin-bottom: 20px;
	color: #505050;
}

.headline p {
	color: #505050;
	font-size: 1.6rem;
}

header {
	position: fixed;
	width: 100%;
	z-index: 500;
	padding: 32px 0;
	transition: all ease .5s;
}

.scroll-header header {
	background-color: #fff;
	padding: 16px 0;
}

.header_inner {
	width: 92%;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

header h1 {
	width: 200px;
	transition: all ease .5s;
	position: relative;
	z-index: 1000;
}

.scroll-header header h1{
	width: 120px;
}

#g-nav{
}

#g-nav-list{
}

.main_nav {
	display: flex;
	gap: 32px;
}

.main_nav li {
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-weight: 400;
	font-size: 1.6rem;
}

.main_nav li a{
	position: relative;
}

.main_nav li a::after {
	position: absolute;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	background: #000;
	bottom: 0;
	opacity: 0;
	visibility: hidden;
	transition: 0.3s;
}

.main_nav li a:hover::after {
	visibility: visible;
	bottom: -4px;
	opacity: 1;
}

.button_contact{
}

.button_contact a{
	border: solid 1px;
	padding: 8px 32px;
	border-radius: 24px;
	font-size: 1.4rem;
	transition: all ease .5s;
}

.button_contact a::after {
	height: 0;
}

.button_contact a:hover::after {
	opacity: 0 !important;
}

.button_contact a:hover{
	background-color: #505050;
	color: #fff;
}

.mainvisual_section {
	width:100%;
	height:100dvh;
	padding-top: 106px;
	margin-bottom: 120px;
}

.mainvisual_section_inner {
	width:100%;
	height:100%;
	display: flex;
	flex-wrap: wrap;
	position:relative;
}

.mainvisual_listitem {
	/* width: 25%; */
	width:100%;
	height:100%;
	overflow: hidden;
	position: relative;
}

.mainvisual_listitem img,
.mainvisual_listitem video {
	width:100%;
	height:100%;
	object-fit:cover;
}

/* .mainvisual_listitem figure {
	width: 100%;
	height: 0;
	padding-top: 52%;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	position: relative;
	transition:1s all;
} */

/* .mainvisual_listitem:hover figure{
	transform: scale(1.1, 1.1);
	transition: 0.5s all;
} */

.main_catchcopy {
	position: fixed;
	bottom: 8px;
	left: 0;
	transition: all ease .5s;
	opacity: 1;
	position:absolute;
	bottom:50px;
	left:40px;
}

/* .scroll-header .main_catchcopy{
	opacity: 0;
} */

.main_catchcopy h2 {
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-weight: 400;
	font-size: 4.8rem;
	line-height: 1.2;
	box-decoration-break: clone;
	letter-spacing: 0.05em;
	font-size:38px;
	line-height:65px;
}

.main_catchcopy p {
	font-size: 3.2rem;
	line-height: 1.6;
	box-decoration-break: clone;
}

.main_catchcopy span {
	box-decoration-break: clone;
	background: linear-gradient(transparent 0%, #fff 0%);
	padding: 0 24px;
	display:inline-block;
	background-color:#fff;
	padding:0 15px;
}

.main_catchcopy p span {
	/* padding-bottom: 12px; */
	/* padding-top: 12px; */
	padding: 0 24px 12px;
	line-height: 1.4;
}

article.remodal{
}

article.remodal button{
}

.remodal {
	max-width: 880px;
}

.modal_block_detail{
}

.modal_block_detail h3 {
	text-align: left;
	margin-bottom: 16px;
	font-size: 1.6rem;
}

.modal_block_detail figure{
}

.modal_block_detail .modal_block_text {
	text-align: left;
	margin-top: 16px;
	height: 24vh;
	border: solid #444 1px;
	overflow-y: scroll;
	padding: 16px;
	box-sizing: border-box;
}

.modal_block_detail .modal_block_text p{
	line-height: 1.8;
	margin-bottom: 16px;
}

.modal_block_detail .modal_block_text p:last-child{
	margin-bottom: 0;
}

.modal_block_detail .modal_block_text p a{
	text-decoration: underline;
}

.mainvisual_section .linkbutton_arrow {
	margin: 0 auto;
	width: 92%;
	display: flex;
	justify-content: flex-end;
	margin-top: 40px;
}

.homeabout_section {
	margin-bottom: 120px;
}

.homeabout_section_inner {
	display: flex;
	gap: 8%;
	margin: 0 auto;
	/* width: 80%;
	max-width: 1280px; */
	width:100%;
	max-width:1160px;
	padding:0 40px;
	gap:0;
	justify-content:space-between;
}

.homeabout_block_left{
	/* width: 42%; */
	width:calc( 50% - 20px );
	max-width:510px;
}

.homeabout_block_text {
	margin: 40px 0;
}

.homeabout_block_text p {
	line-height: 2;
	font-size: 1.6rem;
}

.homeabout_block_right{
	/* width: 50%; */
	width:calc( 50% - 20px );
	max-width:510px;
	background-image: url(../images/home/home_about.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}

.recruit_section {
	background-image: url(../images/home/bg_recruit.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	padding: 80px 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin-bottom: 120px;
}

.recruit_section_inner {
	text-align: center;
}

.recruit_section_inner .headline{
}

.recruit_section_inner .headline h2,
.recruit_section_inner .headline p{
	color: #fff;
}

.recruit_block_text {
	margin-bottom: 48px;
}

.recruit_block_text p {
	color: #fff;
	line-height: 2;
	font-size: 1.6rem;
}

.recruit_section .linkbutton_arrow {
	width: 140px;
	margin: 0 auto;
}

.recruit_section .linkbutton_arrow a{
color: #fff;
}

.recruit_section .linkbutton_arrow a::after {
	content: '';
	background-image: url(../images/common/arrow_link_wh.png);
}

.contact_section {
	margin-bottom: 120px;
}

.contact_section_inner {
	/* width: 80%; */
	margin: 0 auto;
	/* max-width: 1280px; */
	width:100%;
	max-width:1040px;
	padding:0 40px;
}

.contact_block_text {
	margin-bottom: 40px;
}

.contact_block_text p {
	line-height: 1.8;
	font-size: 1.6rem;
}

.contact_banner_list{
display: flex;
}

.contact_banner_item {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	background-color: #aaa;
	position: relative;
	height: 0;
	/* 1カラムの場合 */
	width:100%;
	padding-top:20%;
	/* 2カラムの場合 */
	/* width: 50%;
	padding-top: 28%; */
}

.contact_banner_item::after {
	content: '';
	background-image: url(../images/common/arrow_link_wh.png);
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	bottom: 20px;
	right: 20px;
	width: 44px;
	height: 30px;
	transition: all .3s;
}

.contact_banner_item:hover::after{
	right: 24px;
}

.contact_banner_item.bg_contact{
background-image: url(../images/common/bg_contact.jpg);
}

.contact_banner_item.bg_access {
	background-image: url(../images/common/bg_office.jpg);
}

.contact_banner_item .headline {
	position: absolute;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	top: 0;
	left: 0;
	flex-direction: column;
	justify-content: center;
	margin-bottom: 0;
}

.contact_banner_item .headline h2{
	color: #fff;
}

.contact_banner_item .headline p {
	color: #fff;
}

#page-top {
	position: absolute;
	width: 48px;
	right: 2%;
	top: -24px;
}

#page-top a{
	transition: all 0.3s;
}

footer {
	background-color: #F2F2F2;
	position: relative;
}

.footer_top {
	border-bottom: solid 1px #707070;
	padding-bottom: 75px;
	padding-top: 75px;
}

.footer_logo {
	text-align: center;
	max-width: 250px;
	margin: 0 auto;
}

.footer_sitemap {
	margin-top:40px;
}

.footer_sitemap ul {
	display: flex;
	justify-content: center;
	gap: 30px;
}

.footer_sitemap ul li{
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-weight: 400;
}

.footer_sitemap ul li a{
	color: #505050;
}

.footer_snsblock {
	margin-top:30px;
	display:none;
}

.footer_snsblock ul {
	display: flex;
	justify-content: center;
	gap: 20px;
}

.footer_snsblock ul li {
	width: 20px;
}

.footer_snsblock ul li img {
	width: 100%;
	height: auto;
}

.footer_relationship-area {
	width:100%;
	max-width:300px;
	margin:60px auto 0;
	display:flex;
	justify-content:space-between;
	position:relative;
}
.footer_relationship-area::before,
.footer_relationship-area::after {
	content:"";
	display:block;
	width:calc( 100% * 119.3984924527944 / 324 );
	height:1px;
	background-color:#000;
	position:absolute;
	top:50%;
	left:50%;
}
.footer_relationship-area::before {
	transform:translate(-50%,-50%) rotate(-49.540916919211deg);
}
.footer_relationship-area::after {
	transform:translate(-50%,-50%) rotate(49.540916919211deg);
}
.footer_relationship-area > div {
	width:calc( 100% * 280 / 648 );
	aspect-ratio:1/1;
	/* padding:calc( 100% * 30 / 648 ); */
	border:1px solid #000;
	border-radius:50%;
}
.footer_relationship-area > div img {
	width:100%;
	height:100%;
	padding:calc( 100% * 30 / 280 );
	object-fit:contain;
}

.footer_ariamaru {
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	gap:30px;
	width:calc( 100% - 80px );
	max-width:960px;
	padding:20px;
	margin:30px auto 0;
	aspect-ratio:5 / 1;
	background-image:url('../images/common/bg_ariamaru.jpg');
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
}
.footer_ariamaru p {
	color:#fff;
	font-size:15px;
	font-weight:600;
	letter-spacing:0.2em;
	line-height:1;
	width:fit-content;
}
.footer_ariamaru img {
	width:100%;
	max-width:300px;
	mix-blend-mode:difference;
}
@media screen and (max-width:750px) {
	.footer_relationship-area {
		max-width:200px;
		margin:30px auto 0;
	}
	.footer_ariamaru {
		width:100%;
		max-width:260px;
		margin:20px auto 0;
		aspect-ratio:100 / 56;
		gap:15px;
	}
	.footer_ariamaru p {
		font-size:10px;
	}
	.footer_ariamaru img {
		max-width:200px;
	}
}

.footer_groupblock {
	padding: 32px 40px;
	border-bottom: solid 1px #707070;
}

.footer_groupblock_inner {
	display: flex;
	flex-wrap:wrap;
	justify-content: center;
	align-items: center;
	gap:25px 50px;
	/* width: 80%; */
	margin: 0 auto;
	/* max-width: 694px; */
}

.footer_groupblock_inner p {
	color: #505050;
	/* font-size: 2rem; */
	font-size:14px;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-weight: 400;
	/* min-width: 240px; */
	width:160px;
}

.footer_groupblock_inner ul {
	display: flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items: center;
	gap:25px 50px;
}

.footer_groupblock_inner ul li.group_hd {
	width:119px;
}

.footer_groupblock_inner ul li.group_kensuke {
	width:43px;
}

.footer_groupblock_inner ul li.group_unimobi {
	width:52px;
}

.footer_groupblock_inner ul li.group_vrejob {
	width:34px;
}

.footer_groupblock_inner ul li.group_teshigoto {
	width:39px;
}

.footer_groupblock_inner ul li.group_ariamaru {
	width:120px;
}

.footer_groupblock_inner ul li.group_uchino {
	width:100px;
}

.footer_groupblock_inner ul li.group_plus {
	width:120px;
}

.footer_bottom {
	/* padding: 24px 0; */
	height:30px;
}

.footer_bottom_inner {
	display: flex;
	justify-content: space-between;
	align-items:center;
	/* width: 92%; */
	max-width:1280px;
	height:100%;
	padding:0 40px;
	margin: 0 auto;
}

.footer_bottom_inner p,
.footer_bottom_inner a{
	color: #505050;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-weight: 400;
	font-size: 1.2rem;
	font-size:10px;
}

/* 下層ページ共通 */
.otherpage{
	padding-top: 160px;
	margin-bottom: 120px;
}

.otherpage .headline{
	margin-bottom: 80px;
}

/* パンくずリスト */

.breadcrumb_block {
	margin-bottom: 80px;
}

.breadcrumb_block ul{
	list-style: none;
}

.breadcrumb_block li {
	display: inline;
	line-height: 1.4;
}

.breadcrumb_block li a{
	color: inherit;
	text-decoration: none;
}

.breadcrumb_block li + li:before{
	content: ">";
	margin:.5em;
}

/* お問い合わせページ */
.contactpage_wrapper {
	margin: 0 auto;
	width: 80%;
	max-width: 1280px;
}

.contactpage_wrapper_inner{
}

.contactpage_wrapper_inner dl{
}

.contactpage_wrapper_inner dt {
	line-height: 1.4;
	float: left;
	clear: both;
	padding-top: 12px;
}

.contactpage_wrapper_inner dt small{
	color: #dc3232;
	margin-left: 8px;
}

.contactpage_wrapper_inner dt p{
	line-height: 1.4;
	font-weight: bold;
}

.contactpage_wrapper_inner dd {
	margin-left: 180px;
	margin-bottom: 40px;
	line-height: 1.4;
}

.contactpage_wrapper_inner .acceptance{
}

.contactpage_wrapper_inner .sendbutton{
	width:100%;
	max-width:300px;
	margin:0 auto;
}

.contactpage_wrapper_inner dd input {
	border: solid 1px;
	font-size: 1.6rem;
	padding: 12px;
	letter-spacing: 0.1em;
	width: 100%;
	border-radius: unset;
	box-sizing: border-box;
}

.contactpage_wrapper_inner dd textarea {
	width: 100%;
	border: solid 1px;
	box-sizing: border-box;
	background-color: #fff;
	padding: 12px;
	font-size: 1.6rem;
}

.contactpage_wrapper_inner dd select {
	padding: 4px;
}

.contactpage_wrapper_inner .acceptance {
	text-align: center;
	line-height: 1.8;
	margin-bottom: 24px;
}

.contactpage_wrapper_inner .acceptance a{
	text-decoration: underline;
}

.contactpage_wrapper_inner .wpcf7-list-item label {
	display: flex;
	flex-direction: row;
	align-items: center;
}

.contactpage_wrapper_inner .acceptance input {
	width: 20px;
	height: 20px;
	margin: 0;
	margin-right: 8px;
	border: solid 1px;
}

.contactpage_wrapper_inner .sendbutton input {
	display: inline-block;
	text-align: center;
	text-decoration: none;
	outline: none;
	background-color: #fff;
	border: 2px solid #111;
	color: #111;
	width: 100%;
	padding: 12px 0;
	font-weight: bold;
	letter-spacing: 0.1em;
}

.contactpage_wrapper_inner .sendbutton input:disabled {
	opacity: 0.4;
}

.contactpage_wrapper_inner .sendbutton input::before,
.contactpage_wrapper_inner .sendbutton input::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}

.contactpage_wrapper_inner .sendbutton input,
.contactpage_wrapper_inner .sendbutton input::before,
.contactpage_wrapper_inner .sendbutton input::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.contactpage_wrapper_inner .sendbutton input:hover {
	background-color: #111;
	border-color: #111;
	color: #fff;
}

.contactpage_wrapper_inner .wpcf7-not-valid-tip {
	color: red;
	margin-top: 8px;
}

/* 個人情報保護方針ページ */
.pppage_wrapper{
	margin: 0 auto;
	width: 80%;
	max-width: 1280px;
}

.pppage_wrapper_inner{
}

.pppage_item{
	margin-bottom: 40px;
}

.pppage_item h3{
	font-weight: bold;
	font-size: 2rem;
	margin-bottom: 8px;
	line-height: 1.4;
	padding-left:1.35em;
	text-indent:-1.35em;
}

.pppage_item h4{
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: 8px;
	line-height: 1.4;
	padding-left:1.9em;
	text-indent:-1.9em;
}

.pppage_item p {
	line-height: 1.8;
	margin-bottom: 12px;
}

.pppage_item a{
	text-decoration: underline;
	word-break:break-all;
}

.pppage_item ol{
	list-style: none;
	counter-reset: number;
}

.pppage_item li {
	position: relative;
	padding-left: 24px;
	margin-bottom: 8px;
	line-height: 1.4;
}

.pppage_item li::before {
	counter-increment: number;
	content: counter(number) '.';
	position: absolute;
	left: 0;
}

.pppage_item_small {
	margin-bottom: 16px;
	padding-left: 16px;
}

.pppage_name{
	text-align: right;
}

/* お知らせ詳細ページ */
.newspage_wrapper {
	width: 80%;
	margin: 0 auto;
	max-width: 1280px;
}

.newspage_wrapper_inner{
}

.newspage_item{
}

.newspage_item_title {
	font-size: 2.8rem;
	font-weight: 600;
	margin-bottom: 32px;
	border-left: solid 4px;
	padding-left: 16px;
	padding-bottom: 4px;
	line-height: 1.4;
}

.newspage_item .date {
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-weight: 600;
	font-size: 1.6rem;
	margin-bottom: 16px;
}

.newspage_item_thumbnail{
}

.newspage_item_detail {
	margin-top: 40px;
}

.newspage_item_detail p {
	line-height: 1.8;
	margin-bottom: 32px;
	font-size: 1.6rem;
}

.newspage_item_detail h2,
.newspage_item_detail h3,
.newspage_item_detail h4,
.newspage_item_detail h5,
.newspage_item_detail h6{
	line-height: 1.8;
	margin-bottom: 32px;
}

.newspage_item_detail img{
	margin-bottom: 32px;
}

.newspage_navigation {
	position: relative;
	border-top: solid;
	padding-top: 50px;
	margin-top: 80px;
}

.navigation_prev {
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-weight: 500;
	font-size: 2.4rem;
	position: absolute;
	left: 16px;
	top: 24px;
	text-decoration: underline;
}

.navigation_next {
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-weight: 500;
	font-size: 2.4rem;
	position: absolute;
	right: 16px;
	top: 24px;
	text-decoration: underline;
}

/* お知らせ一覧ページ */
.newspage_post_list{
}

.newspage_post_list_item {
	display: flex;
	align-items: baseline;
	gap: 40px;
	border-bottom: solid 1px;
	margin-bottom: 32px;
	padding: 0 16px 32px;
}

.newspage_post_list_item .date {
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-weight: 600;
	font-size: 1.6rem;
}

.newspage_post_list_item h3 {
	font-size: 1.8rem;
	line-height: 1.4;
	font-weight: 600;
}

/* Aboutページ */
.aboutpage_wrapper {
	width: 80%;
	margin: 0 auto;
	max-width: 1280px;
}

.aboutpage_wrapper_inner{
}

.aboutpage_middle_block {
	margin-bottom: 80px;
}

.aboutpage_catchcopy {
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-weight: 400;
	font-size: 4.8rem;
	line-height: 1.2;
	box-decoration-break: clone;
	letter-spacing: 0.05em;
	margin-bottom: 48px;
}

.aboutpage_catchcopy small {
	font-size: 3.4rem;
	letter-spacing: 0.01em;
	font-weight: 500;
}

.aboutpage_middle_block p {
	line-height: 1.8;
	font-size: 1.6rem;
	/* max-width: 640px; */
}

.aboutpage_middle_block p + p {
	margin-top:1em;
}

.aboutpage_title {
	font-size: 2rem;
	font-weight: 600;
	margin-bottom: 40px;
}

.aboutpage_middle_block dl {
	border: solid;
	padding: 32px;
	box-sizing: border-box;
}

.aboutpage_middle_block dt {
	clear: left;
	float: left;
	width: 160px;
	line-height: 1.6;
	font-weight: 600;
	padding-left: 8px;
	box-sizing: border-box;
}

.aboutpage_middle_block dd {
	padding-left: 160px;
	line-height: 1.6;
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: solid 1px;
}

.aboutpage_middle_block dd:last-child {
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}

/* 実績ページ */
.workspage_wrapper{
	width: 80%;
	margin: 0 auto;
	max-width: 1280px;
}

.workspage_wrapper_inner{
}

.workspage_button_list {
	display: flex;
	gap: 24px;
}

.workspage_button_list .link_button{
}

.workspage_button_list .link_button a {
	color: #fff;
	background-color: #505050;
	text-align: center;
	display: block;
	padding: 12px 48px;
	border-radius: 32px;
	font-weight: 600;
	font-size: 1.5rem;
	transition: all ease .5s;
	border: solid 1px;
	box-sizing: border-box;
}

.workspage_button_list .link_button a:hover{
	color: #505050;
	background-color: #fff;
}

.workspage_wrapper .contactpage_wrapper_inner .lead-text {
	font-size:1.6rem;
	line-height:1.8;
	text-align:center;
	margin-bottom:40px;
}

/* 採用情報ページ */
/* 幅 880px 以下 */
@media screen and (max-width:880px) {
	.openbtn1 {
		width: 48px;
		height: 48px;
		cursor: pointer;
		position: fixed;
		top: 24px;
		z-index: 1000;
		position: absolute;
		right: 12px;
		transition: all ease .5s;
	}

	.scroll-header .openbtn1 {
		top: 4px;
	}

	.openbtn1 span {
		display: inline-block;
		transition: all .4s;
		position: absolute;
		height: 2px;
		background-color: #000;
		right: 7px;
		width: 72%;
	}

	.openbtn1 span:nth-of-type(1) {
		top: 12px;
	}

	.openbtn1 span:nth-of-type(2) {
		top: 24px;
	}

	.openbtn1 span:nth-of-type(3) {
		top: 36px;
	}

	.openbtn1.active span:nth-of-type(1) {
		top: 16px;
		transform: translateY(6px) rotate(-32deg);
	}

	.openbtn1.active span:nth-of-type(2) {
		display: none;
	}

	.openbtn1.active span:nth-of-type(3) {
		top: 28px;
		transform: translateY(-6px) rotate(32deg);
	}

	#g-nav {
		position: fixed;
		z-index: -1;
		opacity: 0;
		transition: all 0.3s;
		right: 0;
		box-sizing: border-box;
		bottom: unset;
		left: unset;
		width: 48%;
		height: 100%;
		pointer-events: none;
		box-sizing: border-box;
		border-left: 1px solid;
	}

	#g-nav.panelactive{
		padding:0 15px;
		background-color: #fff;
		opacity: 1;
		top: 0;
		right: 0;
		z-index: 999;
		pointer-events: unset;
	}

	#g-nav-list {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 100%;
	}

	.main_nav {
		width:100%;
		max-width:300px;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 40px;
	}

	.main_nav li {
		font-size: 3.2rem;
		text-align: center;
		width:100%;
	}

	.main_nav li a {
		display:block;
		width:fit-content;
		margin:0 auto;
	}

	.main_nav li.button_contact a {
		width:100%;
		padding: 8px 0;
		border-radius: 40px;
		font-size: 2.8rem;
	}

	.main_nav li small{
		display: block;
		font-size: 1.2rem;
		margin-top: 8px;
		font-weight: 600;
	}
}

/* 幅 880px 以上 */
@media (min-width: 880px) {
	.main_nav li small{
		display: none;
	}
}

/* 幅 751px 以上 */
@media (min-width: 751px) {
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}

	.button_contact span{
    display: none;
	}
}

@media screen and (max-width:1050px) {
	.tb_view {
		display:none !important;
	}
}

@media screen and (max-width:1000px) {
	.headline h2 {
		font-size:3.8rem;
	}
}

@media screen and (max-width:750px) {
	body, h1, h2, h3, h4, h5, h6, p, address,
	ul, ol, li, dl, dt, dd,
	table, caption, th, td, img, form {
		-webkit-text-size-adjust: 100%;
	}

	textarea{
		font-size: 100%;
	}

	img {
		max-width: 100%;
		height: auto;
	}

	hr{
		display: none;
	}

	html{
		min-height: 620px;
		height: 100%;
		overflow-y: scroll;
	}

	iframe[name="google_conversion_frame"]{
		position: absolute; top: 0;
	}

	body{
		height: 100%;
			font-family: arial,sans-serif;
		background: #fff;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}

	a{
		text-decoration: none;
	}

	.inline-block-pc {
		display:inline;
	}

	.pc_view{
		display: none !important;
	}

	.sp_view{
		display: block !important;
	}

	/* 共通部分 */
	.headline h2 {
		font-size: 3.2rem;
	}

	/* header */
	header {
		padding: 22px 0;
	}

	header h1,
	.scroll-header header h1 {
		width: 140px;
	}

	.scroll-header header {
		padding: 22px 0;
	}

	.openbtn1 {
		top: 12px !important;
	}

	#g-nav.panelactive {
		width: 100%;
		overflow-y: scroll;
	}

	#g-nav-list {
		display: flex;
		justify-content: flex-start;
		padding: 140px 0 120px;
		overflow-y: scroll;
		height: auto;
		flex-direction: column;
		gap: 48px;
	}

	.main_nav li {
		font-size: 3.2rem;
	}

	.button_contact a {
		font-size: 2.4rem;
		/* padding: 8px 64px; */
	}

	.sub_nav{
		display: flex !important;
		flex-wrap: wrap;
		list-style: none;
	}

	.sub_nav li {
		font-size: 1.6rem;
	}

	.sub_nav li:not(:last-of-type)::after {
		content: "/";
		margin: 0 .6em; /* 記号の左右の余白 */
	}

	.main_nav li small {
		font-size: 1.4rem;
		margin-top: 12px;
		letter-spacing: 0.05em;
	}

	/* mainvisual */
	.mainvisual_section {
		padding-top: 72px;
		margin-bottom: 64px;
	}

	/* .mainvisual_listitem {
		width: 50%;
	} */

	.main_catchcopy {
		bottom:25px;
		left:25px;
	}

	.main_catchcopy h2 {
		font-size: 2.8rem;
		line-height: 1.6;
		font-size:25px;
		line-height:44px;
	}

	.main_catchcopy p {
		font-size: 1.6rem;
	}

	.main_catchcopy span {
		padding: 4px 8px;
		padding:0 10px;
	}

	.main_catchcopy p span {
		padding: 0 8px 12px;
	}

	.mainvisual_section .linkbutton_arrow {
		margin-top: 20px;
	}

	.remodal {
		width: 96%;
	}

	.modal_block_detail .modal_block_text {
		height: 32vh;
	}

	/* home about */
	.homeabout_section {
		margin-bottom: 80px;
	}

	.homeabout_section_inner {
		display: flex;
		flex-direction: column;
		/* width: 88%; */
		padding:0 25px;
	}

	.homeabout_block_left {
		width: 100%;
		max-width:none;
	}

	.homeabout_block_text {
		margin-bottom: 24px;
	}

	.homeabout_block_right {
		width: 100%;
		max-width:none;
		height: 0;
		padding-top: 70%;
		margin-top: 40px;
	}

	/* home recruit */
	.recruit_section {
		margin-bottom: 64px;
	}

	.recruit_block_text {
		text-align: left;
		margin: 0 auto 24px;
		width: 88%;
	}

	.recruit_block_text br{
		display: none;
	}

	/* 共通Contact */
	.contact_section {
		margin-bottom: 80px;
	}

	.contact_section_inner {
		/* width: 88%; */
		padding:0 25px;
	}

	.contact_banner_list{
		display: flex;
		flex-direction: column;
	}

	.contact_banner_item {
		width: 100%;
		padding-top: 56%;
	}

	/* footer */
	.footer_top {
		padding-bottom: 48px;
		padding-top: 64px;
		padding: 40px 25px;
	}

	.footer_logo {
		/* width: 48%; */
		/* max-width: unset; */
		max-width:143px;
		/* margin-bottom: 20px; */
	}

	.footer_groupblock {
		padding:25px 25px 35px;
	}
	.footer_groupblock_inner {
		display: flex;
		flex-direction: column;
		gap:18px 24px;
		/* width: 88%; */
	}

	.footer_groupblock_inner ul {
		gap: 24px;
	}

	.footer_bottom {
		height:auto;
	}
	.footer_bottom_inner p{
		line-height: 1.4;
		font-size: 1rem;
		text-align: center;
		margin:0 auto;
	}

	.otherpage {
		padding-top: 120px;
	}

	.otherpage .headline {
		margin-bottom: 52px;
	}

	.breadcrumb_block {
		margin-bottom: 48px;
	}

	.pppage_wrapper {
		width: 92%;
	}

	.pppage_item h3 {
		font-size: 1.8rem;
	}

	.contactpage_wrapper {
		width: 92%;
	}

	.contactpage_wrapper_inner dt{
		float: unset;
		clear: unset;
	}

	.contactpage_wrapper_inner dd {
		margin-left: 0;
		margin-bottom: 24px;
		margin-top: 8px;
	}

	/* お知らせ詳細ページ */
	.newspage_wrapper {
		width: 92%;
	}

	.newspage_item .date {
		font-size: 1.4rem;
	}

	.newspage_item_title {
		font-size: 2rem;
		padding-left: 12px;
		padding-bottom: 4px;
	}

	.newspage_item_detail p {
		margin-bottom: 24px;
		font-size: 1.4rem;
	}

	/* お知らせ一覧ページ */
	.newspage_post_list_item {
		display: flex;
		flex-direction: column;
		padding: 0 0 24px;
		gap: 12px;
		margin-bottom: 24px;
	}

	.newspage_post_list_item .date {
		font-size: 1.4rem;
	}

	.newspage_post_list_item h3 {
		font-size: 1.6rem;
	}

	/* Aboutページ */
	.aboutpage_wrapper {
		width: 92%;
	}

	.aboutpage_catchcopy {
		font-family: "Zen Kaku Gothic Antique", sans-serif;
		font-size: 2.4rem;
		line-height: 1.2;
		margin-bottom: 40px;
	}

	.aboutpage_catchcopy small {
		font-size: 1.8rem;
	}

	.aboutpage_middle_block {
		margin-bottom: 64px;
	}

	.aboutpage_middle_block p {
		font-size: 1.4rem;
		max-width: unset;
	}

	.aboutpage_title {
		font-size: 1.6rem;
		margin-bottom: 24px;
	}

	.aboutpage_middle_block dl {
		padding: 24px;
	}

	.aboutpage_middle_block dt {
		clear: unset;
		float: unset;
		width: auto;
		padding-left: 0;
		font-size: 1.6rem;
		margin-bottom: 8px;
	}

	.aboutpage_middle_block dd{
		padding-left: 0;
	}

	.workspage_wrapper {
		width: 92%;
		max-width: unset;
	}

	.workspage_button_list {
		display: flex;
		flex-direction: column;
	}

	.workspage_button_list .link_button a {
		padding: 12px;
		width: 80%;
		line-height: 1.4;
	}
}

@media screen and (max-width:960px) {
	.footer_groupblock_inner {
		flex-direction:column;
		gap:35px;
	}
	.footer_groupblock_inner ul {
		width:100%;
		max-width:500px;
	}
}

@media screen and (max-width:750px) {
	.footer_groupblock_inner ul {
		max-width:400px;
	}
}

@media screen and (max-width:450px) {
	.footer_groupblock_inner ul {
		max-width:260px;
	}
}

@media screen and (max-width:375px) {
	.sub_nav {
		flex-direction:column;
		gap:20px;
	}
	.sub_nav li {
		text-align:center;
	}
	.sub_nav li:not(:last-of-type)::after {
		display:none;
	}
}