@charset "UTF-8";

html {
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
	font-size: 62.5%;
	color: #111;
	font-weight: 500;
	line-height: 1;
	-webkit-text-size-adjust: 100%;
}

/* ----------------------------------- common ----------------------------------- */
* { outline: none; }
body { font-size: 16px; position: relative; overflow-x: hidden; }
body.fixed { position: fixed; z-index: 0; }
main { display: block; margin-top: 70px; }
button { background-color: transparent; border: none; cursor: pointer; outline: none; padding: 0; cursor: pointer; font-family: inherit; }
div img { object-fit: cover; object-position: 50% 50%; width: 100%; height: 100%; overflow: hidden; vertical-align: top; }
h1,h2,h3,h4 { font-weight: bold; }
h1 { font-size: 4.6rem; line-height: 1.4; color: #15125e; }
h2 { box-sizing: border-box; padding-bottom: 20px; border-bottom: 2px solid #15125e; margin-bottom: 50px; color: #15125e; font-size: 3.6rem; line-height: 1.6; }
h4 { font-size: 1.9rem; padding: 40px 0 20px 0; }
a { text-decoration: none; color: #111; }
a.underline { text-decoration: underline; color: #15125e; transition: all 0.2s ease; }
a.underline:hover { opacity: 0.5; }
p { font-size: 1.6rem; line-height: 1.9; margin: -7px 0; }
table { width: 100%; table-layout: fixed; }
table tr { width: 100%; border-top: 1px solid #ddd; vertical-align: top; }
table tr:last-child { border-bottom: 1px solid #ddd; }
table tr th,table tr td { line-height: 1.9; padding: 17px 0; }
table tr th { font-weight: bold; width: 160px; }
.sp1 { display: none!important; }
.sp2 { display: none!important; }
.sp1_r { display: none!important; }
.wrapper1 { width: 81.25%; margin: 0 auto; max-width: 1600px; }
.wrapper2 { width: 90.625%; margin: 0 auto; }
.en { font-family: 'Montserrat', sans-serif; }
.gray { background: #f3f5f5; }
.bold { font-weight: bold; }

.h3_common {
	display: block;
	box-sizing: border-box;
	padding-left: 25px;
	border-left: 7px solid #15125e;
	margin-bottom: 30px;
	color: #15125e;
	font-size: 2.5rem;
	line-height: 1.6;
}

.square_link {
	display: block;
	box-sizing: border-box;
	width: 250px;
	font-size: 1.7rem;
	line-height: 60px;
	font-weight: bold;
	text-align: center;
	color: #fff;
	background-color: #15125e;
	margin-top: 100px;
	transition: all 0.3s ease;
}

.square_link.center {
	margin-left: auto;
	margin-right: auto;
}


.square_link:hover {
	opacity: 0.6;
}

/* ----------------------------------- top ----------------------------------- */
/* ------------------------ header ------------------------ */
header {
	position: fixed;
	width: 100%;
	z-index: 1999;
	left: 0;
	top: 0;
	background-color: #fff;
	transition: transform 0.4s ease;
}

.header {
	position: relative;
	z-index: 1999;
	height: 110px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	transition: all 0.4s ease;
}

.header a.logo {
	display: block;
	width: 250px;
	height: 51px;
	margin-left: 30px;
	transition: all 0.4s ease;
	overflow: hidden;
}

.header a.logo img {
	height: auto;
	transition: all 0.4s ease;
}

.header nav ul {
	display: flex;
	align-items: center;
	transition: all 0.4s ease;
}

.header nav ul li.link {
	font-weight: bold;
	padding-left: 14px;
	padding-right: 14px;
	white-space: nowrap;
}

.header nav ul li.link a.current {
	position: relative;
}

.header nav ul li.link a.current::before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	bottom: -6px;
	width: 100%;
	height: 2px;
	background: #111;
	transition: all 0.2s ease;
}

.header nav ul li.link a.nav_link,
.header nav ul li.link a.none_sub {
	line-height: 110px;
}

.header nav ul li.link a.none_sub {
	transition: all 0.2s ease;
}

.header nav ul li.link a.none_sub:hover {
	color: #999;
}

.header nav ul li.link a.none_sub.current::before:hover {
	background: #999;
}

.header nav ul li.parent_link a.nav_link {
	transition: all 0.2s ease;
}

.header nav ul li.parent_link.visible a.nav_link {
	color: #999;
	transition: all 0.2s ease;
}

.header nav ul li.parent_link.visible a.nav_link.current::before {
	background: #999;
}

.header nav ul li.parent_link.visible div.sub_header {
	visibility: visible;
	opacity: 1;
	z-index: 1999;
	/*transition: all 0.5s ease;*/
    max-height: 800px;
}

.header nav ul li.parent_link div.sub_header {
	visibility: hidden;
	opacity: 0.5;
	position: absolute;
	z-index: -1;
	top: 110px;
	left: 0;
	width: 100%;
	box-sizing: border-box;
	padding: 40px;
	border-top: 1px solid #eee;
	background: #fff;
    overflow: hidden;
    max-height: 0;
}

.header nav ul li.parent_link div.sub_header div.sub_wrap {
	margin: 0 auto;
	width: 91.4%;
	display: flex;
	align-items: center;
}

.header nav ul li.parent_link div.sub_header div.img {
	width: 300px;
}

.header nav ul li.parent_link div.sub_header div.child_link {
	margin-left: 60px;
	width: calc(100% - 360px);
	padding-bottom: 5px;
}

.header nav ul li.parent_link div.sub_header div.child_link a.h3_common {
	transition: all 0.2s ease;
}

.header nav ul li.parent_link div.sub_header div.child_link a.h3_common:hover {
	opacity: 0.5;
}

.header nav ul li.parent_link div.sub_header div.child_link ul {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	width: 100%;
}

.header nav ul li.parent_link div.sub_header div.child_link ul.row_3 li {
	width: 30%;
	margin-right: 30px;
}

.header nav ul li.parent_link div.sub_header div.child_link ul.row_3 li:nth-child(3n) {
	margin-right: 0;
}

.header nav ul li.parent_link div.sub_header div.child_link ul.row_2 li {
	width: calc(50% - 16px);
	margin-right: 30px;
}

.header nav ul li.parent_link div.sub_header div.child_link ul.row_2 li:nth-child(2n) {
	margin-right: 0;
}

.header nav ul li.parent_link div.sub_header div.child_link ul li a {
	display: block;
	box-sizing: border-box;
	padding: 14px 15px 10px 0;
	border-bottom: 1px solid #eee;
	background: url(/img/common/arrow.svg) no-repeat;
	background-size: 7px 11px;
	background-position: right 4px center;
	font-weight: 500;
	white-space: normal;
	line-height: 25px;
	/*-webkit-backface-visibility:hidden;
	backface-visibility:hidden;*/
	transition: background-position 0.2s ease, opacity 0.2s ease;
}

.header nav ul li.parent_link.visible div.sub_header div.child_link ul li a:hover {
	opacity: 0.5;
	background-position: right 0 center;
}

div.header_wrap {
	display: flex;
	height: 100%;
}

div.header_wrap a.contact {
	display: block;
	width: 150px;
	height: auto;
	line-height: 110px;
	font-weight: bold;
	text-align: center;
	background-color: #ffdb08; 
	transition:  0.4s ease;
}

div.header_wrap a.contact:hover {
	opacity: 0.5;
}

div.header_wrap a.onicon {
	position: relative;
	display: block;
	width: 150px;
	height: auto;
	background-color: #151278;
	transition: all 0.4s ease;
}

div.header_wrap a.onicon:hover {
	opacity: 0.5;
}

div.header_wrap a.onicon div {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 90px;
}


/* ----- header scroll ----- */
header.on .header {
	height: 70px;
}

header.on::before {
	content: '';
	display: block;
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 999;
	width: 100%;
	height: 8px;
	background: linear-gradient(to bottom, rgba(0,0,0,0.05) 0%,rgba(0,0,0,0) 100%);
	pointer-events: none;
	transition: all 0.4s ease;
}

header.on .header a.logo {
	transition: all 0.4s ease;
	width: 210px;
	height: 28px;
}

header.on .header nav ul li.link a.nav_link,
header.on .header nav ul li.link a.none_sub {
	line-height: 70px;
}

header.on .header nav ul li.parent_link div.sub_header {
	top: 70px;
}

header.on .header div.header_wrap a.contact {
	line-height: 70px;
}

/* ----- hamburger ----- */
.header div.spHum {
	position: relative;
	z-index: 1999;
	padding: 7px 13px 0 0;
}

.header div.spHum button {
	display: block;
	position: relative;
	overflow: visible;
	cursor: pointer;
}

.header div.spHum button div.line_wrap {
	position: relative;
	width: 27px;
	height: 14px;
	margin: 0 auto;
}

.header div.spHum button div.line_wrap span.line {
	position: absolute;
	left: 0;
	display: block;
	width: 100%;
	height: 2px;
	transition: all 0.2s ease;
	background-color: #111;
}

.header div.spHum button div.line_wrap span.line:nth-child(1) {
	top: 0;
}

.header div.spHum button div.line_wrap span.line:nth-child(2) {
	top: 50%;
	transform: translateY(-50%);
}

.header div.spHum button div.line_wrap span.line:nth-child(3) {
	bottom: 0;
}

.header div.spHum.on button div.line_wrap {
	width: 24px;
}

.header div.spHum.on button div.line_wrap span.line:nth-child(1) {
    transform: rotate(45deg);
    top: 5px;
}

.header div.spHum.on button div.line_wrap span.line:nth-child(2) {
	transform: rotate(-45deg);
    top: 5px;
}

.header div.spHum.on button div.line_wrap span.line:nth-child(3) {
	opacity: 0;
}

.header div.spHum button span.txt {
	display: block;
	width: 40px;
	padding-top: 4px;
	font-size: 1.0rem;
	transform: scale(0.9);
	transform-origin: center;
	font-weight: bold;
	text-align: center;
}

/* ----- sp menu ----- */
div.spMenu {
	visibility: hidden;
	opacity: 0;
	width: 100%;
	height: calc(100% - 130px);
	padding-top: 70px;
	transition: opacity 0.4s ease;
	display: block;
	position: fixed;
	z-index: 999;
	left: 0;
    top: 0;
}

div.spMenu.on {
	visibility: visible;
	opacity: 1;
	top: 0;
}

div.spMenu div.inner {
	width: 100%;
	height: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	background-color: #fff; 
}

div.spMenu nav ul {
	width: 100%;
	padding-bottom: 50px;
}

div.spMenu nav ul li {
	border-top: 1px solid #eee;
}

div.spMenu nav ul li:last-child { 
	border-bottom: 1px solid #eee;
}

div.spMenu nav ul li div {
	position: relative;
	box-sizing: border-box;
	padding: 24px;
	cursor: pointer;
}

div.spMenu nav ul li div.has_lv::before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	right: 24px;
	transform: translateY(-50%);
	width: 12px;
	height: 2px;
	background: #111;
}

div.spMenu nav ul li div.has_lv::after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	right: 29px;
	transform: translateY(-50%);
	width: 2px;
	height: 12px;
	background: #111;
	transition: all 0.2s ease;
}

div.spMenu nav ul li div.has_lv.open::after {
	opacity: 0;
}

div.spMenu nav ul li div span {
	position: relative;
	font-weight: bold;
}

div.spMenu nav ul li div span.current::before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	bottom: -6px;
	width: 100%;
	height: 2px;
	background: #111;

}

div.spMenu nav ul li div.has_lv.open + ul.third_lv {
	display: block!important;
}

div.spMenu nav ul li ul.third_lv {
	display: none;
	box-sizing: border-box;
	width: 90%;
	padding: 0 20px 60px 24px;
	margin-left: auto;
}

div.spMenu nav ul li ul.third_lv li {
	border: none;
}


div.spMenu nav ul li ul.third_lv li a {
	display: block;
	box-sizing: border-box;
	padding: 20px 0 18px 0;
	border-bottom: 1px solid #eee;
	font-size: 1.5rem;
	background: url(/img/common/arrow.svg) no-repeat right 6px center;
	background-size: 7px 11px;

}


/* ----------------- kv ----------------- */
#kv {
	position: relative;
	z-index: 1;
	width: 100%;
	height: calc(100vh - 70px);
    min-height: 650px;
    background: #151252;
    transition: background 2.0s; 
}

#kv.on {
    background: #000;
}

#kv div.kv_slide {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
}

#kv div.kv_slide ul {
	position: relative;
	z-index: 1;
	overflow: hidden;
	height: inherit;
}

#kv div.kv_slide ul li {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	opacity: 0;
	overflow: hidden;
    transform: scale(1.1) translateX(-4%);
}

#kv div.kv_slide ul li.on {
    opacity: 1;
    transition: transform 1.5s cubic-bezier(0.645, 0.045, 0.355, 1.000), opacity 1.5s cubic-bezier(0.645, 0.045, 0.355, 1.000);
    transform: scale(1) translateX(0);
}

#kv div.kv_slide ul li.out {
    transition: transform 1.5s cubic-bezier(0.645, 0.045, 0.355, 1.000), opacity 1.5s cubic-bezier(0.645, 0.045, 0.355, 1.000);
    transform: scale(1.1) translateX(6%);
}

#kv div.kv_slide ul li.num1 {
    background: url(/img/top/kv1.jpg);
    background-size: cover;
    background-position: center center;
}

#kv div.kv_slide ul li.num2 {
    background: url(/img/top/kv2.jpg);
    background-size: cover;
    background-position: center bottom;
}

#kv div.kv_slide ul li.num3 {
    background: url(/img/top/kv3.jpg);
    background-size: cover;
    background-position: center center;
}

#kv div.kv_copy {
	position: absolute;
	bottom: 50%;
	left: 50%;
    /*margin: 0 auto;*/
	z-index: 5;
	transform: translateY(50%) translateX(-50%);
}

#kv div.kv_copy.on {
    transition: transform 1.0s cubic-bezier(0.645, 0.045, 0.355, 1.000), left 1.0s cubic-bezier(0.645, 0.045, 0.355, 1.000);
    transform: translateY(50%) translateX(0);
    left: 9.375%;
}

#kv div.kv_copy #load {
    width: 30px; 
    height: 30px; 
    border: 4px solid transparent; 
    border-top-color: rgba(255,255,255,0.6); 
    border-radius: 50%; 
    animation: spinLoad 0.5s linear 0s infinite; 
    position: absolute; 
    left: 0; 
    right: 0; 
    bottom: -110px; 
    margin: 0 auto;
}

@keyframes spinLoad {
    0% {transform: rotate(0deg);}
    100% {transform: rotate(360deg);}
}

#kv div.kv_copy div {
	width: 62.34vw;
	max-width: 775px;
	padding-bottom: 50px;
}

#kv div.kv_copy span {
	font-size: 2.3rem;
	font-weight: bold;
	color: #fff;
}

#kv a.scroll {
	display: inline-block;
	position: absolute;
	bottom: 0;
	left: calc(9.375% - 90px);
	/*left: 9.375%;*/
	z-index: 5;
	box-sizing: border-box;
	transform: rotate(90deg);
    transform-origin: right bottom;
}

#kv a.scroll span {
	display: inline-block;
	font-size: 1.2rem;
	color: #fff;
	padding-bottom: 9px;
}

#kv a.scroll div.scroll_bar {
	display: block;
	position: relative;
	width: 90px;
	height: 1px;
	background-color: rgba(255,255,255,0.5);
}

#kv a.scroll div.scroll_bar::after {
	content: '';
	display: block;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	box-sizing: border-box;
	position: absolute;
	top: -2.5px;
	left: 0;
	background: #fff;
	animation: scrollBar 1800ms infinite ease-out;
}

@keyframes scrollBar {
    0% { left: 0; opacity: 1; }
    100% { left: 90%; opacity: 0.1; }
}

#kv div.bar {
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 5;
	width: 0;
	height: 5px;
	background: #bbb;
}

/* ----------------- intro ----------------- */
#intro {
	padding: 150px 0 157px 0;
	background: url(/img/top/intro.jpg);
	background-size: cover;
	background-position: center bottom;
}

#intro p {
	font-size: 1.7rem;
	line-height: 34px;
	color: #fff;
	font-weight: bold;
}

#intro .square_link {
	background-color: #0094de;
	margin-top: 50px;
}

/* ----------------- top about ----------------- */
.top_page h2 {
	padding: 0;
	border: none;
	margin-bottom: 40px;
}

#top_about {
	padding: 106px 0 90px 0;
}

#top_about div.about1 {
	display: flex;
	align-items: flex-start;
	padding-bottom: 120px;
}

#top_about div.about1 div.txt {
	width: 60%;
}

#top_about div.about1 div.txt p {
	width: 90%;
}

#top_about div.about1 div.txt a.square_link {
	margin-top: 60px;
}

#top_about div.about1 div.img {
	width: 40%;
	padding-top: 36px;
}

#top_about div.about2 {
	position: relative;
	padding-bottom: 60px;
}

#top_about div.about2 div.img {
	position: relative;
	z-index: 0;
	width: 95.31vw;
	left: -4.6vw;
}

#top_about div.about2 div.txt {
	position: absolute;
	left: 59.48%;
	top: 4.3vw;
	z-index: 5;
	width: 36.72vw;
}

#top_about div.about2 ul.exp {
	position: absolute;
	left: 5.8%;
	bottom: 0;
	z-index: 5;
	display: inline-flex;
	text-align: center;
	font-size: 1.5rem;
}

#top_about div.about2 ul.exp li:first-child {
	padding-right: 47px;
}

#top_about div.about2 ul.exp li div {
	width: 150px;
	padding-bottom: 20px;
	margin: 0 auto;
}

#top_about div.about2 ul.exp li span {
	color: #15125e;
	font-weight: bold;
	line-height: 25px;
}

/* ----------------- top lineup ----------------- */
.top_page h3.h3_common {
	margin-bottom: 50px;
}

.top_page div.h3_wrap {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.top_page div.h3_wrap a {
	display: block;
	width: 145px;
	border-radius: 15px;
	line-height: 30px;
	font-size: 1.3rem;
	font-weight: bold;
	text-align: center;
	background: #ffdb08;
	transition: all 0.2s ease;
}

.top_page div.h3_wrap a:hover {
	opacity: 0.6;
}

#lineup {
	padding: 75px 0 85px 0;
}

#lineup div.parentClass {
	position: relative;
	_zoom: 1;
	height: 100%;
	padding-bottom: 55px;
	margin-bottom: 42px;
	overflow: hidden;
}

#lineup div.parentClass div.childClass {
	position: relative;
	display: block;
	width: 28.125vw;
	margin: 0 1px;
	float: left;
}

#lineup div.parentClass div.childClass a {
	display: block;
	transition: all 0.3s ease;
}

#lineup div.parentClass div.childClass a:hover {
	opacity: 0.5;
}

#lineup div.parentClass div.childClass a div {
	display: block;
	position: relative;
	z-index: 10;
	overflow: hidden;
}

#lineup div.parentClass div.childClass a div::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	background-color: rgba(255,255,255,0.8);
}

#lineup div.parentClass div.childClass a div img {
	transition: all 0.3s ease;
}

#lineup div.parentClass div.childClass a:hover div img {
	transform: scale(1.03);
}

#lineup div.parentClass div.childClass a span {
	display: inline-block;
	padding: 4px 8px;
	margin: 15px 0 7px 0;
	font-size: 1.3rem;
	font-weight: bold;
	color: #fff;
	background-color: #15125e;
}

#lineup div.parentClass div.childClass a h4 {
	font-size: 1.7rem;
	padding-bottom: 12px;
	line-height: 24px;
	width: 94%;
    padding-top: 5px;
}

#lineup div.parentClass div.childClass a p {
	font-size: 1.3rem;
	line-height: 23px;
	color: #777;
	width: 94%;
}

#lineup div.parentClass button.slick-arrow {
	display: block;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	position: absolute;
	transition: all 0.2s ease;
}

#lineup div.parentClass button.slick-arrow:hover {
	opacity: 0.5;
}

#lineup div.parentClass button.slick-prev {
	left: 4.6875%;
	bottom: 0;
	background: url(/img/top/prev.svg) no-repeat center;
	background-size: 7px 11px;
	background-position: left 47% center;
	background-color: #15125e;
}

#lineup div.parentClass button.slick-next {
	right: 4.6875%;
	bottom: 0;
	background: url(/img/top/next.svg) no-repeat;
	background-size: 7px 11px;
	background-position: right 47% center;
	background-color: #15125e;
}

#lineup div.parentClass ul.slick-dots {
	position: absolute;
	left: 50%;
	bottom: 13px;
	display: flex;
	transform: translateX(-50%);
}

#lineup div.parentClass ul.slick-dots li {
	height: 4px;
	overflow: hidden;
	vertical-align: top;
}

#lineup div.parentClass ul.slick-dots li button {
	width: 20px;
	height: 4px;
	background-color: #fff;
	text-indent: 100%;
	white-space: nowrap;
	vertical-align: top;
	overflow: hidden;
	transition: all 0.2s ease;
}

#lineup div.parentClass ul.slick-dots li.slick-active button {
	background-color: #15125e;
	transition: all 0.2s ease;
}

#lineup div.slick-list {
    padding: 0!important;
    _zoom: 1;
    overflow: visible;
}

#lineup .slick-track {
	overflow: hidden;
	_zoom: 1;
}

#lineup div.jis {
	box-sizing: border-box;
	width: 100%;
	padding: 24px;
	border: 1px solid #333;
	text-align: center;
}

#lineup div.jis div.jis_wrap {
	display: inline-flex;
	align-items: center;
	margin: 0 auto;
}

#lineup div.jis div.jis_wrap div {
	width: 60px;
	padding-right: 30px;
}

#lineup div.jis div.jis_wrap p {
	line-height: 25px;
	font-size: 1.5rem;
}

#lineup div.jis div.jis_wrap a {
	font-weight: bold;
	text-decoration: underline;
	transition: all 0.2s ease;
}

#lineup div.jis div.jis_wrap a:hover {
	opacity: 0.5;
}


/* ----------------- top recruit ----------------- */
#top_recruit {
	padding: 75px 0 85px 0;
}

div.img_link {
	display: flex;
}

div.img_link a {
	display: block;
	position: relative;
	z-index: 1;
	margin-bottom: 2px;
	overflow: hidden;
}

div.img_link a::after {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 5;
	width: 100%;
	background: linear-gradient(to top, rgba(0,0,0,0.3) 0%,rgba(0,0,0,0) 100%);
	pointer-events: none;
}

div.img_link a::before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 8;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.15);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
}

div.img_link a:hover::before {
	opacity: 1;
}

div.img_link a img {
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
	transition: all 0.3s ease;
}

div.img_link a:hover img {
	transform: scale(1.04);
}

div.img_link a span {
	display: block;
	position: absolute;
	left: 25px;
	bottom: 25px;
	z-index: 10;
	padding-left: 44px;
	padding-right: 30px;
	font-size: 1.7rem;
	line-height: 26px;
	font-weight: bold;
	color: #fff;
}

div.img_link a span::before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 30px;
	height: 30px;
	box-sizing: border-box;
	border-radius: 50%;
	border: 2px solid #fff;
	background: url(/img/common/arrow_w.svg) no-repeat center;
	background-size: 7px 11px;
}

div.img_link a.large {
	width: calc(50% - 1px);
	/*height: 550px;*/
	height: 43vw;
	margin-right: 2px;
}

div.img_link a.large::after {
	height: 30%;
}

div.img_link div.wrap {
	width: calc(50% - 1px);
}

div.img_link a.medium {
	width: 100%;
	height: calc(27vw - 2px);
}

div.img_link a.medium::after {
	height: 45%;
}

div.img_link div.small_wrap {
	display: flex;
}

div.img_link a.small {
	width: calc(50% - 1px);
	height: 16vw;
}

div.img_link a.small.left {
	margin-right: 2px;
}

div.img_link a.small::after {
	height: 70%;
}

div.img_link.row_3 a {
	width: calc(100% / 3 - 1px);
	height: 23.44vw;
	margin-right: 2px;
}

div.img_link.row_3 a:last-child {
	width: calc(100% / 3 - 2px);
	margin-right: 0;
}

div.img_link.row_3 a::after {
	height: 60%;
}

#top_recruit div.img_link a.large.top {
	object-position: right center;
}

#top_recruit div.img_link a.large.top::before {
	background-color: rgba(255,255,255,0.3);
}

#top_recruit div.img_link a.large.top::after {
	display: none;
}

#top_recruit div.img_link a.large.top span {
	color: #111;
}

#top_recruit div.img_link a.large.top span::before {
	border-color: #111;
	background: url(/img/common/arrow.svg) no-repeat center;
	background-size: 7px 11px;
}

div.recruit_link {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

div.recruit_link a.square_link {
	margin-top: 50px;
}

div.recruit_link a.square_link:first-child {
	background-color: #ffdb08;
	color: #111;
	margin-right: 30px;
}

/* ----------------- top csr ----------------- */
a.whole_link {
	display: block;
	overflow: hidden;
}

#top_csr {
	padding: 207px 0 214px 0;
	/*background: url(/img/top/csr.jpg);
	background-size: cover;*/
	background-position: right top;
	text-align: center;
	position: relative;
	z-index: 1;
}

a.whole_link #top_csr div.bg {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
}

a.whole_link #top_csr div.bg::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.2);
	opacity: 0;
	pointer-events: none;
	transition: all 0.3s ease;
}

a.whole_link:hover #top_csr div.bg::after {
	opacity: 1;
}

a.whole_link #top_csr div.bg img {
	transition: all 0.3s ease;
}

a.whole_link:hover #top_csr div.bg img {
	transform: scale(1.05);
}

#top_csr h3 {
	padding-bottom: 42px;
	font-size: 2.7rem;
	color: #fff;
}

#top_csr span.square_link {
	background-color: #85b76f;
	margin: 0 auto;
}

a.whole_link:hover span.square_link {
	opacity: 0.6;
}

/* ----------------- top topics ----------------- */
#top_topics {
	padding: 75px 0 130px 0;
}

#top_topics div.flex {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
}

#top_topics div.h3_wrap a {
	width: 120px;
}

#top_topics div.topics_wrap,
#top_topics div.blog_wrap {
	width: 47.41%;
}

div.topics_all a {
	display: block;
	padding: 22px 20px 26px 20px;
	background-color: #f3f5f5;
	margin-bottom: 2px;
	font-size: 1.5rem;
	transition: all 0.2s ease;
}

div.topics_all a:hover {
	opacity: 0.6;
}

div.topics_all a span {
	display: inline-block;
	padding-bottom: 13px;
	font-size: 1.3rem;
	color: #888;
}

div.topics_all a p {
	line-height: 25px;
	font-size: 1.5rem;
}

div.blog_all {
	display: flex;
	flex-wrap: wrap;
}

div.blog_all a {
	display: block;
	width: calc(50% - 1px);
	padding-bottom: 35px;
	margin-right: 2px;
	transition: all 0.3s ease;
}

div.blog_all a:nth-child(2n) {
	margin-right: 0;
}

div.blog_all a:nth-child(3),
div.blog_all a:nth-child(4) {
	padding-bottom: 0;
}

div.blog_all a:hover {
	opacity: 0.5;
}

div.blog_all a div {
	overflow: hidden;
}

div.blog_all a div img {
	transition: all 0.3s ease;
}

div.blog_all a:hover div img {
	transform: scale(1.04);
}

div.blog_all a span {
	display: inline-block;
	padding: 18px 0 13px 0;
	font-size: 1.3rem;
	color: #888;
}

div.blog_all a p {
	font-size: 1.5rem;
	line-height: 25px;
	width: 90%;
}

/* ----------------- bottom link ----------------- */
div.bottom_link {
	display: flex;
}

div.bottom_link a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(50% - 1px);
	padding: 40px 0;
	transition: all 0.2s ease;
}

div.bottom_link a:hover {
	opacity: 0.5;
}

div.bottom_link a div {
	width: 120px;
	padding-right: 40px;
}

div.bottom_link a p {
	font-size: 2.2rem;
	font-weight: bold;
	color: #15125e;
	line-height: 25px;
	text-align: center;
}

div.bottom_link a:first-child {
	background-color: #ebeef0;
	margin-right: 2px;
}

div.bottom_link a:last-child {
	background-color: #f3f5f5;
}

/* ----------------- footer ----------------- */
footer {
	color: #fff;
	position: relative;
}

footer a {
	color: #fff;
	transition: all 0.2s ease;
}

footer a:hover {
	opacity: 0.5;
}

footer div.footer {
	position: relative;
	padding-bottom: 55px;
	background: url(/img/common/footer.jpg) no-repeat;
	background-size: cover;
}

footer div.footer div.path {
	padding: 30px 0;
	border-bottom: 1px solid rgba(255,255,255,0.2);
	
}

footer div.footer div.path p {
	padding-left: 20px;
	background: url(/img/common/home.svg) no-repeat left top 7px;
	background-size: 11px 10px;
	font-size: 1.2rem;
	line-height: 24px;
	margin: -6px 0;
}

footer div.footer div.path p a {
	text-decoration: underline;
}

footer div.footer div.footer_wrap {
	padding-top: 45px;
	display: flex;
	align-items: flex-start;
}

footer div.footer div.footer_wrap div.logo {
	width: 260px;
	padding-right: 80px;
}

footer div.footer div.footer_wrap div.footer_link {
	padding-top: 5px;
	width: calc(100% - 340px);
	max-width: 900px;
}

footer div.footer div.footer_wrap div.footer_link a {
	display: inline-block;
	font-size: 1.7rem;
	font-weight: bold;
	margin-bottom: 36px;
}


footer div.footer div.footer_wrap div.footer_link a.top {
	margin-bottom: 46px;
}

footer div.footer div.footer_wrap div.footer_link div.flex {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

footer div.footer div.footer_wrap div.footer_link div.rows.csr {
	width: 25%;
}

footer div.footer div.footer_wrap div.footer_link ul.third_lv {
	height: 430px;
    padding: 0 15px 0 0;
}

footer div.footer div.footer_wrap div.footer_link ul.third_lv:last-child {
    height: 240px;
}


footer div.footer div.footer_wrap div.footer_link ul.third_lv li {
	padding-bottom: 3px;
}

footer div.footer div.footer_wrap div.footer_link ul.third_lv li a {
	position: relative;
	font-size: 1.4rem;
	line-height: 24px;
	font-weight: 500;
	margin-bottom: 0;
	padding-left: 20px;
}

footer div.footer div.footer_wrap div.footer_link ul.third_lv li a::before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 11px;
	width: 10px;
	height: 1px;
	background-color: #fff;
}

footer div.footer div.footer_wrap div.footer_link a.small {
	font-size: 1.5rem;
	font-weight: 500;
	margin-bottom: 10px;
}

footer a.toTop {
	position: absolute;
	right: 0;
	bottom: 0;
	display: block;
	box-sizing: border-box;
	width: 100px;
	padding: 19px 0 17px 0;
	text-align: center;
	background-color: #fff;
	transition: all 0.3s ease;
}

footer a.toTop:hover {
	padding: 15px 0 21px 0;
}

footer a.toTop div {
	margin: 0 auto;
	width: 21px;
	height: 12px;
	padding-bottom: 6px;
}

footer a.toTop span {
	color: #15125e;
	font-size: 1.1rem;
}

footer div.copyright {
	height: 50px;
	position: relative;
	text-align: center;
	background-color: #15125e;
} 

footer div.copyright span {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	font-size: 1.1rem;
	line-height: 50px;
	opacity: 0.7;
	white-space: nowrap;
}

/* ----------------------------------- company ----------------------------------- */
div.h1_bg {
	width: 100%;
	height: 39.06vw;
	max-height: 700px;
	padding-top: 40px;
	position: relative;
}

div.h1_bg h1 {
	position: absolute;
	left: 0;
	bottom: 90px;
	width: 100%;
	color: #fff;
}

div.h1_bg h1 span {
	display: block;
	width: 81.25%;
	max-width: 1600px;
	margin: 0 auto;
}

#company div.h1_bg {
	background: url(/img/company/top/h1_bg.jpg);
	background-size: cover;
}

div.intro_2nd {
	padding: 95px 0 90px 0;
}


/* ----------------- greeting ----------------- */
div.h1_mono {
	padding: 185px 0 95px 0;
}

section.common {
	padding: 95px 0 130px 0;
	position: relative;
}

p.br {
	padding-bottom: 30px;
}

p.right {
	text-align: right;
}

#greeting div.flex {
	display: flex;
	flex-flow: row-reverse;
	justify-content: space-between;
	align-items: flex-start;
	padding-bottom: 30px;
}

#greeting div.flex div.txt {
	width: calc(100% - 425px - 65px);
}

#greeting div.flex div.img_wrap {
	width: 425px;
	text-align: right;
}

#greeting div.flex div.img_wrap p {
	padding-top: 24px;
	line-height: 1.6;
}


/* ----------------- overview ----------------- */
#overview table tr td dl {
	width: 100%;
	display: inline-flex;
	flex-wrap: wrap;
}

#overview table tr td dl dt {
	width: 160px;
}
#overview table tr td dl dd {
	width: calc(100% - 160px);
}

ul.list_small li {
	padding-left: 10px;
	position: relative;
}

ul.list_small li::before {
	content: '';
	display: inline-block;
	position: absolute;
	top: 14px;
	left: 0;
	width: 2px;
	height: 2px;
	border-radius: 50%;
	background: #111;
}

ul.list_line {
	padding-left: 10px;
}

ul.list_line li {
	padding-left: 14px;
	position: relative;
}

ul.list_line li::before {
	content: '';
	display: inline-block;
	position: absolute;
	top: 14px;
	left: 0;
	width: 5px;
	height: 1px;
	background: #111;
}

#overview table tr td p {
	margin: 0;
	padding-bottom: 30px;
}

#overview table tr td p:last-child {
	padding-bottom: 0;
}

#overview table tr td p span {
	display: block;
	font-weight: bold;
}

table tr td a {
	text-decoration: underline;
	transition: all 0.2s ease;
}

table tr td a:hover {
	opacity: 0.5;
}

/* ----------------- history ----------------- */
#history div.h1_bg {
	background: url(/img/company/history/h1_bg.jpg);
	background-size: cover;
}

#history div.none_bg {
	padding: 95px 0;
}

#history div.none_bg:first-child {
	padding-top: 0;
}

#history div.none_bg:last-child {
	padding-bottom: 0;
}

#history div.bg {
	padding: 195px 0 205px 0;
}

#history div.bg1 {
	background: url(/img/company/history/history_bg1.jpg);
	background-size: cover;
}

#history div.bg2 {
	background: url(/img/company/history/history_bg2.jpg);
	background-size: cover;
}

#history div.bg3 {
	background: url(/img/company/history/history_bg3.jpg);
	background-size: cover;
}

#history div.bg4 {
	background: url(/img/company/history/history_bg4.jpg);
	background-size: cover;
}

#history div.bg5 {
	background: url(/img/company/history/history_bg5.jpg);
	background-size: cover;
}

#history div.bg6 {
	background: url(/img/company/history/history_bg6.jpg);
	background-size: cover;
}

#history div.bg table tr {
	color: #fff;
	padding: 0;
	border: none;
}

/* ----------------- ethics ----------------- */
#ethics div.img {
	width: 65%;
	max-width: 800px;
	margin: 0 auto;
}

#ethics p.intro {
	padding: 95px 0;
}

#ethics table tr {
	display: block;
	padding: 62px 0 70px 0;
}

#ethics table tr th {
	width: 50px;
	padding: 0;
	color: #15125e;
	font-size: 4.4rem;
	line-height: 1;
}

#ethics table tr td {
	padding-top: 6px;
}

#ethics table tr td h2 {
	font-size: 2.6rem;
	padding-bottom: 25px;
	border: none;
	margin-bottom: 0;
}

#ethics table tr td p {
	font-size: 1.7rem;
}


/* ----------------- results ----------------- */
p.scroll_txt {
	color: #888;
	padding-bottom: 18px;
}

#results p.unit {
	padding-bottom: 16px;
	font-size: 1.4rem;
	text-align: right;
}

#results table.bg tr {
	text-align: center;
	vertical-align: middle;
}

#results table.bg tr th {
	text-align: center;
	padding-left: 0;
	width: 140px;
}

#results p.comment {
	padding-top: 30px;
	font-size: 1.4rem;
	line-height: 2;
	text-align: right;
}

#results div.flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding-top: 100px;
}

#results div.graph_wrap {
	width: 47%;
	padding-bottom: 65px;
}

#results div.graph_wrap:nth-child(5),
#results div.graph_wrap:nth-child(6) {
	padding-bottom: 0;
}

#results div.graph_wrap h3.h3_common {
	margin-bottom: 40px;
}


/* ----------------- organization ----------------- */
#organization p.data {
	padding-bottom: 42px;
	text-align: right;
}

#organization div.line {
	border: 1px solid #ccc;
}

#organization div.img {
	width: 70%;
	max-width: 850px;
	padding: 92px 0 127px 0;
	margin: 0 auto;
}

div.img_expand {
	padding-top: 16px;
	text-align: right;
}

div.img_expand a {
	display: inline-block;
	padding-left: 28px;
	margin-left: auto;
	font-weight: bold;
	text-decoration: underline;
	background: url(/img/common/expand.svg) no-repeat left center;
	background-size: 15px 17px;
}

/*div.button_wrap {
	padding-top: 16px;
	text-align: right;
}

button.modal_open {
	display: inline-block;
	padding-left: 28px;
	margin-left: auto;
	font-weight: bold;
	text-decoration: underline;
	background: url(/img/common/expand.svg) no-repeat left center;
	background-size: 15px 17px;
}

div.modal {
	display: none;
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 5999;
}

div.modal div {
	position: relative;
}

div.modal div.modal_bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.8);
	cursor: pointer;
}

div.modal div.modal_img {
	position: absolute;
	top: 48%;
	left: 50%;
	z-index: 6999;
	transform: translate(-50%,-50%);
}

div.modal div.modal_img img {
	width: 94vw;
	max-height: 90vh;
	object-fit: contain;
}

div.modal button.modal_close {
	display: inline-block;
	position: absolute;
	bottom: -30px;
	right: 0;
	z-index: 6999;
	font-size: 1.3rem;
	color: #fff;
	font-weight: bold;
}

div.modal button.modal_close::before {
	content: '';
	display: block;
	position: absolute;
	top: 45%;
	left: -25px;
	transform: translateY(-50%);
	width: 15px;
	height: 2px;
	background: #fff;
	transform: rotate(-45deg);
}

div.modal button.modal_close::after {
	content: '';
	display: block;
	position: absolute;
	top: 45%;
	left: -25px;
	transform: translateY(-50%);
	width: 15px;
	height: 2px;
	background: #fff;
	transform: rotate(45deg);
}*/


/* ----------------- network ----------------- */
#network p.intro {
	padding-bottom: 80px;
}

#network div.all_network {
	padding-top: 124px;
}

#network div.all_network table tr th {
	width: 100px;
}

#network input[name="tab"] {
	display: none;
}

#network label.tab {
	display: block;
	position: relative;
	float: left;
	box-sizing: border-box;
	width: calc(100% / 6);
	height: 75px;
	border-left: 1px solid #eee;
	color: rgba(17,17,17,0.4);
	font-weight: bold;
	text-align: center;
	vertical-align: middle;
	cursor: pointer;
}

#network label.tab p {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
	margin: 0;
	line-height: 24px;
}

#network label.tab p span {
	font-size: 1.4rem;
}

#network label.tab:last-of-type {
	border-right: 1px solid #eee;
}

#network label.tab::before {
	content: '';
	display: block;
	position: absolute;
	left: 50%;
	bottom: -5px;
	transform: translateX(-50%) rotate(45deg);
	width: 11px;
	height: 11px;
	background-color: #15125e;
	opacity: 0;
}

#network input:checked + label.tab {
	color: #fff;
	background-color: #15125e;
}

#network input:checked + label.tab::before {
	opacity: 1;
}

#network div.network_wrap {
	display: none;
	padding-top: 60px;
	clear: both;
}

#network input#n1:checked ~ div#n1_wrap,
#network input#n2:checked ~ div#n2_wrap,
#network input#n3:checked ~ div#n3_wrap,
#network input#n4:checked ~ div#n4_wrap,
#network input#n5:checked ~ div#n5_wrap,
#network input#n6:checked ~ div#n6_wrap {
	display: block;
}

#network div.network_wrap div.flex {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

#network div.network_wrap div.flex table {
	width: 47%;
}

#network div.network_wrap div.img {
	width: 46%;
}

#network div.network_wrap h3.h3_common {
	margin-top: 60px;
}

#network div.network_wrap div.google_map {
	width: 100%;
	height: 420px;
}

#network div.network_wrap div.google_map iframe {
	width: 100%;
	height: 100%;
}


/* ----------------------------------- business ----------------------------------- */
#business div.h1_bg {
	background: url(/img/business/top/h1_bg.jpg);
	background-size: cover;
}


/* ----------------- steelbar ----------------- */
#steelbar div.h1_bg {
	background: url(/img/business/steelbar/h1_bg.jpg);
	background-size: cover;
}

#steelbar p.intro {
	font-size: 2.5rem;
	line-height: 1.8;
	color: #15125e;
}

h2.padding {
	padding-top: 90px;
}

#steelbar p.comment {
	padding-top: 42px;
	font-size: 1.4rem;
	line-height: 26px;
	color: #666;
}

#steelbar div.img_flex {
	display: flex;
	padding: 95px 0;
}

#steelbar div.img_flex div {
	width: calc(50% - 1px);
}

#steelbar div.img_flex div:first-child {
	margin-right: 2px;
}

h3.h3_common.margin {
	margin-top: 55px;
	position: relative;
}

p.red {
	position: absolute;
	top: 0;
	right: 0;
	color: #ee0000;
	font-weight: 500;
}

#steelbar div.steelbar_img {
	padding: 76px 0 70px 0;
}


/* ----------------- manufacturing ----------------- */
p.p_intro {
	padding-bottom: 100px;
}

#manufacturing div.bg {
	color: #fff;
}

#manufacturing div.bg1 {
	padding-top: 86px;
	background: url(/img/business/manufacturing/bg1.jpg);
	background-size: cover;
}

#manufacturing div.bg2 {
	background: url(/img/business/manufacturing/bg2.jpg);
	background-size: cover;
}

#manufacturing div.process_wrap {
	position: relative;
	z-index: 5;
	display: flex;
	align-items: flex-start;
}

#manufacturing div.process_wrap.process1 {
	padding-bottom: 120px;
}

#manufacturing div.process_wrap.process2 {
	padding: 80px 0 50px 0;
}

#manufacturing div.process_wrap.process3 {
	padding-bottom: 90px;
}

#manufacturing div.process_wrap.process4 {
	padding: 100px 0 120px 0;
}

#manufacturing div.process_wrap.process5 {
	padding: 80px 0 65px 0;
}

#manufacturing div.process_wrap.process6,
#manufacturing div.process_wrap.process7 {
	padding-bottom: 65px;
}

#manufacturing div.process_wrap::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 41px;
	z-index: 1;
	width: 1px;
	height: 100%;
	background: #15125e;
}

#manufacturing div.process_wrap.process8::before {
	display: none;
}

#manufacturing div.process_wrap span {
	display: block;
	position: relative;
	z-index: 5;
	margin-right: 50px;
	width: 82px;
	height: 82px;
	border-radius: 50%;
	font-size: 4.4rem;
	line-height: 82px;
	color: #fff;
	background-color: #15125e;
	font-weight: bold;
	text-align: center;
}

#manufacturing div.process_wrap div.cnt {
	padding-top: 14px;
	width: calc(100% - 132px);
}

#manufacturing div.process_wrap div.cnt h2 {
	margin: 0;
	border: none;
	padding-bottom: 35px;
}

#manufacturing div.process_wrap div.cnt div.flex {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

#manufacturing div.process_wrap div.cnt div.flex div.flex_cnt {
	width: 44%;
}

#manufacturing div.process_wrap div.cnt div.flex div.flex_img {
	width: 50%;
}

#manufacturing div.process_wrap div.cnt div.row_img {
	width: calc(50% - 1px);
}

#manufacturing div.process_wrap div.cnt div.row_img:last-child {
	padding-bottom: 40px;
}

#manufacturing div.bg div.process_wrap::before {
	background: #fff;
}

#manufacturing div.bg div.process_wrap span {
	color: #15125e;
	background-color: #fff;
}

#manufacturing div.bg div.process_wrap div.cnt h2 {
	color: #fff;
}

#manufacturing div.bg div.process_wrap div.cnt h3.h3_common {
	color: #fff;
	border-color: #fff;
}


/* ----------------- quality ----------------- */
#quality div.h1_bg {
	background: url(/img/business/quality/h1_bg.jpg);
	background-size: cover;
}

div.iso_pdf {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

div.iso_pdf.last {
    padding-top: 80px;
}

div.iso_pdf div.each {
	width: 48%;
}

div.iso_pdf div.each div.img {
	box-sizing: border-box;
	border: 1px solid #ddd;
	margin-bottom: 40px;
}

a.download {
	display: block;
	box-sizing: border-box;
	padding: 19px 30px;
	border: 1px solid #ddd;
	margin-bottom: -1px;
	transition: all 0.2s ease;
}

a.download:hover {
	opacity: 0.5;
}

a.download span {
	position: relative;
	display: inline-block;
	padding-left: 35px;
	font-weight: bold;
	line-height: 24px;
	text-decoration: underline;
}

a.download span::before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 15px;
	height: 15px;
	background: url(/img/common/download.svg) no-repeat;
	transition: all 0.2s ease;
}

a.download:hover span::before {
	opacity: 0.5;
}

a.download img {
	display: inline-block;
	width: 40px;
	margin: 4px 0 0 10px;
}

#quality div.machine {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	padding-top: 90px;
}

#quality div.machine div.each {
	width: 31%;
}

#quality div.machine div.each:first-child {
	padding-bottom: 40px;
}

#quality div.machine div.each p {
	padding-top: 20px;
}

/* ----------------- safe ----------------- */
#safe p.red { top: 20px; right: 20px; }

#safe a.square_link {
	margin-top: 50px;
}

#safe div.policy {
	display: flex;
	align-items: flex-start;
}

#safe div.policy div {
	width: calc((100% - 140px) / 5 );
	margin-right: 35px;
}

#safe div.policy div:last-child {
	margin-right: 0;
}

#safe div.policy div span {
	display: block;
	box-sizing: border-box;
	width: 75px;
	height: 75px;
	border-radius: 50%;
	border: 3px solid #15125e;
	margin: 0 auto;
	color: #15125e;
	font-size: 3.6rem;
	font-weight: bold;
	line-height: 70px;
	text-align: center;
}

#safe div.policy div p {
	padding-top: 35px;
}

#safe div.flex_img {
	display: flex;
	justify-content: space-between;
}

#safe div.flex_img div {
	width: 48%;
}

#safe h4.first {
	padding-top: 45px;
}

/* ----------------- safe_sheet ----------------- */
#safe_sheet div.h1_bg {
	background: url(/img/business/safe/h1_bg.jpg);
	background-size: cover;
}

#safe_sheet div.intro {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

#safe_sheet div.intro a.square_link {
	margin-top: 0;
}

table.bg tr th,
table.bg tr td {
	box-sizing: border-box;
	padding-left: 20px;
}

table.bg tr th {
	width: 200px;
	background-color: #f3f5f5;
}

table.bg.wide tr th {
	width: 300px;
}

ul.list_circle li {
	position: relative;
	line-height: 30px;
	padding-left: 20px;
}

ul.list_circle li:before {
	content: '';
	display: block;
	position: absolute;
	top: 11px;
	left: 0;
	width: 7px;
	height: 7px;
	box-sizing: border-box;
	border-radius: 50%;
	border: 1px solid #111;
}

ul.list_circle.padding {
	padding-top: 50px;
}

table ul.list_circle.padding {
	padding-top: 30px;
}

#safe_sheet p.comment {
	padding-top: 40px;
	font-size: 1.4rem;
	line-height: 26px;
	color: #666;
}

#safe_sheet table.scroll tr th {
	width: 200px;
}

#safe_sheet p.txt {
	padding-top: 50px;
}

#safe_sheet table tr td a {
	color: #15125e;
}

#safe_sheet p.finish {
	padding-top: 68px;
	text-align: right;
}

#safe_sheet a.square_link {
	margin-top: 60px;
}


/* ----------------------------------- csr ----------------------------------- */
#csr div.h1_bg {
	background: url(/img/csr/top/h1_bg.jpg);
	background-size: cover;
	background-position: right top;
}

#csr div.img_link a.large:last-child {
	margin-right: 0;
}


/* ----------------- environment ----------------- */
ol {
	counter-reset: item;
	padding-left: 0;
	line-height: 30px;
}

ol li {
	text-indent: -1.3em;
	padding-left: 1.3em;
}

ol li::before {
	counter-increment: item;
	content: counter(item)'. ';
}

#environment ol {
	padding-top: 30px;
}

h4.no_padding {
	padding-top: 0;
}

#environment div.flex_img {
	padding-top: 62px;
	display: flex;
	justify-content: space-between;
}

#environment div.flex_img div {
	width: 48%;
}


/* ----------------- iso ----------------- */
#iso table.bg.rowspan tr th {
	border-bottom: 1px solid #ddd;
}

#iso table.bg.rowspan tr td:first-of-type {
	width: 125px;
}

#iso p.padding {
	padding-bottom: 40px;
}

#iso table.bg.wide tr th {
	width: 380px;
}

#iso div.iso_pdf {
	padding-top: 90px;
}


/* ----------------------------------- blog ----------------------------------- */
#blog div.blog_all a {
	width: calc((100% - 4px) / 3);
	padding-bottom: 40px;
}

#blog div.blog_all a:nth-child(2n) {
	margin-right: 2px;
}

#blog div.blog_all a:nth-child(3n) {
	margin-right: 0;
}

#blog div.blog_all a:nth-child(3),
#blog div.blog_all a:nth-child(4) {
	padding-bottom: 40px;
}

div.page {
	padding-top: 35px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	text-align: center;
}

div.page .page-numbers {
	display: block;
	box-sizing: border-box;
	width: 50px;
	border: 2px solid #15125e;
	margin-left: 10px;
	margin-right: 10px;
	margin-bottom: 10px;
	font-size: 1.7rem;
	line-height: 50px;
	font-weight: bold;
	color: #15125e;
	transition: all 0.2s ease;
}

div.page .page-numbers.current {
	background-color: #15125e;
	color: #fff;
}

div.page a.page-numbers:hover {
	opacity: 0.5;
}


/* ----------------- single ----------------- */
#single div.h1_mono h1 {
	font-size: 4.0rem;
}

#single div.h1_mono h1 span {
	display: block;
	font-size: 1.7rem;
	color: #888;
	padding-bottom: 25px;
}

#single div.single_common a {
	text-decoration: underline;
	transition: all 0.2s ease;
    color: #15125e;
}

#single div.single_common div {
    max-width: 100%;
}

#single div.single_common a:hover {
	opacity: 0.5;
}

#single div.single_common img {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	margin: 0 auto 60px auto;
}

#single div.single_common p,
#single div.single_common table,
#single div.single_common ul,
#single div.single_common ol {
	margin-bottom: 60px;
}

#single div.single_common img {
	margin-bottom: 70px;
}

#single div.single_common ul li {
	position: relative;
	padding-left: 20px;
	line-height: 30px;
}

#single div.single_common ul li::before {
	content: '';
	display: inline-block;
	position: absolute;
	top: 11px;
	left: 0;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	border: 1px solid #111;
}

#single a.square_link {
	margin: 30px auto 0 auto;
}


/* ----------------------------------- sitemap ----------------------------------- */
#sitemap ul.link_wrap {
	padding-bottom: 30px;
	border-bottom: 1px solid #ddd;
	margin-bottom: 50px;
}

#sitemap ul.link_wrap:last-child {
	margin-bottom: 0;
}

#sitemap ul.link_wrap a {
	display: inline-block;
	position: relative;
	padding-left: 35px;
	transition: all 0.2s ease;
}

#sitemap ul.link_wrap a:hover {
	opacity: 0.5;
}

#sitemap ul.link_wrap a::before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	width: 18px;
	height: 1px;
	background-color: #15125e;
	transition: all 0.2s ease;
}

#sitemap ul.link_wrap a:hover::before {
	opacity: 0.5;
}

#sitemap ul.link_wrap a.parent_link {
	padding-bottom: 26px;
	font-size: 2.6rem;
	color: #15125e;
	font-weight: bold;
}

#sitemap ul.link_wrap a.parent_link::before {
	top: 13px;
}

#sitemap ul.link_wrap ul.child_link {
	display: flex;
	flex-wrap: wrap;
	padding-left: 50px;
}

#sitemap ul.link_wrap ul.child_link li {
	box-sizing: border-box;
	width: 25%;
	padding-bottom: 18px;
	padding-right: 40px;
	font-size: 1.7rem;
	line-height: 27px;
}

#sitemap ul.link_wrap ul.child_link.row_2 li {
	width: 50%;
}

#sitemap ul.link_wrap ul.child_link li a::before {
	top: 12px;
}

#sitemap ul.link_wrap.bottom {
	display: flex;
	flex-wrap: wrap;
}

#sitemap ul.link_wrap.bottom li {
	box-sizing: border-box;
	width: 25%;
	padding-right: 40px;
}

#sitemap ul.link_wrap.bottom li.small {
	width: 100%;
}

#sitemap ul.link_wrap.bottom li.small a.parent_link {
	font-size: 1.7rem;
	line-height: 27px;
	font-weight: 500;
	color: #111;
}


/* ----------------------------------- privacy ----------------------------------- */
#privacy div.box {
	box-sizing: border-box;
	padding: 60px;
	border: 1px solid #ccc;
	margin-top: 60px;
}


/* ----------------------------------- contact ----------------------------------- */
div.contact_wrap {
	box-sizing: border-box;
	padding: 60px 60px 65px 60px;
	border: 1px solid #ccc;
	margin-bottom: -1px;
}

div.contact_wrap div.errWrap {
    padding-top: 60px;
    margin: 0 0 -30px;
}

div.contact_wrap div.errWrap p {
    color: #15125e;
    font-weight: bold;
}

div.contact_wrap div.btnWrap {
    
}

div.contact_wrap div.btnWrap button.square_link {
    margin: 40px auto 0;
}

div.contact_wrap a.square_link {
    margin-top: 55px;
}

#contact .flex,
#application .flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#contact div.flex div.contact_wrap {
	width: 50%;
}

#contact div.flex div.contact_wrap:first-child {
	border-right: none;
}

div.contact_wrap.form {
	padding-bottom: 90px;

}

div.contact_wrap p.exp {
	padding-bottom: 60px;
}

form table tr {
	display: flex;
	align-items: flex-start;
	border: none;
	box-sizing: border-box;
	padding: 0 40px 30px 40px;
}

form table tr:last-child {
	border-bottom: none;
}

form table tr th {
	box-sizing: border-box;
	width: 270px;
	padding-top: 15px;
}

form table tr th span.required {
    font-size: 1.3rem;
    color: #ee3b0e;
}

form table tr td {
	width: calc(100% - 270px);
	padding: 0;
}

form table.confirm {
    margin: 45px 0 70px;
}

form table.confirm tr {
	border-bottom: 1px solid #DDD;
	padding: 17px 0;
}

form table.confirm th {
    padding: 0;
}


form input,
form select,
form textarea {
	border: none;
	box-sizing: border-box;
	width: 100%;
	padding: 18px 20px;
	background-color: #f3f5f5;
	border-radius: 0;
}

form input.small {
	width: 200px;
}

form input.half {
	width: 48.5%;
}

form select {
	width: 200px;
	background: url(/img/common/select.svg) no-repeat right 20px top 49%;
	background-size: 13px 6px;
	appearance: none;
	background-color: #f3f5f5;
	line-height: 1.5;
}

form textarea {
	resize: vertical;
	height: 280px;
}

form div.box {
	box-sizing: border-box;
	padding: 60px;
	border: 1px solid #ccc;
	margin: 30px 40px 60px 40px;
}

form div.box ul li {
	font-size: 1.5rem;
	color: #666;
}

form div.box ul li::before {
	border-color: #666;
}

form div.center {
	text-align: center;
}

form input.privacy {
	display: none;
}

form input.privacy + label {
	display: inline-block;
	position: relative;
	padding-left: 36px;
	font-size: 1.8rem;
	line-height: 28px;
	color: #15125e;
	font-weight: bold;
	text-align: left;
	cursor: pointer;
}

form input.privacy + label::before {
	content: '';
	display: block;
	position: absolute;
	top: 6px;
	left: 0;
	box-sizing: border-box;
	width: 17px;
	height: 17px;
	border: 2px solid #15125e;
}

form input.privacy + label::after {
	content: '';
	display: block;
	position: absolute;
	top: 6px;
	left: 4px;
	width: 5px;
	height: 10px;
	border-right: 3px solid #15125e;
	border-bottom: 3px solid #15125e;
	 -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    opacity: 0;
    transition: all 0.2s ease;
}

form input.privacy:checked + label::after {
	opacity: 1;
}

form p.check_exp {
	padding-top: 60px;
	text-align: center;
}

form button.square_link {
	width: 350px;
	line-height: 90px;
	margin: 60px auto 0 auto;
}

form button.square_link.back {
    background: #777;
}

form button.square_link.disabled {
    opacity: 0.2;
    cursor: not-allowed;
}


/* ----------------------------------- topics ----------------------------------- */
#topics div.page {
	padding-top: 90px;
}


/* ----------------------------------- products ----------------------------------- */
#products div.h1_bg {
	background: url(/img/products/top/h1_bg.jpg);
	background-size: cover;
}

#product-single div.productTopBlock {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 0 110px;
}

#product-single div.productTopBlock div.left {
    width: 100px;
}

#product-single div.productTopBlock div.right {
    width: calc(100% - 150px);
}

#product-single div.productTopBlock h2 {
    font-size: 2.5rem;
    border: none;
    padding: 0;
    margin: 0 0 30px;
}

#product-single div.productFeatureBlock {
    border: 2px solid #15125e;
    padding: 55px 60px 45px;
}

#product-single div.productFeatureBlock h3,
#product-single div.productFeatureBlock ul,
#product-single div.productFeatureBlock p {
    color: #15125e;
}

#product-single div.productFeatureBlock h3 {
    font-size: 1.9rem;
    line-height: 1.6;
    padding: 0 0 20px;
}

#product-single div.productFeatureBlock p {
    padding: 0 0 30px;
}

#product-single div.productFeatureBlock ul {
    font-size: 1.6rem;
    font-weight: bold;
    padding: 0 0 25px;
}

#product-single div.productFeatureBlock ul li {
    margin: 0 0 5px;
}

#product-single div.productFeatureBlock ul.list_circle li:before {
    border-color: #15125e;
}

#product-single p.productMainImg {
    padding: 0 0 100px;
}

#product-single p.productMainImg img {
    width: 100%;
    height: auto;
}

#product-single p.productMainImg img.sp {
    display: none;
}

/* */

#product-single input[name="tab"] {
	display: none;
}

#product-single label.tab {
	display: block;
	position: relative;
	float: left;
	box-sizing: border-box;
	width: 50%;
	height: 75px;
	border-left: 1px solid #eee;
	color: rgba(17,17,17,0.4);
	font-weight: bold;
	text-align: center;
	vertical-align: middle;
	cursor: pointer;
    margin: 0 0 60px;
}

#product-single label.tab p {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
	margin: 0;
    font-size: 1.9rem;
	line-height: 24px;
}

#product-single label.tab:last-of-type {
	border-right: 1px solid #eee;
}

#product-single label.tab::before {
	content: '';
	display: block;
	position: absolute;
	left: 50%;
	bottom: -5px;
	transform: translateX(-50%) rotate(45deg);
	width: 11px;
	height: 11px;
	background-color: #15125e;
	opacity: 0;
}

#product-single input:checked + label.tab {
	color: #fff;
	background-color: #15125e;
}

#product-single input:checked + label.tab::before {
	opacity: 1;
}

#product-single div.pTab {
	display: none;
	clear: both;
}

#product-single input#n1:checked ~ div#n1_wrap,
#product-single input#n2:checked ~ div#n2_wrap {
	display: block;
}


/* ----------------- onicon ----------------- */
h1 span.small {
	font-size: 3.2rem;
}


#product-single div.tag_img {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
}

#product-single div.tag_img div.img_wrap {
	width: calc((100% - 90px) / 4);
	margin-right: 30px;
	margin-bottom: 40px;
}

#product-single div.tag_img div.img_wrap:nth-child(4) {
	margin-right: 0;
}

#product-single div.tag_img div.img_wrap p {
	line-height: 26px;
	padding-top: 17px;
}


/* ----------------- epj ----------------- */
ul.list_circle.rating li {
	margin-top: 5px;
}

ul.list_circle.rating li:first-child {
	/*margin-top: 0;*/
}


/* ----------------- plate ----------------- */
div.data_comment {
	padding-top: 50px;
}


/* ----------------- jis ----------------- */
#product-single div.iso_pdf {
	position: relative;
	padding-bottom: 30px;
}

#product-single div.iso_pdf.last {
	padding-top: 70px;
}

#product-single div.iso_pdf p.red {
	position: absolute;
	right: 0;
	top: -30px;
}

a.square_link.products {
	margin: 70px auto 0 auto;
}



/* -------------------------------------------- responsive -------------------------------------------- */

/* ----------------------------------- 1700 ---------------------------------- */
@media screen and (min-width: 1700px) {
	.header nav ul li.link { padding-left: 20px; padding-right: 20px; font-size: 1.8rem; }
	.header nav ul li.parent_link div.sub_header div.img { width: 400px; }
	.header nav ul li.parent_link div.sub_header div.child_link { width: calc(100% - 460px); }
	.header div.header_wrap a.contact { font-size: 1.8rem; width: 165px; }
	.header div.header_wrap a.onicon { width: 165px; }
}


/* ----------------------------------- 1280 ---------------------------------- */
@media screen and (max-width: 1280px) {

	/* ----------- top ----------- */
	.header { height: 90px; font-size: 1.5rem; }
	.header a.logo { width: 200px; height: 41px; margin-left: 18px; }
	.header nav ul li.link { padding-left: 12px; padding-right: 12px; font-size: 1.5rem; }
	.header nav ul li.link a.nav_link,
	.header nav ul li.link a.none_sub { line-height: 90px; }
	.header nav ul li.parent_link div.sub_header { top: 90px; }
	.header nav ul li.parent_link div.sub_header div.sub_wrap { width: 98%; }
	.header nav ul li.parent_link div.sub_header div.img { width: 280px; }
	.header nav ul li.parent_link div.sub_header div.child_link { margin-left: 40px; width: calc(100% - 320px); }
	.header div.header_wrap a.contact { width: 130px; line-height: 90px; }
	.header div.header_wrap a.onicon { width: 130px; }
	.header div.header_wrap a.onicon div { width: 85px; }
	header.on .header a.logo { width: 200px; height: 27px; padding-bottom: 2px; }

	#kv { height: calc(100vh - 60px); }

	/* ----------- company ----------- */
	div.h1_bg { padding-top: 20px; }
	div.h1_mono { padding-top: 165px; }

	#greeting div.flex p.txt { width: calc(100% - 360px - 55px); }
	#greeting div.flex div.img_wrap { width: 360px; }

	#results p.comment { text-align: left; }

	#network div.all_network { padding-top: 90px; }
	#network label.tab { width: calc(100% / 3); height: 70px; margin-bottom: 15px; }
	#network label.tab:nth-of-type(3n) { border-right: 1px solid #eee; }
	#network label.tab::before { display: none; }
	#network div.network_wrap { padding-top: 50px; }

	/* ----------- business ----------- */
	#safe div.policy { flex-wrap: wrap; }
	#safe div.policy div { width: calc((100% - 70px) / 3); }
	#safe div.policy div:first-child { padding-bottom: 40px; }
	#safe div.policy div:nth-child(3) { margin-right: 0; }


}


/* ----------------------------------- 1100 ---------------------------------- */
@media screen and (max-width: 1100px) {
	h1 { font-size: 4.0rem; }
	h2 { padding-bottom: 22px; font-size: 3.0rem; }
	.pc1 { display: none!important; }
	.sp1 { display: block!important; }
	.wrapper1 { width: 86%; }
	.wrapper2 { width: 92%; }
	.h3_common { padding-left: 20px; font-size: 2.3rem; }

	/* ----------- top ----------- */
	.header { height: 70px; }
	.header a.logo { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 200px; margin-left: 0; }
	div.header_wrap.sp1 { position: fixed; display: flex!important; left: 0; bottom: 0; z-index: 2999; width: 100%; height: 60px; }
	div.header_wrap a.contact { width: 50%; line-height: 60px; height: 100%; }
	div.header_wrap a.onicon { width: 50%; height: 100%; }

	.header a.logo { height: auto; }
	.header a.logo img { height: 100%; }
	header.on .header { height: 70px; }
	header.on .header a.logo { height: auto; padding-bottom: 0; }
	div.header_wrap { transition: all 0.2s ease; }
	div.header_wrap.on { bottom: -60px; }


	#kv { height: calc(100vh - 130px); }
	#kv div.kv_copy {  }
    #kv div.kv_copy.on { /*left: 20px;*/ left: 50%; transform: translateY(50%) translateX(-50%);}
	#kv div.kv_copy div { width: 80vw; }
	#kv div.kv_copy span { font-size: 2.0rem; }
	#kv a.scroll { left: calc(8% - 90px); }
	#kv div.bar {　height: 3px; }

	#intro { padding-top: 100px; }
	#intro p { font-size: 1.6rem; line-height: 32px; }

	.top_page h2 { font-size: 2.4rem; margin-bottom: 35px; }
	#top_about { padding: 80px 0; }
	#top_about div.about1 { padding-bottom: 100px; }
	#top_about div.about2 { padding-bottom: 0; }
	#top_about div.about2 div.img { width: 96vw; left: -3.9vw; }
	#top_about div.about2 div.txt { position: relative; left: 0; top: 0; width: 100%; padding-bottom: 60px; }
	#top_about div.about2 ul.exp { position: relative; left: 50%; transform: translateX(-50%); padding-top: 50px; }

	#lineup div.parentClass div.childClass { width: 40vw; }
	#lineup div.parentClass button.slick-prev { left: 4%; }
	#lineup div.parentClass button.slick-next { right: 4%; }

	div.img_link a span { left: 15px; bottom: 15px; font-size: 1.6rem; }
	div.img_link a.large { height: 53vw; }
	div.img_link a.medium { height: calc(32vw - 2px);  }
	div.img_link a.small {  height: 21vw; }

	#top_csr { padding: 180px 0 190px 0; }
	
	#top_topics { padding: 75px 0 130px 0; }
	#top_topics h3.h3_common { margin-bottom: 40px; }
	#top_topics div.topics_wrap,
	#top_topics div.blog_wrap { width: 100%; }
	#top_topics div.topics_wrap { padding-bottom: 60px; }

	div.blog_all a { width: calc(25% - 2px); padding-bottom: 0; }
	div.blog_all a:nth-child(2n) { margin-right: 2px; }
	div.blog_all a:last-child { margin-right: 0; }

	div.bottom_link a div { width: 110px; padding-right: 30px; }
	div.bottom_link a p { font-size: 2.0rem; }

	footer div.footer { padding-bottom: 130px; }
	footer div.footer div.footer_wrap { padding-top: 35px; }
	footer div.footer div.footer_wrap div.logo { width: 240px; padding-right: 60px; }
	footer div.footer div.footer_wrap div.footer_link { width: calc(100% - 300px); }
	footer div.footer div.footer_wrap div.footer_link a { font-size: 1.6rem; margin-bottom: 30px; }
	footer div.footer div.footer_wrap div.footer_link ul.large { display: flex; flex-wrap: wrap; padding-bottom: 30px; }
	footer div.footer div.footer_wrap div.footer_link ul.large li { width: 30%; min-width: 130px; }


	/* ----------- company ----------- */
	div.h1_bg { height: 450px; padding-top: 0; }
	div.h1_bg h1 { bottom: 75px; }
	div.h1_bg h1 span { width: 86%; }
	div.intro_2nd { padding: 75px 0 70px 0; }

	div.h1_mono { padding: 125px 0 75px 0; }
	section.common { padding: 75px 0 100px 0; }
	#greeting div.flex { display: block; padding-bottom: 30px; }
	#greeting div.flex div.txt { width: 100%; padding-top: 40px; }
	#greeting div.flex div.img_wrap { width: 100%; text-align: center; }
	#greeting div.flex div.img_wrap div { width: 50%; min-width: 350px; margin: 0 auto; }
	#greeting div.flex div.img_wrap p { padding-top: 20px; }

	#history div.none_bg { padding: 80px 0 85px 0; }
	#history div.bg { padding: 150px 0 155px 0; }

	#ethics div.img { width: 80%; }
	#ethics p.intro { padding: 70px 0; }
	#ethics table tr { padding: 50px 0 58px 0; }

	#results div.results_table { overflow: scroll; }
	#results div.results_table table { width: 872px; }
	#results div.flex { padding-top: 70px; }
	#results div.graph_wrap { padding-bottom: 55px; }

	#organization div.img { width: 85%; padding: 60px 0 90px 0; }

	#network p.intro { padding-bottom: 65px; }
	#network div.all_network { padding-top: 70px; }
	#network div.all_network table tr th { width: 80px; }
	#network div.network_wrap div.flex table { width: 56%; }
	#network div.network_wrap div.img { width: 38%; }
	#network div.network_wrap div.google_map { height: 380px; }


	/* ----------- business ----------- */
	#steelbar p.intro { font-size: 2.2rem; }
	h2.padding { padding-top: 70px; }
	#steelbar div.img_flex { padding: 75px 0; }
	h3.h3_common.margin { margin-top: 48px; }
	#steelbar div.steelbar_img { padding: 55px 0; }

	p.p_intro { padding-bottom: 70px; }
	#manufacturing div.bg1 { padding-top: 70px; }
	#manufacturing div.process_wrap.process1 { padding-bottom: 100px; }
	#manufacturing div.process_wrap.process2 { padding: 70px 0 60px 0; }
	#manufacturing div.process_wrap.process3 { padding-bottom: 90px; }
	#manufacturing div.process_wrap.process4 { padding: 80px 0 100px 0; }
	#manufacturing div.process_wrap.process5 { padding: 70px 0 55px 0; }
	#manufacturing div.process_wrap.process6,
	#manufacturing div.process_wrap.process7 { padding-bottom: 55px; }
	#manufacturing div.process_wrap::before { left: 35px; }
	#manufacturing div.process_wrap span { margin-right: 30px; width: 70px; height: 70px; font-size: 3.6rem; line-height: 70px; /*margin-right: 14px; width: 52px; height: 52px; font-size: 2.9rem; line-height: 52px;*/ }
	#manufacturing div.process_wrap div.cnt { padding-top: 11px; width: calc(100% - 100px); }
	#manufacturing div.process_wrap div.cnt h2 { padding-bottom: 24px; }
	#manufacturing div.process_wrap div.cnt div.flex div.flex_cnt { width: 52%; }
	#manufacturing div.process_wrap div.cnt div.flex div.flex_img { width: 42%; }
	#manufacturing div.process_wrap div.cnt div.row_img:last-child { padding-bottom: 40px; }
	#manufacturing div.bg div.padding { padding: 80px 0 100px 0; }

	div.iso_pdf div.each div.img { margin-bottom: 30px; }
	a.download { padding: 12px 20px; }
	a.download span { padding-left: 30px; }
	a.download img { margin-left: 8px; }
	#quality div.machine { padding-top: 70px; }
	#quality div.machine div.each { width: 48%; padding-bottom: 34px; }
	#quality div.machine div.each:last-child { padding-bottom: 0; }

	#safe div.policy div p { padding-top: 25px; }

	#safe_sheet div.overflow { overflow-x: scroll; }
	#safe_sheet table.scroll { width: 1040px; }
	table.bg.wide tr th { width: 240px; padding-right: 14px; }


	/* ----------- csr ----------- */
	#iso table.bg.rowspan tr td:first-of-type { width: 100px; }
	#iso table.bg.wide tr th { width: 200px; }
	#iso div.iso_pdf { padding-top:75px; }


	/* ----------- blog ----------- */
	#blog div.blog_all a { width: calc(50% - 1px); }
	#blog div.blog_all a:nth-child(3n) { margin-right: 2px; }
	#blog div.blog_all a:nth-child(2n) { margin-right: 0; }
	div.page { padding-top: 10px; }
	div.page .page-numbers { width: 45px; margin-left: 7px; margin-right: 7px; font-size: 1.6rem; line-height: 45px; }
	div.page .page-numbers:first-child { margin-left: 7px; }

	#single div.h1_mono h1 { font-size: 3.5rem; }
	#single div.h1_mono h1 span { font-size: 1.5rem; padding-bottom: 20px; }
	#single div.single_common p,
	#single div.single_common table,
	#single div.single_common ul,
	#single div.single_common ol,
	#single div.single_common img { margin-bottom: 50px; }


	/* ----------- sitemap ----------- */
	#sitemap ul.link_wrap a { padding-left: 23px; }
	#sitemap ul.link_wrap a::before { width: 12px; }
	#sitemap ul.link_wrap a.parent_link { padding-bottom: 24px; font-size: 2.2rem; }
	#sitemap ul.link_wrap a.parent_link::before { top: 10px; }
	#sitemap ul.link_wrap ul.child_link { padding-left: 24px; }
	#sitemap ul.link_wrap ul.child_link li { width: 50%; padding-right: 0; font-size: 1.5rem; line-height: 25px; }
	#sitemap ul.link_wrap ul.child_link li:nth-child(2n-1) { padding-right: 12px; }
	#sitemap ul.link_wrap.bottom { display: block; }
	#sitemap ul.link_wrap.bottom li { width: 100%; }
	#sitemap ul.link_wrap.bottom li a { display: inline-block; }
	#sitemap ul.link_wrap.bottom li.small a.parent_link { font-size: 1.5rem; line-height: 25px; }
	#sitemap ul.link_wrap.bottom li.small a.parent_link::before { top: 12px; }


	/* ----------- privacy ----------- */
	#privacy div.box { padding: 50px 40px; }


	/* ----------- contact ----------- */
	div.contact_wrap { padding: 0 0 60px 0; border: none; border-bottom: 1px solid #ccc; margin-bottom: 50px; }
	#contact div.flex div.contact_wrap { width: 100%; }
	div.contact_wrap.form { padding-bottom: 0; border-bottom: none; margin-bottom: 0; }
	div.contact_wrap p.exp { padding-bottom: 20px; }
	form table tr { padding: 30px 0 0 0; }
	form div.box { padding: 50px 40px; margin: 60px 0; }
	form p.check_exp { padding-top: 40px; }
	form button.square_link { line-height: 70px; }


	/* ----------- topics ----------- */
	#topics div.page { padding-top: 40px; }


	/* ----------- products ----------- */
	#onicon div.tag_img { justify-content: space-between; }
	#onicon div.tag_img div.img_wrap { width: 48%; margin-right: 0; }

	ul.list_circle.rating li { margin-top: 20px; }

	#jis div.iso_pdf { padding-bottom: 10px; }
	#jis div.iso_pdf.last { padding-top: 50px; }


}

/* ----------------------------------- 700 ---------------------------------- */
@media screen and (max-width: 700px) {
	body { font-size: 15px; }
	main { margin-top: 60px; }
	h1 { font-size: 3.0rem; }
	h2 { padding-bottom: 13px; margin-bottom: 40px; font-size: 2.5rem; }
	h4 { font-size: 1.8rem; }
	p { font-size: 1.5rem; }
	table tr th { width: 78px; padding-right: 18px; box-sizing: border-box; }
	.pc2 { display: none!important; }
	.sp2 { display: block!important; }
	.wrapper1 { width: calc(100% - 30px); }
	.wrapper2 { width: calc(100% - 30px); }
	.h3_common { padding-left: 17px; border-width: 5px; font-size: 2.1rem; }
	.square_link { width: 100%; font-size: 1.6rem; line-height: 60px; margin-top: 55px; }

	/* ----------- top ----------- */
	.header { height: 60px; }
	.header a.logo { width: 180px; padding-right: 26px; }
	div.header_wrap a.onicon div { width: 80px; }

	header.on .header { height: 60px; }
	header.on .header a.logo { width: 180px; }

	.header div.spHum button div.line_wrap { width: 20px; height: 12px; }
	.header div.spHum.on button div.line_wrap { width: 16px; }

	div.spMenu { height: calc(100% - 120px); padding-top: 60px; }
	div.spMenu nav ul li ul.third_lv { width: calc(100% - 20px); }
	div.spMenu nav ul li ul.third_lv li a { font-size: 1.4rem; }

	#kv { height: calc(100vh - 120px); min-height: 500px;}
	#kv div.kv_slide ul li.num1 { background: url(/img/top/kv1_sp.jpg); background-size: cover; background-position: center bottom; }
	#kv div.kv_slide ul li.num2 { background: url(/img/top/kv2_sp.jpg); background-size: cover; background-position: center bottom; }
	#kv div.kv_slide ul li.num3 { background: url(/img/top/kv3_sp.jpg); background-size: cover; background-position: center bottom; }
	#kv div.kv_copy { bottom: 52%; }
    #kv div.kv_copy #load { bottom: -70px; }
	#kv div.kv_copy div { max-width: 440px; padding-bottom: 25px; }
	#kv div.kv_copy span { font-size: 1.6rem; white-space: nowrap; }
	#kv a.scroll { left: calc(4.69% - 90px); }

	#intro { padding: 60px 0 210px 0; }
	#intro p { font-size: 1.5rem; line-height: 30px; }
	#intro a.square_link { margin-top: 45px; }

	.top_page h2 { font-size: 2.1rem; }
	#top_about { padding: 60px 0; }
	#top_about div.about1 { display: block; padding-bottom: 60px; }
	#top_about div.about1 div.txt { width: 100%; }
	#top_about div.about1 div.txt p { width: 100%; }
	#top_about div.about1 a.square_link { margin-top: 50px; }
	#top_about div.about1 div.img { width: 100%; max-width: 400px; margin: 0 auto; }
	#top_about div.about2 div.img { width: 100%; left: 0; max-width: 550px; }
	#top_about div.about2 div.txt { padding-bottom: 40px; }
	#top_about div.about2 ul.exp { display: flex; justify-content: space-around; }
	#top_about div.about2 ul.exp li { width: 138px; }
	#top_about div.about2 ul.exp li:first-child { padding-right: 0; }
	#top_about div.about2 ul.exp li div { width: 138px; }

	.top_page h3.h3_common { margin-bottom: 40px; }
	#lineup { padding: 60px 0 65px 0; }
	#lineup div.parentClass { padding-bottom: 70px; }
	#lineup div.parentClass div.childClass { width: 84vw; }
	#lineup div.parentClass div.childClass a h4 { font-size: 1.6rem; }
	#lineup div.parentClass button.slick-prev { left: 15px; }
	#lineup div.parentClass button.slick-next { right: 15px; }
	#lineup div.parentClass ul.slick-dots li button { width: 20px; }
	#lineup div.jis { padding: 28px 24px; }
	#lineup div.jis div.jis_wrap { text-align: left; }
	#lineup div.jis div.jis_wrap div { width: 50px; padding-right: 14px; }
	#lineup div.jis div.jis_wrap p { }
	#lineup a.square_link { background-color: #ffdb08; color: #333; margin-top: 40px; }

	#top_recruit { padding: 60px 0 65px 0; }
	div.img_link { flex-wrap: wrap; }
	div.img_link a.large { width: 100%; height: 87.5vw;  margin-right: 0; }
	div.img_link a.large::after { height: 45%; }
	div.img_link div.wrap { width: 100%; }
	div.img_link a.medium { height: 87.5vw; }
	div.img_link div.small_wrap { flex-wrap: wrap; }
	div.img_link a.small { width: 100%; height: 87.5vw; }
	div.img_link a.small.left { margin-right: 0; }
	div.img_link a.small::after { height: 45%; }
	div.img_link.row_3 { padding-top: 0; }
	div.img_link.row_3 a { width: 100%; height: 87.5vw; margin-right: 0; }
	div.img_link.row_3 a:last-child { width: 100%; }
	div.img_link.row_3 a::after { height: 45%; }
	div.recruit_link a.square_link { margin-top: 40px; }
	div.recruit_link a.square_link:first-child { margin-right: 0; }
	div.recruit_link a.square_link:last-child { margin-top: 20px; }

	#top_csr { padding: 43vw 0; }
	#top_csr h3 { font-size: 2.4rem; }

	#top_topics { padding: 60px 0 60px 0; }
	#top_topics a.square_link { background-color: #ffdb08; color: #333; margin-top: 40px; }
	div.topics_all a { padding: 22px 15px 26px 15px; }
	div.blog_all a { width: 100%; padding-bottom: 30px; margin-right: 0; }
	div.blog_all a:nth-child(2n) { margin-right: 0; }
	div.blog_all a:nth-child(3) { margin-bottom: 30px; }
	div.blog_all a:last-child { margin-bottom: 0; }
	div.blog_all a p { width: 100%; }

	div.bottom_link a { display: block; padding: 30px 0 40px 0; }
	div.bottom_link a div { width: 100px; padding-right: 0; margin: 0 auto; }
	div.bottom_link a p { font-size: 1.5rem; padding-top: 20px; }

	footer div.footer { padding-bottom: 70px; background: url(/img/common/footer_sp.jpg); background-size: cover; }
	footer div.footer div.path { padding: 27px 0; }
	footer div.footer div.footer_wrap { display: block; }
	footer div.footer div.footer_wrap div.logo { padding-right: 0; padding-bottom: 40px; }
	footer div.footer div.footer_wrap div.footer_link { padding-top: 0; width: 100%; }
	footer div.footer div.footer_wrap div.footer_link a { margin-bottom: 20px; }
	footer div.footer div.footer_wrap div.footer_link a.top { margin-bottom: 36px; }
	footer div.footer div.footer_wrap div.footer_link ul.large { padding-bottom: 15px; }
	footer div.footer div.footer_wrap div.footer_link ul.large li { width: 50%; max-width: 180px; min-width: 1px; }
	footer a.toTop { position: relative; width: 100%; padding: 19px 0; }
	footer a.toTop:hover { padding: 14px 0 24px 0; }
	footer div.copyright span { font-size: 1.0rem; transform: translate(-50%,-50%) scale(0.9); }


	/* ----------- company ----------- */
	div.h1_bg { height: 320px; }
	div.h1_bg h1 { bottom: 55px; }
	div.h1_bg h1 span { width: calc(100% - 30px); }
	#company div.h1_bg { background: url(/img/company/top/h1_bg_sp.jpg); background-size: cover; }
	div.intro_2nd { padding: 50px 0 60px 0; }

	div.h1_mono { padding: 95px 0 55px 0; }
	section.common { padding: 50px 0 70px 0; }
	section.common.extend { padding-bottom: 80px; }
	#greeting div.flex { padding-bottom: 0; }
	#greeting div.flex div.img_wrap div { width: 83%; max-width: 350px; min-width: 1px; }

	#overview table tr td dl dt { width: 100%; }
	#overview table tr td dl dd { width: 100%; }

	#history div.h1_bg { background: url(/img/company/history/h1_bg_sp.jpg); background-size: cover; }
	#history div.none_bg { padding: 60px 0 65px 0; }
	#history div.bg { padding: 72px 0; }
	#history div.bg1 { background: url(/img/company/history/history_bg1_sp.jpg); background-size: cover; }
	#history div.bg2 { background: url(/img/company/history/history_bg2_sp.jpg); background-size: cover; }
	#history div.bg3 { background: url(/img/company/history/history_bg3_sp.jpg); background-size: cover; }
	#history div.bg4 { background: url(/img/company/history/history_bg4_sp.jpg); background-size: cover; }
	#history div.bg5 { background: url(/img/company/history/history_bg5_sp.jpg); background-size: cover; }
	#history div.bg6 { background: url(/img/company/history/history_bg6_sp.jpg); background-size: cover; }

	#ethics div.img { width: 100%; max-width: 400px; }
	#ethics p.intro { padding: 45px 0 60px 0; }
	#ethics table tr { padding: 38px 0 45px 0; }
	#ethics table tr th { width: 30px; font-size: 3.2rem; }
	#ethics table tr td { padding-top: 2px; }
	#ethics table tr td h2 { font-size: 2.1rem; padding-bottom: 22px; }
	#ethics table tr td p { font-size: 1.6rem; }

	#results p.unit { padding-bottom: 10px; font-size: 1.2rem; text-align: left; }
	#results div.results_table { overflow: scroll; }
	#results div.results_table img { width: 872px; }
	#results div.flex { padding-top: 50px; }
	#results div.graph_wrap { width: 100%; padding-bottom: 50px; }
	#results div.graph_wrap:nth-child(5) { padding-bottom: 50px; }
	#results div.graph_wrap h3.h3_common { margin-bottom: 30px; }

	#organization div.img { padding: 28px 0 36px 0; }

	#network p.intro { padding-bottom: 50px; }
	#network div.all_network { padding-top: 50px; }
	#network label.tab { width: calc(100% / 2); height: 65px; margin-bottom: 10px; }
	#network label.tab p span { font-size: 1.2rem; }
	#network label.tab:nth-of-type(3n) { border-right: none; }
	#network label.tab:nth-of-type(2n) { border-right: 1px solid #eee; }
	#network div.network_wrap { padding-top: 36px; }
	#network div.network_wrap div.flex { flex-wrap: wrap-reverse; }
	#network div.network_wrap div.flex table { width: 100%; }
	#network div.network_wrap div.img { width: 100%; padding-bottom: 50px; }
	#network div.network_wrap h3.h3_common { margin-top: 50px; }
	#network div.network_wrap div.google_map { height: 320px; }


	/* ----------- business ----------- */
	#business div.h1_bg { background: url(/img/business/top/h1_bg_sp.jpg); background-size: cover; }

	#steelbar div.h1_bg { background: url(/img/business/steelbar/h1_bg_sp.jpg); background-size: cover; }
	#steelbar p.intro { font-size: 1.9rem; }
	h2.padding { padding-top: 56px; }
	#steelbar div.img_flex { display: block; padding: 60px 0; }
	#steelbar div.img_flex div { width: 100%; }
	#steelbar div.img_flex div:first-child { margin-right: 0; margin-bottom: 2px; }
	p.red { display: none; }
	#steelbar div.steelbar_img { padding: 40px 0; }

	p.p_intro { padding-bottom: 50px; }
	#manufacturing div.bg1 { background: url(/img/business/manufacturing/bg1_sp.jpg); background-size: cover; padding-top: 50px; }
	#manufacturing div.bg2 { background: url(/img/business/manufacturing/bg2_sp.jpg); background-size: cover; }
	#manufacturing div.process_wrap.process1 { padding-bottom: 80px; }
	#manufacturing div.process_wrap.process2 { padding: 50px 0; }
	#manufacturing div.process_wrap.process3 { padding-bottom: 80px; }
	#manufacturing div.process_wrap.process4 { padding: 50px 0 80px 0; }
	#manufacturing div.process_wrap.process5 { padding: 50px 0 45px 0; }
	#manufacturing div.process_wrap.process6,
	#manufacturing div.process_wrap.process7 { padding-bottom: 45px; }
	#manufacturing div.process_wrap::before { left: 20px; }
	#manufacturing div.process_wrap span { left: -5px; margin-right: 9px; width: 52px; height: 52px; font-size: 2.9rem; line-height: 52px; }
	#manufacturing div.process_wrap div.cnt { padding-top: 6px; width: calc(100% - 56px); }
	#manufacturing div.process_wrap div.cnt h3.h3_common.margin { margin-top: 40px; }
	#manufacturing div.process_wrap div.cnt div.flex { display: block; }
	#manufacturing div.process_wrap div.cnt div.flex div.flex_cnt { width: 100%; padding-bottom: 40px; }
	#manufacturing div.process_wrap div.cnt div.flex div.flex_img { width: 100%; }
	#manufacturing div.process_wrap div.cnt div.row_img { width: 100%; }
	#manufacturing div.process_wrap div.cnt div.row_img:first-child { margin-bottom: 2px; }

	#quality div.h1_bg { background: url(/img/business/quality/h1_bg_sp.jpg); background-size: cover; }
	div.iso_pdf { display: block; }
	div.iso_pdf div.each { width: 100%; }
	/*div.iso_pdf div.each:first-child { padding-bottom: 45px; }*/
	a.download img { margin-top: 3px; }
	#quality div.machine { padding-top: 60px; }
	#quality div.machine div.each { width: 100%; }

	#safe div.policy { display: block; }
	#safe div.policy div { width: 100%; padding-bottom: 40px; margin-right: 0; }
	#safe div.policy div span { width: 65px; height: 65px; font-size: 3.0rem; line-height: 60px; }
	#safe div.policy div p { padding-top: 20px; }
	#safe div.flex_img { display: block; }
	#safe div.flex_img div { width: 100%; }
	#safe div.flex_img div:first-child { padding-bottom: 15px; }

	#safe_sheet div.h1_bg { background: url(/img/business/safe/h1_bg_sp.jpg); background-size: cover; }
	#safe_sheet div.intro { display: block; }
	#safe_sheet div.intro p { padding-top: 50px; text-align: right; }
	table.bg tr th,
	table.bg tr td { padding-left: 15px; }
	table.bg tr th { width: 90px; padding-right: 14px; }
	table.bg.wide tr th { width: 100px; }
	ul.list_circle.padding { padding-top: 30px; }
	ul.list_circle li::before { top: 10px; }
	#safe_sheet h2.padding.first { padding-top: 30px; }
	#safe_sheet p.txt { padding-top: 30px; }
	#safe_sheet p.finish { padding-top: 40px; }
	#safe_sheet a.square_link { margin-top: 50px; }


	/* ----------- csr ----------- */
	#csr div.h1_bg { background: url(/img/csr/top/h1_bg_sp.jpg); background-size: cover; background-position: right top; }

	#environment div.flex_img { display: block; }
	#environment div.flex_img div { width: 100%; }
	#environment div.flex_img div:first-child { padding-bottom: 15px; }

	#iso table.bg.rowspan tr th { width: 80px; }
	#iso table.bg.rowspan tr td:first-of-type { width: 80px; padding-right: 4px; box-sizing: border-box; }
	#iso table.bg.wide tr th { width: 135px; }
	#iso div.iso_pdf { padding-top: 45px; }


	/* ----------- blog ----------- */
	#blog div.blog_all a { width: 100%; padding-bottom: 30px!important; margin-right: 0!important; }

	#single div.h1_mono h1 { font-size: 2.5rem; }
	#single div.single_common ul li::before { top: 10px; }
	#single a.square_link { margin-top: 0; }


	/* ----------- sitemap ----------- */
	#sitemap ul.link_wrap { padding-bottom: 12px; margin-bottom: 35px; }
	#sitemap ul.link_wrap ul.child_link.row_2 li { width: 100%; }


	/* ----------- privacy ----------- */
	#privacy div.box { padding: 40px 15px; margin-top: 40px; }


	/* ----------- contact ----------- */
	div.contact_wrap { padding-bottom: 45px; margin-bottom: 40px; }
	div.contact_wrap p.exp { padding-bottom: 15px; }
    div.contact_wrap div.errWrap { padding-top: 45px; margin: 0 0 -10px; }
    div.contact_wrap div.btnWrap button.square_link { margin: 30px auto 0; }
	form table tr { flex-wrap: wrap; padding-top: 20px; }
	form table tr th { width: 100%; padding: 0 0 6px 0; }
	form table tr td { width: 100%; }
    form table.confirm {margin: 40px 0 60px;}
	form input,
	form textarea { padding: 15px 18px; }
	form input.half { width: 100%; }
	form input.half:first-child { margin-bottom: 10px; }
	form textarea { height: 350px; }
	form div.box { padding: 40px 20px; margin: 50px 0; }
	form div.box ul li { font-size: 1.4rem; line-height: 28px; }
	form input.privacy + label { padding-left: 32px; font-size: 1.6rem; }
	form p.check_exp { padding-top: 30px; }
	form button.square_link { width: 100%; margin-top: 40px; }


	/* ----------- topics ----------- */
	#topics div.page { padding-top: 40px; }


	/* ----------- products ----------- */
	#products div.h1_bg { background: url(/img/products/top/h1_bg_sp.jpg); background-size: cover; }
    
    #product-single div.productTopBlock { align-items: flex-start; padding: 0 0 65px;}
    #product-single div.productTopBlock div.left { width: 65px;}
    #product-single div.productTopBlock div.left p{margin: 0;}
    #product-single div.productTopBlock div.left img {width: 100%; height: auto;}
    #product-single div.productTopBlock div.right { width: calc(100% - 85px);}
    #product-single div.productTopBlock h2 { font-size: 1.9rem; margin: 0 0 30px;}
    
    #product-single div.productFeatureBlock { padding: 35px 15px 20px;}

    #product-single div.productFeatureBlock h3,
    #product-single div.productFeatureBlock ul,
    #product-single div.productFeatureBlock p {}

    #product-single div.productFeatureBlock h3 { font-size: 1.8rem; padding: 0 0 15px;}
    #product-single div.productFeatureBlock p {}
    #product-single div.productFeatureBlock ul { font-size: 1.5rem; padding: 0 0 20px;}
    #product-single div.productFeatureBlock ul li { margin: 0 0 10px; line-height: 1.9;}

    #product-single div.productFeatureBlock ul.list_circle li:before {}

    #product-single p.productMainImg { padding: 0 0 60px;}
    #product-single p.productMainImg img {}
    #product-single p.productMainImg img.sp { display: block;}
    #product-single p.productMainImg img.pc { display: none;}

    /* */

    #product-single input[name="tab"] {}

    #product-single label.tab { height: 65px; margin: 0 0 50px;}

    #product-single label.tab p { font-size: 1.7rem;}
    #product-single label.tab:last-of-type {}

    #product-single label.tab::before {}

    #product-single input:checked + label.tab {}
    #product-single input:checked + label.tab::before {}

    #product-single div.pTab {}

    #product-single input#n1:checked ~ div#n1_wrap,
    #product-single input#n2:checked ~ div#n2_wrap {}



	h1 span.small { font-size: 2.2rem; }
	#product-single div.tag_img div.img_wrap { width: 100%; }

	ul.list_circle.rating li { margin-top: 0; }
	div.data_comment { padding-top: 40px; }


	#product-single div.iso_pdf div.each { padding-bottom: 0; }
	


}



/* ----------------------------------- ie ---------------------------------- */
@media screen and (min-width: 0\0) and (min-resolution: +72dpi) {
    .selector {
        property: value;
    }
	/* IE向けのCSS～START */


	/* IE向けのCSS～END */
}