@charset "utf-8";
/*
Theme Name: MACHINE ISLAND GROUP
Theme URI: null
Description: Description
Author: shunc - LZJ
Version: 2.0
*/

.aligncenter {
	display: block;
	margin: 0 auto;
}
.alignright {
	float: right;
}
.alignleft {
	float: left;
}

img[class*="wp-image-"],
img[class*="attachment-"] {
	height: auto;
	max-width: 100%;
}

a.nolink,
a.nolink:hover {
	opacity: 1;
	cursor: default;
	pointer-events: none;
}
.wp-block-image figure,
.wp-block-image figcaption {
	display: block;
}
.bgimg {
	width:100%;
	display: block;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.bgimg img {
	display: none !important;
}

.aligncenter {
    display: block;
    margin: 0 auto;
}
.alignright {
    float: right;
}
.alignleft {
    float: left;
}
img[class*="wp-image-"], img[class*="attachment-"] {
    height: auto;
    max-width: 100%;
}
.wp-block-image figure, .wp-block-image figcaption {
    display: block;
}
a.nolink, a.nolink:hover {
    opacity: 1;
    cursor: default;
    pointer-events: none;
}
#contact .wpcf7-list-item {
	margin: 0;
}
#contact .submit {
	position: relative;
}
div.wpcf7 .ajax-loader,
div.wpcf7 .wpcf7-spinner {
	margin: 0 0 0 -12px;
	display: block;
	position: absolute;
	left: 50%;
	bottom: -30px;
}
.errorTxt {
	margin-top: 0.5rem;
	color: #ff0000;
	display: none;
}
.hideError .wpcf7-not-valid-tip {
	display: none !important;
}
.span-val.empty {
	display: none;
}
.span-val.empty+br {
	display: none;
}
#contact .checkP {
	display: flex;
    flex-direction: column;
}
.mfp-iframe-scaler video {
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000;
	object-fit: contain;
}
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
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, figcaption, figure, section, footer, header, main, hgroup, menu, nav, summary {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
	box-sizing: border-box;
}
html {
	font-size: 62.5%;
}
@media all and (max-width: 374px) {
	html {
		font-size: calc(1000vw / 375);
	}
}
body, table, input, textarea, select, option {
	font-family: "Noto Sans JP", sans-serif;
}

.din {
	/* font-family: "Manrope", sans-serif; */
	font-family: "Fira Sans", sans-serif;
}

.gothic {
	font-family: "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.serif {
	font-family: "Noto Serif JP", serif;
}
article, aside, canvas, details, figcaption, figure, footer, header, main, hgroup, menu, nav, section, summary {
	display: block;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
chrome_annotation {
	border: none !important;
}
:focus {
	outline: 0;
}
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}
img {
	vertical-align: top;
	max-width: 100%;
    height: auto;
}
address {
	font-style: normal;
}
a,
a:link {
	color: #000;
	text-decoration: none;
	transition: 0.3s;
}
a:visited {
	color: #000;
}
a:hover {
	color: #000;
}
a:active {
	color: #000;
}
/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	min-width: 1280px;
	color: #000;
	font-size: 1.6rem;
	line-height: 1.5;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #E4E6E6;
}
.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
}
#container {
	word-break: break-word;
	text-align: left;
	overflow: hidden;
}
a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}
#main {
	padding: 22.5rem 0 12.7rem;
}
@media all and (min-width: 897px) {
	.sp {
		display: none !important;
	}
	.menuBox {
		display: block !important;
	}
}
@media all and (max-width: 896px) {
	body {
		min-width: inherit;
		font-size: 1.4rem;
	}
	a:hover,
	a:hover img {
		opacity: 1 !important;
	}
	.pc {
		display: none !important;
	}
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
	#main {
		padding: 8rem 0 5rem;
	}
}
/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1000;
}
.hInner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 4.5rem min(4vw,5.2rem);
}
.hInner .naviUl {
	margin: -0.6rem min(2.8vw,3.8rem) 0 0;
	display: flex;
	justify-content: flex-end;
}
.hInner .naviUl li {
	margin-left: min(3.4vw,4.6rem);
}
.hInner .naviUl li:first-child {
	margin-left: 0;
}
.hInner .naviUl a {
/*	font-size: 1.4rem;*/
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: 0.1em;
}
.hInner .naviUl a:hover {
	opacity: 0.7;
}
.menuBox {
	padding: 0.5rem;
}
@media all and (max-width: 896px) {
	.hInner {
		padding: 2rem;
	}
	.hInner h1 {
		position: relative;
		z-index: 1000;
	}
	.hInner h1 img {
		width: 26rem;
	}
	.menuBox {
		display: none;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 800;
		background-color: #fff;
	}
	.menu {
		position: absolute;
		height: 2rem;
		width: 2.5rem;
		top: 1.8rem;
		right: 2.5rem;
		cursor: pointer;
		z-index: 1000;
		transition: opacity .25s ease;
		-webkit-transition: all .3s ease;
		transition: all .3s ease;
	}

	.menu.on .top {
		transform: translateY(7px) translateX(0) rotate(45deg);
	}

	.menu.on .middle {
		opacity: 0;
	}

	.menu.on .bottom {
		transform: translateY(-7px) translateX(0) rotate(-45deg);
	}

	.menu span {
		background: #000;
		border: none;
		height: 1px;
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
		-webkit-transition: all .35s ease;
		transition: all .35s ease;
		cursor: pointer;
	}

	.menu span:nth-of-type(2) {
		top: 7px;
	}

	.menu span:nth-of-type(3) {
		top: 14px;
	}
	.hInner .naviUl {
		display: block;
		margin: 6rem 0 2rem;
		border-top: 1px solid #000;
	}
	.hInner .naviUl li {
		margin: 0;
		border-bottom: 1px solid #000;
	}
	.hInner .naviUl li:last-child {
		border: none;
	}
	.hInner .naviUl a {
		padding: 1rem 2rem;
		display: block;
	}
}
/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter {
	padding: 8.7rem 0 8.7rem;
	margin: 0 5rem;
	border-top: 1px solid #000000;
}
#gFooter .fLogo {
	text-align: center;
	margin-bottom: 5.4rem;
}
#gFooter .fNavi {
	margin-bottom: 6.6rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
#gFooter .fNavi li {
	margin: 0 2.3rem;
}
#gFooter .fNavi a {
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: 0.1em;
}
#gFooter .fNavi a:hover {
	opacity: 0.7;
}
#gFooter .linkUl {
	margin-bottom: 4.5rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#gFooter .linkUl li {
	width: 50%;
}
#gFooter .linkUl a {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	min-height: 14.7rem;
	padding: 1rem;
	justify-content: center;
	font-size: 1.6rem;
	color: #4E5458;
	letter-spacing: 0.2em;
	font-weight: 500;
	background-color: #FFFFFF;
}
#gFooter .linkUl a:hover {
	opacity: 0.7;
}
#gFooter .linkUl .liStyle a {
	color: #fff;
	background-color: #BCBCBC;
}
address {
	font-size: 1.3rem;
	letter-spacing: 0.2em;
	color: #4E5458;
	text-align: center;
}
@media all and (max-width: 896px) {
	#gFooter {
		padding: 4rem 0;
		margin: 0 2rem;
	}
	#gFooter .fLogo {
		margin: 0 1rem 3rem;
	}
	#gFooter .fNavi {
		display: none;
	}
	#gFooter .linkUl a {
		min-height: 8rem;
		font-size: 1.5rem;
		padding: 1rem 0.2rem;
	}
}

/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* 81-PSP */
/* clearfix */	
.clearfix:after {content: "";display: block;clear: both;}
/* flex */	
.flex,.flexA,.flexB,.flexC {display: flex;flex-wrap: wrap;}
.flexA {justify-content: space-around;}
.flexB {justify-content: space-between;}
.flexC {justify-content: center;}
/*------------------------------------------------------------
	headLine01
------------------------------------------------------------*/
.headLine01 {
	max-width: 117.1rem;
	padding: 0 2rem;
	margin: 0 auto 10.9rem;
	font-weight: 400;
	letter-spacing: 0.1em;
}
.headLine01 .en {
	margin-bottom: 0.3rem;
	display: block;
	line-height: 1;
	font-size: 8rem;
	font-weight: 700;
	letter-spacing: 0;
	font-family: "Fira Sans", sans-serif;
}
@media all and (max-width: 896px) {
	.headLine01 {
		margin-bottom: 5rem;
	}
	.headLine01 .en {
		font-size: 4rem;
	}
}

/*------------------------------------------------------------
	content
------------------------------------------------------------*/
.content {
	max-width: 104rem;
	margin: 0 auto;
	padding: 0 2rem;
}
@media all and (max-width: 896px) {
	.content {
		max-width: inherit !important;
	}
}


/*------------------------------------------------------------
	headLine02
------------------------------------------------------------*/
.headLine02 {
	padding: 0;
	font-size: 1.6rem;
}
.headLine02 .en {
	font-size: 5.2rem;
	font-weight: 500;
}
@media all and (max-width: 896px) {
	.headLine02 .en {
		font-size: 4rem !important;
	}
}


/*------------------------------------------------------------
	comLink
------------------------------------------------------------*/
#main .comLink a {
	display: inline-flex;
	align-items: center;
	min-height: 5.6rem;
	font-size: 1.4rem;
	font-weight: 700;
	padding-left: 7.8rem;
	background: url(img/common/icon03.png) no-repeat left center;
	background-size: 5.6rem auto;
}
#main .comLink a:hover {
	opacity: 0.7;
}
#main .comLink.white a {
	color: #fff;
	background-image: url(img/common/icon05.png);
}


/*------------------------------------------------------------
	comList
------------------------------------------------------------*/
#main .comList {
/*	margin-bottom: 4.9rem;*/
	margin-bottom: 15rem;
	display: flex;
	flex-wrap: wrap;
	gap: 6rem 1.2rem;
}
#main .comList:last-child {
	margin-bottom: 0;
}
#main .comList li {
	width: calc((100% - 1.2rem * 3) / 4);
}
#main .comList li a {
	display: block;
}
#main .comList li a:hover {
	opacity: 0.7;
}
#main .comList li .photo {
	margin-bottom: 2.8rem;
}
#main .comList li .photo img {
	width: 100%;
	border-radius: 1rem;
	box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.3);
}
#main .comList li p {
	font-size: 1.4rem;
	line-height: 2;
}
#main .comList li p:not(.ttl) {
	margin-right: 3rem;
}
#main .comList li .ttl {
	font-size: 1.6rem;
	font-weight: 700;
	margin-bottom: 1.8rem;
}
@media all and (max-width: 896px) {
	#main .comList {
		display: block;
	}
	#main .comList li {
		margin: 0 0 5rem;
		width: auto !important;
	}
	#main .comList li:last-child {
		margin-bottom: 0;
	}
}

/*------------------------------------------------------------
	news
------------------------------------------------------------*/
#main .newsList {
	margin-bottom: 10.3rem;
	border-top: 1px solid #898989;
}
#main .newsList li {
	border-bottom: 1px solid #898989;
}
#main .newsList a {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 3rem 0 2.9rem; 
	padding-right: 4rem;
	background: url(img/common/icon01.png) no-repeat right center;
	background-size: 2.2rem auto;
}
#main .newsList a:hover {
	opacity: 0.7;
}
#main .newsList .photoBox {
	margin-right: 3.7rem;
	width: 23rem;
	aspect-ratio: 460 / 344;
	position: relative;
}
#main .newsList .photoBox img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#main .newsList .textBox {
	flex: 1;
	margin-top: -0.5rem;
}
#main .newsList .textBox p {
	font-size: 1.5rem;
	line-height: 1.87;
}
#main .newsList .textBox .date {
	margin-bottom: 2.1rem;
	letter-spacing: 0.1em;
	font-size: 1.6rem;
	font-weight: 500;
}
#main .newsList .textBox p:not(.date) {
	max-width: 41rem;
}
.wp-pagenavi {
    margin: 0 -1rem;
    clear: both;
    text-align: center;
	font-family: "Fira Sans", sans-serif;
}
.wp-pagenavi a, 
.wp-pagenavi span {
    display: inline-block;
    text-decoration: none;
	letter-spacing: 0.1em;
    padding: 0.6rem 0.5rem;
    margin: 0 1.3rem;
    font-weight: 400;
    min-width: 4rem;
    min-height: 4rem;
	font-size: 1.8rem;
    box-sizing: border-box;
	border-radius: 100%;
	background-color: rgba(78, 84, 88, 0.2);
}
.wp-pagenavi .current {
	color: #fff;
	background-color: #4E5458;
}
.wp-pagenavi .first, 
.wp-pagenavi .last, 
.wp-pagenavi .pages {
    display: none;
}
.wp-pagenavi .extend {
	display: none;
}
.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink {
	display: none;
}
#single {
	padding: 0 2rem;
}
#single .headLine01 {
	margin-bottom: 2.5rem;
}
#single .content {
	margin-bottom: 6.3rem;
	max-width: 100rem;
	padding: 0 2rem 3.0rem;
	position: relative;
	z-index: 1;
	background-color: #fff;
}
#single .content:after {
	width: 100%;  
	height: 36.9rem;
	background-color: #4E5458;
	position: absolute;  
	top: 0;
	left: 0;  
	content: ""; 
	z-index: -1;
}
#single .detailBox {
	max-width: 74rem;
	margin: 0 auto;
	padding: 6.5rem 0;
}
#single .detailBox p {
	margin-bottom: 4rem;
	line-height: 2.5;
}
#single .detailBox p .txtSpan {
	display: block;
	text-indent: 1.5rem;
}
#single .detailBox h3 {
	font-size: 2.8rem;
	font-weight: 700;
	line-height: 1.43;
	color: #fff;
	margin-bottom: 5rem;
}
#single .detailBox .mainImg {
	margin-bottom: 8.5rem;
	text-align: center;
	border-radius: 1.1rem;
	overflow: hidden;
}
#single .detailBox p + .wp-block-image {
	margin-top: -3.5rem;
}
#single .detailBox .wp-block-image {
	margin: 0 0 2rem;
	border-radius: 1.1rem;
	overflow: hidden;
}
#news .link {
	max-width: 100rem;
	margin: 0 auto;
}
#news .link a {
	padding-left: 7.5rem;
	display: inline-flex;
	align-items: center;
	font-size: 1.4rem;
	font-weight: 700;
	min-height: 5.6rem;
	background: url(img/common/icon02.png) no-repeat left center;
	background-size: 5.6rem auto;
}
#news .link a:hover {
	opacity: 0.7;
}

@media all and (min-width: 897px) {
	.wp-pagenavi a:hover {
		color: #fff;
		background-color: #4E5458;
	}
}

@media all and (max-width: 896px) {
	#main .newsList a {
		padding: 2rem 0 5rem;
		display: block;
		background-position: right bottom 1.5rem;
	}
	#main .newsList {
		margin-bottom: 5rem;
	}
	#main .newsList .photoBox {
		width: auto;
		margin: 0 0 2rem;
	}
	#main .newsList .photoBox img {
		width: 100%;
	}
	#main .newsList .textBox {
		margin: 0;
	}
	#main .newsList .textBox .date {
		margin-bottom: 1.0rem;
	}
	.wp-pagenavi a, .wp-pagenavi span {
		padding-left: 0.7rem;
		margin: 0 0.8rem 0.5rem;
	}
	#single .detailBox h3 {
		font-size: 2rem;
	}
	#single .detailBox {
		max-width: inherit;
		padding: 4rem 0;
	}
	#single .detailBox .mainImg {
		margin-bottom: 5rem;
	}
	#single .detailBox p {
		margin-bottom: 2rem;
	}
	#single .detailBox p + .wp-block-image {
		margin-top: 0;
	}
	#single .content::after {
		height: 25rem;
	}
	#single .content {
		margin-bottom: 3rem;
		padding-bottom: 0;
	}
	#news .link a {
		padding-left: 5rem;
		min-height: 5rem;
		background-size: 4.0rem auto;
	}
}

/*------------------------------------------------------------
	history
------------------------------------------------------------*/
#main .historyDl {
	margin-top: -1.8rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#main .historyDl dt {
	margin-top: -0.2rem;
	width: 13.5rem;
	font-size: 5rem;
	font-weight: 500;
	color: #4E5458;
	line-height: 1;
	font-family: "Fira Sans", sans-serif;
}
#main .historyDl dd {
	min-height: 9.2rem;
	margin-top: -0.2rem;
	padding: 0 0 1rem 2.8rem;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 3;
	width: calc(100% - 13.5rem);
	display: flex;
	position: relative;
	font-family: "Noto Serif JP", serif;
}
#main .historyDl dd::before {
	width: 1px;  
	background-color: #AFAFAF;
	position: absolute;  
	top: 2rem;
	left: 0;
	bottom: -2rem;  
	content: ""; 
}
#main .historyDl dd:after {
	width: 1rem;  
	height: 1rem;
	background-color: #000000;
	position: absolute;  
	top: 2rem;
	left: -0.4rem;
	border-radius: 100%;  
	content: ""; 
}
#main .historyDl dd:last-child {
	min-height: inherit;
}
#main .historyDl dd:last-child::before {
	display: none;
}
#main .historyDl dd .num {
	font-size: 2rem;
	font-weight: 600;
	flex-shrink: 0;
	margin: -0.8rem 2.5rem 0 0;
	font-family: "Noto Sans JP", sans-serif;
}
@media all and (max-width: 896px) {
	#main .historyDl dt {
		width: 8rem;
		margin-top: 0;
		font-size: 3rem;
	}
	#main .historyDl dd {
		margin-top: 0;
		padding-left: 2rem;
		font-size: 1.4rem;
		line-height: 1.7;
		width: calc(100% - 8rem);
	}
	#main .historyDl dd .num {
		margin: -0.3rem 1.5rem 0 0;
		font-size: 1.8rem;
	}
	#main .historyDl dd::before {
		top: 1rem;
	}
	#main .historyDl dd::after {
		top: 1rem;
	}
}

/*------------------------------------------------------------
	about
------------------------------------------------------------*/
#about p {
	margin-bottom: 14.5rem;
	font-weight: 500;
	line-height: 2.1875;
}
#about .bigPhoto {
	margin: 0 0 25rem 10rem;
	border-radius: 0 0 0 12rem;
	overflow: hidden;
}
#about .bigPhoto img {
	width: 100%;
}
#about .ulBox {
	margin-bottom: 21.4rem;
	overflow: hidden;
}
#about .aboutList {
	margin-top: -1px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	position: relative;
}
#about .aboutList li {
	padding: 9.8rem 6rem 0 0;
	width: 50%;
	border-right: 1px solid #898989;
	border-top: 1px solid #898989;
}
#about .aboutList li.no {
	padding-top: 0;
	padding-bottom: 8.5rem;
}
#about .aboutList li:nth-child(2n) {
	border-right: none;
	padding-right: 0;
	padding-left: 5.5rem;
}
#about .aboutList li p {
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 2.143;
	margin-bottom: 5.7rem;
}
#about .aboutList li .ttl {
	text-align: center;
	font-size: 2.2rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	margin-bottom: 5.2rem;
	line-height: 1.5;
	position: relative;
	top: -0.8rem;
}
#about .aboutInner {
	padding: 15.7rem 0 19.5rem;
	border-top: 2px solid #000000;
	margin: 0 5rem;
}
#about .aboutInner:last-child {
	padding-bottom: 0;
}
#about .aboutInner .headLine01 {
	max-width: 117.5rem;
}
#about .aboutInner .headLine01 .en {
	margin-bottom: 2.8rem;
}
#about .boardUl {
	padding-top: 1rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#about .boardUl li {
	padding-right: 7rem;
	width: 50%;
	border-right: 1px solid #606060;
}
#about .boardUl li:nth-child(2n) {
	border: none;
	padding-right: 0;
	padding-left: 7.7rem;
}
#about .boardUl .ttl {
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	margin: -0.5rem 0 1.2rem;
}
#main .aboutDl {
	line-height: 2.25;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
}
#main .aboutDl dt {
	padding: 1.8rem 0.5rem 1.75rem 0;
	width: 17rem;
	border-bottom: 1px solid #606060;
}
#main .aboutDl dd {
	padding: 1.8rem 0 1.75rem 0;
	width: calc(100% - 17rem);
	border-bottom: 1px solid #606060;
}
#main .aboutDl dt:last-of-type {
	border: none;
	padding-bottom: 0;
}
#main .aboutDl dd:last-of-type {
	padding-bottom: 0;
	border: none;
}
#main .aboutDl02 {
	max-width: 32.3rem;
}
#main .aboutDl02 dt {
	width: 12.3rem;
}
#main .aboutDl02 dd {
	width: calc(100% - 12.3rem);
}
#about .intro .headLine01 {
	margin-top: -0.6rem;
}
#about .intro .headLine01 .en {
	line-height: 1.125;
	margin-bottom: 1.2rem;
}
#about .imgBox {
	padding-top: 1.3rem;
}
#about .imgBox .lBox {
	width: 48rem;
}
#about .imgBox .lBox .photo {
	margin-bottom: 2.3rem;
}
#about .imgBox .lBox .photo img {
	width: 100%;
}
#about .imgBox .lBox .ttl {
	font-size: 1.8rem;
	font-weight: 700;
	margin-bottom: 0.4rem;
}
#about .imgBox .lBox .ttl02 {
	font-weight: 700;
	margin-bottom: 1.1rem;
	font-size: 1.4rem;
}
#main .introDl {
	margin-bottom: 2.3rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	font-size: 1.3rem;
}
#main .introDl dt {
	width: 9.6rem;
}
#main .introDl dd {
	margin-bottom: 0.4rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: calc(100% - 9.6rem);
}
#main .introDl dd .txtSpan {
	width: 7.7rem;
	text-align: left;
}
#main .introUl li {
	padding-bottom: 1.5rem;
	margin-bottom: 1rem;
	border-bottom: 1px solid #606060;
}
#main .introUl li:last-child {
	border: none;
	margin-bottom: 0;
	padding-bottom: 0;
}
#main .introUl li dl {
	margin-bottom: 0;
}
#about .imgBox {
	padding-bottom: 12.8rem;
	margin-bottom: 9.2rem;
	border-bottom: 1px solid #898989;
}
#about .imgBox:last-child {
	border: none;
	margin-bottom: 0;
	padding-bottom: 0;
}
#about .imgBox .rBox {
	padding-top: 0.2rem;
	width: 48.1rem;
}
#about .imgBox .rBox .ttl {
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 2.7rem;
}
#about .imgBox .rBox .ttl .txtSpan {
	display: block;
	font-size: 1.6rem;
	margin-top: -0.7rem;
}
#main .introDl02 {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
	font-size: 1.4rem;
	line-height: 1.714;
}
#main .introDl02 dt {
	padding: 1rem 0.5rem 1.3rem 0;
	width: 9rem;
	border-bottom: 1px solid #606060;
}
#main .introDl02 dd {
	padding: 1rem 0 1.3rem;
	width: calc(100% - 9rem);
	border-bottom: 1px solid #606060;
}
#main .introDl02 dd .txtSpan {
	display: block;
	margin: 0 0 0 1.5rem;
}
#main .introDl02 dt:last-of-type,
#main .introDl02 dd:last-of-type {
	border: none;
}
#about .imgBox:nth-child(2n) .lBox {
	order: 2;
}
#main .introUl li .txt {
	font-size: 1.3rem;
	margin-bottom: 0;
	line-height: 1.85;
}
#main .marginDl {
	margin-bottom: 4.8rem;
}
#main .imgBox table {
	width: 100%;
	border-collapse: collapse;
}
#main .imgBox table th {
	padding: 0.2rem 0;
	text-align: left;
	vertical-align: middle;
	font-size: 1.2rem;
	font-weight: 700;
}
#main .imgBox table td {
	padding: 0.2rem 0 0.55rem;
	font-size: 1.1rem;
	text-align: left;
	vertical-align: middle;
}
#main .imgBox table .wid01 {
	width: 26%;
}
#main .imgBox table .wid02 {
	width: 27%;
}
#main .imgBox table .wid03 {
	width: 7%;
}
#main .imgBox table .wid04 {
	width: 14%;
}
#main .imgBox table .wid05 {
	width: 26%;
}
#main .imgBox table .taCenter {
	text-align: center;
	padding-right: 1rem;
}
/* ISO一覧部分 */
#about .isoList {
	list-style: none;
	margin: 10px 0 20px 0;
	padding: 0;
}
#about .isoList li {
	display: flex;
	align-items: center; /* 文字とロゴの縦位置をそろえる */
	justify-content: space-between; /* 文字とロゴの横位置を整える（任意） */
	gap: 8px;            /* 文字とロゴの間隔 */
	padding: 0;
	margin-top: 3px;
	border: none;
}
/* ISOロゴ画像の大きさ調整 */
#about .isoLogo {
	height: auto;
	width: 62px;
	object-fit: contain;
	vertical-align: middle;
}

@media all and (min-width: 897px) {
	#about .headLine01 {
		margin-bottom: 12.7rem;
	}
}

@media all and (max-width: 896px) {
	#about p {
		margin-bottom: 5rem;
	}
	#about .bigPhoto {
		margin: 0 0 5rem 2rem;
		border-radius: 0 0 0 3rem;
	}
	#about .aboutList {
		display: block;
	}
	#about .aboutList li {
		margin-bottom: 6rem;
		padding: 0 0 4rem !important;
		width: auto;
		border: none;
		border-bottom: 1px solid #898989;
	}
	#about .aboutList li:last-child {
		margin-bottom: 0;
		border: none;
	}
	#about .aboutList li .ttl {
		margin-bottom: 2rem;
	}
	#about .aboutList li p {
		margin-bottom: 3rem;
	}
	#about .ulBox {
		margin-bottom: 7rem;
	}
	#about .aboutInner {
		padding: 5rem 0;
		margin: 0 2rem;
	}
	#about .aboutInner .content {
		padding: 0;
	}
	#about .aboutInner .headLine01 {
		margin-bottom: 5rem;
		padding: 0;
	}
	#about .boardUl {
		padding: 0;
		display: block;
	}
	#about .boardUl li {
		padding: 0 0 3rem !important;
		margin-bottom: 4rem;
		width: auto;
		border: none;
		border-bottom: 1px solid #606060;
	}
	#about .boardUl li:last-child {
		border: none;
		margin-bottom: 0;
	}
	#main .aboutDl {
		line-height: 1.8;
	}
	#main .aboutDl02 {
		max-width: inherit;
	}
	#main .aboutDl dt {
		width: 14rem;
	}
	#main .aboutDl dd {
		width: calc(100% - 14rem);
	}
	#about .imgBox {
		display: block;
		padding-bottom: 5rem;
	}
	#about .imgBox .lBox {
		margin-bottom: 2rem;
		width: auto;
	}
	#about .imgBox .rBox {
		width: auto;
	}
	#main .introDl dd {
		display: block;
	}
	#main .introDl dd .txtSpan {
		width: auto;
		margin-left: 2rem;
	}
	#main .imgBox .tableBox {
		overflow-x: scroll;
	}
	#main .imgBox table {
		min-width: 100%;
		width: 48rem;
	}
}

/*------------------------------------------------------------
	offer
------------------------------------------------------------*/
#offer .photoBox {
	max-width: 130.7rem;
	margin: -0.8rem auto 10.8rem;
	padding: 0 2rem;
}
#offer .bigPhoto {
	text-align: right;
	margin-bottom: 4rem;
}
#offer h3 {
	margin-bottom: 10.3rem;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1.67;
	letter-spacing: 0.1em;
	text-align: center;
}
#offer .content {
	max-width: 130.4rem;
}
#main .tabUl {
	display: flex;
	flex-wrap: wrap;
}
#main .tabUl li {
	width: calc(100% / 3);
}
#main .tabUl a {
	min-height: 8.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 1rem 5rem;
	background: url(img/common/icon04.png) no-repeat right 3.5rem center #fff;
	border-radius: 1rem 1rem 0 0;
	background-size: 0.9rem auto;
}
#main .tabUl a:hover {
	opacity: 0.7;
}
#main .tabUl .li02 a {
	background-color: #EDEDE1;
}
#main .tabUl .li03 a {
	background-color: #D0DDDD;
}
#main .tabUl .li04 a {
	background-color: #F0DCDC;
}
#offer .tabInner {
	padding: 11rem 2rem 14rem;
	background-color: #fff;
}
#offer .tabInner02 {
	background-color: #EDEDE1;
}
#offer .tabInner03 {
	background-color: #D0DDDD;
}
#offer .tabBox {
	max-width: 100rem;
	margin: 0 auto;
}
#main .offerDl {
	border: 1px solid #000000;
	border-radius: 2rem;
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
	justify-content: space-between;
	overflow: hidden;
	line-height: 1.875;
}
#main .offerDl dt {
	padding: 1.9rem 1rem 1.4rem 3.8rem;
	width: 21.1rem;
	font-weight: 600;
	background-color: #E4E6E6;
	border-bottom: 1px solid #000000;
}
#main .offerDl dd {
	padding: 1.9rem 5rem 1.4rem 4.2rem;
	width: calc(100% - 21.1rem);
	border-bottom: 1px solid #000000;
	background-color: #fff;
}
#main .offerDl dt:last-of-type,
#main .offerDl dd:last-of-type {
	border: none;
}
#main .offerDl dd .txtSpan {
	display: block;
	margin-bottom: 3rem;
}
#main .offerDl dd .txtSpan .ico {
	font-size: 0.9rem;
	vertical-align: 0.2rem;
}
#main .offerDl dd .txtSpan:last-child {
	margin-bottom: 1.5rem;
}
#main .offerDl .list {
	padding-bottom: 4rem;
}
#main .offerDl .list > li {
	margin-bottom: 3rem;
}
#main .offerDl .list > li:last-child {
	margin-bottom: 0;
}
#main .offerDl .list > li ul li {
	text-indent: -1em;
	padding-left: 1em;
}
#offer .banner {
	max-width: 100rem;
	margin: 9.3rem auto 7.6rem;
}
#offer .banner a {
	padding: 0 6.8rem;
	min-height: 24.5rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	border-radius: 2rem;
	background: linear-gradient(135deg, #00839B 50%, #008DCC 100%);
	box-shadow: 10px 10px 2px rgba(0, 0, 0, 0.1);
}
#offer .banner .photo {
	margin-top: -6.3rem;
}
#offer .banner .textBox {
	flex: 1;
	padding-right: 2rem;
	text-align: center;
}
#offer .banner p {
	color: #fff;
	margin-bottom: 0.8rem;
	letter-spacing: 0.1em;
}
#offer .banner .txt {
	margin-bottom: 0;
	font-size: 4rem;
	font-weight: 700;
	letter-spacing: 0.5em;
	color: #000000;
}
#offer .banner a:hover {
	opacity: 0.7;
}
#offer .btmBox {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
}
#offer .btmBox > div {
	width: 50%;
}
#offer .btmBox .lBox {
	padding: 1rem 5rem 2rem 12rem;
	min-height: 27.6rem;
	background-color: #fff;
	display: flex;
	justify-content: center;
	flex-direction: column;
}
#offer .btmBox .lBox p {
	letter-spacing: 0.05em;
	line-height: 1.875;
	font-weight: 600;
}
#offer .btmBox .lBox .ttl {
	font-size: 3rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	margin-bottom: 2.3rem;
}
#offer .btmBox .rBox {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	background-color: #4E5458;
}
#offer .btmBox .rBox .tel {
	color: #fff;
	font-size: 5rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	text-decoration: underline;
}
@media all and (max-width: 896px) {
	#offer h3 {
		margin: 0 2rem 5rem;
		font-size: 2.0rem;
	}
	#main .tabUl a {
		min-height: 7rem;
		padding: 0.5rem 2rem;
		letter-spacing: 0;
		background-position: right 1rem center;
	}
	#offer .tabInner {
		padding: 5rem 2rem 7rem;
	}
	#offer .tabBox {
		max-width: inherit;
	}
	#main .offerDl {
		border-radius: 1rem;
		display: block;
	}
	#main .offerDl dt {
		width: auto;
		padding: 1rem 2rem;
		border-bottom: 1px solid #000000 !important;
	}
	#main .offerDl dd {
		width: auto;
		padding: 1rem 1.5rem;
	}
	#offer .btmBox {
		display: block;
	}
	#offer .btmBox > div {
		width: auto;
	}
	#offer .btmBox .lBox {
		min-height: 20rem;
		padding: 4rem 2rem;
	}
	#offer .btmBox .lBox .ttl {
		font-size: 2.2rem;
		letter-spacing: 0.05em;
	}
	#offer .btmBox .rBox {
		min-height: 20rem;
	}
	#offer .btmBox .rBox .tel {
		font-size: 4rem;
	}
	#offer .bigPhoto img {
		width: 100%;
	}
	#offer .photoBox {
		max-width: inherit;
		margin-bottom: 5rem;
	}
	#offer .banner { 
		max-width: inherit;
	}
	#offer .banner a {
		padding: 0 2rem 3rem;
		display: block;
	}
	#offer .banner .photo {
		margin: 0 4rem -2rem;
		position: relative;
		top: -6rem;
		text-align: center;
	}
	#offer .banner .textBox {
		padding: 0;
	}
	#offer .banner p {
		letter-spacing: 0;
	}
	#offer .banner .txt {
		font-size: 3rem;
		letter-spacing: 0.3em;
	}
}

/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#index #main {
	padding: 0;
}
#index #gFooter {
	border-top: none;
}
#index .mainImg {
	margin: 0 5rem 29.6rem 0;
	position: relative;
	height: 69.9rem;
}
#index .mainImg .fooUl {
	overflow: hidden;
	height: 100%;
	border-radius: 0 0 20rem 0;
}
#index .mainImg .slick-slide > div,
#index .mainImg .slick-slide,
#index .mainImg .slick-track,
#index .mainImg .slick-list {
	height: 100%;
}
#index .mainImg .fooUl li {
	position: relative;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
#index .mainImg .fooUl .li01 {
	background-image: url(img/index/main_img.jpg);
}
#index .mainImg .fooUl .li02 {
	background-image: url(https://mic-g.co.jp/wordpress/wp-content/uploads/2025/04/main_img2.jpg);
}
#index .mainImg .fooUl .li03 {
	background-image: url(https://mic-g.co.jp/wordpress/wp-content/uploads/2025/04/main_img3.jpg);
}
#index .mainImg .fooUl .li04 {
	background-image: url(img/index/main_img.jpg);
}
#index .mainImg .fooUl .li05 {
	background-image: url(img/index/main_img.jpg);
}
#index .mainImg .fooUl li img {
	width: 100%;
}
#index .mainImg .sub {
	position: absolute;
	top: calc(50% - 3.2rem);
	left: 0;
	padding: 0 5rem;
	color: #fff;
	transform: translateY(-50%);
}
#index .mainImg p {
	font-size: 3rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	margin-bottom: 3rem;
}
#index .mainImg .en {
	margin-bottom: 0;
	font-size: 5.2rem;
	letter-spacing: -0.03em;
	line-height: 1.05;
	font-weight: 500;
}
#main .aboutSec {
	margin-bottom: 12.4rem;
}
#main .aboutSec .inner {
	position: relative;
}
#main .aboutSec .inner h2 {
	font-size: 20.6rem;
	line-height: 1;
	color: #FFFFFF;
	opacity: 0.8;
	position: absolute;
	top: -10rem;
	left: -8rem;
	white-space: nowrap;
	letter-spacing: -0.02em;
	font-weight: 500;
}
#main .aboutSec .inner .photoBox {
	width: 50rem;
	margin-right: 6.7rem;
}
#main .aboutSec .inner .photoBox img {
	width: 100%;
}
#main .aboutSec .inner .textBox {
	flex: 1;
	margin-top: -13rem;
}
#main .aboutSec .inner p {
	font-size: 1.5rem;
	line-height: 1.87;
	margin-bottom: 2.8rem;
}
#main .aboutSec .inner p:last-child {
	margin-bottom: 0;
}
#main .aboutSec .inner .ttl {
	margin-bottom: 4.2rem;
	font-size: 3rem;
	font-weight: 700;
	letter-spacing: 0.82em;
	display: flex;
	flex-direction: row-reverse;
	justify-content: center;
}
#main .aboutSec .inner .ttl span {
	margin: 0 0.8rem;
	position: relative;
	display: inline-block;
	-webkit-writing-mode : tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
#main .aboutSec .inner .ttl span:after {
	width: 1px;  
	background-color: #707070;
	position: absolute;  
	top: 0;
	right: 0.5rem;
	bottom: 2.2rem;  
	content: ""; 
}
#main .aboutSec .inner .ttl .txtSpan:after {
	bottom: 5.6rem;
}
#main .aboutSec .inner .ttl02 {
	margin-bottom: 5.6rem;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.82;
}
#main .aboutSec .comLink {
	margin-top: -5.8rem;
	position: relative;
}
#main .newsSec {
	padding: 10.2rem 0 11.6rem;
	margin: 0 5rem;
	border-top: 2px solid #000000;
}
#main .newsSec .headLine02 {
	width: 24rem;
	margin-top: -1rem;
	padding-right: 2rem;
}
#main .newsSec .inner {
	margin-bottom: 3.5rem;
}
#main .newsSec .rBox {
	flex: 1;
}
#main .newsSec .newsList {
	margin-bottom: 0;
}
#main .newsSec .comLink {
	text-align: right;
}
#main .joboffer {
	padding: 8.8rem 0 9.5rem;
	margin: 0 5rem;
	border-top: 2px solid #000000;
}
#main .joboffer .content {
	padding: 0 6.2rem;
	max-width: 126.6rem;
	align-items: center;
	background-color: #EFEFEF;
	border-radius: 2rem;
}
#main .joboffer .photoBox {
	width: 69.5rem;
	order: 2;
}
#main .joboffer .textBox {
	flex: 1;
	padding: 1rem 2rem 2.0rem 7rem;
}
#main .joboffer .headLine02 {
	margin-bottom: 3rem;
}
#main .joboffer .headLine02 .en {
	font-size: 4rem;
	margin-bottom: 0.3rem;
}
#main .joboffer p{
	line-height: 1.76;
	font-weight: 700;
}
#main .office {
	padding: 15.2rem 0 14.4rem;
	margin: 0 5rem;
	border-top: 2px solid #000000;
}
#main .office .headLine02 {
	margin: 0;
}
#main .office .ttlBox {
	margin-bottom: 4.0rem;
}
#main .office .ttlBox .rBox {
	max-width: 45.7rem;
	padding-top: 0.3rem;
}
#main .office .ttlBox p {
	font-weight: 700;
	line-height: 1.7;
}
#main .office .list {
	margin-left: auto;
	width: calc(50% + 52.5rem);
}
#main .office .list .slick-slide > div {
	width: 24rem;
	margin-right: 1.3rem;
}
#main .office .list a {
	display: block;
}
#main .office .list a:hover {
	opacity: 0.7;
}
#main .office .list .photo {
	margin-bottom: 3.4rem;
	border-radius: 1rem;
	overflow: hidden;
}
#main .office .list .photo img {
	width: 100%;
}
#main .office .list .txtBox {
	padding-top: 2.5rem;
	position: relative;
}
#main .office .list .txtBox:after {
	width: 4.4rem;  
	height: 0.4rem;
	background-color: #000000;
	position: absolute;  
	top: 0;
	left: 0;  
	content: ""; 
}
#main .office .list p {
	font-size: 1.2rem;
	line-height: 2.33;
}
#main .office .jsBox {
	margin-right: -5rem;
	position: relative;
}
#main .office .jsBox .prev {
	position: absolute;
	top: 3.4rem;
	left: calc(50% - 59.2rem);
	cursor: pointer;
	z-index: 1;
}
#main .office .jsBox .next {
	position: absolute;
	top: 3.4rem;
	right: calc(50% - 54rem);
	cursor: pointer;
	z-index: 1;
}
#main .profile {
	margin-bottom: 20.2rem;
	color: #fff;
	padding: 8rem 0;
	min-height: 56.8rem;
	margin-left: 5rem;
	border-radius: 0 0 0 12rem;
	background: url(https://mic-g.co.jp/wordpress/wp-content/uploads/2025/02/photo02.jpg) no-repeat center;
	background-size: cover;
}
#main .profile .content {
	max-width: 110rem;
}
#main .profile .headLine02 {
	margin: 0;
	width: 54.7rem;
	padding-right: 2rem;
}
#main .profile .rBox {
	flex: 1;
	padding-top: 0rem;
}
#main .profile p {
	font-weight: 700;
	margin-bottom: 5.8rem;
	line-height: 1.7;
}
#main .study {
	margin-bottom: 6.2rem;
}
#main .study .headLine02 {
	margin: 0;
}
#main .study .ttlBox {
	margin-bottom: 5.1rem;
}
#main .study .ttlBox .rBox {
	width: 45.8rem;
}
#main .study .ttlBox .rBox p {
	font-weight: 700;
	line-height: 1.7;
}
#main .study .comLink {
	text-align: right;
}
#main .movieSec {
	padding: 10rem 0 7.3rem;
	position: relative;
	color: #fff;
}
#main .movieSec:after {
	width: 100%;  
	height: 100%;
	background-color: #4E5458;
	border-radius: 0 0 12rem 0;
	position: absolute;  
	top: 0;
	right: 5rem;  
	z-index: -1;
	content: ""; 
}
#main .movieSec .headLine01 {
	margin: 0;
}
#main .movieSec .ttlBox {
	margin-bottom: 8.2rem;
}
#main .movieSec .ttlBox .rBox {
	width: 46rem;
}
#main .movieSec .ttlBox p {
	font-weight: 700;
	line-height: 1.7;
}
#main .movieList {
	display: flex;
	flex-wrap: wrap;
	gap: 4rem 5.6rem;
	margin-bottom: 8.7rem;
}
#main .movieList a {
	display: block;
	color: #fff;
}
#main .movieList a:hover {
	opacity: 0.7;
}
#main .movieList li {
	width: calc((100% - 5.6rem * 2) / 3);
}
#main .movieList li .photo {
	margin-bottom: 2.6rem;
	box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.3);
}
#main .movieList p {
	font-size: 1.4rem;
	font-weight: 700;
}
#main .movieSec .comLink {
	text-align: right;
}
@media all and (min-width: 897px) {
	#index .hInner .naviUl a {
		color: #fff;
	}
	#index .menuBox {
		background: rgba(32,32,32, 0.3);
	}
	#main .office .jsBox .next:hover {
		opacity: 0.7;
	}
	#main .office .jsBox .prev:hover {
		opacity: 0.7;
	}
	#main .profile .rBox {
		padding-right: 5rem;
	}
}

@media all and (max-width: 896px) {
	#index .menu span {
		background: #fff;
	}
	#index .menu.on span {
		background: #000;
	}
	#index .mainImg {
		height: 45rem;
		margin: 0 2rem 8rem 0;
	}
	#index .hInner h1 a {
		width: 26rem;
		height: 1.17rem;
		display: block;
		background: url(img/common/logo.png) no-repeat left top;
		background-size: 100% auto;
	}
	#index #gHeader.on .hInner h1 img {
		visibility: hidden;
		opacity: 0;
		display: none;
	}
	#index .mainImg .fooUl {
		border-radius: 0 0 5rem 0;
	}
	#index .mainImg .sub {
		padding: 0 2rem;
	}
	#index .mainImg p {
		font-size: 2rem;
	}
	#index .mainImg .en {
		font-size: 4rem;
	}
	#main .aboutSec .inner {
		margin-bottom: 4rem;
		display: block;
	}
	#main .aboutSec .inner h2 {
		font-size: 5rem;
		left: 50%;
		top: -2rem;
		transform: translateX(-50%);
	}
	#main .aboutSec .inner .photoBox {
		width: auto;
		margin: 0 0 3rem;
	}
	#main .aboutSec .inner .textBox {
		margin: 0;
	}
	#main .aboutSec .inner .ttl {
		margin-bottom: 2rem;
		font-size: 2.5rem;
		text-align: center;
		letter-spacing: 0.5em;
	}
	#main .aboutSec .inner .ttl span::after {
		bottom: 1.2rem;
	}
	#main .aboutSec .inner .ttl .txtSpan::after {
		bottom: 4rem;
	}
	#main .aboutSec .inner .ttl02 {
		font-size: 1.6rem;
		margin-bottom: 2rem;
	}
	#main .aboutSec .comLink {
		margin-top: 0;
		text-align: center;
	}
	#main .aboutSec {
		margin-bottom: 6rem;
	}
	#main .newsSec {
		padding: 6rem 0;
		margin: 0;
	}
	#main .newsSec .inner {
		display: block;
	}
	#main .newsSec .comLink {
		text-align: center;
	}
	#main .newsSec .headLine02 {
		text-align: center;
		width: auto;
		margin: 0 0 4rem;
		padding-right: 0;
	}
	#main .joboffer {
		padding: 6rem 2rem;
		margin: 0;
	}
	#main .joboffer .content {
		display: block;
		padding: 0;
	}
	#main .joboffer .photoBox {
		width: auto;
		margin: 0 0 2rem;
	}
	#main .joboffer .photoBox img {
		width: 100%;
	}
	#main .joboffer .textBox {
		padding: 0 0.5rem 4rem 2rem;
	}
	#main .office {
		padding: 6rem 0;
		margin: 0 2rem;
	}
	#main .office .content {
		padding: 0;
	}
	#main .office .ttlBox {
		display: block;
	}
	#main .office .headLine02 {
		margin: 0 0 4rem;
		text-align: center;
	}
	#main .office .ttlBox .rBox {
		max-width: inherit;
	}
	#main .office .jsBox .prev {
		width: 8rem;
		left: -3rem;
		top: calc(50% - 7rem);
		transform: translateY(-50%);
	}
	#main .office .jsBox .next {
		width: 8rem;
		right: -3rem;
		top: calc(50% - 7rem);
		transform: translateY(-50%);
	}
	#main .office .list .slick-slide > div {
		width: auto;
		margin: 0;
	}
	#main .office .jsBox {
		margin: 0;
	}
	#main .office .list {
		width: auto;
	}
	#main .profile {
		margin: 0 0 5rem;
		padding: 5rem 0;
		min-height: inherit;
		border-radius: 0 0 0 5rem;
	}
	#main .profile .ttlBox {
		display: block;
	}
	#main .profile .headLine02 {
		width: auto;
		padding: 0;
		margin: 0 0 4rem;
		text-align: center;
	}
	#main .profile .comLink {
		text-align: center;
	}
	#main .study .ttlBox {
		display: block;
	}
	#main .study .headLine02 {
		text-align: center;
		margin-bottom: 4rem;
	}
	#main .study .ttlBox .rBox {
		width: auto;
	}
	#main .study .comLink {
		text-align: center;
	}
	#main .movieSec::after { 
		right: 0;
		border-radius: 0 0 5rem 0;
	}
	#main .movieSec {
		padding: 6rem 0;
	}
	#main .movieSec .ttlBox {
		display: block;
		margin-bottom: 5rem;
	}
	#main .movieSec .headLine01 {
		text-align: center;
		margin-bottom: 4rem;
	}
	#main .movieSec .ttlBox .rBox {
		width: auto;
	}
	#main .movieList {
		display: block;
		margin-bottom: 5rem;
	}
	#main .movieList li {
		width: auto;
		margin: 0 0 8rem;
	}
	#main .movieList li:last-child {
		margin-bottom: 0;
	}
	#main .movieList li .photo img {
		width: 100%;
	}
	#main .movieSec .comLink {
		text-align: center;
	}
}

/*------------------------------------------------------------
	manufacturing
------------------------------------------------------------*/
#proflie .content {
	margin-top: -0.6rem;
	max-width: 130.6rem;
}
#proflie .tabUl li {
	width: calc(100% / 4);
}
#main .proflieBox {
	padding: 7.6rem 2rem 18.1rem;
	background-color: #D0DDDD;
}
#main .proflieBox .headLine02 {
	text-align: center;
	font-size: 1.6rem;
	margin-bottom: 3.5rem;
	letter-spacing: 0;
}
#main .proflieBox .headLine02 .en {
	font-size: 4rem;
	line-height: 1.3;
	margin-bottom: -0.4rem;
}
#main .proflieBox p {
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	line-height: 2.14;
}
#main .proflieBox .centerTxt {
	margin-bottom: 10.9rem;
	text-align: center;
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1.875;
}
#main .proflieBox .photoList {
	max-width: 80rem;
	margin: 0 auto 14rem;
}
#main .proflieBox .photoList li {
	margin-bottom: 2rem;
}
#main .proflieBox .photoList li img {
	width: 100%;
}
#main .proflieBox .photoList li:last-child {
	margin-bottom: 0;
}
#main .proflieBox .comList {
	padding-top: 11.2rem;
}	
#main .mainConts {
	max-width: 99.8rem;
	margin: 0 auto;
}
#main .proflieBox .comList p {
	font-size: 1.2rem;
	font-weight: 500;
	letter-spacing: 0;
}
#main .proflieBox .comList .ttl {
	font-size: 1.4rem;
	font-weight: 700;
	padding-top: 0.2rem;
}

@media all and (min-width: 897px) {
	#proflie .tabUl a {
		background-position: right 2.2rem center;
	}
}

@media all and (max-width: 896px) {
	#proflie .tabUl a {
		padding-left: 1rem;
		padding-right: 1rem;
		background-position: right 0.5rem center;
	}
	#main .proflieBox {
		padding: 5rem 1rem 8rem !important;
	}
	#main .proflieBox .headLine02 .en {
		font-size: 3rem;
	}
	#main .proflieBox .centerTxt {
		font-size: 1.4rem;
		margin-bottom: 5rem;
	}
	#main .proflieBox .photoList {
		max-width: inherit;
		margin-bottom: 8rem;
	}
	#main .proflieBox .comList {
		padding-top: 2rem;
	}
}

/*------------------------------------------------------------
	assembly
------------------------------------------------------------*/
#proflie.assembly .proflieBox {
	background-color: #F0DCDC;
}
#proflie.assembly .inner {
	max-width: 80rem;
	margin: 0 auto;
	padding: 4.4rem 0;
}
#proflie.assembly .imgBox {
	padding-bottom: 5.5rem;
	margin-bottom: 6.9rem;
	border-bottom: 1px solid #A0A0A0;
}
#proflie.assembly .imgBox:last-child {
	border: none;
	padding-bottom: 0;
	margin-bottom: 0;
}
#proflie.assembly .imgBox .photoBox {
	width: 40rem;
	margin-right: 3.5rem;
}
#proflie.assembly .imgBox .photoBox img {
	width: 100%;
}
#proflie.assembly .imgBox .textBox {
	flex: 1;
	margin-top: -1rem;
}
#proflie.assembly .imgBox p {
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	line-height: 2.14;
}
#proflie.assembly .imgBox .ttl {
	margin-bottom: 6.8rem;
	font-size: 1.6rem;
	font-weight: 600;
}
#proflie.assembly .imgBox:nth-child(2n) .photoBox {
	order: 2;
	margin-right: 0;
	margin-left: 3.5rem;
}

@media all and (min-width: 897px) {
	#proflie.assembly .proflieBox {
		padding-top: 10.8rem;
	}
	#proflie.assembly .proflieBox .headLine02 {
		margin-bottom: 5.5rem;
	}
}

@media all and (max-width: 896px) {
	#proflie.assembly .inner {
		max-width: inherit;
		padding-top: 0;
		padding-bottom: 0;
	}
	#proflie.assembly .imgBox {
		display: block;
	}
	#proflie.assembly .imgBox .photoBox {
		width: auto;
		margin: 0 0 2rem !important;
	}
	#proflie.assembly .imgBox .textBox {
		margin-top: 0;
	}
	#proflie.assembly .imgBox .ttl {
		margin-bottom: 2rem;
		letter-spacing: 0;
	}
}

/*------------------------------------------------------------
	metal_working
------------------------------------------------------------*/
#proflie.metal_working .proflieBox {
	background-color: #EDEDE1;
}
@media all and (min-width: 897px) {
	#proflie.metal_working .proflieBox {
		padding-bottom: 15.8rem;
		padding-top: 10.5rem;
	}
	#proflie.metal_working .proflieBox .headLine02 {
		margin-bottom: 5.8rem;
	}
	#proflie.metal_working .proflieBox .photoList {
		margin-bottom: 18rem;
	}
	#proflie.metal_working .proflieBox .comList {
		padding-top: 9rem;
		gap: 7.6rem 1.2rem;
	}
}


/*------------------------------------------------------------
	contact
------------------------------------------------------------*/
#main .contactBox {
	margin-bottom: 6.4rem;
	padding: 3.5rem 7.3rem 5.7rem 7.5rem;
	background-color: #4E5458;
}
#main .contactDl {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	color: #fff;
}
#main .contactDl dt {
	padding: 0 1rem 3.8rem 0;
	width: 20rem;
	font-weight: 600;
}
#main .contactDl .dtStyle {
	padding-bottom: 2.3rem;
}
#main .contactDl .dtStyle02 {
	align-self: flex-start;
	padding-bottom: 0;
	padding-top: 3rem;
}
#main .contactDl dd {
	padding: 0.9rem 0;
	padding: 2.25rem 0;
	width: calc(100% - 20rem);
}
#main .contactDl dd .txtSpan {
	margin-bottom: 0.3rem;
	display: block;
}
#main .contactDl .list {
	margin: -1.3rem 0 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#main .contactDl .list02 {
	margin-bottom: -1.3rem;
}
#main .contactDl .list li {
	width: 47.5%;
}
input[type="email"],
input[type="tel"],
input[type="text"] {
    appearance:none;
    -moz-appearance:none;
    -webkit-appearance:none;
    border-radius: 0.4rem;
    height: 5.2rem;
	color: #000;
	border: none;
    box-sizing: border-box;
    font-size: 1.6rem;
    padding: 0 1.0rem;
    width: 100%;
    background-color: #fff;
}
textarea {
	resize: vertical;
    appearance:none;
    -moz-appearance:none;
    -webkit-appearance:none;
    border-radius: 0.4rem;
    height: 27.1rem;
	color: #000;
	border: none;
    box-sizing: border-box;
    font-size: 1.6rem;
    padding: 1.0rem;
    width: 100%;
	margin-top: 1.4rem;
    background-color: #fff;
}
input[type="checkbox"] {
    display: none;
}
input[type="checkbox"] ~ span {
	background: url(img/common/check01.png) no-repeat left center;
	background-size: 4.4rem 4.4rem;
	border-radius: 0;
    display: inline-block;
    line-height: 1.7;
	cursor: pointer;
    padding: 0.4rem 0 0.4rem 6.3rem;
}
input[type="checkbox"]:checked ~ span {
	background-image: url("img/common/check02.png");
}
.submit li {
	margin-left: 1rem;
	display: inline-block;
}
.submit li input {
    appearance:none;
    -moz-appearance:none;
    -webkit-appearance:none;
    width: 31rem;
    height: 5.2rem;
    border-radius: 0.4rem;
    text-align: center;
    cursor: pointer;
    font-size: 1.6rem;
    color: #fff;
	border: none;
	background-color: #4E5458;
}
#main .thanks {
	text-align: center;
}
#main .thanks p {
	line-height: 1.8;
	margin-bottom: 5rem;
}
@media all and (min-width: 897px) {
	#contact .headLine01 {
		margin-bottom: 7.4rem;
	}
	.submit li input:hover {
		opacity: 0.7;
	}
	#contact.confirm .submit li input {
		width: 21rem;
	}
	#main .contactDl .list02 + .errorTxt {
		margin-top: 1.5rem;
	}
	#contact.confirm .contactDl dt {
		padding: 2rem 1rem 2rem 0 !important;
	}
	#contact.confirm .contactDl dd {
		padding: 2rem 0 !important;
	}
}

@media all and (max-width: 896px) {
	#main .contactBox {
		margin-bottom: 5rem;
		padding: 4rem 2rem;
	}
	#main .contactDl {
		display: block;
	}
	#main .contactDl dt {
		width: auto;
		padding: 0 0 0.4rem !important;
	}
	#main .contactDl dd {
		width: auto;
		padding: 0.5rem 0 4rem !important;
	}
	#main .contactDl .list {
		margin: 0;
		display: block;
	}
	#main .contactDl .list li {
		width: auto;
		margin-bottom: 1rem;
	}
	#main .contactDl .list li:last-child {
		margin-bottom: 0;
	}
	textarea {
		height: 20rem;
	}
	#contact .sub {
		display: block;
	}
	#contact .checkP {
		margin-bottom: 2rem;
	}
	input[type="checkbox"] ~ span {
		font-size: 1.4rem;
		line-height: 1.5;
		padding: 0.7rem 0 0.7rem 4rem;
		background-size: 3rem auto;
	}
	.submit li {
		max-width: 33rem;
		display: block;
		margin: 0 auto 1rem;
	}
	.submit li:last-child {
		margin-bottom: 0;
	}
	.submit li input {
		width: 100%;
	}
	#main .thanks {
		min-height: calc(100vh - 52rem);
	}
}

/*------------------------------------------------------------
	design
------------------------------------------------------------*/
#proflie.design .proflieBox {
	background-color: #fff;
	padding-top: 10.4rem;
	padding-bottom: 13.5rem;
}
#proflie.design h4 {
	font-size: 1.4rem;
	font-weight: 700;
	margin-bottom: 5.7rem;
}
#proflie.design table {
	width: 100%;
	border-collapse: collapse;
}
#proflie.design table th {
	text-align: center;
	vertical-align: middle;
	background-color: #A7D8C1;
	border-left: 1px solid #707070;
	border-right: 1px solid #707070;
	border-bottom: 1px solid #A0A0A0;
	border-top: 1px solid #A0A0A0;
	font-size: 1.2rem;
	font-weight: 400;
	padding: 0.6rem 0.5rem;
}
#proflie.design table td {
	padding: 0.4rem 0.1rem;
	text-align: center;
	vertical-align: middle;
	font-size: 1.4rem;
	border-left: 1px solid #707070;
	border-right: 1px solid #707070;
	border-bottom: 1px solid #A0A0A0;
	border-top: 1px solid #A0A0A0;
}
#proflie.design table .wid01 {
	width: 2.6%;
}
#proflie.design table .wid02 {
	width: 6.3%;
}
#proflie.design table .wid03 {
	width: 6.6%;
}
#proflie.design table .wid04 {
	width: 21.5%;
}
#proflie.design table .wid05 {
	width: 5.6%;
}
#proflie.design table .wid06 {
	width: 45.2%;
}
#proflie.design table .wid07 {
	width: 12.2%;
}
#proflie.design table .taLeft {
	text-align: left;
	padding-left: 1.3rem;
}
@media all and (min-width: 897px) {
	#proflie.design .proflieBox .headLine01 {
		margin-bottom: 6rem;
	}
	#proflie.design .proflieBox .photoList {
		margin-bottom: 17.7rem;
	}
	#proflie.design .proflieBox .comList {
		margin-bottom: 18.5rem;
		padding-top: 9rem;
		gap: 1rem 1.2rem;
	}
	#proflie.design .comList li {
		min-height: 43rem;
	}
}

@media all and (max-width: 896px) {
	#proflie.design .proflieBox .comList {
		margin-bottom: 10rem;
	}
	#proflie.design h4 {
		margin-bottom: 3rem;
	}
	#proflie.design .tableBox {
		overflow-x: scroll;
	}
	#proflie.design table {
		min-width: 100%;
		width: 980px;
	}
}