@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap');
/* 忍者ツールバナー隠し */
#asumi-frame-102 img,
#asumi-frame-440 {
    display: none;
}


body {
	font-family: YuGothic, 'Yu Gothic', 'Yu Gothic UI', 'ＭＳ Ｐゴシック', 'MS PGothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'ヒラギノ角ゴシック', 'Hiragino Sans', sans-serif;
	font-weight: bold;
	font-size: 18px;
	margin: 0;
	padding: 0;
}
#wrap {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	max-width: 100%;
	overflow: hidden;
}
main {
	display: flex;
	flex-direction: column;
	margin: auto;
	width: 100%;
	flex-grow: 1;
	/* padding: 0 1em; */
}
main > .content {
	display: flex;
	flex-direction: column;
}
main > .content > * {
	flex-grow: 1;
}
main > * {
	flex-grow: 1;
}
main a.js_hover {
	opacity: 0.7
}
.w_middle {
	max-width: 640px;
}
.w_wide {
	max-width: 800px;
}
.w_wide2 {
	max-width: 900px;
}
/* opening -------------------- */
#cover {
	background-image: url(../img/p03_01.jpg);
	background-position: center;
	position: fixed;
	min-width: 100%;
	height: 100%;
	top: 0;
	z-index: 100;
	/* left:-25%;
    transform: translateX(-25%); */
}
#coverIn {
	width: 100%;
	height: 100%;
	position: relative;
}
#opening {
	width: 652px;
	height: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-left: -326px;
	margin-top: -286px;
	/* background-color:#c00; */
}
.opening_Contents {
	position: absolute;
	display: none;
}
.opening_head {
	left: 78px;
	left: 250px;
	top: 66px;
	top: 250px;
	width: 500px;
	width: 0;
}
.opening_illust {
	left: 173px;
	left: 280px;
	top: 171px;
	width: 308px;
	width: 0px;
}
.opening_logo {
	left: 300px;
	top: 461px;
	top: 250px;
	width: 248px;
	width: 0px;
}
/* ---- */
.scroll_fade_b_t, .scroll_fade {
	opacity: 0;
	transition: 1000ms;
}
.scroll_fade_b_t.in, .scroll_fade.in {
	top: 0;
	opacity: 1;
}
.scroll_fade_b_t {
	position: relative;
	top: 3rem;
}
.scroll_fade_b_t.in {
	top: 0;
}
.cmn_btn01 {
	display: inline-block;
	text-decoration: none;
	position: relative;
	padding: 1rem 3rem;
	color: #fff;
	font-weight: bold;
	font-size: 1.25em;
}
.cmn_btn01::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	margin: auto;
	background-color: #f00;
	z-index: -1;
	transform: skewX(-20deg);
	transform-origin: center;
}
.cmn_h1 {
	background-color: #6b6b6b;
	position: relative;
	z-index: 0;
	display: flex;
	min-height: 10rem;
	align-items: center;
	font-size: 2em;
	overflow: hidden;
	padding: 1rem
}
.cmn_h1::before, .cmn_h1::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 48.5%;
	left: 0;
	bottom: 0;
	background-color: #fff;
	z-index: -1;
	transform: skewX(-20deg);
	transform-origin: top right;
}
.cmn_h1::after {
	width: 3px;
	height: 70%;
	top: auto;
	right: calc(48.5% + 1.5rem);
	left: auto;
	background-color: #414141;
}
.cmn_h1 .en {
	display: block;
	font-size: 1rem;
	color: #222;
	position: relative;
	/* top: -0.5em; */
	font-weight: normal;
}
.cmn_h1 .inner {
	margin: auto;
	width: 100%;
	max-width: 900px;
	position: relative;
}
.cmn_h1 .inner::before {
	content: "";
	display: block;
	position: absolute;
	background-color: #999;
	width: 3px;
	transform: skewX(-20deg);
	transform-origin: right top;
	top: -100%;
	right: auto;
	left: -0.4em;
	bottom: 0;
}
.cmn_h2 {
	text-align: center;
	color: #fff;
	font-size: 2.25rem;
	margin-bottom: 1.5em;
}
h3 {
	font-family: 'Oleo Script Swash Caps', cursive;
	font-size: 4rem;
	position: relative;
	color: #fff;
	background-color: #f00;
	text-shadow: 3px 3px 1px rgb(0 0 0 / 45%);
	width: fit-content;
	padding: 0 0.5em 0 0.5em;
	margin-bottom: 1em;
	z-index: 2;
}
h3::before {
	position: absolute;
	content: "";
	top: 1px;
	left: -19px;
	width: 19px;
	height: 100%;
	background-image: url(../common_img/h3_corner.png);
	transform: rotate(180deg);
	z-index: 1;
}
h3::after {
	position: absolute;
	content: "";
	top: -1px;
	right: -19px;
	width: 19px;
	height: 100%;
	background-image: url(../common_img/h3_corner.png);
	z-index: 1;
}
h3 + span {
	display: block;
	font-size: 1.4rem;
	color: #000;
	letter-spacing: 5px;
	z-index: 3;
	margin: -2.5em auto 1em;
}
.top_news {
	margin-bottom: 5em;
}
.top_news .flex_left {
	position: relative;
}
.top_news .flex_left span {
	position: absolute;
	top: 9em;
	left: 90px;
	color: #fff;
}
.cmn_h3 {
	font-size: 1.5rem;
	margin-bottom: 1em;
}
.cmn_h3_2 {
	font-size: 2rem;
	margin-bottom: 1em;
}
.cmn_back_02_b .cmn_h3, .cmn_back_02_b ~ .cmn_h3, .cmn_back_02_b .cmn_h3_2, .cmn_back_02_b ~ .cmn_h3_2 {
	color: #fff;
}
.cmn_h3_ico {
	position: relative;
	font-size: 1.5rem;
	margin-bottom: 1em;
}
.cmn_h3_ico .icon {
	width: 1.75em;
	position: absolute;
	left: -2.4em;
	top: 0;
	bottom: 0;
	margin: auto;
}
.cmn_h4 {
	font-size: 1.25rem;
	margin-top: 1.25em;
	margin-bottom: 1em;
}
.cmn_h5 {
	font-size: 1.5rem;
	margin-bottom: 1.25em;
}
.cmn_back_01 {
	background: url(../common_img/dot_bg.png) rgb(239,237,235,0.9);
	background-blend-mode:lighten;
	position: relative;
	width: 80vw;
	margin-left: 20vw;
	padding: 2.5em;
	display: flex;
	flex-wrap: wrap;
}
.cmn_back_01 img {
	object-fit: contain;
}
.cmn_back_01 .flex_right {
	margin-left: 3em;
}
@media screen and (max-width:960px) {
	.cmn_back_01 {
		flex-direction: column;
		align-items: flex-start;
	}
	.cmn_back_01 .flex_right {
		margin-left: 0;
	}
}
.cmn_back_01 p {
	display: inline;
	font-size: 1.25rem;
	font-weight: bold;
}
/* .cmn_back_01::before,
.cmn_back_01::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 57%;
    left: -100vw;
    bottom: 0;
    margin: auto;
    background-color: #f6f6f6;
    z-index: -1;
    transform: skewX(-20deg);
    transform-origin: top right;
}

.cmn_back_01::after {
    transform-origin: bottom left;
    left: calc(100% + (100vw - 100%) / 2 - 6rem);
    width: 100vw;
} */
.cmn_back_wrap {
	position: relative;
	z-index: 0;
}
.cmn_back_02_w, .cmn_back_02_img, .cmn_back_02_b {
	position: absolute;
	top: 0;
	right: calc((100vw - 100%)/-2);
	left: calc((100vw - 100%)/-2);
	bottom: 0;
	width: 100vw;
	z-index: -1;
}
.cmn_back_02_w {}
.cmn_back_02_b {
	background-color: #000;
}
.cmn_back_02_w::before, .cmn_back_02_w::after, .cmn_back_02_b::before, .cmn_back_02_b::after, .cmn_back_02_img::before, .cmn_back_02_img::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: auto;
	left: 9.5em;
	bottom: 0;
	margin: auto;
	width: 13em;
	z-index: -1;
	transform: skewX(-20deg);
	transform-origin: top left;
}
.cmn_back_02_w::before, .cmn_back_02_w::after {
	background-color: #f6f6f6;
}
.cmn_back_02_b::before, .cmn_back_02_b::after {
	background-color: #222;
}
.cmn_back_02_img::before {
	background-color: #fff;
}
.cmn_back_02_img::after {
	background-color: #f2f2f2;
}
.cmn_back_02_img::before {
	left: 0;
	width: 20em;
}
.cmn_back_02_w::after, .cmn_back_02_b::after, .cmn_back_02_img::after {
	transform-origin: bottom left;
	left: calc(100% + (100vw - 100%) / 2 - 6rem);
	width: 100vw;
}
.contentsList {
	display: flex;
	justify-content: center;
	list-style-type: none;
	flex-wrap: wrap;
	max-width: 1620px;
	margin: 0 auto;
	gap: 32px;
}
.contentsList li {
	margin: 1px;
	width: 23rem;
}
.contentsList li .text {
	display: flex;
	align-items: center;
	font-size: 1em;
	padding: 1.5rem;
}
.contentsList li .imgBox {
	line-height: 0;
	background-color: #fcfcfc;
	aspect-ratio: 380 / 201;
	position: relative;
}
.contentsList li .imgBox img {
	width: 100%;
	height: auto;
	object-fit: cover;
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.contentsList li.mynavi .imgBox img {
	width: 80%;
}
.contentsList li a {
	display: block;
	text-decoration: none;
	color: #fff;
	height: 248px;
	max-height: 284px;
}
.contentsList li a.text {
	display: block;
	background-color: #000;
	height: 5.7em;
	padding-right: 2.5rem;
	position: relative;
}
/* .contentsList li a.text::before {
    content: "";
    display: block;
    border: 1px solid #000;
    border-bottom-color: transparent;
    border-left-color: transparent;
    width: 0.75em;
    height: 0.75em;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 1.25em;
} */
.contentsList li a.text::before {
	content: url(../common_img/red_corner.png);
	position: absolute;
	top: 0;
	left: 0;
}
.table_01 {
	border-collapse: collapse;
}
.table_01 th, .table_01 td {
	padding: 0.5em 1em;
	border-bottom: 1px solid #ddd;
	text-align: left;
}
.table_01 th {
	font-weight: normal;
	min-width: 10em;
}
.table_02 {
	border-collapse: collapse;
	table-layout: fixed;
}
.table_02 th, .table_02 td {
	text-align: left;
	font-weight: normal;
	font-size: 1.25em;
}
.table_02 th {
	padding-right: 2em;
}
@media screen and (max-width: 900px) {
	.cmn_h1::before, .cmn_h1::after {
		right: 0;
	}
	.cmn_h1::after {
		right: 1.5rem;
	}
	.cmn_h3_ico {
		padding-left: 2.25em;
	}
	.cmn_h3_ico .icon {
		position: absolute;
		left: 0;
	}
	/* .cmn_back_01::before,
    .cmn_back_01::after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        right: 57%;
        left: -100vw;
        bottom: 0;
        margin: auto;
        background-color: #f6f6f6;
        z-index: -1;
        transform: skewX(-20deg);
        transform-origin: top right;
    } */
	.cmn_back_02_w::before, .cmn_back_02_b::before, .cmn_back_02_img::before {
		left: 0em;
	}
	.cmn_back_02_img::before {
		left: 0;
		width: 5em;
	}
	.contentsList {
		max-width: 90vw;
	}
	.table_01 {
		table-layout: fixed;
	}
	.table_01 th, .table_01 td {
		display: block
	}
	.table_01 th {
		font-weight: bold;
		border-bottom-color: transparent;
	}
	.table_02 th, .table_02 td {
		display: block;
	}
	.table_02 th {
		padding-right: 0;
	}
	.table_02 td {
		margin-bottom: 1em;
	}
}
/*navigation*/
#h_global_nav {
	display: flex;
	align-items: center;
	width: 100%;
	justify-content: space-between;
	align-items: center;
	padding: 0.5em;
	background: rgb(0, 0, 0);
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(255, 255, 255, 0) 100%);
	position: relative;
	top: 0;
	z-index: 10;
}
#h_global_nav .logo {
	line-height: 0;
}
#h_global_nav .logo img {
	/* height: 1.5em */
	width: 206.09px;
}
#h_global_nav .logo h1 {
	font-size: 0.7em;
	color: #fff;
	margin-top: 12px;
	margin-left: 1px;
	line-height: 1;
}
#h_global_nav #h_menu {
	list-style-type: none;
	display: flex;
	height: 100%
}
#h_global_nav #h_menu li {
	position: relative;
}
#h_global_nav #h_menu li a {
	display: block;
	position: relative;
	padding: 0em 0.5em;
	text-decoration: none;
	color: #fff;
	font-size: 0.95em;
	line-height: 1.2;
	word-break: keep-all;
}
#h_global_nav #h_menu li a::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	margin: auto;
	padding: 14px 0;
	background-color: #fff;
	z-index: -1;
	transform: skewX(-28deg);
	opacity: 0;
}
#h_global_nav #h_menu > li.on > a,
#h_global_nav #h_menu li a.js_hover {
	color: #111;
}
#h_global_nav #h_menu li.on a::before,
#h_global_nav #h_menu li a.js_hover::before {
	opacity: 0.7
}
#h_global_nav #h_menu li a, #h_global_nav #h_menu li a::before {
	transition: 200ms;
}
#h_global_nav #h_menu li.inquiry_btn a {
	padding-left: 1em;
}
#h_global_nav #h_menu li.inquiry_btn a.js_hover {
	color: #fff;
}
#h_global_nav #h_menu li.inquiry_btn a::before {
	background-color: #f00;
}
#h_global_nav #h_menu li .subList {
	box-sizing: border-box;
	padding: 10px 0;
	left: 50%;
	top: 100%;
	position: absolute;
	text-align: center;
	white-space: nowrap;
	transform: translateX(-50%) translateY(-20px);
	background-color: rgba(0, 0, 0, 0.8);
	opacity: 0;
	visibility: hidden;
	transition: 0.3s;
}
#h_global_nav #h_menu li.on .subList {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}
#h_global_nav #h_menu li .subList li {
	list-style: none;
}
#h_global_nav #h_menu li .subList li a {
	padding: 6px 3px;
	font-size: 0.88em;
}
#h_global_nav #h_menu li .subList li a::before {
	display: none;
}
#h_global_nav #h_menu li .subList li a:hover {
	color: #fff;
	opacity: 0.7;
}
#h_global_nav #spMenuBtn {
	display: none
}
@media screen and (max-width: 960px) {
	#h_global_nav {
		display: flex;
		width: 100%;
		justify-content: space-between;
		padding: 0.5em;
		background-color: rgba(0, 0, 0, 0.7);
		position: sticky;
		top: 0;
		z-index: 100;
	}
	#h_global_nav #h_menu {
		display: block;
		position: absolute;
		top: 100%;
		left: 0;
		width: 100%;
		overflow-x: hidden;
		overflow-y: auto;
		height: 100vh;
		z-index: 100;
	}
	#h_global_nav #h_menu[aria-hidden="true"] {
		height: 0;
	}
	#h_global_nav #spMenuBtn {
		width: 1.75em;
		height: 1.75em;
		position: absolute;
		right: 0.75em;
		top: 0;
		bottom: 0;
		margin: auto;
		overflow: hidden;
	}
	#h_global_nav #spMenuBtn, #h_global_nav #spMenuBtn .bar {
		display: block;
	}
	#h_global_nav #spMenuBtn .bar {
		background-color: #fff;
		height: 3px;
		width: 100%;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		transition: 200ms
	}
	#h_global_nav #spMenuBtn .bar:nth-child(1) {
		bottom: 90%;
	}
	#h_global_nav #spMenuBtn .bar:nth-child(2) {}
	#h_global_nav #spMenuBtn .bar:nth-child(3) {
		top: 90%;
	}
	#h_global_nav #spMenuBtn[aria-expanded="true"] .bar:nth-child(1) {
		transform: rotate(45deg);
		bottom: 0;
	}
	#h_global_nav #spMenuBtn[aria-expanded="true"] .bar:nth-child(2) {
		opacity: 0;
	}
	#h_global_nav #spMenuBtn[aria-expanded="true"] .bar:nth-child(3) {
		transform: rotate(-45deg);
		top: 0;
	}
	#h_global_nav #h_menu {
		box-sizing: border-box;
		padding: 0 25px;
		background-color: rgba(0, 0, 0, 0.7);
	}
	#h_global_nav #h_menu::before {
		width: 100%;
		height: 1px;
		position: absolute;
		left: 0;
		top: 0;
		background: #fff;
		content: "";
	}
	#h_global_nav #h_menu > li {
		border-bottom: 1px solid #fff;
	}
	#h_global_nav #h_menu li a {
		position: relative;
		padding: 0.7em;
		text-align: center;
		font-size: 1.1em;
		letter-spacing: 0.05em;
		background-color: transparent;
		z-index: 0;
	}
	#h_global_nav #h_menu li a::before {
		display: none;
	}
	#h_global_nav #h_menu > li > a.pull::after {
		margin: 0.5em -26px 0 12px;
		width: 10px;
		height: 10px;
		display: inline-block;
		vertical-align: top;
		border-left: 3px solid #fff;
		border-bottom: 3px solid #fff;
		transform: rotate(-45deg) translateY(-50%);
		content: "";
		transition: 0.3s;
	}
	#h_global_nav #h_menu > li > a.pull.on::after {
		transform: rotate(135deg) translateY(0);
	}
	#h_global_nav #h_menu > li.on > a,
	#h_global_nav #h_menu li a.js_hover {
		color: #fff;
	}
	#h_global_nav #h_menu li a.js_hover::before {
		opacity: 0.7
	}
	#h_global_nav #h_menu li a, #h_global_nav #h_menu li a::before {
		transition: 200ms;
	}
	#h_global_nav #h_menu li.inquiry_btn a {
		padding-left: 1em;
		padding-right: 1em;
	}
	#h_global_nav #h_menu li .subList {
		padding: 0;
		left: auto;
		top: auto;
		position: relative;
		text-align: right;
		font-weight: normal;
		white-space: normal;
		transform: none;
		background-color: transparent;
		opacity: 1;
		visibility: visible;
		transition: 0s;
		display: none;
	}
	#h_global_nav #h_menu li.on .subList {
		transform: none;
	}
	#h_global_nav #h_menu li .subList li {
		padding-bottom: 8px;
	}
	#h_global_nav #h_menu li .subList li:last-child {
		padding-bottom: 22px;
	}
	#h_global_nav #h_menu li .subList li a {
		padding: 0 5px;
		text-align: right;
		font-size: 1em;
		font-weight: normal;
		line-height: 1.5;
		border: none;
	}
	#h_global_nav #h_menu li .subList li a:hover {
		opacity: 1;
	}
}
/*navigation*/
#footer {
	text-decoration: none;
	position: relative;
	padding: 3.9rem 1rem 2.5rem;
	color: #fff;
	font-size: 0.9em;
	text-align: center;
	background-color: #000;
	z-index: 1;
}
#footer, #footer a {
	color: #f2f2f2;
}
#footer .link_privacy {
	font-size: 0.85em;
}
#footer .copyright {
	color: #999;
	font-size: 0.8em;
	font-weight: normal;
	margin-top: 1rem;
}
#f_global_nav {
	margin-bottom: 80px;
	display: flex;
	justify-content: space-between;
}
#f_global_nav .fLogoBox .logo {
	margin-bottom: 27px;
}
#f_global_nav .fLogoBox .logo img {
	width: 228px;
	vertical-align: top;
}
#f_global_nav .fLogoBox .logo span {
	color: #aaa;
	font-weight: normal;
	margin-left: 1em;
	margin-top: 0.5em;
	vertical-align: bottom;
	display: block;
}
#f_global_nav .fLogoBox .logo span a {
	color: #aaa;
}
#f_global_nav .fLogoBox .fLink {
	width: 39px;
}
#f_global_nav .fLogoBox .fLink a {
	display: block;
}
#f_global_nav .fLogoBox .fLink a:hover {
	opacity: 0.7;
}
#f_global_nav .fLogoBox .fLink a img {
	width: 100%;
}
#f_global_nav .mainMenuList {
	list-style-type: none;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	margin: 0;
}
#f_global_nav .mainMenuList a {
	color: #DCD7CD;
	font-size: 1em;
	font-weight: normal;
	text-decoration: none;
}
#f_global_nav .mainMenuList a.blank {
	padding-right: 22px;
	background: url("../common_img/icon_blank.png") no-repeat right center / 16px auto;
}
#f_global_nav .mainMenuList {
	list-style-type: none;
	display: flex;
}
#f_global_nav .mainMenuList li {
	padding: 0.3em 0.8em 0.3em 0.2em;
	position: relative;
}
#f_global_nav .mainMenuList li a {
	display: block;
	text-decoration: underline;
	color: #F2F2F2;
	letter-spacing: 0.02em;
	word-break: keep-all;
}
#f_global_nav .mainMenuList li:last-of-type::before {
	border-right: 1px solid #f2f2f2;
}
#f_global_nav a.js_hover {
	opacity: 0.7;
}
#f_global_nav .mainMenuList li a.js_hover::before {
	background-color: rgba(255, 255, 255, 1);
}
#f_global_nav a, #f_global_nav .mainMenuList li a::before {
	transition: 200ms;
}
#f_global_nav .contact_way {
	display: flex;
	justify-content: space-between;
	max-width: 550px;
	margin: auto;
	margin-bottom: 0.5rem;
	font-weight: bold;
}
#f_global_nav .contact_way .item {
	display: flex;
	align-items: center;
	font-size: 1.1em;
	width: calc(50% - 0.25em);
}
#f_global_nav .contact_way .mail {
	border: 1px solid #fff;
	padding: 0.75em 1em;
}
#f_global_nav .contact_way .tel telNums {
	border-collapse: collapse;
}
#f_global_nav .contact_way .tel .telNums th {
	padding-right: 0.25em;
}
#f_global_nav .contact_way .tel .telNums td {
	padding: 0 0.25em;
}
#f_global_nav .contact_way a {
	display: block;
	text-decoration: none;
}
#f_global_nav .contact_way .icon {
	width: 2em;
	margin-right: 0.5em;
}
.pagetop {
	position: absolute;
	right: 46px;
	top: -102px;
	z-index: 100;
}
.pagetop a {
	width: 40px;
	display: block;
}
.pagetop a:hover {
	opacity: 0.7;
}
.pagetop a img {
	width: 100%;
	vertical-align: top;
}
@media screen and (max-width: 960px) {
	#footer {
		padding: 3rem 2.3rem 1rem;
	}
	#f_global_nav {
		margin-bottom: 40px;
		display: block;
	}
	#f_global_nav .fLogoBox {
		margin-bottom: 9px;
	}
	#f_global_nav .fLogoBox .logo {
		margin-bottom: 1em;
		text-align: left;
	}
	#f_global_nav .fLogoBox .fLink a:hover {
		opacity: 1;
	}
	#f_global_nav .fLogoBox .logo span {
		display: block;
		margin: 1em auto 0;
		text-align: center;
	}
	#f_global_nav .mainMenuList {
		flex-direction: column;
	}
	#f_global_nav .mainMenuList li::before {
		display: none;
	}
	#f_global_nav .mainMenuList li {
		padding: 0.15em 0;
	}
	#f_global_nav .contact_way {
		flex-direction: column;
		align-items: center;
	}
	#f_global_nav .contact_way .item {
		display: flex;
		align-items: center;
		font-size: 1.1em;
		width: auto;
	}
	#f_global_nav .contact_way .mail {
		margin-top: 1.5rem;
	}
	#footer .copyright {
		margin-top: 2rem;
		font-size: 0.741em;
		line-height: 1.5;
	}
	.pagetop {
		right: 30px;
		top: -85px;
	}
	.pagetop a:hover {
		opacity: 1;
	}
}
/*index*/
#top::before {
	content: "";
	display: block;
	background-image: url(../img/p03_01.jpg);
	position: fixed;
	background-size: cover;
	background-position: center;
	top: 0;
	width: 100%;
	height: 100vh;
	z-index: -3;
}
#index #h_global_nav {
	position: absolute;
}
#index main #first_v {
	display: flex;
	align-items: center;
	height: 960px;
	max-height: 100vh;
	background-color: #ddd;
	position: relative;
	left: calc((100vw - 100%)/ -2);
	right: calc((100vw - 100%)/ -2);
	width: 100vw;
	z-index: 0;
	overflow: hidden;
	padding: 1em;
}
/* #index main #catch {
    font-family: 'Yu Mincho Light', 'YuMincho', 'Yu Mincho', '游明朝体', 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ＭＳ Ｐ明朝', 'MS PMincho', sans-serif;
} */
#index main #first_v #topSlide, #index main #first_v #topSlide .slideItem, #index main #first_v #topSlide #blackOut {
	position: absolute;
	top: 0;
	left: calc((100vw - 100%)/ -2);
	bottom: 0;
	right: calc((100vw - 100%)/ -2);
	z-index: -1;
}
#index main #first_v #topSlide #blackOut {
	background-color: #000;
	z-index: 10;
	transform: skewX(-20deg);
	left: 150%;
	right: -100%;
}
#index main #first_v #topSlide .slideItem:first-of-type {
	z-index: 1;
}
#index main #first_v #topSlide .slideItem:not(.view) {
	transform: none;
	transition-duration: 0s;
}
#index main #first_v #topSlide .slideItem.view {
	animation: anime1;
	animation-duration: 5000ms;
}
@keyframes anime1 {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(1.03);
	}
}
#index main #first_v #topSlide .slideItem img {
	position: absolute;
	top: -100%;
	bottom: -100%;
	left: -100%;
	right: -100%;
	margin: auto;
	min-width: 100vw;
	min-height: 100%
}
/* @font-face {
	font-family: 'MyFont';
	src: url(../font/A-OTF-GothicMB101Pro-DeBold.otf);
} */
#index main #first_v #copy {
	font-family: "Gothic MB101 Bold","A-OTF ゴシックMB101 Pro DB";
	font-size: 1.6rem;
	color: #fff;
	line-height: 1.5;
	text-shadow: 3px 3px 1px rgb(0 0 0 / 45%);
	position: relative;
	max-width: 1280px;
	width: 100%;
	margin: auto auto auto 2rem;
}
#index main #first_v #copy .highlight {
	font-family: 'Oleo Script Swash Caps', cursive;
	font-size: 3em;
	position: relative;
	z-index: 0;
	padding: 0 0.5em 0 1.5em;
	display: inline-block;
	margin-left: -1.5em;
}
#index main #first_v::before,
#index main #first_v #copy::before,
#index main #first_v #copy::after,
#index main #first_v #copy .highlight::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 100%;
	background-color: #f00;
	transform: skewX(-20deg);
	z-index: -1;
}
#index main #first_v #copy .highlight::before {
	transition: 800ms;
	transition-delay: 1000ms;
}
#index main #first_v #copy .in .highlight::before {
	right: 0;
}
/* #index main #first_v #copy::before,
#index main #first_v #copy::after {
    z-index: 0;
    width: 100vw;
    height: 100vh;
    right: 100%;
    left: auto;
    top: -1.5em;
    margin: auto;
    opacity: 0.5;
    z-index: -1
}

#index main #first_v #copy::after {
    right: 78%;
}

#index main #first_v::before {
    background-color: #fff;
    z-index: 1;
    left: 96%;
    width: 50vw;
    opacity: 0.5;
} */
#index .strength {
	font-family: "Gothic MB101 Bold","A-OTF ゴシックMB101 Pro DB";
	font-size: 2em;
	width: fit-content;
	font-weight: bold;
	border-bottom: 3px solid #000;
	margin-bottom: 0.5em;
}
p.center {
	text-align: center;
	margin: 0 auto 2.5em;
}
#index .cmn_back_02_img {
	background-image: url(../img/back_01.jpg);
	-webkit-background-size: cover;
	background-size: cover;
}
#index #s_00 {
	padding: 3em 0 4em;
	text-align: center;
}
#index #s_01 {
	padding: 4em 0 8em;
}
#index #s_00 .voice {
	width: 100%;
	max-width: 640px;
}
.layer {
	position: relative;
}
.layer .flex_left {
	width: 50%;
}
.layer h3 {
	position: absolute;
	top: 50px;
	left: 3vw;
}
.layer .flex_right {
	position: absolute;
	top: 65px;
	left: 20vw;
	width: 80%;
	background: #fff;
	padding: 4em;
	border-bottom: solid 5px #000;
}
.layer .flex_right li {
	max-width: 894px;
	list-style: none;
	padding: 1em 0;
	border-bottom: solid 1px #DCD7CD;
}
.layer .flex_right li a {
	color: #000;
	text-decoration: underline;
}
.layer .flex_right li a span {
	color: #5A5651;
	margin-right: 2em;
	text-decoration: none;
}
.top_prdct {
	background-image: url(../common_img/bg_sky.avif);
	background-size: cover;
	background-position: center;
	width: 90%;
	margin: 0 auto;
	text-align: center;
	padding: 5rem 0;
}
.top_prdct h3, .top_shape h3 {
	margin: 0 auto 1em;
}
.top_prdct_list ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	max-width: 1225px;
	gap: 20px;
	margin: 0 auto;
}
.top_prdct_list li {
	list-style: none;
}
.top_prdct_list li a {
	color: #000;
	text-decoration: none;
	display: block;
	width: 187px;
	height: 187px;
	background-color: #fff;
	padding-top: 3em;
	line-height: 1.2;
}
.top_prdct_list li img {
	display: block;
	margin: 0 auto 1em;
}
.top_prdct_list li a::after {
	content: "";
	border-left: solid 42px transparent;
	position: absolute;
	right: 0;
	bottom: 0;
	width: 0;
	height: 0;
}
.top_prdct_list li #ni {
	border: solid 3px #4FAF4C;
}
.top_prdct_list li #ni::after {
	border-bottom: solid 42px #4FAF4C;
}
.top_prdct_list li #ag {
	border: solid 3px #51BCBC;
}
.top_prdct_list li #ag::after {
	border-bottom: solid 42px #51BCBC;
}
.top_prdct_list li #pd {
	border: solid 3px #9A66C8;
}
.top_prdct_list li #pd::after {
	border-bottom: solid 42px #9A66C8;
}
.top_prdct_list li #cu {
	border: solid 3px #C1572F;
}
.top_prdct_list li #cu::after {
	border-bottom: solid 42px #C1572F;
}
.top_prdct_list li #au {
	border: solid 3px #F1E157;
}
.top_prdct_list li #au::after {
	border-bottom: solid 42px #F1E157;
}
.top_prdct_list li #sn {
	border: solid 3px #979797;
}
.top_prdct_list li #sn::after {
	border-bottom: solid 42px #979797;
}
.top_shape {
	width: 100%;
	margin: 0 auto;
	text-align: center;
	padding: 5rem 0;
}
@media screen and (max-width: 640px) {
	#index main #first_v #topSlide .slideItem img {
	top: -65%;
    bottom: -65%;
	height: 100vh
}

	#index main #first_v #copy {
		font-size: 1.3rem;
		margin-left: 1rem;
	}
	#index main #first_v #copy .highlight {
		font-size: 2.6em;
	}
	#index .strength {
		font-size: 1.5em;
		line-height: 1.5;
		padding-bottom: 0.5em;
	}
	#index .strength + p {
		font-size: 1rem;
	}
	.layer .flex_left {
		width: 100%;
	}
	.layer img {
		display: block;
		width: 100%;
		height: auto;
		margin: 0 auto;
	}
	.layer .flex_left h3 {
		top: 30%;
		left: 22vw;
	}
	.layer .flex_left span {
		top: 85%;
		left: 35vw;
	}
	.cmn_back_01 {
		width: 93vw;
		margin-left: 10vw;
	}
	.layer .flex_right {
		position: static;
		width: 100%;
		padding: 30px;
		box-sizing: border-box;
	}
	.layer .flex_right li span {
		display: block;
	}
	.top_prdct {
		background-position: center;
	}

	.top_prdct_list li a {
		font-size: 1rem;
		width: 140px;
		height: 140px;
		padding-top: 22%;
	}
}

/*inquiry*/
#inquiry {}
#inquiry main p {
	margin-bottom: 1em;
}
#inquiry main {
	padding: 0 1em;
}
#inquiry main > *:first-child {
	padding: 4em 0;
}
#inquiry .btns {
	text-align: center;
	margin-top: 3em;
}
#inquiry #tel_info {
	padding-bottom: 1em;
}
#inquiry #tel_info .telNums {
	display: flex;
	font-size: 2em;
	font-weight: bold;
	justify-content: space-between;
	max-width: 20em;
}
#inquiry #tel_info .telNums dt, #inquiry #tel_info .telNums dd {
	display: inline-block;
}
#inquiry #tel_info .telNums dt {
	color: #f00;
	font-size: 0.8em;
}
#inquiry #conf_btn {
	width: 12em;
	text-align: left;
	position: relative;
	font-size: 1.5em;
}
#inquiry #back_btn, #inquiry #submit_btn {
	font-size: 1.5em;
	padding-left: 3em;
	padding-right: 3em;
}
#inquiry #back_btn {
	color: #111;
}
#inquiry #back_btn::before {
	background-color: #fff;
	border: 1px solid #111;
}
#inquiry #conf_btn::after {
	content: "";
	display: block;
	border: 3px solid #fff;
	border-bottom-color: transparent;
	border-left-color: transparent;
	width: 0.75em;
	height: 0.75em;
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 1.25em;
}
#inquiry {}
#inquiry .formTable {
	margin-top: 3em;
	width: 100%;
}
#inquiry .formTable td, #inquiry .formTable th {
	padding: 0.5em 0;
	vertical-align: top;
}
#inquiry .formTable th {
	text-align: left;
	font-weight: bold;
	max-width: 6em;
}
#inquiry .formTable td {
	padding-left: 0.5em;
}
#inquiry .formTable input:not([type="file"]), #inquiry .formTable textarea {
	border: 1px solid #a6a6a6;
	box-sizing: border-box;
	padding: 0 0.2em;
	margin-left: 0.25em;
}
#inquiry .formTable .input_s, #inquiry .formTable .input_m, #inquiry .formTable .input_l2, #inquiry .formTable .input_l {
	width: 100%;
}
#inquiry .formTable .input_s {
	max-width: 8em;
}
#inquiry .formTable .input_m {
	max-width: 15em;
}
#inquiry .formTable .input_l2 {
	width: calc(100% - 1.25em);
}
#inquiry .formTable .input_l {
	width: 100%;
}
#inquiry .formTable input[name="company_address"] {
	margin-top: 0.5em;
	margin-left: 1.25em;
}
input[type="checkbox"] + label {
	position: relative;
	padding-left: 1.75em;
}
input[type="checkbox"] + label::before, input[type="checkbox"] + label::after {
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}
input[type="checkbox"] + label::before {
	height: 1em;
	width: 1em;
	border: 1px solid #000;
	background-color: #fff;
	z-index: -1;
}
input[type="checkbox"] + label::after {
	content: "✔";
	height: 1.5em;
	width: 1.5em;
	left: 0;
	top: 0;
	margin: auto;
	opacity: 0;
	z-index: 3;
}
input[type="checkbox"] {
	display: none;
}
input[type="checkbox"]:checked + label::after {
	opacity: 1;
}
#inquiry p.error {
	margin-bottom: 0;
}
#inquiry p.error, #inquiry .highlight {
	color: #f00;
}
#inquiry #entryForm:not(.active), #inquiry #confirm:not(.active), #inquiry #complete:not(.active) {
	display: none;
}
#inquiry #entryForm.active, #inquiry #confirm.active, #inquiry #complete.active {
	display: block;
}
#inquiry #loadingMask {
	position: fixed;
	width: 100vw;
	height: 100vh;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgba(0, 0, 0, 0.5);
	opacity: 0;
}
#inquiry #loadingMask.active {
	opacity: 1
}
@media screen and (max-width: 640px) {
	#inquiry #tel_info .telNums {
		flex-direction: column;
	}
	#inquiry .formTable {
		table-layout: fixed;
	}
	#inquiry .formTable th, #inquiry .formTable td {
		width: 100%;
		max-width: none;
		display: block;
	}
	#inquiry .btns {
		display: flex;
		flex-direction: column-reverse;
		justify-content: center;
		align-items: center;
	}
	#inquiry #submit_btn {
		margin-bottom: 1rem;
	}
}
/*company*/
#company {}
#company #company_info {
	padding: 4em 0 5em;
	margin: auto;
	width: 100%;
}
#company {}
#company .table_01 {
	width: 100%;
	margin: auto;
}
#company {}
#company {}
#company #map_info {
	width: 100%;
	display: flex;
	padding: 4em 0;
	justify-content: space-between;
	align-items: center;
	position: relative;
}
#company #map_info .text {
	width: 50%;
	padding-right: 1em;
}
#company #map_info .map {
	position: relative;
	z-index: 0;
}
#company #map_info::before, #company #map_info .map::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	width: 100vw;
	z-index: -1;
}
#company #map_info::before {
	background-color: #f6f6f6;
	top: 0;
	left: calc((100vw - 100%) /-2);
	right: calc((100vw - 100%) /-2);
	bottom: 0;
}
#company #map_info .map::before {
	background-color: #222;
	z-index: -1;
	transform: skewX(-20deg);
	top: -4em;
	left: 1em;
	right: 0;
	bottom: -4em;
}
#company #map_info .map {
	border: 1px solid #222;
}
#company #map_info #if_map {
	height: 22em;
	width: 33em;
	max-width: 100%;
}
@media screen and (max-width: 640px) {
	#company #map_info {
		flex-direction: column;
		padding-top: 2em;
	}
	#company #map_info .text {
		padding-bottom: 2em;
		margin-bottom: 4em;
		width: 100%;
	}
	#company #map_info .map::before {
		width: 150vw;
	}
}
/*doc*/
#doc .content {
	padding: 4em 0;
}
#doc p {
	margin-bottom: 1em;
}
#doc ul {
	list-style-type: none;
}
#doc ul li h5::before {
	content: "・";
	display: inline
}
#doc .auther {
	text-align: right;
	margin-top: 1em;
}
#doc .auther .title {
	font-size: 0.8em;
}
.bracketsNumList {
	margin-bottom: 2em;
}
ol.bracketsNumList li {
	list-style-type: none;
	counter-increment: cnt;
	text-indent: -1.5em;
	padding-left: 1.5em;
}
ol.bracketsNumList li::before {
	content: counter(cnt) ". ";
}
@media screen and (max-width: 640px) {}
/*product*/
#product #s_01 {
	padding: 4em 0 7em;
}
#product .contentsList li {
	width: 25%;
	text-align: center;
	border: 1px solid #111;
	margin: 0;
}
#product .contentsList li .text {
	flex-direction: column;
	text-align: center;
	justify-content: center;
	height: 5em;
}
@media screen and (max-width: 640px) {
	#product .contentsList li {
		width: 100%;
	}
}
/*equip*/
#equip .content {
	padding: 4em 0;
}
.equipList {
	list-style-type: none;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.equipList li {
	width: calc(50% - 1rem);
	margin-bottom: 1em;
}
.equipList p {
	margin-bottom: 0;
}
.equipList li .imgBox img {
	width: 100%;
}
.equipList li .spec {
	display: flex;
	font-size: 1.25rem;
	flex-wrap: wrap
}
.equipList li .spec .specItem {
	border-right: 1px solid #acacac;
	padding: 0 1rem;
	margin-bottom: 0;
}
.equipList li .spec .specItem:first-of-type {
	padding-left: 0;
}
.equipList li .spec .specItem:last-of-type {
	border-right: none;
}
@media screen and (max-width: 640px) {
	.equipList {}n
	.equipList li {
		width: 100%;
	}
}
/*product*/
#product #s_01 {}
@media screen and (max-width: 640px) {}
/*pageTitle*/
.pageTitle {
	margin-bottom: 87px;
	padding-top: 63px;
	position: relative;
	background: #000;
}
.pageTitle::after {
	width: 100%;
	height: 5px;
	position: absolute;
	left: 0;
	bottom: 0;
	background: #FF0000;
	content: "";
}
.pageTitle .ptInner {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: url("../common_img/dot_bg.png") repeat left top / 25px auto;
}
.pageTitle .ptInner::before {
	width: 60px;
	height: 60px;
	position: absolute;
	left: 0;
	top: 0;
	background: url("../common_img/red_corner02.png") no-repeat left top / 100% auto;
	content: "";
}
.pageTitle .ptInner::after {
	width: 60px;
	height: 60px;
	position: absolute;
	right: 0;
	bottom: 0;
	background: url("../common_img/red_corner03.png") no-repeat right bottom / 100% auto;
	content: "";
}
.pageTitle .ttlBox {
	width: 24.66%;
	position: relative;
	z-index: 1;
}
.pageTitle .ttlBox h2 {
	margin: 50px -33% 0 0;
	text-align: right;
}
.pageTitle .photo {
	width: 75.34%;
}
.pageTitle .photo img {
	width: 100%;
	vertical-align: top;
}
@media screen and (max-width: 960px) {
	.pageTitle {
		margin-bottom: 13px;
		padding-top: 57px;
	}
	.pageTitle .ptInner {
		display: block;
	}
	.pageTitle .ptInner::before {
		width: 30px;
		height: 30px;
	}
	.pageTitle .ptInner::after {
		width: 30px;
		height: 30px;
	}
	.pageTitle .ttlBox {
		width: 100%;
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
	}
	.pageTitle .ttlBox h2 {
		margin: 13px 8px 0 0;
		text-align: center;
	}
	.pageTitle .photo {
		width: 100%;
	}
}
/*greeting*/
#greeting {
	position: relative;
}
#greeting::before {
	width: 100%;
	height: 100%;
	position: fixed;
	left: 0;
	top: 0;
	background: #EDEDED url("../company/greeting/img/greeting_bg01.jpg") no-repeat center top / cover;
	content: "";
	z-index: -1;
}
#greeting .wrap {
	margin: 0 auto;
	padding: 0 25px;
	max-width: 1300px;
	box-sizing: border-box;
}
#greeting .secBox {
	margin-bottom: 90px;
	position: relative;
	z-index: 1;
}
#greeting .secBox::before {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 5px;
	top: 5px;
	background: #000;
	content: "";
}
#greeting .secBox::after {
	margin-top: -31px;
	width: 572px;
	height: 500px;
	position: absolute;
	right: -334px;
	top: 50%;
	transform: translateY(-50%);
	background: url("../company/greeting/img/greeting_bg02.png") no-repeat center center / 100% auto;
	content: "";
	z-index: -1;
}
#greeting .secBox .imgBox {
	padding: 78px 6.25% 55px;
	position: relative;
	display: flex;
	justify-content: space-between;
	background: #fff;
	z-index: 2;
}
#greeting .secBox .imgBox .photoBox {
	width: 36%;
}
#greeting .secBox .imgBox .photoBox img {
	width: 100%;
	vertical-align: top;
}
#greeting .secBox .imgBox .textBox {
	box-sizing: border-box;
	padding-top: 1px;
	width: 54.84%;
}
#greeting .secBox .imgBox h3 {
	font-family: "Gothic MB101 Bold","A-OTF ゴシックMB101 Pro DB";
	font-size: 30px;
	font-weight: normal;
	line-height: 1.2;
	text-shadow: none;
	background-color: transparent;
	padding: 0;
	margin-bottom: 35px;
}
#greeting .secBox .imgBox h3::before, #greeting .secBox .imgBox h3::after {
	display: none;
}
#greeting .secBox .imgBox h3 span {
	display: inline-block;
	vertical-align: top;
	color: #fff;
	letter-spacing: 0.05em;
	background: #000;
	padding: 4px 8px;
}
#greeting .secBox .imgBox h3 .txt01 {
	margin-left: 24px;
}
#greeting .secBox .imgBox .textBox p {
	margin-bottom: 32px;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1.778;
}
#greeting .secBox .imgBox .textBox .name {
	margin-bottom: 0;
	text-align: right;
	line-height: 1.6;
}
#greeting .secBox .imgBox .textBox .name span {
	padding-left: 22px;
	display: inline-block;
	position: relative;
}
#greeting .secBox .imgBox .textBox .name span::before {
	width: 8px;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: #11A6D6;
	content: "";
}
#greeting .photoList {
	display: flex;
}
#greeting .photoList li {
	width: 50%;
	list-style: none;
}
#greeting .photoList li img {
	width: 100%;
	vertical-align: top;
}
@media screen and (max-width: 960px) {
	#greeting::before {
		background-image: url("../company/greeting/img/sp_greeting_bg01.jpg");
	}
	#greeting .wrap {
		padding: 0 15px;
		max-width: inherit;
	}
	#greeting .secBox {
		margin-bottom: 30px;
	}
	#greeting .secBox::before {
		left: 3px;
		top: 3px;
	}
	#greeting .secBox::after {
		display: none;
	}
	#greeting .secBox .imgBox {
		padding: 28px 20px 46px;
		display: block;
	}
	#greeting .secBox .imgBox .photoBox {
		margin-bottom: 33px;
		width: auto;
	}
	#greeting .secBox .imgBox .textBox {
		padding: 0 4px;
		width: auto;
	}
	#greeting .secBox .imgBox h3 {
		font-size: 25px;
		line-height: 1;
		margin-bottom: 43px;
	}
	#greeting .secBox .imgBox h3 span {
		display: inline;
		line-height: 1.6;
	}
	#greeting .secBox .imgBox h3 .txt01 {
		margin-left: 0;
		display: inline-block;
		line-height: 1.6;
		word-break: keep-all;
		padding-top: 0;
	}
	#greeting .secBox .imgBox .textBox p {
		margin-bottom: 36px;
	}
	#greeting .secBox .imgBox .textBox .name {
		margin-bottom: 30px;
		text-align: left;
	}
	#greeting .photoList {
		display: block;
	}
	#greeting .photoList li {
		margin-bottom: 12px;
		width: auto;
	}
}
/*outline*/
#outline {
	position: relative;
}
#outline::before {
	width: 100%;
	height: 100%;
	position: fixed;
	left: 0;
	top: 0;
	background: #EDEDED url("../company/outline/img/outline_bg01.jpg") no-repeat center top / cover;
	content: "";
	z-index: -1;
}
#outline .wrap {
	margin: 0 auto;
	padding: 0 25px;
	max-width: 1120px;
	box-sizing: border-box;
}
#outline .pageTitle {
	margin-bottom: 95px;
}
#outline .pageTitle .ttlBox h2 {
	margin-right: -296px;
}
#outline .secBox {
	margin-bottom: 105px;
	position: relative;
	z-index: 1;
}
#outline .secBox::before {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 5px;
	top: 5px;
	background: #000;
	content: "";
}
#outline .secBox::after {
	width: 572px;
	height: 500px;
	position: absolute;
	right: -424px;
	top: 50px;
	background: url("../company/greeting/img/greeting_bg02.png") no-repeat center center / 100% auto;
	content: "";
	z-index: -1;
}
#outline .secBox .tableBox {
	padding: 54px 90px;
	position: relative;
	z-index: 1;
	background: #fff;
}
#outline .secBox .tableBox table {
	width: 100%;
	border-collapse: collapse;
}
#outline .secBox .tableBox th, #outline .secBox .tableBox td {
	text-align: left;
	vertical-align: top;
	line-height: 1.77;
	box-sizing: border-box;
}
#outline .secBox .tableBox tr:nth-child(2n) {
	background: #EDEDED;
}
#outline .secBox .tableBox th {
	padding: 21px 14px;
	width: 114px;
}
#outline .secBox .tableBox th span {
	padding: 3px 0;
	display: block;
	text-align: center;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.2;
	background: #000;
}
#outline .secBox .tableBox td {
	padding: 17px 16px;
	letter-spacing: 0.05em;
}
#outline .secBox .tableBox tr:nth-child(2n) th {
	padding: 25px 14px 22px;
}
#outline .secBox .tableBox tr:nth-child(2n) td {
	padding: 21px 16px;
}
#outline .secBox .tableBox td p {
	margin-bottom: 20px;
}
#outline .secBox .tableBox td a[href^="tel:"] {
	cursor: none;
	pointer-events: none;
	color: #000000;
	text-decoration: none;
}
#outline .secBox .tableBox td .map {
	margin-bottom: 20px;
	position: relative;
	padding-bottom: 39.65%;
	background: #ccc;
}
#outline .secBox .tableBox td .map iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
}
#outline .sec02 {
	margin-bottom: 98px;
}
#outline .sec02::after {
	width: 555px;
	height: 380px;
	position: absolute;
	right: -536px;
	top: 169px;
	background: url("../company/outline/img/outline_bg04.png") no-repeat center center / 100% auto;
	content: "";
	z-index: -1;
}
#outline .sec02 .bg {
	width: 498px;
	height: 500px;
	position: absolute;
	left: -426px;
	right: auto;
	top: auto;
	bottom: 344px;
	background: url("../company/outline/img/outline_bg03.png") no-repeat center center / 100% auto;
	z-index: -1;
}
#outline .chartBox {
	padding: 83px 86px 28px;
	position: relative;
	z-index: 2;
	background: #fff url("../company/outline/img/outline_bg02.jpg") repeat left top / 400px auto;
}
#outline .chartBox h3 {
	margin: 0 0 39px;
	width: auto;
	padding: 0;
	display: block;
	text-align: center;
	text-shadow: none;
	background-color: transparent;
}
#outline .chartBox h3::before, #outline .chartBox h3::after {
	display: none;
}
#outline .chartBox .chart img {
	max-width: 100%;
}
#outline .photoList {
	display: flex;
}
#outline .photoList:not(:first-child) {
	margin-top: 15px;
}
#outline .photoList li {
	width: 50%;
	list-style: none;
}
#outline .photoList li img {
	width: 100%;
	vertical-align: top;
}
@media screen and (max-width: 960px) {
	#outline {
		padding-bottom: 100px;
	}
	#outline::before {
		background-image: url("../company/outline/img/sp_outline_bg01.jpg");
	}
	#outline .wrap {
		padding: 0 17px;
		max-width: inherit;
	}
	#outline .pageTitle {
		margin-bottom: 30px;
	}
	#outline .pageTitle .ttlBox h2 {
		margin-right: 0;
	}
	#outline .secBox {
		margin-bottom: 30px;
	}
	#outline .secBox::after {
		display: none;
	}
	#outline .secBox .tableBox {
		padding: 5px 20px;
	}
	#outline .secBox .tableBox th, #outline .secBox .tableBox td {
		width: 100%;
		display: block;
	}
	#outline .secBox .tableBox th {
		padding: 26px 8px 5px;
		width: 100%;
	}
	#outline .secBox .tableBox th span {
		width: 77px;
		font-size: 16px;
	}
	#outline .secBox .tableBox td {
		padding: 0 10px 21px;
	}
	#outline .secBox .tableBox tr:nth-child(2n) th {
		padding: 26px 8px 0;
	}
	#outline .secBox .tableBox tr:nth-child(2n) td {
		padding: 5px 8px 20px;
	}
	#outline .secBox .tableBox td a[href^="tel:"] {
		cursor: default;
		pointer-events: auto;
	}
	#outline .secBox .tableBox td .map {
		margin-bottom: 21px;
		padding-bottom: 88%;
	}
	#outline .sec02 {
		margin: 0 12px 36px;
	}
	#outline .sec02::after {
		display: none;
	}
	#outline .chartBox {
		padding: 44px 13px 15px;
	}
	#outline .chartBox h3 {
		margin: 0 0 40px;
	}
	#outline .photoList {
		display: block;
	}
	#outline .photoList li {
		margin-bottom: 15px;
		width: auto;
	}
	#outline .photoList li:last-child {
		margin-bottom: 0;
	}
}
@media screen and (min-width: 841px) {
	.sp {
		display: none !important;
	}
}
@media screen and (max-width: 960px) {
	.pc {
		display: none !important;
	}
}

/*comImgBox*/
.comImgBox {
	margin-bottom: 60px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.comImgBox .comPhotoBox {
	width: 37.45%;
	position: relative;
}
.comImgBox .comPhotoBox::before,
.comImgBox .comPhotoBox::after {
	width: 60px;
	height: 60px;
	position: absolute;
	left: 0;
	top: 0;
	background: url(../img/red_corner01.png) no-repeat center center / 60px auto;
	content: "";
}
.comImgBox .comPhotoBox::after {
	left: auto;
	top: auto;
	right: 0;
	bottom: 0;
	background-image: url(../img/red_corner02.png);
}
.comImgBox .comPhotoBox img {
	width: 100%;
	vertical-align: top;
}
.comImgBox .comPhotoBox .markList {
	margin-left: 5px;
	width: 61%;
	display: flex;
	justify-content: space-between;
	position: absolute;
	left: 50%;
	bottom: -28%;
	list-style: none;
	transform: translateX(-50%);
}
.comImgBox .comPhotoBox .markList li {
	width: 46%;
}
.comImgBox .comTextBox {
	padding: 4.25% 6% 3.3% 5.8%;
	width: 62.55%;
	background: #51BCBC;
	box-shadow: 5px 5px 0 #000;
	box-sizing: border-box;
}
.comImgBox .comTextBox.cor01 {
	background: #F1E157;
}
.comImgBox .comTextBox.cor02 {
	background: #75D572;
}
.comImgBox .comTextBox .subBox {
	max-width: 720px;
}
.comImgBox .comTextBox dl {
	letter-spacing: 0.05em;
	line-height: 1.778;
}
.comImgBox .comTextBox dt {
	padding: 0 4px;
	width: 125px;
	float: left;
	clear: left;
	box-sizing: border-box;
}
.comImgBox .comTextBox dd {
	margin-bottom: 20px;
	padding: 0 0 19px 130px;
	border-bottom: 2px solid rgba(255, 255, 255, 0.5);
}
.comImgBox .comTextBox dd a {
	color: #FF0000;
	text-decoration: underline;
}
.comImgBox .comTextBox dd a:hover {
	opacity: 0.7;
}
.comImgBox.right {
	flex-direction: row-reverse;
}
.comImgBox.right .comTextBox .subBox {
	margin-left: auto;
	max-width: 720px;
}
.comImgBox .comTextBox .dlStyle01 dt {
	width: 150px;
}
.comImgBox .comTextBox .dlStyle01 dd {
	padding-left: 154px;
}
@media screen and (max-width: 960px) {
	.comImgBox {
		margin-bottom: 30px;
		display: block;
	}
	.comImgBox .comPhotoBox {
		width: auto;
	}
	.comImgBox .comPhotoBox::before,
	.comImgBox .comPhotoBox::after {
		width: 30px;
		height: 30px;
		background-size: 30px auto;
	}
	.comImgBox .comPhotoBox .markList {
		margin-left: 2px;
		width: 225px;
		bottom: -87px;
	}
	.comImgBox .comPhotoBox .markList li {
		width: 103px;
	}
	.comImgBox .comTextBox {
		margin-right: 5px;
		padding: 33px 25px 21px 30px;
		width: auto;
	}
	.comImgBox .comTextBox .subBox {
		max-width: inherit;
	}
	.comImgBox .comTextBox dt {
		margin-bottom: 3px;
		padding: 0;
		width: auto !important;
		float: none;
	}
	.comImgBox .comTextBox dd {
		margin-bottom: 15px;
		padding: 0 0 19px !important;
	}
	.comImgBox .comTextBox dd a:hover {
		opacity: 1;
	}
	.comImgBox .comTextBox01 {
		padding-top: 116px;
	}
	.comImgBox.right .comTextBox .subBox {
		margin-left: auto;
		max-width: inherit;
	}
}
/*history*/
#history {
	padding-bottom: 98px;
	background: url("../company/history/img/history_bg02.png") no-repeat center top 1626px / 100% auto;
}
#history::before {
	width: 100%;
	height: 100%;
	position: fixed;
	left: 0;
	top: 0;
	background: #EDEDED url("../company/history/img/history_bg01.jpg") no-repeat center top / cover;
	content: "";
	z-index: -1;
}
#history .pageTitle {
    margin-bottom: 82px;
}
#history .imgList {
	margin: 0 75px 61px;
	display: flex;
	justify-content: space-between;
	list-style: none;
}
#history .imgList li {
	width: calc((100% - 60px) / 2);
	position: relative;
}
#history .imgList li::before {
	width: 53px;
	height: 53px;
	position: absolute;
	left: 0;
	top: 0;
	background: url(../img/red_corner01.png) no-repeat center center / 53px auto;
	content: "";
}
#history .imgList li img {
	width: 100%;
	vertical-align: top;
}
#history .imgList li span {
	display: block;
	position: absolute;
	right: 19px;
	bottom: 16px;
}
#history .imgList li span img {
	width: auto;
	height: 67px;
}
#history .comImgBox:last-child {
	margin-bottom: 0;
}
#history .comImgBox.imgBox01 {
	position: relative;
	z-index: 2;
}
#history .comImgBox.imgBox01::after {
	width: 570px;
	height: 384px;
	position: absolute;
	right: 0;
	bottom: 120px;
	background: url(../company/history/img/bg01.png) no-repeat center center / 100% 100%;
	content: '';
	z-index: -1;
}
@media screen and (max-width: 960px) {
	#history {
		padding-bottom: 113px;
		background: none;
	}
	#history::before {
		background-image: url("../company/history/img/sp_history_bg01.jpg");
	}
	#history .pageTitle {
		margin-bottom: 50px;
	}
	#history .pageTitle .ttlBox h2 {
		margin: 8px 0 0 0;
	}
	#history .imgList {
		margin: 0 0 29px;
		padding-top: 4px;
		display: block;
	}
	#history .imgList li {
		margin-bottom: 12px;
		width: auto;
	}
	#history .imgList li:last-child {
		margin-bottom: 0;
	}
	#history .imgList li::before {
		width: 30px;
		height: 30px;
		background-size: 30px auto;
	}
	#history .imgList li span {
		right: 15px;
		bottom: 12px;
	}
	#history .comImgBox:last-child {
		margin-bottom: 0;
	}
}
/*iso*/
#iso::before {
	width: 100%;
	height: 100%;
	position: fixed;
	left: 0;
	top: 0;
	background: #EDEDED url("../company/iso/img/ios_bg01.jpg") no-repeat center top / cover;
	content: "";
	z-index: -1;
}
#iso .pageTitle {
    margin-bottom: 0;
}
#iso h3 {
    margin-bottom: 29px;
	font-size: 0;
    background: none;
    text-shadow: none;
    width: auto;
    padding: 0 95px 0 0;
	text-align: center;
    z-index: 1;
}
#iso h3::before,
#iso h3::after {
	display: none;
}
#iso .philosophy {
	margin: 0 auto 102px;
	padding: 89px 10px 55px;
	max-width: 1536px;
	background: #51BCBC;
	box-shadow: 5px 5px 0 #000;
	box-sizing: border-box;
}
#iso .philosophy .imgBox {
	margin: 0 auto;
	max-width: 954px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#iso .philosophy .imgBox .photoBox {
	margin-bottom: 10px;
	width: 244px;
}
#iso .philosophy .imgBox .photoBox img {
	width: 100%;
	vertical-align: top;
}
#iso .philosophy .imgBox .textBox p {
	font-size: 30px;
	letter-spacing: 0.05em;
	line-height: 1.6;
}
#iso .policy {
	padding-bottom: 161px;
	background: url(../company/iso/img/iso_bg03.png) no-repeat center top / 100% auto;
}
#iso .policy h3 {
	margin-bottom: 54px;
}
#iso .policy h4 {
	margin-bottom: 34px;
}
#iso .policy h4 span {
	padding: 6px 18px 5px;
	min-height: 55px;
	display: inline-block;
	position: relative;
	vertical-align: top;
	color: #fff;
	font-size: 27px;
	letter-spacing: 0.05em;
	line-height: 1.629;
	background: #000;
	box-sizing: border-box;
}
#iso .policy h4 span::before,
#iso .policy h4 span::after {
	width: 20px;
	height: 100%;
	position: absolute;
	left: -12px;
	top: 0;
	background: url(../company/iso/img/h4_bg01.png) no-repeat center center / 100% 100%;
	content: "";
}
#iso .policy h4 span::after {
	left: auto;
	right: -12px;
	background-image: url(../company/iso/img/h4_bg02.png);
}
#iso .policy .comImgBox .comTextBox {
    padding: 4.4% 5% 4.2% 4.8%;
}
#iso .policy .comImgBox .comTextBox .subBox {
	max-width: 732px;
}
#iso .policy .comImgBox .comTextBox p {
	font-size: 24px;
	letter-spacing: 0.05em;
	line-height: 1.583;
}
#iso .policy .comImgBox .comTextBox ul {
	letter-spacing: 0.05em;
	line-height: 1.778;
	list-style: none;
}
#iso .policy .comImgBox .comTextBox li {
	padding-left: 11px;
	position: relative;
}
#iso .policy .comImgBox .comTextBox li::before {
	width: 5px;
	height: 5px;
	position: absolute;
	left: -4px;
	top: 12px;
	border-radius: 50%;
	background: #FF0000;
	content: "";
}
#iso .policy .btmBox {
	margin: 0 59px;
}
#iso .policy .btmBox .bgBox {
	padding: 0 59px;
	position: relative;
	z-index: 2;
}
#iso .policy .btmBox .bgBox::before {
	width: 100%;
	height: calc(100% - 81px);
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background: url(../company/iso/img/iso_bg02.jpg) no-repeat center center / cover;
	content: "";
	z-index: -1;
}
#iso .policy .btmBox .imgList {
	margin: 0 auto;
	max-width: 956px;
	display: flex;
	justify-content: space-evenly;
	list-style: none;
}
#iso .policy .btmBox .imgList li {
	width: calc((100% - 180px) / 2);
}
#iso .policy .btmBox .imgList li img {
	width: 100%;
	vertical-align: top;
}
#iso .policy .btmBox p {
	margin: 36px auto 0;
	padding: 0 59px;
	max-width: 956px;
	display: block;
	line-height: 1.778;
	text-align: right;
	box-sizing: content-box;
}
@media (min-width: 841px) and (max-width: 940px) {
	#iso .philosophy .imgBox .textBox {
		width: calc(100% - 290px);
	}
	#iso .philosophy .imgBox .textBox p {
		font-size: 25px;
	}
}
@media screen and (max-width: 960px) {
	#iso::before {
		background-image: url("../company/iso/img/sp_ios_bg01.jpg");
	}
	#iso .pageTitle .ttlBox h2 {
		margin: 8px 0 0 0;
	}
	#iso h3 {
		margin-bottom: 44px;
		font-size: 0;
		background: none;
		text-shadow: none;
		width: auto;
		padding: 0;
		text-align: center;
		z-index: 1;
	}
	#iso h3::before,
	#iso h3::after {
		display: none;
	}
	#iso .philosophy {
		margin: 0 auto 46px;
		padding: 40px 10px 32px;
		max-width: inherit;
	}
	#iso .philosophy .imgBox {
		max-width: inherit;
		display: block;
	}
	#iso .philosophy .imgBox .photoBox {
		margin: 0 auto 38px;
		padding-right: 11px;
		width: 244px;
		box-sizing: content-box;
	}
	#iso .philosophy .imgBox .textBox {
		margin: 0 8px;
	}
	#iso .philosophy .imgBox .textBox p {
		font-size: 20px;
		letter-spacing: 0.025em;
		line-height: 2;
	}
	#iso .policy {
		padding-bottom: 116px;
		background: none;
	}
	#iso .policy h3 {
		margin-bottom: 46px;
	}
	#iso .policy h4 {
		margin-bottom: 34px;
	}
	#iso .policy h4 span {
		padding: 8px 18px 7px;
		min-height: 52px;
		font-size: 25px;
		line-height: 1.6;
	}
	#iso .policy h4 .sm {
		padding-top: 8px;
		font-size: 23px;
	}
	#iso .policy .comImgBox .comTextBox {
		margin-right: 0;
		padding: 37px 33px 32px;
	}
	#iso .policy .comImgBox .comTextBox .subBox {
		max-width: inherit;
	}
	#iso .policy .comImgBox .comTextBox p {
		font-size: 20px;
		letter-spacing: 0.025em;
		line-height: 2;
	}
	#iso .policy .btmBox {
		margin: 0 30px;
	}
	#iso .policy .btmBox .bgBox {
		padding: 0 5px;
	}
	#iso .policy .btmBox .bgBox::before {
		height: calc(100% - 126px);
		background-image: url(../company/iso/img/sp_ios_bg02.jpg);
	}
	#iso .policy .btmBox .imgList {
		max-width: inherit;
		display: block;
	}
	#iso .policy .btmBox .imgList li {
		width: auto;
	}
	#iso .policy .btmBox .imgList li:not(:last-child) {
		margin-bottom: 38px;
	}
	#iso .policy .btmBox p {
		margin: 36px 5px 0;
		padding: 0;
		max-width: inherit;
		letter-spacing: 0.05em;
	}
}
/*actionplan*/
#actionplan {
	margin-bottom: 60px;
}
#actionplan::before {
	width: 100%;
	height: 100%;
	position: fixed;
	left: 0;
	top: 0;
	background: #EDEDED url("../company/ippan/img/actionplan_bg01.jpg") no-repeat center top / cover;
	content: "";
	z-index: -1;
}
#actionplan .pageTitle {
    margin-bottom: 0;
}
#actionplan .pageTitle .ttlBox h2 {
    margin: 12px -145px 0 0;
    text-align: right;
}
#actionplan .wrap {
	padding: 0 30px;
}
#actionplan h3 {
    margin: 0 0 24px -16px;
    padding: 45px 10px 32px;
    width: 654px;
	color: #000;
	font-size: 30px;
	line-height: 1.5;
	letter-spacing: 0.05em;
	text-align: center;
    background: #F1E157;
	text-shadow: none;
	box-shadow: 5px 5px 0 #000;
	box-sizing: border-box;
    z-index: 1;
	font-family: YuGothic, 'Yu Gothic', 'Yu Gothic UI', 'ＭＳ Ｐゴシック', 'MS PGothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'ヒラギノ角ゴシック', 'Hiragino Sans', sans-serif;
}
#actionplan h3::before,
#actionplan h3::after {
	display: none;
}
#actionplan .textBox {
	margin: 0 auto;
	padding: 27px 0 68px;
	max-width: 960px;
	letter-spacing: 0.05em;
	line-height: 1.78;
	background: #B4E1B3;
	box-shadow: 5px 5px 0 #000;
	box-sizing: border-box;
}
#actionplan .textBox .subBox {
	margin: 0 auto;
	max-width: 720px;
}
#actionplan .textBox p {
	margin-bottom: 37px;
}
#actionplan .textBox ul {
	margin-bottom: 42px;
	list-style: none;
}
#actionplan .textBox li:not(:last-child) {
	margin-bottom: 37px;
}
#actionplan .textBox li span {
	margin-top: 2px;
	padding: 4px 3px 3px;
	width: fit-content;
	display: block;
	text-align: center;
	border: 2px solid #000;
	background: #9FD9D9;
	box-sizing: border-box;
}
#actionplan .textBox dd {
	margin-left: 18px;
}
@media screen and (max-width: 960px) {
	#actionplan {
		margin-bottom: 22px;
	}
	#actionplan::before {
		background-image: url("../company/ippan/img/sp_actionplan_bg01.jpg");
	}
	#actionplan .pageTitle .ttlBox h2 {
		margin: 8px 0 0;
		text-align: center;
	}
	#actionplan .wrap {
		padding: 0;
	}
	#actionplan h3 {
		margin: 0 15px 26px -15px;
		padding: 20px 5px 12px;
		width: auto;
		font-size: 22px;
		line-height: 2;
	}
	#actionplan h3::before,
	#actionplan h3::after {
		display: none;
	}
	#actionplan .textBox {
		margin: 0 0 0 15px;
		padding: 20px 0 60px;
		max-width: inherit;
	}
	#actionplan .textBox .subBox {
		margin: 0 24px;
		max-width: inherit;
	}
	#actionplan .textBox p {
		margin-bottom: 37px;
	}
	#actionplan .textBox ul {
		margin-bottom: 42px;
		list-style: none;
	}
	#actionplan .textBox li:not(:last-child) {
		margin-bottom: 37px;
	}
	#actionplan .textBox li span {
		margin: 4px -2px 0;
		padding: 4px 10px 3px 18px;
		width: auto;
		text-align: left;
	}
	#actionplan .textBox dd {
		margin-left: 18px;
	}
}

/* contact */
#contact {
	position: relative;
	word-break: break-all;
}
#contact a {
	text-decoration: none;
}
#contact ul {
	list-style: none;
}
#contact::before {
	width: 100%;
	height: 100%;
	position: fixed;
	left: 0;
	top: 0;
	background: #EDEDED url("../contact/img/bg.jpg") no-repeat center top / cover;
	content: "";
	z-index: -1;
}
#contact .wrap {
	margin: 0 auto;
	padding: 0 25px;
	max-width: 868px;
	box-sizing: border-box;
}
#contact .pageTitle {
	margin-bottom: 0;
}
#contact .textBox {
	margin-bottom: 62px;
	padding: 83px 0 86px;
	background-color: #51BCBC;
	position: relative;
	z-index: 10;
}
#contact .textBox p {
	line-height: 1.77;
	letter-spacing: 0.05em;
}
#contact .contactBox {
	margin: 0 auto 120px;
	max-width: 1080px;
	padding: 0 25px;
	position: relative;
}
#contact .contactBox .photo {
	position: absolute;
	top: -92px;
	right: -444px;
}
#contact .contactBox .photo02 {
	position: absolute;
	top: 50%;
	right: auto;
	transform: translateY(-50%);
	left: -445px;
	margin-top: 103px;
}
#contact .formBox {
	padding: 88px 30px;
	background-color: #F1E157;
	position: relative;
	z-index: 10;
}
#contact .innerBox {
	margin: 0 auto;
	max-width: 760px;
}
#contact dl {
	color: #000;
}
#contact dt {
	margin-bottom: 13px;
	color: #5A5651;
	line-height: 1.77;
	letter-spacing: 0.05em;
}
#contact dd {
	margin-bottom: 23px;
}
#contact dd:last-child {
	margin-bottom: 18px;
}
#contact .lable {
	margin: -4px 0 0 15px;
	padding: 3px 7px 2px;
	color: #FFF;
	font-size: 14px;
	line-height: 1.57;
	letter-spacing: 0.075em;
	background-color: #FF0000;
	display: inline-block;
	vertical-align: middle;
}
#contact .col {
	background-color: #5A5651;
}
#contact dd input[type="text"],
#contact dd input[type="tel"],
#contact dd input[type="email"],
#contact dd textarea {
	padding-left: 10px;
	width: 100%;
	height: 40px;
	font-size: 18px;
	font-weight: normal;
	color: #5A5651;
	border: 1px solid #000;
	border-radius: 0;
	background-color: #FFF;
	appearance: none;
	-webkit-appearance: none;
	box-sizing: border-box;
}
#contact dd .wid01 {
	width: 50% !important;
}
#contact .btn {
	margin-left: 20px;
	width: 87px;
	padding: 2px 5px 2px;
	color: #000;
	font-size: 14px;
	line-height: 1.57;
	vertical-align: middle;
	letter-spacing: 0.075em;
	border: 2px solid #000;
	border-bottom: 4px solid #000;
	background-color: #EDEDED;
	box-sizing: border-box;
	text-align: center;
	border-radius: 0;
	appearance: none;
	-webkit-appearance: none;
}
#contact dd textarea {
	padding-top: 10px;
	height: 240px;
}
#contact .agreeTxt {
	margin-bottom: 102px;
}
#contact .agreeTxt span {
	line-height: 1.77;
	letter-spacing: 0.05em;
}
#contact .agreeTxt a {
	color: #FF0000;
	text-decoration: underline;
}
#contact .submit {
	text-align: center;
}
#contact .submit li {
	margin: 0 15px;
	display: inline-block;
	vertical-align: top;
}
#contact .submit input {
	width: 280px;
	height: 70px;
	color: #FFF;
	font-size: 18px;
	text-align: center;
	background-color: #000;
	box-sizing: border-box;
	appearance: none;
	-webkit-appearance: none;
	border: none;
	border-radius: 0;
	cursor: pointer;
}
#contact .comfirm {
	max-width: 978px;
}
#contact .comfirm dt {
	margin-bottom: 11px;
}
#contact .comfirm dd {
	margin-bottom: 26px;
}
#contact .comfirm .lable {
	margin-left: 15px;
}
#contact .comfirm .col {
	margin-left: 10px;
}
#contact .comfirm .consult {
	line-height: 1.77;
	letter-spacing: 0.05em;
}
#contact .comfirm .submit {
	margin-top: 50px;
	display: flex;
	justify-content: center;
}
#contact .comfirm .submit li input {
	background-color: #FF0000;
}
#contact .comfirm .submit .back input {
	color: #000;
	background-color: #FFFFFF;
}
#contact .comfirm .submit .send {
	order: 3;
}
#contact .thanks {
	max-width: 978px;
	padding-top: 43px;
}
#contact .thanks .formBox {
	padding: 40px 2px 34px;
}
#contact .title {
	margin-bottom: 34px;
	text-align: center;
}
#contact .title span {
	padding: 3px 10px 0;
	display: inline-block;
	position: relative;
	color: #FFF;
	font-size: 27px;
	line-height: 1.62;
	letter-spacing: 0.05em;
	background-color: #000;
}
#contact .title span::before {
	width: 14px;
	height: 100%;
	position: absolute;
	left: -13px;
	top: 0;
	background: url("../contact/img/icon01.png") no-repeat left top / 100% 100%;
	content: '';
}
#contact .title span::after {
	width: 14px;
	height: 100%;
	position: absolute;
	right: -13px;
	top: 0;
	background: url("../contact/img/icon02.png") no-repeat left top / 100% 100%;
	content: '';
}
#contact .thanks p{
	margin-bottom: 33px;
	line-height: 1.77;
	letter-spacing: 0.05rem;
}
#contact .thanks .text {
	margin-bottom: 82px;
}
#contact .thanksBtn a {
	margin: 0 auto;
	padding: 5px;
	width: 100%;
	height: 70px;
	max-width: 280px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #FFF;
	background-color: #000;
	box-sizing: border-box;
}
#contact .agreeTxt input[type="checkbox"] {
    display: none;
	padding: 0;
	height: 28px;
	width: 28px;
	vertical-align: middle;
}
#contact .agreeTxt input[type="checkbox"] + span {
    line-height: 28px;
    padding: 4px 0 4px 40px;
	background: url(../contact/img/check_icon.jpg) no-repeat left top 5px;
	background-size: 28px 28px;
	border-radius: 0;
	border: none;
	display: inline-block;
}
#contact .agreeTxt input[type="checkbox"]:checked + span {
	background-image: url(../contact/img/check_icon_over.jpg);
}
@media screen and (min-width: 841px) {
	#contact .submit input:hover {
		opacity: 0.7;
	}
	#contact .btn:hover {
		opacity: 0.7;
	}
}
@media screen and (max-width: 960px) {
	#contact .pageTitle .ttlBox h2 {
		margin: 7px 6px 0 0;
	}
	#contact::before {
		background-image: url("../contact/img/sp_bg.jpg");
	}
	#contact .textBox {
		margin-bottom: 0;
		padding: 39px 0 53px;
	}
	#contact .wrap {
		margin: 0 18px;
		padding: 0;
		max-width: inherit;
	}
	#contact .contactBox {
		margin: 0 auto 100px;
		padding: 0;
		width: auto;
	}
	#contact .formBox {
		padding: 37px 30px 90px;
	}
	#contact .innerBox {
		margin: 0;
		max-width: inherit;
	}
	#contact .lable {
		margin: -4px 0 0 9px;
	}
	#contact dd .wid01 {
		width: 100% !important;
	}
	#contact .submit li {
		margin: 0 0 20px;
		display: block;
	}
	#contact .submit li:last-child {
		margin-bottom: 0;
	}
	#contact .btn {
		margin: 16px auto 0;
		width: 87px;
		display: block;
		padding: 7px 5px;
	}
	#contact .agreeTxt {
		margin-bottom: 31px;
	}
	#contact .comfirm {
		margin-bottom: 108px;
		padding-bottom: 42px;
	}
	#contact .comfirm dd {
		margin-bottom: 24px;
	}
	#contact .comfirm .consult {
		margin-bottom: 20px;
	}
	#contact .comfirm dt:last-of-type {
		margin-bottom: 1px;
	}
	#contact .comfirm .submit {
		margin-top: 61px;
		display: block;
	}
	#contact .thanks {
		padding: 13px 18px 29px;
	}
	#contact .title span {
		padding: 2px 10px 1px;
		font-size: 25px;
	}
	#contact .title span::before {
		width: 11px;
		left: -10px;
		background-image: url("../contact/img/sp-icon01.png");
	}
	#contact .title span::after {
		width: 11px;
		right: -10px;
		background-image: url("../contact/img/sp-icon02.png");
	}
	#contact .thanks .text {
		margin-bottom: 17px;
	}
	#contact .thanksBtn a {
		margin: 0;
	}
	#contact .agreeTxt .inner {
		padding-right: 52px !important;
		position: relative;
	}
	#contact .agreeTxt .lable {
		position: absolute;
		top: 8px;
		right: 4px;
	}
	#contact .agreeTxt a {
		font-size: 16px;
	}
	#contact .agreeTxt input[type="checkbox"] + span {
		padding-top: 0;
		line-height: 32px;
	}
	#contact dt .spInner {
		padding-right: 55px;
		display: inline-block;
		vertical-align: top;
		position: relative;
	}
	#contact dt .spInner .lable {
		position: absolute;
		top: 9px;
		right: 0;
	}
	#contact .thanks .formBox {
		padding: 31px 2px 34px;
	}
}
@media screen and (max-width: 374px) {
	#contact .textBox p {
		letter-spacing: 0;
		font-size: 16px;
	}
	#contact .submit input {
		width: 240px;
	}
	#contact dl {
		font-size: 16px;
	}
}

/* errorMsg */
.errorMsg {
	margin: -50px 0 15px;
	font-size: 16px;
	color: #FF0000;
}
@media screen and (max-width: 960px) {
	.errorMsg {
		margin: 0 0 15px;
	}
}

/*business*/
#business::before {
	width: 100%;
	height: 100%;
	position: fixed;
	left: 0;
	top: 0;
	background: #EDEDED url("../business/img/business_bg01.jpg") no-repeat center top / cover;
	content: "";
	z-index: -1;
}
#business .pageTitle {
    margin-bottom: 0;
}
#business .pageTitle .ttlBox h2 {
	margin-right: -170px;
}
#business h3 {
    margin-bottom: 29px;
	font-size: 0;
    background: none;
    text-shadow: none;
    width: auto;
    padding: 0 95px 0 0;
	text-align: center;
    z-index: 1;
}
#business h3::before,
#business h3::after {
	display: none;
}
#business h4 {
	margin-bottom: 36px;
}
#business .mekki h4 {
	text-align: center;
	margin-bottom: 80px;
}
#business h4 span {
	padding: 6px 18px 5px;
	min-height: 55px;
	display: inline-block;
	position: relative;
	vertical-align: top;
	color: #fff;
	font-size: 27px;
	letter-spacing: 0.05em;
	line-height: 1.629;
	background: #000;
	box-sizing: border-box;
}
#business h4 span::before,
#business h4 span::after {
	width: 20px;
	height: 100%;
	position: absolute;
	left: -12px;
	top: 0;
	background: url(../company/iso/img/h4_bg01.png) no-repeat center center / 100% 100%;
	content: "";
}
#business h4 span::after {
	left: auto;
	right: -12px;
	background-image: url(../company/iso/img/h4_bg02.png);
}
#business h5 {
	font-size: 27px;
	margin-bottom: 24px;
}
#business .mekki {
	margin: 44px auto 60px;
	padding: 80px 10px 0;
	width: 98%;
	max-width: 1536px;
	background: #F1E157;
}
#business .mekki .imgBox {
	margin: 0 auto;
	max-width: 1260px;
	display: flex;
	justify-content: space-evenly;
	flex-wrap: wrap;
	align-items: center;
}
#business .mekki .imgBox .leftBox,
#business .mekki .imgBox .rightBox {
	margin-bottom: 80px;
	width: 40%;
	margin-right: 3%;
	background-color: #fff;
	padding: 40px;
	box-shadow: 5px 5px 0 #000;
	box-sizing: border-box;
	align-self: start;
	position: relative;
}
#business .mekki .imgBox .leftBox img,
#business .mekki .imgBox .rightBox img {
    display: block;
	margin: 0 auto 38px;
	max-width: 320px;
    width: 100%;
	height: auto;
}
#business .mekki .imgBox div::before {
	display: block;
	font-family: 'Oleo Script Swash Caps', cursive;
	font-size: 115px;
	position: absolute;
	top:-70px;
	left: -10%;
}
#business .mekki .imgBox div:nth-of-type(1)::before {
	content: "01";
	color: #9A66C8;
}
#business .mekki .imgBox div:nth-of-type(2)::before {
	content: "02";
	color: #51BCBC;
}
#business .mekki .imgBox div:nth-of-type(3)::before {
	content: "03";
	color: #75D572;
}
#business .mekki .imgBox div:nth-of-type(4)::before {
	content: "04";
	color: #FF8800;
}
#business .mekki .imgBox h5,
#business .mekki .imgBox p {
	max-width: 500px;
}
#business .mekki .Btn a,
#business .policy .Btn a {
	display: block;
	margin-top: 24px;
	padding: 10px 15px;
	width: 223px;
	color: #FFF;
	background-color: #000;
	box-sizing: border-box;
	text-decoration: none;
	margin-left: auto;
}
#business .mekki .Btn a:hover,
#business .policy .Btn a:hover {
	background-color: #f00;
}
#business .mekki .imgBox div.Btn::before,
#business .policy .comImgBox div.Btn::before {
	content: none;
}
#business .mekki .imgBox .Btn img,
#business .policy .comImgBox .Btn img {
	width: 16px;
	height: 16px;
	display: inline;
	margin: 0 0 0 80px;
}
#business .policy {
	padding-bottom: 90px;
}
#business .policy h3 {
	margin-bottom: 54px;
}
#business .policy .comImgBox {
	align-items: center;
}
#business .policy .comImgBox .comTextBox {
    padding: 4.4% 5% 4.2% 4.8%;
}
#business .policy .comImgBox .comTextBox .subBox {
	max-width: 732px;
}
#business .policy .btmBox {
	margin: 60px;
}
#business .policy .btmBox .imgList {
	margin: 0 auto;
	max-width: 1196px;
	display: flex;
	justify-content: space-between;
	list-style: none;
}
#business .policy .btmBox .imgList li {
	margin-right: 6%;
}
#business .policy .btmBox .imgList li img {
	width: 100%;
	vertical-align: top;
}
#business .policy .btmBox .imgList li.right {
	margin-top: 40px;
}
#business .policy .box02 {
	margin-bottom: 0;
}

@media screen and (max-width: 960px) {
	#business::before {
		background-image: url("../business/img/sp_business_bg01.jpg");
	}
	#business .pageTitle .ttlBox h2 {
		margin-right: 0;
	}
	#business h3 {
		margin-bottom: 44px;
		font-size: 0;
		background: none;
		text-shadow: none;
		width: auto;
		padding: 0;
		text-align: center;
		z-index: 1;
	}
	#business h3::before,
	#business h3::after {
		display: none;
	}
	#business h4 span {
		padding: 8px 18px 7px;
		min-height: 52px;
		font-size: 25px;
		line-height: 1.6;
	}
	#business h4 .sm {
		padding-top: 8px;
		font-size: 23px;
	}
	#business .mekki {
		margin: 40px auto 46px;
		padding: 40px 10px 32px;
		max-width: inherit;
	}
	#business .mekki .imgBox {
		max-width: inherit;
		display: block;
	}
	#business .mekki .imgBox .leftBox,
	#business .mekki .imgBox .rightBox {
		margin: 0 auto 70px;
		padding: 20px;
		width: 85%;
		min-width: 244px;
		box-sizing: content-box;
	}
	#business .mekki .imgBox .rightBox:last-of-type {
		margin-bottom: 20px;
	}
	#business .mekki .imgBox div::before {
		left: -2%;
	}
	#business .policy {
		padding-bottom: 116px;
		background: none;
	}
	#business .policy h3 {
		margin-bottom: 46px;
	}
	#business .policy .comImgBox .comTextBox {
		padding: 37px 33px 32px;
		margin: 0 10px;
	}
	#business .policy .comImgBox .comTextBox .subBox {
		max-width: inherit;
	}
	#business .policy .comImgBox .comTextBox p {
		font-size: 20px;
		letter-spacing: 0.025em;
		line-height: 2;
	}
	#business .policy .btmBox {
		margin: 0 30px;
	}
	#business .policy .btmBox .imgList {
		max-width: inherit;
		display: block;
	}
	#business .policy .btmBox .imgList li {
		width: 48%;
		margin-right: 0;
		margin-bottom: 38px;
	}
	#business .policy .btmBox .imgList li.right {
		float: right;
		margin-top: -25vw;
	}
	#business .policy .box02 .imgList li:first-of-type {
		margin-top: 0;
	}
	#business .policy .box02 .imgList li:nth-of-type(2) {
		padding-top: 25vw;
	}
}

/*report*/
#report {
	position: relative;
}
#report::before {
	width: 100%;
	height: 100%;
	position: fixed;
	left: 0;
	top: 0;
	background: #EDEDED url("../report/img/report_bg01.jpg") no-repeat center top / cover;
	content: "";
	z-index: -1;
}
#report .pageTitle .ttlBox h2 {
	margin: 12px -210px 0 0;
}
#report .wrap {
	margin: 0 auto;
	padding: 0 25px;
	max-width: 1300px;
	box-sizing: border-box;
}
#report .secBox {
	margin-bottom: 90px;
	position: relative;
	z-index: 1;
}
#report .secBox::before {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 5px;
	top: 5px;
	background: #F1E157;
	box-shadow: 5px 5px #000;
	content: "";
}
#report .secBox::after {
	margin-top: -31px;
	width: 572px;
	height: 500px;
	position: absolute;
	right: -334px;
	top: 50%;
	transform: translateY(-50%);
	background: url("../report/img/report_bg02.png") no-repeat center center / 100% auto;
	content: "";
	z-index: -1;
}
#report .secBox>.name {
	padding: 60px 10% 0;
	position: relative;
	width: 100%;
	z-index: 2;
}
#report .secBox a {
	color: #ff0000;
}
#report .flexBox {
	display: flex;
	flex-wrap: wrap;
}
#report .secBox .imgBox {
	padding: 60px 7.5% 0;
	position: relative;
	width: 50%;
	z-index: 2;
}
#report .secBox .imgBox:last-of-type {
	padding-bottom: 55px;
}
#report .secBox .imgBox:nth-of-type(odd) {
	padding-left: 10%;
}
#report .secBox .imgBox:nth-of-type(even) {
	padding-right: 10%;
}
/* #report .secBox .imgBox .photoBox {
	width: 36%;
} */
#report .secBox .imgBox .photoBox img {
	width: 320px;
    height: auto;
	vertical-align: top;
}
#report .secBox .imgBox .textBox {
	box-sizing: border-box;
	padding-top: 1px;
	width: 320px;
}
#report .secBox .imgBox .textBox p {
	margin-bottom: 32px;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1.778;
}
#report .secBox .imgBox .textBox .date {
	margin-bottom: 18px;
	color: #5A5651;
}
#report .secBox .name span {
	padding-left: 22px;
	display: inline-block;
	position: relative;
}
#report .secBox .name span::before {
	width: 8px;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: #11A6D6;
	content: "";
}
#report .photoList {
	display: flex;
}
#report .photoList li {
	width: 50%;
	list-style: none;
}
#report .photoList li img {
	width: 100%;
	vertical-align: top;
}
@media screen and (max-width: 960px) {
	#report::before {
		background-image: url("../report/img/sp_report_bg01.jpg");
	}
	#report .pageTitle .ttlBox h2 {
		margin: 8px 0 0;
		text-align: center;
	}
	#report .wrap {
		padding: 0 15px;
		max-width: inherit;
	}
	#report .secBox {
		margin-bottom: 30px;
	}
	#report .secBox::before {
		left: 3px;
		top: 3px;
	}
	#report .secBox::after {
		display: none;
	}
	#report .secBox>.name {
		padding: 30px 6.5%;
	}
	#report .flexBox {
		display: block;
	}
	#report .secBox .imgBox {
		display: block;
		width: 100%;
	}
	#report .secBox .imgBox:nth-of-type(odd),
	#report .secBox .imgBox:nth-of-type(even) {
		padding: 28px 20px 32px;
	}
	#report .secBox .imgBox .photoBox {
		width: auto;
	}
	#report .secBox .imgBox .photoBox img {
		width: 302px;
	}
	#report .secBox .imgBox .textBox {
		padding: 0 4px;
		width: auto;
	}
	#report .secBox .imgBox .textBox p {
		margin-bottom: 36px;
	}
	#report .secBox .imgBox .textBox .name {
		margin-bottom: 20px;
		text-align: left;
	}
	#report .photoList {
		display: block;
	}
	#report .photoList li {
		margin-bottom: 12px;
		width: auto;
	}
}

/*faq*/
#faq {
	margin-bottom: 60px;
}
#faq::before {
	width: 100%;
	height: 100%;
	position: fixed;
	left: 0;
	top: 0;
	background: #EDEDED url("../faq/img/faq_bg01.jpg") no-repeat center top / cover;
	content: "";
	z-index: -1;
}
#faq .pageTitle {
    margin-bottom: 0;
}
#faq .pageTitle .ttlBox h2 {
    margin-top: 10px;
    text-align: right;
}
#faq .wrap {
	padding: 0 30px;
}
#faq .question span {
	color: #fff;
	background-color: #000;
	padding: 2px 6px;
	margin-right: 14px;
}
#faq span.answer {
	color: #fff;
	background-color: #f00;
	padding: 2px 6px;
	margin-right: 14px;
}
#faq h3 {
	color: #000;
    margin: 0;
    padding: 22px;
	width: 100%;
	font-size: 18px;
	line-height: 1.5;
	letter-spacing: 0.05em;
    background: #000;
	text-shadow: none;
	box-sizing: border-box;
    z-index: 1;
	font-family: YuGothic, 'Yu Gothic', 'Yu Gothic UI', 'ＭＳ Ｐゴシック', 'MS PGothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'ヒラギノ角ゴシック', 'Hiragino Sans', sans-serif;
}
#faq h3::before,
#faq h3::after {
	display: none;
}
#faq .subBox:nth-of-type(4n) h3 {
	background: #FF8800;
}
#faq .subBox:nth-of-type(4n+1) h3 {
	background: #51BCBC;
}
#faq .subBox:nth-of-type(4n+2) h3 {
	background: #75D572;
}
#faq .subBox:nth-of-type(4n+3) h3 {
	background: #F1E157;
}
#faq .textBox {
	margin: 20px auto 0;
	padding: 44px 60px;
	max-width: 860px;
	letter-spacing: 0.05em;
	line-height: 1.78;
	box-sizing: border-box;
}
#faq .textBox .subBox {
	margin: 0 auto 20px;
	max-width: 720px;
}
#faq .textBox .subBox:last-child {
	margin-bottom: 0;
}
#faq .textBox .subBox p {
	background-color: #fff;
	padding: 22px 22px 22px 3.2em;
	text-indent: -2em;
}
#faq .textBox a {
	color: #ff0000;
}

@media screen and (max-width: 960px) {
	#faq {
		margin-bottom: 100px;
	}
	#faq::before {
		background-image: url("../faq/img/sp_faq_bg01.jpg");
	}
	#faq .pageTitle .ttlBox h2 {
		margin: 8px 0 0;
		text-align: center;
	}
	#faq .wrap {
		padding: 0;
	}
	#faq h3 {
		padding: 18px 18px 18px 3em;
		font-size: 20px;
		line-height: 1.5;
		text-indent: -2em;
	}
	#faq h3::before,
	#faq h3::after {
		display: none;
	}
	#faq .textBox {
		margin: 20px 15px 0;
		padding: 20px 0 0;
		max-width: inherit;
	}
	#faq .textBox .subBox {
		max-width: inherit;
	}

}

/*privacy*/
#privacy {
	margin-bottom: 60px;
}
#privacy::before {
	width: 100%;
	height: 100%;
	position: fixed;
	left: 0;
	top: 0;
	background: #EDEDED url("../privacy/img/privacy_bg01.jpg") no-repeat center top / cover;
	content: "";
	z-index: -1;
}
#privacy .pageTitle {
    margin-bottom: 0;
}
#privacy .pageTitle .ttlBox h2 {
    margin: 12px -250px 0 0;
    text-align: right;
}
#privacy .wrap {
	padding: 0 30px;
}
#privacy h3 {
    margin: 0 0 24px 0;
    padding: 6px 8px;
	font-size: 27px;
	line-height: 1.5;
	letter-spacing: 0.05em;
    background: #000;
	text-shadow: none;
	box-sizing: border-box;
    z-index: 1;
	font-family: YuGothic, 'Yu Gothic', 'Yu Gothic UI', 'ＭＳ Ｐゴシック', 'MS PGothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'ヒラギノ角ゴシック', 'Hiragino Sans', sans-serif;
}
#privacy h3::before,
#privacy h3::after {
	display: none;
}
#privacy .textBox {
	margin: 0 auto;
	padding: 60px 0 68px;
	max-width: 960px;
	letter-spacing: 0.05em;
	line-height: 1.78;
	background: #9FD9D9;
	box-shadow: 5px 5px 0 #000;
	box-sizing: border-box;
}
#privacy .textBox .subBox {
	margin: 0 auto 54px;
	max-width: 720px;
}
#privacy .textBox .subBox:last-child {
	margin-bottom: 0;
}
#privacy .textBox p {
	margin-bottom: 16px;
}
#privacy .textBox ul {
	margin-bottom: 42px;
	list-style: none;
}
#privacy .textBox li {
	text-indent: -1em;
	padding-left: 1em;
}
#privacy .textBox li:not(:last-child) {
	margin-bottom: 16px;
}
#privacy .textBox li::before {
	content: "・";
	color: #ff0000;
}
#privacy .textBox a {
	color: #ff0000;
}

@media screen and (max-width: 960px) {
	#privacy {
		margin-bottom: 100px;
	}
	#privacy::before {
		background-image: url("../privacy/img/sp_privacy_bg01.jpg");
	}
	#privacy .pageTitle .ttlBox h2 {
		margin: 8px 0 0;
		text-align: center;
	}
	#privacy .wrap {
		padding: 0;
	}
	#privacy h3 {
		margin: 0 15px 26px 0;
		padding: 2px 10px;
		font-size: 22px;
		line-height: 1.5;
	}
	#privacy h3::before,
	#privacy h3::after {
		display: none;
	}
	#privacy .textBox {
		margin: 0 0 0 15px;
		padding: 20px 0 60px;
		max-width: inherit;
	}
	#privacy .textBox .subBox {
		margin: 0 24px 54px;
		max-width: inherit;
	}
	#privacy .textBox ul {
		margin-bottom: 42px;
		list-style: none;
	}

}

/*news*/
#news {
	margin-bottom: 60px;
}
#news::before {
	width: 100%;
	height: 100%;
	position: fixed;
	left: 0;
	top: 0;
	background: #EDEDED url("../news/img/news_bg01.jpg") no-repeat center top / cover;
	content: "";
	z-index: -1;
}
#news .pageTitle {
    margin-bottom: 0;
}
#news .pageTitle .ttlBox h2 {
    margin: 10px -45px 0 0;
    text-align: right;
}
#news .wrap {
	padding: 0 30px;
}
#news h3 {
    margin: 0 0 20px 0;
    padding: 6px 12px;
	width: 100%;
	font-size: 22px;
	line-height: 1.5;
	letter-spacing: 0.05em;
    background: #000;
	text-shadow: none;
	box-sizing: border-box;
    z-index: 1;
	font-family: YuGothic, 'Yu Gothic', 'Yu Gothic UI', 'ＭＳ Ｐゴシック', 'MS PGothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'ヒラギノ角ゴシック', 'Hiragino Sans', sans-serif;
}
#news h3::before,
#news h3::after {
	display: none;
}
#news .textBox {
	margin: 20px auto 0;
	padding: 44px 60px;
	max-width: 860px;
	letter-spacing: 0.05em;
	line-height: 1.78;
	box-sizing: border-box;
}
#news .textBox:nth-of-type(odd) {
	background: #FF8800;
}
#news .textBox:nth-of-type(even) {
	background: #F1E157;
}
#news .textBox .subBox {
	margin: 0 auto;
	max-width: 720px;
}
#news .textBox .subBox:last-child {
	margin-bottom: 0;
}
#news .textBox span {
	color: #5A5651;
	font-size: 1em;
	letter-spacing: 0.05em;
	margin: 0 auto 1em;
}
#news .textBox ul {
	margin-bottom: 42px;
	list-style: none;
}
#news .textBox li {
	text-indent: -1em;
	padding-left: 1em;
}
#news .textBox li:not(:last-child) {
	margin-bottom: 16px;
}
#news .textBox li::before {
	content: "・";
	color: #ff0000;
}
#news .textBox a {
	color: #ff0000;
}

@media screen and (max-width: 960px) {
	#news {
		margin-bottom: 100px;
	}
	#news::before {
		background-image: url("../news/img/sp_news_bg01.jpg");
	}
	#news .pageTitle .ttlBox h2 {
		margin: 8px 0 0;
		text-align: center;
	}
	#news .wrap {
		padding: 0;
	}
	#news h3 {
		margin: 0 15px 20px 0;
		padding: 6px;
		font-size: 20px;
		line-height: 1.5;
	}
	#news h3::before,
	#news h3::after {
		display: none;
	}
	#news .textBox {
		margin: 20px 15px 0;
		padding: 20px 0 60px;
		max-width: inherit;
	}
	#news .textBox .subBox {
		margin: 0 24px 54px;
		max-width: inherit;
	}
	#news .textBox ul {
		margin-bottom: 42px;
		list-style: none;
	}

}

/*recruit01*/
#recruit01 {
	position: relative;
	word-break: break-all;
}
#recruit01 a {
	text-decoration: none;
}
#recruit01 ul {
	list-style: none;
}
#recruit01::before {
    position: fixed;
    content: "";
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: -1;
    background: url("../recruit01/img/bg.jpg") no-repeat center top / cover;
}
#recruit01 .comImgBox {
    max-width: 100%;
	align-items: stretch;
    margin-bottom: 0;
}
#recruit01 .comImgBox .comPhotoBox {
	width: 50%;
}
#recruit01 .comImgBox .comPhotoBox::before,
#recruit01 .comImgBox .comPhotoBox::after {
    content: none;
}
#recruit01 .comImgBox a {
	color: #fff;
}
#recruit01 .comImgBox .comTextBox {
	color: #fff;
	background-color: #000;
	position: relative;
	box-shadow: none;
	width: 50%;
	padding-top: 5vw;
}
#recruit01 .comImgBox .comTextBox h4 {
	font-size: 30px;
	font-family: "Gothic MB101 Bold","A-OTF ゴシックMB101 Pro DB";
	line-height: 1.5;
}
#recruit01 .comImgBox .comTextBox::before {
    width: 60px;
    height: 60px;
    position: absolute;
    left: 0;
    top: 0;
    background: url(../img/red_corner01.png) no-repeat center center / 60px auto;
    content: "";
}
#recruit01 .textBox {
    padding: 60px 0;
	position: relative;
    background-color: #F1E157;
}
#recruit01 .pageTitle {
    margin-bottom: 0;
}
#recruit01 .wrap {
    margin: 0 auto;
    padding: 0 25px;
    max-width: 868px;
    box-sizing: border-box;
}
#recruit01 .textBox p {
    line-height: 1.77;
    letter-spacing: 0.05em;
}
#recruit01 .tableBox {
    margin-bottom: 76px;
    padding-top: 65px;
    position: relative;
}
#recruit01 .tableBox .photo {
    position: absolute;
    top: 113px;
    right: 0;
}
@media all and (min-width: 960px) and (max-width: 900px)  {
	.comTable {
		margin: 0 20px;
	}
}
@media screen and (max-width: 960px) {
    #recruit01 .textBox {
        padding: 40px 0;
    }
    #recruit01 .pageTitle .ttlBox h2 {
        margin: 7px 6px 0 0;
    }
    #recruit01 .wrap {
        padding: 0 18px;
        max-width: inherit;
    }
	#recruit01 .comImgBox {
	}
	#recruit01 .comImgBox .comPhotoBox {
		width: 100%;
	}
	#recruit01 .comImgBox .comTextBox {
		width: 100%;
		padding-top: 20px;
	}
	#recruit01 .comImgBox .comTextBox h4 {
		font-size: 20px;
	}
	#recruit01 .comImgBox .comTextBox::before {
		width: 30px;
		height: 30px;
	}
    #recruit01 .tableBox {
        margin-bottom: 40px;
        padding: 31px 20px 0;
    }
    #recruit01 .tableBox::before {
        width: 100%;
        height: 104px;
        background-image: url("../recruit01/img/sp_bg.jpg");
    }
}

/*recruit02*/
#recruit02 {
	position: relative;
	word-break: break-all;
}
#recruit02 a {
	text-decoration: none;
}
#recruit02 ul {
	list-style: none;
}
#recruit02::before {
    position: fixed;
    content: "";
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: -1;
    background: url("../recruit02/img/bg.jpg") no-repeat center top / cover;
}
#recruit02 .textBox {
    padding: 60px 0;
	position: relative;
    background-color: #9A66C8;
}
#recruit02 .pageTitle {
    margin-bottom: 0;
}
#recruit02 .wrap {
    margin: 0 auto;
    padding: 0 25px;
    max-width: 868px;
    box-sizing: border-box;
}
#recruit02 .textBox p {
    line-height: 1.77;
    letter-spacing: 0.05em;
}
#recruit02 .tableBox {
    margin-bottom: 76px;
    padding-top: 65px;
    position: relative;
}
#recruit02 .tableBox .photo {
    position: absolute;
    top: 113px;
    right: 0;
}
@media all and (min-width: 960px) and (max-width: 900px)  {
	.comTable {
		margin: 0 20px;
	}
}
@media screen and (max-width: 960px) {
    #recruit02 .textBox {
        padding: 40px 0;
    }
    #recruit02 .pageTitle .ttlBox h2 {
        margin: 7px 6px 0 0;
    }
    #recruit02 .wrap {
        padding: 0 18px;
        max-width: inherit;
    }
    #recruit02 .tableBox {
        margin-bottom: 40px;
        padding: 31px 20px 0;
    }
    #recruit02 .tableBox::before {
        width: 100%;
        height: 104px;
        background-image: url("../recruit02/img/sp_bg.jpg");
    }
}

/*comTable*/
.comTable {
    margin: 0 auto;
    max-width: 858px;
    position: relative;
}
.comTable table {
    margin-bottom: 50px;
    width: 100%;
    border-collapse: collapse;
}
.comTable table th,
.comTable table td {
    padding: 19px 22px 18px;
    box-sizing: border-box;
    font-size: 18px;
}
.comTable table tr:nth-child(2n-1) th,
.comTable table tr:nth-child(2n-1) td {
    background-color: #51BCBC;
}
.comTable table tr:nth-child(2n) th,
.comTable table tr:nth-child(2n) td {
    background-color: #75D572;
}
.comTable table th {
    width: 20%;
    vertical-align: top;
}
.comTable table th span {
    padding: 2px;
    box-sizing: border-box;
    display: inline-block;
    width: 144px;
    color: #fff;
    text-align: center;
    line-height: 1.33;
    background-color: #000;
}
.comTable table td {
    padding: 19px 10px 18px 8px;
    font-size: 19px;
    line-height: 1.7;
    text-align: left;
}
.comTable .btn {
    margin: 0 auto;
    width: 280px;
}
.comTable .btn a {
    padding: 20px 5px;
    display: block;
    color: #fff;
    text-align: center;
    background-color: #000;
}
@media screen and (min-width: 841px) {
    .comTable .btn a:hover {
        opacity: 0.7;
    }
}
@media all and (min-width: 841px) and (max-width: 920px) {
    #recruit02 .tableBox {
        padding: 65px 20px 0;
    }
}
@media screen and (max-width: 960px) {
    .comTable {
        max-width: inherit;
    }
	.comTable table {
		margin-bottom: 40px;
	}
    .comTable table th,
    .comTable table td {
        padding: 19px 26px 18px;
        display: block;
        text-align: left;
    }
    .comTable table th {
        padding: 22px 26px 0;
        width: auto;
    }
    .comTable table th span {
        padding: 0 7px;
        width: auto;
        font-size: 16px;
        line-height: 1.6;
    }
    .comTable table td {
        padding: 6px 10px 18px 25px;
        line-height: 1.7;
    }
	.comTable .btn a.js_hover {
		opacity: 1;
	}
}


/* form */
#form {
	position: relative;
	word-break: break-all;
}
#form ul {
	list-style: none;
}
#form::before {
	width: 100%;
	height: 100%;
	position: fixed;
	left: 0;
	top: 0;
	background: #fff url("../recruit02/img/bg.jpg") no-repeat center top / cover;
	content: "";
	z-index: -1;
}
#form .wrap {
	margin: 0 auto;
	padding: 0 25px;
	max-width: 868px;
	box-sizing: border-box;
}
#form .pageTitle {
	margin-bottom: 0;
}
#form .textBox {
    margin-bottom: 77px;
	padding: 83px 0;
	background-color: #51BCBC;
	position: relative;
	z-index: 10;
}
#form .textBox p {
	line-height: 1.77;
	letter-spacing: 0.05em;
}
#form .contactBox {
	margin: 0 auto 80px;
	max-width: 1080px;
	padding: 0 25px;
	position: relative;
}
#form .contactBox .photo {
	position: absolute;
	top: -104px;
	right: -420px;
    z-index: -1;
}
#form .contactBox .photo02 {
	position: absolute;
	top: 50%;
	right: auto;
	transform: translateY(-50%);
	left: -419px;
}
@media screen and (max-width: 960px) {
	#form .pageTitle .ttlBox h2 {
		margin: 7px 6px 0 0;
	}
	#form::before {
		background-image: url("../recruit02/form/img/sp_bg.jpg");
	}
    #form .contactBox {
        margin-bottom: 60px;
        padding: 0;
        max-width: inherit;
    }
    #form .formBox .innerBox {
        max-width: inherit;
    }
	#form .textBox {
		margin-bottom: 0;
		padding: 39px 0 53px;
	}
	#form .wrap {
		margin: 0 18px;
		padding: 0;
		max-width: inherit;
	}
	#form .formBox {
		margin: 0 auto 100px;
		padding: 0;
		width: auto;
	}
	#form .formBox {
		padding: 37px 30px 90px;
	}
	#form .innerBox {
		margin: 0;
		max-width: inherit;
	}
	#form .lable {
		margin: -4px 0 0 9px;
	}
}
@media screen and (max-width: 374px) {
	#form .textBox p {
		letter-spacing: 0;
		font-size: 16px;
	}
	#form .submit input {
		width: 240px;
	}
	#form dl {
		font-size: 16px;
	}
}


/* comFormBox */
.comFormBox {
	padding: 71px 30px;
	background-color: #F1E157;
}
.comFormBox .innerBox {
	margin: 0 auto;
	max-width: 760px;
}
.comFormBox dl {
	color: #000;
}
.comFormBox dt {
	margin-bottom: 13px;
	color: #5A5651;
	line-height: 1.77;
	letter-spacing: 0.05em;
}
.comFormBox dd {
	margin-bottom: 23px;
}
.comFormBox dd:last-child {
	margin-bottom: 10px;
}
.comFormBox .lable {
	margin: -4px 0 0 10px;
	padding: 3px 7px 2px;
	color: #FFF;
	font-size: 14px;
	line-height: 1.57;
	letter-spacing: 0.075em;
	background-color: #FF0000;
	display: inline-block;
	vertical-align: middle;
}
.comFormBox .radioList {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.comFormBox .radioList li {
    width: 50%;
}
.comFormBox .radioList input[type="radio"] {
    display: none;
}
.comFormBox .radioList input[type="radio"] + span {
    padding: 10px 0 10px 45px;
    background: url("../recruit02/form/img/radio_icon01.png") no-repeat left center;
    background-size: 30px;
}
.comFormBox .radioList input[type="radio"]:checked + span {
    padding: 10px 0 10px 45px;
    background: url("../recruit02/form/img/radio_icon02.png") no-repeat left center;
    background-size: 30px;
}
.comFormBox .col {
	background-color: #5A5651;
}
.comFormBox dd input[type="text"],
.comFormBox dd input[type="tel"],
.comFormBox dd input[type="email"],
.comFormBox dd textarea {
	padding-left: 10px;
	width: 100%;
	height: 40px;
	font-size: 18px;
	font-weight: normal;
	color: #5A5651;
	border: 1px solid #000;
	border-radius: 0;
	appearance: none;
	-webkit-appearance: none;
	box-sizing: border-box;
	background-color: #fff;
}
.comFormBox dd .wid01 {
	width: 50% !important;
}
.comFormBox .btn {
	margin-left: 20px;
	width: 87px;
	padding: 2px 5px 2px;
	color: #000;
	font-size: 14px;
	line-height: 1.57;
	vertical-align: middle;
	letter-spacing: 0.075em;
	border: 2px solid #000;
	border-bottom: 4px solid #000;
	background-color: #EDEDED;
	box-sizing: border-box;
	text-align: center;
	border-radius: 0;
	appearance: none;
	-webkit-appearance: none;
}
.comFormBox dd textarea {
	padding-top: 10px;
	height: 240px;
}
.comFormBox .agreeTxt {
	margin-bottom: 67px;
}
.comFormBox .agreeTxt span {
	line-height: 1.77;
	letter-spacing: 0.05em;
}
.comFormBox .agreeTxt a {
	color: #FF0000;
	text-decoration: underline;
}
.comFormBox .submit {
    display: flex;
    justify-content: center;
	text-align: center;
}
.comFormBox .submit li {
	margin: 0 15px;
	display: inline-block;
	vertical-align: top;
}
.comFormBox .submit .back {
    order: -1;
}
.comFormBox .submit input {
	width: 280px;
	height: 70px;
	color: #FFF;
	font-size: 18px;
	text-align: center;
	background-color: #000;
	box-sizing: border-box;
	appearance: none;
	-webkit-appearance: none;
	border: none;
	border-radius: 0;
	cursor: pointer;
}
.comFormBox .comfirm {
	max-width: 978px;
}
.comFormBox .comfirm dt {
	margin-bottom: 11px;
}
.comFormBox .comfirm dd {
	margin-bottom: 26px;
}
.comFormBox .comfirm .lable {
	margin-left: 15px;
}
.comFormBox .comfirm .col {
	margin-left: 10px;
}
.comFormBox .comfirm .consult {
	line-height: 1.77;
	letter-spacing: 0.05em;
}
.comFormBox .comfirm .submit {
	margin-top: 50px;
	display: flex;
	justify-content: center;
}
.comFormBox .submit .send input {
	background-color: #FF0000;
}
.comFormBox .submit .back input {
	color: #000;
	background-color: #FFFFFF;
}
.comFormBox .comfirm .submit .send {
	order: 1;
}
.comFormBox .thanks {
	max-width: 978px;
	padding-top: 43px;
}
.comFormBox .thanks .formBox {
	padding: 40px 2px 34px;
}
.comFormBox .title {
	margin-bottom: 34px;
	text-align: center;
}
.comFormBox .title span {
	padding: 3px 10px 0;
	display: inline-block;
	position: relative;
	color: #FFF;
	font-size: 27px;
	line-height: 1.62;
	letter-spacing: 0.05em;
	background-color: #000;
}
.comFormBox .title span::before {
	width: 14px;
	height: 100%;
	position: absolute;
	left: -13px;
	top: 0;
	background: url("../recruit02/form/img/icon01.png") no-repeat left top / 100% 100%;
	content: '';
}
.comFormBox .title span::after {
	width: 14px;
	height: 100%;
	position: absolute;
	right: -13px;
	top: 0;
	background: url("../recruit02/form/img/icon02.png") no-repeat left top / 100% 100%;
	content: '';
}
.comFormBox.thanks p {
	margin-bottom: 33px;
	line-height: 1.77;
	letter-spacing: 0.05rem;
}
.comFormBox.thanks .text {
	margin-bottom: 82px;
}
.comFormBox .thanksBtn a {
	margin: 0 auto;
	padding: 5px;
	width: 100%;
	height: 70px;
	max-width: 280px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #FFF;
	background-color: #000;
	box-sizing: border-box;
	text-decoration: none;
}
.comFormBox .agreeTxt input[type="checkbox"] {
    display: none;
	padding: 0;
	height: 28px;
	width: 28px;
	vertical-align: middle;
}
.comFormBox .agreeTxt input[type="checkbox"] + span {
    line-height: 28px;
    padding: 4px 0 4px 40px;
	background: url(../recruit02/form/img/check_icon.jpg) no-repeat left top 5px;
	background-size: 28px 28px;
	border-radius: 0;
	border: none;
	display: inline-block;
}
.comFormBox .agreeTxt input[type="checkbox"]:checked + span {
	background-image: url("../recruit02/form/img/check_icon_over.jpg");
}
@media screen and (min-width: 841px) {
	.comFormBox .submit input:hover {
		opacity: 0.7;
	}
	.comFormBox .btn:hover {
		opacity: 0.7;
	}
	.comFormBox .agreeTxt a:hover {
		text-decoration: none;
	}
}
@media screen and (max-width: 960px) {
    .comFormBox {
        padding: 39px 30px 60px;
    }
	.comFormBox .radioList {
		justify-content: flex-start;
	}
	.comFormBox .radioList li {
		max-width: 200px;
	}
    .comFormBox .radioList input[type="radio"] + span {
        padding-left: 40px;
    }
    .comFormBox .radioList input[type="radio"]:checked + span {
        padding-left: 40px;
    }
	.comFormBox dd .wid01 {
		width: 100% !important;
	}
    .comFormBox .submit {
        display: block;
    }
	.comFormBox .submit li {
		margin: 0 0 20px;
		display: block;
	}
	.comFormBox .submit li:last-child {
		margin-bottom: 0;
	}
	.comFormBox .btn {
		margin: 16px auto 0;
		width: 87px;
		display: block;
		padding: 7px 5px;
	}
	.comFormBox .agreeTxt {
		margin-bottom: 31px;
	}
	.comFormBox .comfirm {
		margin-bottom: 108px;
		padding-bottom: 42px;
	}
	.comFormBox .comfirm dd {
		margin-bottom: 24px;
	}
	.comFormBox .comfirm .consult {
		margin-bottom: 20px;
	}
	.comFormBox .comfirm dt:last-of-type {
		margin-bottom: 1px;
	}
	.comFormBox .comfirm .submit {
		margin-top: 61px;
		display: block;
	}
	.comFormBox.thanks {
		padding: 13px 18px 29px;
	}
	.comFormBox .title span {
		padding: 2px 10px 1px;
		font-size: 25px;
	}
	.comFormBox .title span::before {
		width: 11px;
		left: -10px;
		background-image: url("../form/img/sp-icon01.png");
	}
	.comFormBox .title span::after {
		width: 11px;
		right: -10px;
		background-image: url("../form/img/sp-icon02.png");
	}
	.comFormBox.thanks .text {
		margin-bottom: 17px;
	}
	.comFormBox .thanksBtn a {
		margin: 0;
	}
	.comFormBox .agreeTxt .inner {
		padding-right: 52px !important;
		position: relative;
	}
	.comFormBox .agreeTxt .lable {
		position: absolute;
		top: 8px;
		right: 4px;
	}
	.comFormBox .agreeTxt a {
		font-size: 16px;
	}
    .comFormBox .agreeTxt a.js_hover {
        opacity: 1;
    }
	.comFormBox .agreeTxt input[type="checkbox"] + span {
		padding-top: 0;
		line-height: 32px;
	}
	.comFormBox dt .spInner {
		padding-right: 55px;
		display: inline-block;
		vertical-align: top;
		position: relative;
	}
	.comFormBox dt .spInner .lable {
		position: absolute;
		top: 9px;
		right: 0;
	}
	.comFormBox .thanks .formBox {
		padding: 31px 2px 34px;
	}
}
@media screen and (max-width: 374px) {
	.comFormBox .submit input {
		width: 240px;
	}
	.comFormBox dl {
		font-size: 16px;
	}
}


/* productBox */
#productBox {
    margin-bottom: 80px;
    position: relative;
}
#productBox ul {
	list-style: none;
}
#productBox img {
    max-width: 100%;
}
#productBox a {
    text-decoration: none;
}
#productBox::before {
    position: fixed;
    content: "";
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background: url("../product/img/main_img.jpg") no-repeat top center/cover;
}
#productBox .pageTitle {
    background: none;
    padding-top: 172px;
	margin-top: -25px;
    margin-bottom: 42px;
    position: relative;
}
#productBox .pageTitle::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 84px;
    left: 0;
    top: 0;
    background-color: #000;
}
#productBox .pageTitle::after {
    width: 0;
}
#productBox .pageTitle h2 {
    margin: 0 auto;
    max-width: 888px;
}
#productBox .pageTitle h2 img {
    width: 100%;
}
#productBox .bgBox {
    margin: 0 auto 60px;
    position: relative;
    padding: 30px 32px 84px;
    box-sizing: border-box;
    max-width: 1455px;
    background: #F1E157 url("../product/img/bg01.png") repeat left top/257px auto;
}
#productBox .bgBox::before,
#productBox .bgBox::after {
    position: absolute;
    content: "";
    top: -186px;
    width: 300px;
    height: 262px;
    background-repeat:  no-repeat;
    background-size: 100%;
}
#productBox .bgBox::before {
    left: -27px;
    background-image: url("../product/img/img01.png");
    background-position: left top;
}
#productBox .bgBox::after {
    right: -51px;
    width: 260px;
    background-image: url("../product/img/img02.png");
    background-position: right top;
}
#productBox .sec01 .metaUl {
    margin: 0 auto;
    max-width: 1290px;
    display: flex;
    justify-content: space-evenly;
    flex-wrap: wrap;
}
#productBox .sec01 {
    margin-bottom: 61px;
}
#productBox .sec01 .metaUl li {
	margin-bottom: 1em;
    width: 174px;
}
#productBox .sec01 .metaUl li:last-child {
    margin-right: 0;
}
#productBox .sec01 .metaUl li a {
    padding: 50px 5px 30px;
    display: block;
    width: 100%;
    height: 100%;
	max-height: 174px;
    box-sizing: border-box;
    border: 2px solid #000;
    background: #75D572 url("../product/img/icon03.png") no-repeat right bottom/38px;
}
#productBox .sec01 .metaUl .ag a {
    background-color: #51BCBC;
}
#productBox .sec01 .metaUl .pd a {
    background-color: #9A66C8;
}
#productBox .sec01 .metaUl .cu a {
    background-color: #D85C35;
}
#productBox .sec01 .metaUl .au a {
    background-color: #FF8800;
}
#productBox .sec01 .metaUl .sn a {
    background-color: #979797;
}
#productBox .sec01 .metaUl .ico {
    margin: 0 auto 3px;
    width: 72px;
}
#productBox .sec01 .metaUl p {
    color: #000;
    font-size: 16px;
    text-align: center;
    font-weight: bold;
    letter-spacing: 0.05em;
}
#productBox .sec02 {
	margin-bottom: 76px;
}
#productBox .sec02 p {
    text-align: center;
}
#productBox .sec02 .shapeUl {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
#productBox .sec02 .shapeUl li {
    margin-right: 2.5%;
    width: 20.5%;
}
#productBox .sec02 .shapeUl li:last-child {
    margin-right: 0;
}
#productBox .sec02 .shapeUl .img {
    margin: 0 auto 4px;
    max-width: 280px;
}
#productBox .sec02 .shapeUl p {
    color: #000;
    font-size: 18px;
    font-weight: normal;
    letter-spacing: 0.05em;
    text-align: center;
}
#productBox .sec02 .shapeUl p span {
    display: block;
    font-size: 53px;
    letter-spacing: -0.01em;
    font-family: 'Oleo Script Swash Caps', cursive;
}
#productBox.ag::before {
    background-image: url("../product/img/detail/main_img.jpg");
}
#productBox.ag .pageTitle {
    padding-top: 152px;
}
#productBox.ag .pageTitle h2 {
    max-width: 479px;
}
#productBox.ag .bgBox {
    margin-bottom: 27px;
    padding: 56px 32px 1px;
    border-radius: 100px;
    background: rgba(241, 225, 87 ,0.9) url("../product/img/detail/bg01.png");
    background-size: 256px auto;
}
#productBox.ag .bgBox::before,
#productBox.ag .bgBox::after {
    width: 0;
}
#productBox.ag .textList {
    margin: 0 auto;
    max-width: 1025px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#productBox.ag .textList > li {
    width: 51%;
}
#productBox.ag .textList > li:nth-child(2) {
    width: 40.2%;
}
#productBox.ag .textList ul li {
    margin-bottom: 10px;
    padding-left: 15px;
    letter-spacing: 0.05em;
    background: url("../product/img/detail/icon01.png") no-repeat left top 10px/5px;   
}
#productBox.ag .textList ul li:last-child {
    margin-bottom: 0;
}
#productBox.ag .sec01 .comHeadLine02 {
    margin-bottom: 43px;
}
#productBox.ag .sec01 {
    margin-bottom: 60px;
}
#productBox.ag .sec02 .comHeadLine02 {
    margin-bottom: 16px;
}
@media all and (min-width: 960px) and (max-width: 1500px)  {
    #productBox .bgBox {
        max-width: 1400px;
    }
    #productBox .sec02 .shapeUl p span {
        font-size: 54px;
    }
}
@media all and (min-width: 960px) and (max-width: 1440px)  {
    #productBox .bgBox {
        max-width: 1300px;
    }
    #productBox .sec02 .shapeUl p span {
        font-size: 50px;
    }
    #productBox .sec02 .shapeUl li {
        width: 22.5%;
    }
}
@media all and (min-width: 960px) and (max-width: 1340px)  {
    #productBox .bgBox {
        max-width: 1200px;
    }
    #productBox .sec02 .shapeUl p span {
        font-size: 40px;
    }
}
@media all and (min-width: 960px) and (max-width: 1240px)  {
    #productBox .bgBox {
        margin: 0 20px 60px;
    }
    #productBox .sec02 .shapeUl p span {
        font-size: 30px;
    }
}
@media screen and (min-width: 841px) {
	#productBox a:hover {
		opacity: 0.7;
	}
}
@media screen and (max-width: 960px) {
    #productBox {
        margin-bottom: 82px;
    }
    #productBox::before {
        background-image: url("../product/img/sp_main_img.jpg");
    }
    #productBox .pageTitle {
        margin-bottom: 92px;
        padding-top: 125px;
    }
    #productBox .pageTitle h2 {
        max-width: 265px;
    }
    #productBox .bgBox {
        margin: 0 20px 43px;
        padding: 30px 18px 41px;
        max-width: inherit;
    }
    #productBox .bgBox::before,
    #productBox .bgBox::after {
        top: -86px;
        width: 134px;
        height: 116px;
    }
    #productBox .bgBox::before {
        left: -20px;
    }
    #productBox .bgBox::after {
        right: -20px;
        width: 116px;
    }
    #productBox .sec01 .metaUl {
        max-width: inherit;
		justify-content: space-around;
    }
    #productBox .sec01 {
        margin-bottom: 43px;
    }
    #productBox .sec01 .metaUl {
        margin-top: -15px;
    }
    #productBox .sec01 .metaUl li {
        margin: 16px 0 0 0;
        width: 48%;
		max-width: 170px;
    }
    #productBox .sec01 .metaUl li a {
        padding: 33px 0 6px;
        background-size: 18px;
    }
	#productBox a.js_hover {
		opacity: 1;
	}
    #productBox .sec01 .metaUl .ico {
        margin-bottom: 4px;
    }
    #productBox .sec01 .metaUl p {
        line-height: 1.22;
        min-height: 35px;
    }
    #productBox .sec01 .metaUl .pd a {
        padding-top: 27px;
    }
    #productBox .sec01 .metaUl .pd .ico {
        margin-bottom: -1px;
    }
    #productBox .sec02 {
        margin-bottom: 36px;
    }
    #productBox .sec02 .shapeUl {
        margin-top: -12px;
        justify-content: space-between;
    }
    #productBox .sec02 .shapeUl li {
        margin: 12px 0 0;
        width: 47%;
    }
    #productBox .sec02 .shapeUl p span {
        margin-bottom: -2px;
        font-size: 26px;
    }
    #productBox.ag::before {
        background-image: url("../product/img/detail/sp_main_img.jpg");
    }
    #productBox.ag .pageTitle {
        margin-bottom: 80px;
        padding-top: 130px;
    }
    #productBox.ag .pageTitle h2 {
        max-width: 275px;
    }
    #productBox.ag .bgBox {
        margin-bottom: 27px;
        padding: 31px 14px 1px;
        border-radius: 50px;
        background-image: url("../product/img/bg01.png");
        background-size: 257px auto;
    }
    #productBox.ag .textList {
        margin: 0 auto;
        max-width: inherit;
        display: block;
    }
    #productBox.ag .textList > li {
        margin-bottom: 40px;
        width: auto;
    }
    #productBox.ag .textList > li:last-child {
        margin-bottom: 0;
    }
    #productBox.ag .textList > li:nth-child(2) {
        width: auto;
    }
    #productBox.ag .textList ul li {
        margin-bottom: 6px;
        line-height: 1.77; 
    }
    #productBox.ag .sec01 .comHeadLine02 {
        margin-bottom: 23px;
    }
    #productBox.ag .sec01 {
        margin-bottom: 30px;
    }
    #productBox.ag .sec02 .comHeadLine02 {
        margin-bottom: 20px;
        padding: 0;
        letter-spacing: 0;
    }
}
@media screen and (max-width: 364px) {
    #productBox .sec02 .shapeUl p {
        font-size: 15px;
    }
}
@media screen and (max-width: 374px) {
    #productBox .sec02 .shapeUl p span {
        font-size: 20px;
    }
}


/* comHeadLine01 */
.comHeadLine01 {
    margin-bottom: 37px;
    width: auto;
    color: #000;
    font-weight: bold;
    font-size: 30px;
    letter-spacing: 0.3em;
    font-family: "Gothic MB101 Bold","A-OTF ゴシックMB101 Pro DB";
    background: none;
    text-align: center;
    text-shadow: none;
}
.comHeadLine01 .en {
    margin-bottom: -7px;
    display: block;
    color: #FF8800;
    font-size: 114px;
    font-weight: 900;
    letter-spacing: 0.025em;
    text-shadow: 
  2px 2px 1px #000,
  -2px -2px 1px #000,
  -2px 2px 1px #000,
  2px -2px 1px #000;
    font-family: 'Noto Sans JP', sans-serif;
}
.comHeadLine01::before,
.comHeadLine01::after {
    width: 0;
}
@media screen and (max-width: 960px) {
    .comHeadLine01 {
        margin-bottom: 18px;
    }
    .comHeadLine01 .en {
        margin-bottom: 3px;
        font-size: 51px;
    }
}
@media screen and (max-width: 374px) {
    .comHeadLine01 .en {
        font-size: 40px;
    }
}


/* comHeadLine02 */
.comHeadLine02 {
	margin-bottom: 35px;
	width: auto;
	color: #13B8EE;
	font-size: 64px;
    font-weight: 900;
    letter-spacing: 0.025em;
    font-family: 'Noto Sans JP', sans-serif;
	text-align: center;
    text-shadow: none;
	text-shadow: 
  2px 2px 1px #000,
  -2px -2px 1px #000,
  -2px 2px 1px #000,
  2px -2px 1px #000;
	background: none;
}
.comHeadLine02::before,
.comHeadLine02::after {
    width: 0;
}
@media screen and (max-width: 960px) {
    .comHeadLine02 {
        margin-bottom: 26px;
        font-size: 36px;
    }
}
@media screen and (max-width: 374px) {
    .comHeadLine02 {
        font-size: 34px;
    }
}


/* comTtl */
.comTtl {
    margin-bottom: 23px;
}
.comTtl span {
    padding: 8px 22px 14px;
    display: inline-block;
    font-size: 30px;
    font-family: 'Noto Sans JP', sans-serif;
    line-height: 1.27;
    font-weight: 900;
    border: 3px solid #000;
    letter-spacing: 0.05em;
    background-color: #fff;
}
@media all and (min-width: 960px) and (max-width: 1100px)  {
	.comTtl span {
		padding: 8px 15px 14px;
		font-size: 28px;
	}
}
@media all and (min-width: 960px) and (max-width: 1000px)  {
	.comTtl span {
		padding: 8px 10px 14px;
		font-size: 23px;
	}
}
@media screen and (max-width: 960px) {
	.comTtl {
		text-align: center;
	}
    .comTtl span {
        text-align: left;
    }
}


/* comBack */
.comBack {
    margin: 0 auto;
    padding: 0 20px;
    max-width: 1455px;
}
.comBack a {
    color: #999;
    text-decoration: underline !important;
    font-size: 18px;
    letter-spacing: 0.05em;
}
@media screen and (min-width: 841px) {
    .comBack a:hover {
        text-decoration: none!important;
        opacity: 1 !important;
    }
}
@media screen and (max-width: 960px) {
    .comBack {
        padding: 0 16px;
        max-width: inherit;
    }
	.comBack a.js_hover {
		opacity: 1;
	}
}


/* comList */
.comList {
	margin: -31px auto 0;
	max-width: 1274px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.comList:not(:last-of-type) {
	margin-bottom: 40px;
}
.comList img {
	max-width: 100%;
}
.comList li {
	margin: 41px 2.8% 0 0;
	width: 22.7%;
}
.comList li:nth-child(4n) {
	margin-right: 0;
}
.comList li .pho {
	margin: 0 auto 10px;
	max-width: 288px;
	position: relative;
}
.comList li .pho::before {
    position: absolute;
    content: "";
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    border: 3px solid #000;
}
.comList li a {
	padding-bottom: 1px;
	display: block;
	width: 100%;
    height: 100%;
	color: #fff;
	line-height: 1.39;
	letter-spacing: 0.05em;
	background: #000 url(../product/img/icon04.png) no-repeat right bottom/41px;
}
.comList li p {
	margin: 0 50px 10px 16px;
    min-height: 89px;
}
.comList.apl li {
	text-align: center;
}
.comList.apl li a {
	padding-bottom:0;
	color: #000;
	background: none;
}
.comList.apl li .pho::before {
    content: none;
}
.comList.apl li p {
	margin: 0;
    min-height: unset;
}
@media screen and (min-width: 841px) {
	.comList li a:hover {
		opacity: 0.7;
	}
}
@media screen and (max-width: 960px) {
    .comList {
        margin: -5px -5px 0;
        max-width: inherit;
        justify-content: space-around;
    }
    .comList li {
        margin: 5px 0 0 0;
        width: 46.5%;
    }
    .comList li .pho {
        margin-bottom: 1px;
        max-width: inherit;
    }
    .comList li a {
        padding-bottom: 0;
        background-size: 20px;
        background-image: url("../product/img/sp_icon04.png");
    }
	.comList li a.js_hover {
		opacity: 1;
	}
    .comList li p {
		font-size: 1rem;
        font-weight: bold;
        min-height: 99px;
        margin: 0 26px 10px 10px;
    }
}
@media screen and (max-width: 334px) {
    .comList li p {
        font-size: 15px;
    }
}


/* comBtn */
.comBtn {
    margin: 0 auto;
    padding: 5px;
    max-width: 802px;
    font-weight: 900;
    font-size: 40px;
    font-family: 'Noto Sans JP', sans-serif;
    text-align: center;
    letter-spacing: 0.05em;
    border: 3px solid #000;
    background-color: #fff;
}
.comBtn a {
    display: block;
    color: #000;
}
@media screen and (max-width: 960px) {
    .comBtn {
        padding: 7px 20px 12px;
        max-width: 95%;
        font-size: 30px;
        line-height: 1.375;
    }
	.comBtn a.js_hover {
		opacity: 1;
	}
}
@media screen and (max-width: 334px) {
    .comBtn a {
        font-size: 35px;
    }
}


/* comImgBox */
.comImgBox {
    margin: 0 auto 58px;
    max-width: 1024px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.comImgBox img {
    max-width: 100%;
}
.comImgBox .pho {
    width: 37.1%; 
}
.comImgBox .textBox {
    width: 49.5%;
}
.comImgBox .textBox h4 {
    font-size: 27px;
	margin-bottom: 42px;
}
.comImgBox .textDl::after {
    content: "";
    display: block;
    clear: both;
}
.comImgBox .textDl dt,
.comImgBox .textDl dd {
    padding-bottom: 26px;
    letter-spacing: 0.05em;
    vertical-align: middle;
}
.comImgBox .textDl dt {
    padding: 0 5px;
    box-sizing: border-box;
    position: relative;
    display: inline-block;
    float: left;
    width: 41%;
    color: #fff;
    font-size: 18px;
    line-height: 1.55;
    transform: skew(-16deg);
    text-align: center;
    background-color: #000;
	min-width: 204px;
}
.comImgBox .textDl dt span {
    padding: 4px 5px;
    display: inline-block;
    transform: skew(16deg);
}
.comImgBox .textDl dd {
    padding: 4px 0 26px 13em;
}
.comImgBox .textDl dd b {
	display: block;
	background-color: #fff;
	padding: 2px 6px;
	width:fit-content ;
}

@media screen and (max-width: 960px) {
    .comImgBox {
        margin: 0 auto 24px;
        display: block;
        max-width: inherit;
    }
    .comImgBox .pho {
        margin: 0 auto 16px;
        width: 190px; 
    }
    .comImgBox .textBox {
        width: auto;
    }
	.comImgBox .textBox h4 {
		margin-bottom: 24px;
	}
    .comImgBox .textDl dt,
    .comImgBox .textDl dd {
        padding-bottom: 20px;
        display: block;
    }
    .comImgBox .textDl dt {
        padding-bottom: 0;
        margin: 0 auto;
        float: none;
        width: 68%;
    }
    .comImgBox .textDl dt span {
        padding: 4px 5px;
    }
    .comImgBox .textDl dd {
        padding: 2px 0 12px;
        text-align: center;
        font-size: 19px;
    }
	.comImgBox .textDl dd b {
        margin: 0 auto;
    }
}

#_404 .pageTitle::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 84px;
    left: 0;
    top: 0;
    background-color: #000;
}

#_404 .Btn a {
	display: block;
	margin-top: 24px;
	padding: 10px 15px;
	width: 223px;
	color: #FFF;
	background-color: #000;
	box-sizing: border-box;
	text-decoration: none;
}
#_404 .Btn a:hover {
	background-color: #f00;
}
#_404 .imgBox div.Btn::before {
	content: none;
}
#_404 .imgBox .Btn img {
	width: 16px;
	height: 16px;
	display: inline;
	margin: 0 0 0 80px;
}