@charset "UTF-8";
/*
Theme Name: works-inc-net.co.jp
Description: works-inc-net.co.jp
Version: 2026.4
Author: YH
*/
/* ------------------------------------------
   Reset
------------------------------------------ */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-style: normal;
    font-weight: normal;
    font-size: 100%;
    vertical-align: baseline;
}
* {
    outline: none;
}
body {
    line-height: 1;
}
h1, h2, h3, h4, h5, h6 {
    font-weight: normal;
    line-height: 1.5em;
}
ol, ul {
    list-style: none;
}
blockquote {
    quotes: none;
}
blockquote:before, blockquote:after {
    content: '';
    content: none;
}
del {
    text-decoration: line-through;
}
/* tables still need 'cellspacing="0"' in the markup */
table {
    border-collapse: collapse;
    border-spacing: 0;
}
caption, th {
    text-align: left;
}
a:focus {
    outline: none;
}
a img {
    border: none;
}
input, button, select, textarea {
    border-radius: 0;
    -webkit-appearance: none;
    appearance: none;
}
button {
    background: none;
    border: none;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    padding: 0;
	font-family: "游ゴシック", "YuGothic", "Yu Gothic", sans-serif;
}
/* Style
-------------------------------------------------------------- */
body {
    height: 100%;
    font-size: 16px;
    line-height: 2em;
    background: #fff;
    color: #151515;
	font-family: "游ゴシック", "YuGothic", "Yu Gothic", sans-serif;
    font-weight: 400;
    transition: opacity 0.6s ease;
    -webkit-print-color-adjust: exact;
    -webkit-text-size-adjust: none;
    /* font-feature-settings: "palt"; */
    opacity: 0;
}
body#inner,
body.show {
    opacity: 1;
}
body.busy {
	overflow: hidden;
}
body p {
    color: inherit;
    font-size: inherit;
    line-height: 2em;
    letter-spacing: 0;
    font-weight: 400;
}
a, a img, button {
    text-decoration: none;
    font-weight: 500;
    color: #151515;
    transition: all 0.3s ease;
}
.pc_view a:hover, .pc_view button:hover {
    opacity: 0.75;
}
span {
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
}
pictuire, img {
    display: block;
    max-width: 100%;
    height: auto;
}
h1, h2, h3, h4, h5, h6 {
    /* line-height: inherit; */
}
*[data-view=pc] {
    display: block !important;
}
*[data-view=sp] {
    display: none !important;
}
.f_en {
	font-family: "futura-pt", sans-serif;
	letter-spacing: 0.03em;
	font-weight: 500;
}

/* =============================
  Common
============================= */
.outline {
    position: relative;
    /* overflow: hidden; */
    min-width: 1160px;
    overflow: hidden;
}
.main {
	padding-top: 80px;
}
.scrollactive.fadein {
    position: relative;
    top: 20px;
    transition: all ease 1s;
    opacity: 0;
}
.scrollactive.fadein.active {
    opacity: 1;
    top: 0;
}

/*============================
header
============================*/
header {
	position: fixed;
	width: 100%;
	z-index: 100;
	background: #fff;
}
header > .inner {
	display: flex;
	height: 80px;
	align-items: center;
	padding: 0 50px;
}
header .logo {
	display: block;
	width: 147px;
}
.pc_view header .gmenu {
	display: block !important;
	opacity: 1 !important;
	margin-left: auto;
}
header .gmenu ul {
	display: flex;
	gap: 0 10px;
}
header .gmenu ul li {
	
}
header .gmenu ul li a {
	font-size: 14px;
	display: block;
	line-height: 1em;
	padding: 10px;
}
footer {

}
footer .contact {background: #000;display: flex;justify-content: right;padding: 12px 60px;}
footer .contact a {display: block;color: #fff;font-size: 15px;background: url(./images/icon_contact.webp) no-repeat right center / 42px auto;padding: 10px 65px 10px 10px;font-weight: normal;}
footer .inner {padding: 63px 0 100px 0;}
footer .inner .logo {display: block;width: 190px;margin: 0 auto;}
footer .inner .copyright {text-align: center;font-size: 13px;margin-top: 50px;font-weight: normal;}

/**********************************************************/
/* common */
/**********************************************************/
.content {
	
}
ul.newslist {
	
}
ul.newslist li {
	border-bottom: 1px solid #fff;
}
ul.newslist li a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 24px 0;
}
ul.newslist li a .date {
	font-size: 10px;
	color: #fff;
	background: #000;
	line-height: 1em;
	padding: 5px 0;
	width: 80px;
	text-align: center;
}
ul.newslist li a .title {
	width: calc(100% - 120px);
	color: #fff;
	line-height: 1.5em;
	font-size: 14px;
}
ul.newslist li.nopost {
	
}
.hstyle {
	font-size: 22px;
	letter-spacing: 0.23em;
	text-align: center;
} 
.hstyle::before {
	content: "-";
	display: inline-block;
	margin-right: 0.3em;
} 
.hstyle2 {
	font-size: 68px;
	letter-spacing: 0.2em;
	text-align: center;
} 
.leadstyle {
	font-size: 40px;
	font-weight: bold;
	line-height: 1.8em;
	text-align: center;
	margin-top: 15px;
}
.btstyle {
	display: flex;
	width: 264px;
	height: 58px;
	text-align: center;
	border: 1.5px solid #000;
	margin: 0 auto;
	align-items: center;
	justify-content: center;
	margin-top: 30px;
	position: relative;
}
.btstyle::after {
	content: "";
	display: block;
	position: absolute;
	right: 20px;
	top: 50%;
	width: 6px;
	height: 6px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	transform: translate(0, -50%) rotate(45deg);
	transition: all ease 0.3s;
}
.btstyle span {
	font-size: 16px;
	letter-spacing: 0.1em;
}
.pc_view .btstyle:hover {background: #000; color: #fff;opacity: 1;}
.pc_view .btstyle:hover::after {
	border-color: #fff;
}
.btstyle.w {border-color: #fff;color: #fff;}
.btstyle.w::after {
	border-color: #fff;
}
.pc_view .btstyle.w:hover {background: #fff; color: #000;opacity: 1;}
.pc_view .btstyle.w:hover::after {
	border-color: #000;
}
.introstyle {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 58px;
}
.introstyle .img {
  width: 47%;
}
.introstyle .img img {
	
}
.introstyle .info {
	width: 53%;
	text-align: center;
}
.introstyle .info .title {
	font-size: 30px;
	font-weight: bold;
}
.introstyle .info .text {
	font-size: 17px;
	color: #898989;
	margin-top: 20px;
}
.fboxstyle {
	display: flex;
	justify-content: space-between;
	margin-top: 80px;
}
.fboxstyle .box {
	width: calc((100% - 110px) / 3);
}
.fboxstyle .box .img {
	border: 1px solid #ccc;
}
.fboxstyle .box .info {
	margin-top: 25px;
}
.fboxstyle .box .info .title {
	font-size: 24px;
	text-align: center;
	line-height: 1.6em;
	font-weight: bold;
}
.fboxstyle .box .info .text {
	text-align: center;
	font-size: 17px;
	color: #898989;
	margin-top: 20px;
}
.secstyle {
	margin-top: 140px;
}
.secstyle  > .inner {
	background: url(./images/img_product.webp) no-repeat center center / cover;
	height: 720px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	flex-direction: column;
}
.secstyle .lead {
	font-size: 28px;
	font-weight: bold;
	text-align: center;
	line-height: 1.8em;
	margin: 6px 0 20px 0;
}
.secstyle .text {
	font-size: 17px;
	text-align: center;
	line-height: 2.2em;
	margin-top: 4px;
}

/**********************************************************/
/* visual */
/**********************************************************/
#index .visual {
	position: relative;
}
#index .visual .slider {
	
}
#index .visual .slider .wp-block-gallery {
	
}
#index .visual .slider .wp-block-gallery figure {
	
}
#index .visual .slider .wp-block-gallery figure img {
	height: 720px !important;
	width: 100% !important;
	object-fit: cover !important;
	flex: none !important;
}
#index .visual .information {
	position: absolute;
	right: 0;
	top: 0;
	width: 600px;
	height: 100%;
	background: #0000002e;
	display: flex;
	align-items: end;
	box-sizing: border-box;
	padding: 0 70px 130px 70px;
}
#index .visual .information > .inner {
	width: 100%;
	box-sizing: border-box;
	color: #fff;
}
#index .visual .information h2 {
	text-align: left;
}#index .visual .information .wrap {
	margin-top: 10px;
	max-height: 300px;

	/* スクロール制御 */
	overflow-y: scroll;
	overflow-x: hidden;

	/* スクロールバーが出る分のレイアウト崩れ防止（対応ブラウザ） */
	scrollbar-gutter: stable;

	/* Firefox用 */
	scrollbar-width: auto;

	/* iOS系の慣性スクロール */
}

/* Chrome / Safari */
#index .visual .information .wrap::-webkit-scrollbar {
	width: 10px;
}

#index .visual .information .wrap::-webkit-scrollbar-thumb {
	background: rgba(0,0,0,0.3);
	border-radius: 5px;
}

#index .visual .information .wrap::-webkit-scrollbar-track {
	background: transparent;
}

/**********************************************************/
/* philosophy */
/**********************************************************/
#index .philosophy {
	margin-top: 140px;
}
#index .philosophy > .inner {
	max-width: 1340px;
	width: calc(100% - 100px);
	margin: 0 auto;
}

/**********************************************************/
/* aboutus */
/**********************************************************/
#index .aboutus {
	margin-top: 140px;
}
#index .aboutus > .inner {
	max-width: 1340px;
	width: calc(100% - 100px);
	margin: 0 auto;
}
#index .aboutus .flow {
	margin-top: 100px;
	background: #f1f1f2;
}
#index .aboutus .flow > .inner {
	max-width: 1340px;
	width: calc(100% - 100px);
	margin: 0 auto;
	padding: 65px 0;
}
#index .aboutus .flow h3 {
	text-align: center;
	font-size: 30px;
	font-weight: bold;
	line-height: 1.8em;
}
#index .aboutus .flow .detail {
	display: flex;
	justify-content: space-between;
	margin-top: 51px;
}
#index .aboutus .flow .detail .box {
	background: url(./images/bg_about_flow1.webp) no-repeat center center / contain;
	aspect-ratio: 751 / 1413;
	box-sizing: border-box;
	position: relative;
	width: 27.9%;
	padding: 2% 7% 1% 3%;
}
#index .aboutus .flow .detail .box2 {width: 45.6%;background-image: url(./images/bg_about_flow2.webp);aspect-ratio: 1229 / 1413;}
#index .aboutus .flow .detail .box3 {width: 24.5%;background-image: url(./images/bg_about_flow3.webp);aspect-ratio: 660 / 1413;padding-right: 3%;}
#index .aboutus .flow .detail .box .title {
	text-align: center;
	font-size: 21px;
	text-decoration: underline;
}
#index .aboutus .flow .detail .box .img {
	margin-top: 20px;
}
#index .aboutus .flow .detail .box ul.list {margin-top: 16%;}
#index .aboutus .flow .detail .box ul.list li {
	font-size: 20px;
	font-weight: bold;
	color: #898989;
	line-height: 1.7em;
}
#index .aboutus .flow .detail .box2 .lead {
	font-size: 20px;
	font-weight: bold;
	color: #898989;
	line-height: 1.7em;
	text-align: center;
	margin-top: 3%;
}
#index .aboutus .flow .detail .box2 .text {
	font-size: 17px;
	color: #898989;
	margin-top: 2%;
	text-align: center;
}
#index .aboutus .flow .detail .box3 .note {
	font-size: 17px;
	color: #898989;
	margin-top: 10%;
}
@media screen and (max-width: 1440px) {
	#index .aboutus .flow .detail .box .title {
		font-size: 1.45vw;
	}
	#index .aboutus .flow .detail .box .img {
		margin-top: 20px;
	}
	#index .aboutus .flow .detail .box ul.list {margin-top: 16%;}
	#index .aboutus .flow .detail .box ul.list li {
		font-size: 1.4vw;
	}
	#index .aboutus .flow .detail .box2 .lead {
		font-size: 1.4vw;
	}
	#index .aboutus .flow .detail .box2 .text {
		font-size: 1.18vw;
	}
	#index .aboutus .flow .detail .box3 .note {
		font-size: 1.18vw;
	}
}

/**********************************************************/
/* strength */
/**********************************************************/
#index .strength {
	margin-top: 140px;
}
#index .strength > .inner {
	max-width: 1340px;
	width: calc(100% - 100px);
	margin: 0 auto;
}

/**********************************************************/
/* product */
/**********************************************************/
#index .product {
	margin-top: 140px;
}
#index .product > .inner {
	
}
#index .product .list {padding-top: 30px;}
#index .product .list ul {
	display: flex;
	gap: 10px;
	justify-content: center;
}
#index .product .list ul li {
	
}
#index .product .list ul li p {
	line-height: 1.1em;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 2.2em;
	font-size: 17px;
	font-weight: 400;
}
#index .product .list ul li .img {
	width: 120px;
	margin-top: 5px;
}

/**********************************************************/
/* philosophy2 */
/**********************************************************/
#index .philosophy2 {
	margin-top: 200px;
}
#index .philosophy2 > inner {
	background-image: url(./images/img_philosophy.webp);
}

/**********************************************************/
/* value */
/**********************************************************/
#index .value {
	margin-top: 140px;
}
#index .value > .inner {
	max-width: 1340px;
	width: calc(100% - 100px);
	margin: 0 auto;
}
#index .value .list {
	position: relative;
	margin-top: 36px;
	display: flex;
	flex-wrap: wrap;
	padding: 0 8%;
	justify-content: space-between;
	gap: 90px 0;
	padding-top: 120px;
}
#index .value .list::before {
	content: "";
	display: block;
	width: 100%;
	height: 620px;
	background: url(./images/img_value.webp) no-repeat center center / cover;
	position: absolute;
	left: 0;
	top: 0;
}
#index .value .list .box {
	position: relative;
	background: #fff;
	border: 1px solid #c7c7c7;
	width: calc((100% - 110px) / 2);
	box-sizing: border-box;
	text-align: center;
	padding: 36px 0 50px 0;
}
#index .value .list .box.wide {
	margin: 0 0 134px calc((100% + 110px) / 2);
	padding: 56px 0 80px 0;
}
#index .value .list .box .title {
	font-size: 25px;
	font-weight: bold;
	border-bottom: 1px solid #c7c7c7;
	margin: 0 13%;
	padding: 5px 0;
}
#index .value .list .box .text {
	font-size: 17px;
	color: #898989;
	margin-top: 27px;
}

/**********************************************************/
/* company */
/**********************************************************/
#index .company {
	margin-top: 180px;
}
#index .company > .inner {
	background: #f1f1f2;
	padding: 70px 0;
}
#index .company dl {
	width: 900px;
	margin: 50px auto 0 auto;
	display: flex;
	flex-wrap: wrap;
}
#index .company dl dt {
	width: 300px;
	border-bottom: 1px solid #d7d7d8;
	box-sizing: border-box;
	font-size: 17px;
	font-weight: bold;
	line-height: 2em;
	padding: 14px 30px;
}
#index .company dl dd {
	width: calc(100% - 300px);
	border-bottom: 1px solid #d7d7d8;
	box-sizing: border-box;
	font-size: 15px;
	line-height: 2em;
	padding: 14px 30px;
}
#index .company .map {
	padding: 100px 0;
}
#index .company .map > .inner {
}
#index .company .map h3 {
	
}
#index .company .map .insec {
	width: 1020px;
	margin: 40px auto 0 auto;
}
#index .company .map .insec + .insec {
	margin-top: 80px;
}
#index .company .map .insec .hbox {
	display: flex;
	align-items: center;
}
#index .company .map .insec .hbox h4 {
	font-size: 23px;
	font-weight: bold;
	line-height: 1.6em;
	margin-right: 50px;
}
#index .company .map .insec .hbox .text {
  font-size: 15px;
  line-height: 1.6em;
}
#index .company .map .insec .mapbox {
	margin-top: 15px;
}
#index .company .map .insec .mapbox iframe {
	width: 100%;
	display: block;
	height: 600px;
}
#index .company .map .insec .link {
	text-align: right;
}
#index .company .map .insec .link a {
	font-size: 18px;
	color: #898989;
	display: inline-block;
	margin-top: 10px;
	font-weight: normal;
}

/**********************************************************/
/* recruit */
/**********************************************************/
#index .recruit {
	background: #f7f8f8;
	padding: 74px 0 90px 0;
}
#index .recruit > .inner {
	
}
#index .recruit .text {
	text-align: center;
	font-size: 17px;
	margin-bottom: 50px;
}


/**********************************************************/
/* 404 */
/**********************************************************/
#inner .content.error {
	padding: 100px 0 130px 0;
}
#inner .content.error .label {
	text-align: center;
	font-size: 70px;
	line-height: 1em;
	font-weight: 400;
}
#inner .content.error h1 {
	text-align: center;
	font-size: 24px;
}
#inner .content.error .bt_more {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border: 1px solid #D8D8D8;
	padding: 12px 20px;
	border-radius: 5px;
	background: url(./images/icon_arrow_b.webp) no-repeat right 20px top 50% / 18px auto;
	width: 296px;
	font-size: 15px;
	box-sizing: border-box;
	margin: 80px auto 0 auto;
	background-color: #F1F1F1;
}
#inner.pc_view .content.error .bt_more:hover {
	opacity: 1;
	border-color: #C30D23;
	color: #C30D23;
	background-image: url(./images/icon_arrow_r.webp);
	background-color: #fff;
}


/**************************************************************/
/** SP ********************************************************/
/**************************************************************/
@media screen and (max-width: 767px) {
    /* style
	-------------------------------------------------------------- */
    body {
        min-width: 320px;
        overflow: visible !important;
    }
    body p {
        color: inherit;
        font-size: 14px;
        line-height: 2em;
    }
    a:hover {
        opacity: 1;
    }
    *[data-view=pc] {
        display: none !important;
    }
    *[data-view=sp] {
        display: block !important;
    }
    /* ===========================================================================================

		Common

	=========================================================================================== */
    .outline {
        position: relative;
        min-width: 320px;
        padding-bottom: 0;
        overflow: hidden;
    }
	.main {
		box-sizing: border-box;
		padding-top: 70px;
	}

	/*============================
	header
	============================*/
	header {
		position: fixed;
		width: 100%;
		z-index: 100;
		background: #fff;
	}
	header > .inner {
		display: flex;
		height: 70px;
		align-items: center;
		padding: 0 10px 0px 25px;
	}
	header .logo {
		display: block;
		width: 147px;
		position: relative;
		z-index: 100;
	}
	header .gmenu {
		margin: 0;
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		background: #fff;
		height: 100vh;
		height: 100dvh;
		box-sizing: border-box;
		padding: 100px 10%;
	}
	header .gmenu ul {
		display: flex;
		gap: 10px;
		flex-direction: column;
	}
	header .gmenu ul li {

	}
	header .gmenu ul li a {
		font-size: 18px;
		display: block;
		line-height: 1em;
		padding: 10px 0;
	}
	
	header .bt_menu {
		display: block;
		width: 50px;
		height: 50px;
		font-size: 12px;
		text-align: center;
		box-sizing: border-box;
		z-index: 1000;
		overflow: hidden;
		position: relative;
		margin-left: auto;
		border-radius: 4px;
	}
	header .bt_menu::before, header .bt_menu::after, header .bt_menu span::before {
		display: block;
		position: absolute;
		content: "";
		width: 28px;
		height: 1px;
		background: #000;
		top: 50%;
		left: 12px;
		transition: all 0.3s ease;
		margin-top: 9px;
	}

	header .bt_menu::after {
		margin-top: -9px;
	}
	header .bt_menu span::before {
		margin-top: 0px;
	}  
	header .bt_menu span {
		display: block;
		text-indent: -9999px;
		overflow: hidden;
		height: 100%;
	}

	header .bt_menu.open::before {
		margin-top: -1px;
		transform: rotate(-135deg);
	}
	header .bt_menu.open::after {
		margin-top: -1px;
		transform: rotate(135deg);
	}
	header .bt_menu.open span::before {
		opacity: 0;
	}  
	header .bt_menu.open {
	}

	footer {

	}
	footer .contact {background: #000;display: flex;justify-content: right;padding: 12px 22px;}
	footer .contact a {display: block;color: #fff;font-size: 15px;background: url(./images/icon_contact.webp) no-repeat right center / 42px auto;padding: 10px 65px 10px 10px;font-weight: normal;}
	footer .inner {padding: 83px 0 70px 0;}
	footer .inner .logo {display: block;width: 190px;margin: 0 auto;}
	footer .inner .copyright {text-align: center;font-size: 13px;margin-top: 50px;font-weight: normal;}

	/**********************************************************/
	/* common */
	/**********************************************************/
	.content {

	}
	ul.newslist {

	}
	ul.newslist li {
		border-bottom: 1px solid #fff;
	}
	ul.newslist li a {
		display: block;
		align-items: center;
		padding: 10px 0;
	}
	ul.newslist li a .date {
		font-size: 10px;
		color: #fff;
		background: #000;
		line-height: 1em;
		padding: 5px 0;
		width: 80px;
		text-align: center;
	}
	ul.newslist li a .title {
		width: auto;
		color: #fff;
		line-height: 1.5em;
		font-size: 13px;
		margin-top: 5px;
	}
	ul.newslist li.nopost {

	}
	.hstyle {
		font-size: 19px;
		letter-spacing: 0.23em;
		text-align: center;
	} 
	.hstyle::before {
		content: "-";
		display: inline-block;
		margin-right: 0.3em;
	} 
	.hstyle2 {
		font-size: 40px;
		letter-spacing: 0.2em;
		text-align: center;
	} 
	.leadstyle {
		font-size: 23px;
		font-weight: bold;
		line-height: 1.8em;
		text-align: center;
		margin-top: 15px;
	}
	.btstyle {
		display: flex;
		width: 236px;
		height: 48px;
		text-align: center;
		border: 1.5px solid #000;
		margin: 0 auto;
		align-items: center;
		justify-content: center;
		margin-top: 30px;
		position: relative;
		font-size: unset;
	}
	.btstyle::after {
		content: "";
		display: block;
		position: absolute;
		right: 20px;
		top: 50%;
		width: 6px;
		height: 6px;
		border-top: 1px solid #000;
		border-right: 1px solid #000;
		transform: translate(0, -50%) rotate(45deg);
		transition: all ease 0.3s;
	}
	.btstyle span {
		font-size: 14px;
		letter-spacing: 0.1em;
	}
	.pc_view .btstyle:hover {background: #000; color: #fff;opacity: 1;}
	.pc_view .btstyle:hover::after {
		border-color: #fff;
	}
	.btstyle.w {border-color: #fff;color: #fff;}
	.btstyle.w::after {
		border-color: #fff;
	}
	.pc_view .btstyle.w:hover {background: #fff; color: #000;opacity: 1;}
	.pc_view .btstyle.w:hover::after {
		border-color: #000;
	}
	.introstyle {
		display: block;
		margin-top: 48px;
	}
	.introstyle .img {
	  width: auto;
	}
	.introstyle .img img {object-fit: cover;height: 84vw;width: 100%;}
	.introstyle .info {
		width: auto;
		text-align: center;
		margin-top: 40px;
	}
	.introstyle .info .title {
		font-size: 22px;
		font-weight: bold;
	}
	.introstyle .info .text {
		font-size: 15px;
		color: #898989;
		margin-top: 15px;
	}
	.fboxstyle {
		display: flex;
		justify-content: space-between;
		flex-direction: column;
		width: 84%;
		margin: 60px auto 0 auto;
		gap: 50px;
	}
	.fboxstyle .box {
		width: auto;
	}
	.fboxstyle .box .img {
		border: 1px solid #ccc;
	}
	.fboxstyle .box .img img {
	aspect-ratio: 10 / 5.7;
	object-fit: cover;
	}
	.fboxstyle .box .info {
		margin-top: 25px;
	}
	.fboxstyle .box .info .title {
		font-size: 20px;
		text-align: center;
		line-height: 1.6em;
		font-weight: bold;
	}
	.fboxstyle .box .info .text {
		text-align: center;
		font-size: 15px;
		color: #898989;
		margin-top: 10px;
	}
	.secstyle {
		margin-top: 140px;
	}
	.secstyle  > .inner {
		background: url(./images/img_product_sp.webp) no-repeat center center / cover;
		height: calc(100vh - 70px);
		display: flex;
		justify-content: center;
		align-items: center;
		color: #fff;
		flex-direction: column;
	}
	.secstyle .lead {
		font-size: 21px;
		font-weight: bold;
		text-align: center;
		line-height: 1.8em;
		margin: 14px 0 31px 0;
	}
	.secstyle .text {
		font-size: 15px;
		text-align: center;
		line-height: 2em;
		margin-top: 4px;
	}

	/**********************************************************/
	/* visual */
	/**********************************************************/
	#index .visual {
		position: relative;
	}
	#index .visual .slider .wp-block-gallery {
		
	}
	#index .visual .slider .wp-block-gallery figure {
		
	}
	#index .visual .slider .wp-block-gallery figure img {
		height: calc(100vh - 70px) !important;
		width: 100% !important;
		object-fit: cover !important;
	}
	#index .visual .information {
		position: absolute;
		right: auto;
		top: auto;
		bottom: 0;
		left: 0;
		width: 100%;
		height: auto;
		background: #0000002e;
		display: flex;
		align-items: end;
		box-sizing: border-box;
		padding: 45px 5% 35px 5%;
	}
	#index .visual .information > .inner {
		width: 100%;
		box-sizing: border-box;
		color: #fff;
	}
	#index .visual .information h2 {
		text-align: left;
	}#index .visual .information .wrap {
		margin-top: 10px;
		max-height: 200px;

		/* スクロール制御 */
		overflow-y: scroll;
		overflow-x: hidden;

		/* スクロールバーが出る分のレイアウト崩れ防止（対応ブラウザ） */
		scrollbar-gutter: stable;

		/* Firefox用 */
		scrollbar-width: auto;

		/* iOS系の慣性スクロール */
	}

	/* Chrome / Safari */
	#index .visual .information .wrap::-webkit-scrollbar {
		width: 10px;
	}

	#index .visual .information .wrap::-webkit-scrollbar-thumb {
		background: rgba(0,0,0,0.3);
		border-radius: 5px;
	}

	#index .visual .information .wrap::-webkit-scrollbar-track {
		background: transparent;
	}

	/**********************************************************/
	/* philosophy */
	/**********************************************************/
	#index .philosophy {
		margin-top: 100px;
	}
	#index .philosophy > .inner {
		max-width: 1340px;
		width: 100%;
		margin: 0 auto;
	}

	/**********************************************************/
	/* aboutus */
	/**********************************************************/
	#index .aboutus {
		margin-top: 100px;
	}
	#index .aboutus > .inner {
		max-width: 1340px;
		width: auto;
		margin: 0 auto;
	}
	#index .aboutus .flow {
		margin-top: 76px;
		background: #f1f1f2;
	}
	#index .aboutus .flow > .inner {
		max-width: 1340px;
		width: 90%;
		margin: 0 auto;
		padding: 65px 0;
	}
	#index .aboutus .flow h3 {
		text-align: center;
		font-size: 22px;
		font-weight: bold;
		line-height: 1.8em;
	}
	#index .aboutus .flow .detail {
		display: flex;
		justify-content: space-between;
		margin-top: 30px;
		flex-direction: column;
		gap: 60px 0;
	}
	#index .aboutus .flow .detail .box {
		background: no-repeat;
		aspect-ratio: auto;
		box-sizing: border-box;
		position: relative;
		width: auto;
		padding: 30px 25px 20px 25px;
		background: #fff;
		border: 1px solid #c3c4c4;
	}
	#index .aboutus .flow .detail .box::after,
	#index .aboutus .flow .detail .box::before {
		top: 100%;
		left: 50%;
		border: solid transparent;
		content: "";
		height: 0;
		width: 0;
		position: absolute;
		pointer-events: none;
		transform: scale(1, 0.25);
		transform-origin: 0 0;
	}
	#index .aboutus .flow .detail .box::after {
		border-color: rgba(136, 183, 213, 0);
		border-top-color: #fff;
		border-width: 45vw;
		margin-left: -45vw;
		top: 100%;
	}
	#index .aboutus .flow .detail .box::before {
		border-color: rgba(194, 225, 245, 0);
		border-top-color: #c3c4c4;
		border-width: 45vw;
		margin-left: -45vw;
		margin-top: 1px;
	}
	#index .aboutus .flow .detail .box2 {width: auto;aspect-ratio: auto;}
	#index .aboutus .flow .detail .box3 {width: auto;background-image: none;aspect-ratio: inherit;padding-right: 3%;}
	#index .aboutus .flow .detail .box3::before,
	#index .aboutus .flow .detail .box3::after {
		display: none;
	}
	#index .aboutus .flow .detail .box .title {
		text-align: center;
		font-size: 20px;
		text-decoration: underline;
	}
	#index .aboutus .flow .detail .box .img {
		margin-top: 12px;
	}
	#index .aboutus .flow .detail .box ul.list {margin-top: 30px;display: flex;flex-wrap: wrap;}
	#index .aboutus .flow .detail .box ul.list li {
		font-size: 15px;
		font-weight: bold;
		color: #898989;
		line-height: 1.7em;
		width: 50%;
	}
	#index .aboutus .flow .detail .box2 .lead {
		font-size: 20px;
		font-weight: bold;
		color: #898989;
		line-height: 1.7em;
		text-align: center;
		margin-top: 40px;
	}
	#index .aboutus .flow .detail .box2 .text {
		font-size: 15px;
		color: #898989;
		margin-top: 15px;
		text-align: left;
	}
	#index .aboutus .flow .detail .box3 .note {
		font-size: 15px;
		color: #898989;
		margin-top: 10px;
		text-align: center;
	}

	/**********************************************************/
	/* strength */
	/**********************************************************/
	#index .strength {
		margin-top: 90px;
	}
	#index .strength > .inner {
		max-width: 1340px;
		width: auto;
		margin: 0 auto;
	}

	/**********************************************************/
	/* product */
	/**********************************************************/
	#index .product {
		margin-top: 100px;
	}
	#index .product > .inner {
	
	}
	#index .product .list {padding: 40px 0 20px 0;}
	#index .product .list ul {
		display: flex;
		gap: 30px 10px;
		justify-content: center;
		flex-wrap: wrap;
		width: 320px;
		margin: 0 auto;
	}
	#index .product .list ul li {
		
	}
	#index .product .list ul li p {
		line-height: 1.1em;
		display: flex;
		justify-content: center;
		align-items: center;
		min-height: 2.2em;
		font-size: 15px;
	}
	#index .product .list ul li .img {
		width: 100px;
	}


	/**********************************************************/
	/* philosophy2 */
	/**********************************************************/
	#index .philosophy2 {
		margin-top: 100px;
	}
	#index .philosophy2 > .inner {
		background-image: url(./images/img_philosophy_sp.webp);
	}

	/**********************************************************/
	/* value */
	/**********************************************************/
	#index .value {
		margin-top: 90px;
	}
	#index .value > .inner {
		max-width: 1340px;
		width: auto;
		margin: 0 auto;
	}
	#index .value .list {
		position: relative;
		margin-top: 36px;
		display: flex;
		flex-wrap: wrap;
		padding: 0px 6%;
		justify-content: space-between;
		gap: 35px 0;
		padding-top: 260px;
	}
	#index .value .list::before {
		content: "";
		display: block;
		width: 100%;
		height: 100vw;
		background: url(./images/img_value_sp.webp) no-repeat center center / cover;
		position: absolute;
		left: 0;
		top: 0;
	}
	#index .value .list .box {
		position: relative;
		background: #fff;
		border: 1px solid #c7c7c7;
		width: 100%;
		box-sizing: border-box;
		text-align: center;
		padding: 26px 0px 36px 0;
	}
	#index .value .list .box.wide {
		margin: 0;
		padding: 26px 0px 36px 0;
	}
	#index .value .list .box .title {
		font-size: 21px;
		font-weight: bold;
		border-bottom: 1px solid #c7c7c7;
		margin: 0 13%;
		padding: 5px 0;
	}
	#index .value .list .box .text {
		font-size: 15px;
		color: #898989;
		margin-top: 24px;
	}

	/**********************************************************/
	/* company */
	/**********************************************************/
	#index .company {
		margin-top: 90px;
	}
	#index .company > .inner {
		background: #f1f1f2;
		padding: 70px 0;
	}
	#index .company h2 {
		font-size: 30px;
	}
	#index .company dl {
		width: auto;
		margin: 15px auto 0 auto;
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
		width: 88%;
	}
	#index .company dl dt {
		width: auto;
		border-bottom: none;
		box-sizing: border-box;
		font-size: 15px;
		font-weight: bold;
		line-height: 2em;
		padding: 17px 0 0 0;
	}
	#index .company dl dd {
		width: auto;
		border-bottom: 1px solid #d7d7d8;
		box-sizing: border-box;
		font-size: 15px;
		line-height: 1.6em;
		padding: 4px 0 19px 0;
	}
	#index .company .map {
		padding: 70px 0;
	}
	#index .company .map > .inner {
	}
	#index .company .map h3 {

	}
	#index .company .map .insec {
		width: 88%;
		margin: 35px auto 0 auto;
	}
	#index .company .map .insec + .insec {
		margin-top: 50px;
	}
	#index .company .map .insec .hbox {
		display: block;
	}
	#index .company .map .insec .hbox h4 {
		font-size: 17px;
		font-weight: bold;
		line-height: 1.6em;
		margin-right: 50px;
	}
	#index .company .map .insec .hbox .text {
	  font-size: 15px;
	  line-height: 1.6em;
	  margin-top: 5px;
	}
	#index .company .map .insec .mapbox {
		margin-top: 15px;
	}
	#index .company .map .insec .mapbox iframe {
		width: 100%;
		display: block;
		height: 320px;
	}
	#index .company .map .insec .link {
		text-align: right;
	}
	#index .company .map .insec .link a {
		font-size: 15px;
		color: #898989;
		display: inline-block;
		margin-top: 7px;
		font-weight: normal;
	}

	/**********************************************************/
	/* recruit */
	/**********************************************************/
	#index .recruit {
		background: #f7f8f8;
		padding: 95px 0 100px 0;
	}
	#index .recruit > .inner {

	}
	#index .recruit .text {
		text-align: center;
		font-size: 15px;
		margin: 18px 0 33px 0;
	}


}	